Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak."— Presentation transcript:

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

2 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

3 Source Material SOA Design Patterns: Capability Composition Patterns [in progress]. http://www.informit.com/articles/article.aspx?p=1271262 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.pdfhttp://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=1335http://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 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=1http://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 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 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.pdfhttp://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 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 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 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 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.

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

5 The Capability Composition Pattern [SOA Design Patterns]

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

7 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

8 “Industry Solutions” – UDDI/WSDL UDDI: service registry WSDL: registry document Defines location and parameters/messages for available services in searchable way [WSPS]

9 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

10 WSDL Content

11 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?

12 “Industry Solutions” – BPEL4WS Process (BPEL composition) Partners (participating services) Activities (message exchange) [SOA Design Patterns]

13 “Industry Solutions” – BPEL4WS Basic Flow Elements, … Send, event, request/response,, State maintenance, Fault handling, Parallel & sequential execution, Conditional evaluation [SOA Design Patterns] [Jurac]

14 “Industry Solutions” – BPEL4WS [SOA Design Patterns]

15 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

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

17 The Semantic Challenge How to compose services that we know will do what we intend?? [Sycara]

18 Framing the Problem [Cardoso]

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

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

21 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

22 OWL Sample Individuals with properties Classes that facilitate reasoning [Tutorial on OWL]

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

24 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)

25 OWL-S Ontology of Services [Sycara/Payne]

26 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

27 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

28 Composition Static (author-time) and Dynamic (runtime) Creation of mediators between services Design of flows to accomplish results, much less optimal results [Cardoso]

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

30 Research Issues (for QOS) Specification Computation Monitoring Control [Cardoso]

31 Computing Service Compositions [Milanovic]

32 Other Technology Choices Abstract Machines [SOA Design Patterns] π-Calculus [SOA Design Patterns] Blackboard-style Service Composition [Korotkiy] SCA Infrastructure [SCA]

33 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:

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

35 SCA Infrastructure

36 Conferences for Service Composition ICWS WISE WSCA SCC

37 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.htmlhttp://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 http://www.informit.com/articles/article.aspx?p=31076

38 Time to take a walk! Me Web Services


Download ppt "Introduction to SOA Composition UC San Diego CSE 294 January 23, 2009 Barry Demchak."

Similar presentations


Ads by Google