Diapositiva 1
Download
Report
Transcript Diapositiva 1
A Survey on Service Composition
Languages and Models
Antonio Bucchiarone and Stefania Gnesi
Istituto di Scienza e Tecnologie dell’Informazione
”A. Faedo” (ISTI - CNR)
Area della Ricerca CNR di Pisa, 56100 Pisa, Italy
[email protected]
Agenda
Introduction
Current Models
Web Services and Semantic Web Services
Static and Dynamic Composition
A comparison of Current Languages
Service Composition Requirements
High-level key features of BPEL4WS, BPML, WSCI,
WS-CDL and DAML-S
Conclusions and Future Work
Antonio Bucchiarone
WsMaTe ’06 - Palermo, 9 June 2006
Introduction
Composition of Services (B2B and EAI)
Business world
XML-based standards to formalize the specification of WS
Composition of WSs
Execution of WSs
Semantic Web Community
Web resources (RDF), description and relationships
Preconditions and effects described by terms precisely defined in ontologies
Models of Services Composition
Languages
Static and Dynamic
BPEL4WS, BPML, WSCI, WS-CDL, DAML-S
Comparison by considering some specific requirements
Antonio Bucchiarone
WsMaTe ’06 - Palermo, 9 June 2006
The environment
Service Oriented Computing (SOC)
autonomous and heterogeneous
computational entities, that
run on different platforms
are owned by different organizations
are described, published and discovered
are combined using an engine that
coordinates the interaction among
collaborative services
Web Services and Semantic Web Services
Antonio Bucchiarone
WsMaTe ’06 - Palermo, 9 June 2006
Web Services
Composition
Web Service
XML-based
open standard
IBM’s WSFL
Microsoft
XLANG
WS-CDL
Heterogeneous
platforms
BPEL4WS
Application
Integration
Dynamic
Composition
Antonio Bucchiarone
• these WS standards do not deal with the dynamic
composition of existing services
• total absence of semantic representation for services
available on the internet.
WsMaTe ’06 - Palermo, 9 June 2006
Semantic Web Services
Extension of the current web technologies
Information with a well-defined meaning
Markup language with a well-defined semantics
Fully automation of all the stages in the WS lifecycle
WWW as a globally linked database where web pages are
marked with semantic annotations
Ontologies to formalize domain concepts that are shared among
services
DAML-S
Antonio Bucchiarone
WsMaTe ’06 - Palermo, 9 June 2006
Static Composition
Static
Composition
Orchestration
Choreography
BPEL4WS
WS-CDL
BPML
WSCI
It specifies
a central
• combines
it defines available
complex services
tasks viaadding
the definition
of coordinator
the conversation
• the order in which services are invoked
(orchestrator)
and combining the single
that
should be responsible
undertaken for
by invoking
each participant.
sub-activities.
• the conditions under which a certain service may not to be
invoked
Antonio Bucchiarone
WsMaTe ’06 - Palermo, 9 June 2006
Dynamic Composition
Dynamic
Composition
Semantic
Composition
DAML-S
• static composition: flow of information and the binding between
services are known a priori
• compose service dynamically
• semantic web technology : RDF + Ontologies
Antonio Bucchiarone
WsMaTe ’06 - Palermo, 9 June 2006
Some Requirements
• We compare BPEL4WS, BPML, WSCI, WS-CDL and DAML-S
according to the following requirements:
• Modeling collaborations
• Modeling the control of execution
• Representation of Roles
• Transactions and Compensations
• Exception handling
• Semantic Support
• Business agreement support
• Software vendor support
Antonio Bucchiarone
WsMaTe ’06 - Palermo, 9 June 2006
Collaboration and Execution
The ability to perform long-lived, p2p collaboration
between participating services.
Collaboration should be modeled in terms of
interactions (i.e., message exchanges).
The ability of assembling and incorporating
individual WSs into the course of a business
process execution
Antonio Bucchiarone
WsMaTe ’06 - Palermo, 9 June 2006
Representation of Role
Parties involved in business processes
play different roles in different process
stages.
Behavior assumed by parties in
different scenarios.
Antonio Bucchiarone
WsMaTe ’06 - Palermo, 9 June 2006
Transactions and Compensations
The ability of managing transactions
and compensations over service
invocations
Compensations are needed to rollback
the effects of completed transactions
when there is a failure.
Antonio Bucchiarone
WsMaTe ’06 - Palermo, 9 June 2006
Exceptions handling
The composition of WSs uses
external WSs that are purely under the
control of the WSs owner.
Process invocation should handle
exceptions when the invoked WSs do
not respond.
Antonio Bucchiarone
WsMaTe ’06 - Palermo, 9 June 2006
Semantic support
Representation of the semantics of
composed services to facilitate the
automated composition of WSs
Description of the semantics to enable
dynamic service discovery and
invocation.
Antonio Bucchiarone
WsMaTe ’06 - Palermo, 9 June 2006
Business agreement support
Business agreement defines the
contract between involved parties.
It is necessary to represent QoS in
composed WSs.
Antonio Bucchiarone
WsMaTe ’06 - Palermo, 9 June 2006
Software vendor support
Whether the language has software
support.
Antonio Bucchiarone
WsMaTe ’06 - Palermo, 9 June 2006
BPEL4WS key features
Partner links to model p2p collaboration
“myRole” and “PartnerRole”: the only means for giving a
name to the roles
Transactions are realized through fault and
compensation handlers
A Fault Handler is used to catch an error.
No semantic
No business agreement support
Many tools available
IBM WebSphere, Oracle BPEL Process Manager, Microsoft
BizTalk, etc..)
Antonio Bucchiarone
WsMaTe ’06 - Palermo, 9 June 2006
BPML key features
basic activities for sending, receiving, and invoking
services
It handles conditional, sequential, and parallel activities
No Role representation!
Support for persistence in long-running processes
Robust exception handling mechanisms
No automation support! Services and partners are
specified at design time
No support for business agreement
Few tools available
Antonio Bucchiarone
WsMaTe ’06 - Palermo, 9 June 2006
WSCI key features
Defines overall choreography of WS taking part in
an interaction
It does not focus on the definition of executable
business processes
Based on messages
Role of Composition Partners
Support for business transactions and exceptions
Exceptional behaviour
Alternative patterns of behaviour
No support for Semantic description or Business
agreement.
Few tools
Antonio Bucchiarone
WsMaTe ’06 - Palermo, 9 June 2006
WS-CDL key features
Global view of the observable behavior of a set of Web
Services
p2p collaboration between participants using
Choreography
No support for execution
Roles, Participants and Relationships
Finalizer Block is used for handling transactions and
compensations
Exception Blocks catch faults
No support for Semantic description or Business
agreement.
No tools.
Antonio Bucchiarone
WsMaTe ’06 - Palermo, 9 June 2006
DAML-S key features
A DARPA Agent Markup Language for Services
Web Service Discovery & Selection
Find an airline offerings flights to Rome
Web Service Invocation
Book flight tickets on Alitalia to arrive 13th June
Web Service Composition & Interoperation
Arrange taxis, flights and hotel to travel from Rome to Palermo
Monitoring Web Service Execution
Has the taxi to Palermo Airport been reserved?
Tools availability (Academy and Industry)
DAML+OIL reasoners
DAML-S editors
Antonio Bucchiarone
WsMaTe ’06 - Palermo, 9 June 2006
DAML-S Upper Ontology
. input types
. output types
. preconditions
. postconditions
. communication protocol
(RPC, HTTP, …)
. port number
. marshalling/serialization
Antonio Bucchiarone
• process flow
• composition hierarchy
• process definitions
WsMaTe ’06 - Palermo, 9 June 2006
Summary
Antonio Bucchiarone
WsMaTe ’06 - Palermo, 9 June 2006
Conclusion
Initial results and much more details must be described
An overview of major Web and Semantic Web Services
composition languages
BPEL4WS, WSCI, WS-CDL and BPML focus on service
syntax
Definition of a new process that interact with existing one
must be done manually
hard, time consuming and error prone task
DAML-S: description of the semantics of services
Automation of WSs tasks
Discovery and composition
Antonio Bucchiarone
WsMaTe ’06 - Palermo, 9 June 2006
Future Work
We wish to extend the comparison with more details
Tool support, messaging models supported, examples, etc..
QoS characteristics that each language is able to describe in
order to define a QoS Service Composition.
Correctness Verification of service composition
BPEL4WS automata or Petri Nets
DAML-S Petri Nets or Prolog
…..
A Survey on Service Composition Approaches: From
Industrial Standards to Formal Methods
(submitted to WS-FM06 workshop).
Automata, Petri Nets, Process Algebras
Antonio Bucchiarone
WsMaTe ’06 - Palermo, 9 June 2006
Thank you for your attention
Good lunch!!
[email protected]
Antonio Bucchiarone
WsMaTe ’06 - Palermo, 9 June 2006