introduction to soa composition

Post on 12-Apr-2017

203 Views

Category:

Software

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Introductionto

SOA Composition

UC San DiegoCSE 294

January 23, 2009Barry Demchak

Agenda What is SOA Composition?

… and what are the issues? Existing solutions

UDDI/WSDL (Web Services) BPEL What’s missing?

OWL-S What is OWL? How does OWL apply?

Comparison of existing solutions and OWL-S Emerging technology choices

Source Material SOA Design Patterns: Capability Composition Patterns [in progress].

http://www.informit.com/articles/article.aspx?p=1271262 Web Services Composition. Nikola Milanovic.

http://user.cs.tu-berlin.de/~mwerner/discourse/BlockLVS04/slides/service-composition.pdf SOA Source Book. The Open Group.

http://www.opengroup.org/projects/soa-book/page.tpl?CALLER=faq.tpl&ggid=1335 Blackboard-style Service Composition with Onto<->SOA. Korotkiy & Top.

http://www.cs.vu.nl/~maksym/pap/MKorotkiy-Onto-SOA-BB.pdf BPEL: Service Composition for SOA. Jurac.

http://www.javaworld.com/javaworld/jw-07-2006/jw-0710-bpel.html?page=1 SCA: Flexible and Agile Composition of Distributed SOA Applications. Edwards.

http://developers.sun.com/learning/javaoneonline/2008/pdf/TS-5850.pdf?cid=925589 The Service Revolution - software engineering without programming languages. Alonso.

http://www.ifi.uzh.ch/ecows06/fileadmin/papers/GA-ECOWS-Nov-06.pdf Tools and Technologies for Semantic Web Services: An OWL-S Perspective. Sycara and

Martin. http://www.ai.sri.com/daml/services/ISWC06-OWL-S-tutorial.pdf Web Service Composition - Current Solutions and Open Problems. Srivastava and Koehler.

http://www.zurich.ibm.com/pdf/ebizz/icaps-ws.pdf Web Service Composition Standards. METEOR-S Project.

http://lsdis.cs.uga.edu/proj/meteor/mwscf/standards.html Tutorial on OWL. Bechhofer, Horrocks, Patel-Schneider.

http://www.cs.man.ac.uk/~horrocks/ISWC2003/Tutorial/examples.pdf Semantic Web Processes: Semantics Enabled Annotation, Discovery, Composition and

Orchestration of Web Scale Processes. Cardoso & Sheth. http://lsdis.cs.uga.edu/lib/presentations/WISE2003-Tutorial.pdf

Current Solutions for Web Service Composition. Milanovic & Malek. IEEE Internet Computing. p51. Nov/Dec 2004.

The Capability Composition Pattern

A capability may not be able to fulfill its processing requirements without adding logic that resides outside of its service's functional context, thereby compromising the integrity of its context and risking service denormalization.

[SOA Design Patterns]

The Capability Composition Pattern

[SOA Design Patterns]

Basic Composition

Orchestration – engine controls service via single script, and service invokes other services in single swim lane

Choreography – engine controls all services via scripts associated with services; they execute in multiple swim lanes

[SOA Source Book]

Main Composition Approaches “Industry”

UDDI / WSDL / BPEL or SCA Infrastructure Plumbing created by programmer (limited

scalability to large and diverse service spaces) Semantic Web Services

OWL-S Focuses on semantic compatibility and

automatic service discovery Other

Blackboard Systems

“Industry Solutions” – UDDI/WSDL

UDDI: service registry

WSDL: registry document

Defines location and parameters/messages for available services in searchable way

[WSPS]

WSDL (Web Services Description Language)

XML-based description of characteristics of a web service [INFIT]

Function signatures (in, out, in/out, return) Service binding (URL and protocol)

Stored in repositories such as UDDI Used to create client-side proxies Enables dynamic binding for clients capable

of binding dynamically

WSDL Content

UDDI/WSDL Open Questions What do its parameters mean? In what units are its parameters expressed? Given meaningful inputs, what is the meaning

of the product of a service? What are its restrictions? What non-functional characteristics

distinguish one service from another? How can I compose 10 different services so

that they fit together and produce a meaningful result?

“Industry Solutions” – BPEL4WS

Process (BPEL composition) Partners (participating services) Activities (message exchange)

[SOA Design Patterns]

“Industry Solutions” – BPEL4WS

Basic Flow Elements <process> <invoke>, <invoke>…<receive>

Send, event, request/response <variable>, <assign>, <copy>

State maintenance <scope>, <faultHandlers>

Fault handling <flow>, <sequence>

Parallel & sequential execution <switch>, <while>

Conditional evaluation

[SOA Design Patterns] [Jurac]

“Industry Solutions” – BPEL4WS

[SOA Design Patterns]

BPEL4WS Open Questions

Focus on connections and orchestration, but not on correctness

Proper function “guaranteed” by diligence of author

Almost same set of open questions as for UDDI/WSDL

Web Service Composition Standards

BPML -Business Process Markup Language Abstract model and grammer

WSCI -Web Services Choreography Interface XML-based WSDL augmentation

BPEL4WS -Business Process Execution Language/ Web Services Specifies business processes and interaction protocols

WSCL -Web Services Conversation Language Business-level conversations w/document exchange

BPSS -Business Process Specification Schema Business-level conversations w/document exchange

DAML-S Ontology markup language representing process and capability

semantics[METEOR-S]

The Semantic Challenge

How to compose services that we know will do what we intend??[Sycara]

Framing the Problem

[Cardoso]

Framing the Problem Provide the capability to assemble (“compose”) on

short notice an improvisational confederation

Improvisational: Constituent systems not deliberately engineered to work together in support of the objectives of the confederation

Short notice: Not deliberately planned months/years ahead of the need

Interoperability: “The ability of systems, units, or forces to provide services to and accept services from other systems, units, or

forces and to use the services so exchanged to enable them to operate effectively together.” (definition from Joint Pub 1-02)

[Sycara]

The Semantic Web and OWL

Semantic web adds machine-readable information to each element, giving each element a well-defined meaning useful for discovery, automation, integration, and reuse.

[after W3C Semantic Web Activity Statement]

[W3C]

The Semantic Web and OWL

W3C Standard Description Logic-based language that

describes ontologies Defines concepts and relations between them Defines subset generalization Well understood computational properties,

including decidability Enables semantic reasoning (Pellet and FaCT++) OWL-Lite, OWL-DL, and OWL Three objects: concepts, individuals, properties

OWL Sample

Individuals with properties

Classes that facilitate reasoning

[Tutorial on OWL]

Semantic Service Challenges

Data/Information Semantics Basic discovery and interoperability

Functional/Operational Semantics Discovery and composition

Execution Semantics For verification, validation, exception handling

QOS Semantics Suitability

[Cardoso]

OWL-S

Ontology Web Language for Services (W3C) Relies on WSDL for invocation (grounding)

Expands UDDI for discovery (mapping)

Suited for use with SAWSDL (Semantic Annotations for WSDL)

Complimentary to BPEL (local choreography)

OWL-S Ontology of Services

[Sycara/Payne]

OWL-S Components Service Profile

Inputs, outputs, preconditions, results Provenance, QOS, Security, Policy … Inheritance

Service Grounding Builds on WSDL

Service Model Initial state, inputs, and preconditions Result states, outputs, effects on process Chaining processes to create workflow

The Roles

Providers Specify and advertise services

Consumers Specify and advertise needs

Facilitators Match subscriptions to advertised services Deal with complex semantic requirements Deal with multiple sources, schemas, queries

Composition

Static (author-time) and Dynamic (runtime) Creation of mediators between services Design of flows to accomplish results, much

less optimal results

[Cardoso]

Comparison of Industry vs Semantic Web Approaches BPEL relates closely to ServiceModel OWL-S defines preconditions and effects,

leading to better reasoning about composition OWL-S classes extend reasoning to

subclasses and other relationships BPEL describes sequencing of activities BPEL describes mechanisms for catching,

handling, and compensating for faults BPEL leverages WS-Coordination and WS-

Transaction for defining transactional semantics

[Cardoso]

Research Issues (for QOS)

Specification Computation Monitoring Control

[Cardoso]

Computing Service Compositions

[Milanovic]

Other Technology Choices

Abstract Machines [SOA Design Patterns] π-Calculus [SOA Design Patterns] Blackboard-style Service Composition

[Korotkiy] SCA Infrastructure [SCA]

Modeling Services as Abstract Machines

Extends WSDL via contracts covering Non-functional properties Preconditions, postconditions, invariants

Expressed via Contract Definition Language Formal composition operators enable

predictability and determination of correctness Separates “how” from “what” Issues:

SCA Infrastructure Objectives

Well-defined interfaces with business-level semantics Standardized communication protocols Flexible recombination of services

Mechanisms Declarative component networks (using XML) injected

at runtime Standard communication bindings and policy

frameworks Language-embedded features (e.g., policy intents &

stateful interactions via WSDL and pragma extensions)

[SCA]

SCA Infrastructure

Conferences for Service Composition

ICWS WISE WSCA SCC

Other Sources [WSBP] Basic Profile Version 1.1. Web Services Interoperability

Organization (WS-I). Apr 2006. http://www.ws-i.org/Profiles/BasicProfile-1.1.html

[INFIT] IT Web Services: A Roadmap for the Enterprise. A. Nghiem. Prentice Hall. Oct 2002. http://www.informit.com/articles/article.aspx?p=31076

Time to take a walk!

Me

Web Services

top related