introduction to soa composition uc san diego cse 294 january 23, 2009 barry demchak

38
Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

Upload: posy-beasley

Post on 12-Jan-2016

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

Introductionto

SOA Composition

UC San DiegoCSE 294

January 23, 2009Barry Demchak

Page 2: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry 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

Page 3: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

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.

Page 4: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

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]

Page 5: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

The Capability Composition Pattern

[SOA Design Patterns]

Page 6: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

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]

Page 7: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

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

Page 8: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

“Industry Solutions” – UDDI/WSDL

UDDI: service registry

WSDL: registry document

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

[WSPS]

Page 9: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

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

Page 10: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

WSDL Content

Page 11: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

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?

Page 12: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

“Industry Solutions” – BPEL4WS

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

[SOA Design Patterns]

Page 13: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

“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]

Page 14: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

“Industry Solutions” – BPEL4WS

[SOA Design Patterns]

Page 15: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

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

Page 16: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

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]

Page 17: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

The Semantic Challenge

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

[Sycara]

Page 18: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

Framing the Problem

[Cardoso]

Page 19: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

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]

Page 20: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

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]

Page 21: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

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

Page 22: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

OWL Sample

Individuals with properties

Classes that facilitate reasoning

[Tutorial on OWL]

Page 23: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

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]

Page 24: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

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)

Page 25: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

OWL-S Ontology of Services

[Sycara/Payne]

Page 26: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

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

Page 27: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

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

Page 28: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

Composition

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

less optimal results

[Cardoso]

Page 29: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

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]

Page 30: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

Research Issues (for QOS)

Specification Computation Monitoring Control

[Cardoso]

Page 31: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

Computing Service Compositions

[Milanovic]

Page 32: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

Other Technology Choices

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

[Korotkiy] SCA Infrastructure [SCA]

Page 33: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

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:

Page 34: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

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]

Page 35: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

SCA Infrastructure

Page 36: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

Conferences for Service Composition

ICWS WISE WSCA SCC

Page 37: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

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

Page 38: Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak

Time to take a walk!

Me

Web Services