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
īŽ 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.
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]
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
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?
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]
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
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)
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]
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.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
This is a step toward another pattern: Capability Recomposition
This is a step toward another pattern: Capability Recomposition
ôBPEL4WS = Business Process Execution Language for Web Services
ôXML based language for description of Web service choreographies according to the specified business rule âbusiness workflows
ôBPEL offers:
ôDefinition of business protocols
ôFault handling and compensation
BPML: provides an abstract model and grammar for expressing abstract and executable business processes -- 17 activity types, and three process types.
WSCI: XML-based description of observable behavior, flow of messages, compliments WSDL as augmentation.
BPEL4WS: language to specify business processes and business interaction protocols.
WSCL: defines external visible service behavior by specifying business-level conversations and processes and the documents exchanged.
BPSS: (coordinated with ebXML) models for collaborating e-business public processes based on exchange of well-defined documents. Libraries of process templates can be created and leveraged.
DAML-S: an initiative to provide an ontology markup language expressive enough to semantically represent capabilities and properties of Web services. Categorized three types of processes: atomic, process templates, and composite processes.
Heavily RDF
Cardinalities, enumerations, set operations, equivalences
âComplete, donât competeâ
This is about modeling non-functional properties and then optimizing and monitoring them