260 likes | 379 Views
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 antonio.bucchiarone@isti.cnr.it. Agenda. Introduction Current Models
E N D
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 antonio.bucchiarone@isti.cnr.it
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
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 • Static and Dynamic • Languages • BPEL4WS, BPML, WSCI, WS-CDL, DAML-S • Comparison by considering some specific requirements
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
Web Services • these WS standards do not deal with the dynamic composition of existing services • total absence of semantic representation for services available on the internet.
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
Static Composition Web Services BPEL4WS WS-CDL BPML WSCI It specifies • the order in which services are invoked • the conditions under which a certain service may not to be invoked • combines available services adding a central coordinator (orchestrator) responsible for invoking and combining the single sub-activities. • it defines complex tasks via the definition of the conversation that should be undertaken by each participant.
Dynamic Composition Semantic Web Services DAML-S • static composition: flow of information and the binding between services are known a priori • compose service dynamically • semantic web technology : RDF + Ontologies
Some Requirements • We compare BPEL4WS, BPML, WSCI, WS-CDL and DAML-S according to the following requirements: • Modeling collaborations • Modeling the control ofexecution • Representation of Roles • Transactions and Compensations • Exception handling • Semantic Support • Business agreement support • Software vendor support
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
Representation of Role • Parties involved in business processes play different roles in different process stages. • Behavior assumed by parties in different scenarios.
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.
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.
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.
Business agreement support • Business agreement defines the contract between involved parties. • It is necessary to represent QoS in composed WSs.
Software vendor support • Whether the language has software support.
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..)
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
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
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.
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
DAML-S Upper Ontology . input types . output types . preconditions . postconditions . communication protocol (RPC, HTTP, …) . port number . marshalling/serialization • process flow • composition hierarchy • process definitions
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
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
Thank you for your attention Good lunch!! antonio.bucchiarone@isti.cnr.it