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