230 likes | 380 Views
Understanding Approaches for Composition and Execution of Web Services. Vikas Agarwal, Girish Chafle, Sumit Mittal and Biplav Srivastava IBM India Research Lab, New Delhi DAGSTUHL Seminar: Autonomous and Adaptive Web Services, February 2007. Acknowledgements : Koustuv Dasgupta, Arun Kumar.
E N D
Understanding Approaches for Composition and Execution of Web Services Vikas Agarwal, Girish Chafle, Sumit Mittal andBiplav Srivastava IBM India Research Lab, New Delhi DAGSTUHL Seminar: Autonomous and Adaptive Web Services, February 2007 Acknowledgements: Koustuv Dasgupta, Arun Kumar
Outline • Background: Web Services • Types of real-world scenarios • Data Integration • Application Integration • Types of WSCE approaches • Basis for differentiation • Types: Interleaved, Monolithic, Staged, Templates • Qualitative analysis of approaches • Suitability of approaches for different scenarios • Conclusion Understanding Approaches for Composition and Execution of Web Services
Service Broker WSDL Search with UDDI and get WSDL of match Execute BPEL Invoke using SOAP Service Provider Service Requester Return Solution Background: Web Services in Action • What is the service representation? • Type: Collection of services sharing common capabilities (what they do) but differing in how to access them. Semantic representations should capture this. • (Advertised) Instances: A service that can be invoked at a physical URL. It is represented by WSDL. Some semantic representations can compete in this space (OWL-S). • Deployed and Running Instances: Not all advertised services may be running at a given execution time. Understanding Approaches for Composition and Execution of Web Services
Two Common Web Service Composition and Execution (WSCE) Scenarios • Online information services • Services are data sources; can be modeled as databases which can be queried with no, or controlled, side-effects • Composite service should be responsive but accuracy can be negotiated • Services are heterogeneously owned, hence relatively autonomous in choosing specifications • Sub-scenarios: • Comparison product review/ shopping sites, Online travel booking • Mash-ups: ad-hoc data services created by users • Enterprise Application Integration • Services are applications; can be modeled as programs with or without side-effects • Composite service should accurate but responsiveness can be negotiated • Services are more homogeneously owned (e.g., intranet); hence some control in choosing specifications can be exercised • Sub-scenarios: • Service creation to connect internal or partner organizations • Scientific workflows: bioinformatics, Geological sciences Understanding Approaches for Composition and Execution of Web Services
Motivation • An Overall Web Service Composition and Execution view is important in practice Specification of Requirement Available Capabilities Web Service Composition and Execution Events Execution Trace [ Templates, Policies ] • Today, it is not clear what are fundamentally different possible types of WSCE approaches and which type to use in a given scenario? Understanding Approaches for Composition and Execution of Web Services
Basis for WSCE approaches • Are composition and execution separable? • No, Yes • When does composition happen? • Offline, Online • How does composition happen? • Search-based, Template-based • What information is used for composition? • Service types, Service instances published, Services deployed, Templates/ Policies • How are external events handled at runtime (adaptation)? • On-the-fly, gradual Understanding Approaches for Composition and Execution of Web Services
Interleaved Approach Events X={x1,x2,…x} Execution Search-based Composition Specifications T={t1,t2,…t} On-line Example: ConGolog, Heracles+Theseus Understanding Approaches for Composition and Execution of Web Services
Monolithic Approach ≥ X={x1,x2,…x} Events I={i1, i2,… i} FRE Runtime Monolithic Composition Specifications T={t1,t2,…t} RIW REW W={W1,W2,…WL} Off-line On-line Example: SWORD, SHOP-2 based, Petrinet-based, Astro, METEOR-S Understanding Approaches for Composition and Execution of Web Services
Staged Approach ≥ C={c1,c2,…c} X={x1,x2,…x} Events I={i1, i2,… i} FPC FRE Logical Composition Runtime Physical Composition Specifications T={t1,t2,…t} RAW RIW REW S={S1,S2,…SK} W={W1,W2,…WL} Off-line Off-line On-line Example: Synthy, Self-Serv with web communities (but informal modeling) Understanding Approaches for Composition and Execution of Web Services
Template-based Approach: Creation of a Template Interleaved T= {t1,t2,…t} Traces Templates Monolithic W={W1,W2,…WL} Executable Workflow Staged S={S1,S2,…SK} Abstract Workflow Generalize: remove commitments to get templates Understanding Approaches for Composition and Execution of Web Services
Interleaved Traces Monolithic W={W1,W2,…WL} Executable Workflow Staged S={S1,S2,…SK} Abstract Workflow Usage of a Template T= {t1,t2,…t} Templates WSCE Add commitments to generate workflow or trace (Assign values to template parameters) Example: Heracles+Theseus, METEOR-S (Semantic templates, other templates),template-based planning Understanding Approaches for Composition and Execution of Web Services
Basis for WSCE approaches • Are composition and execution separable? • No, Yes • When does composition happen? • Offline, Online • How does composition happen? • Search-based, Template-based • What information is used for composition? • Service types, Service instances published, Services deployed, Templates/ Policies • How are external events handled at runtime (adaptation)? • On-the-fly, gradual Understanding Approaches for Composition and Execution of Web Services
Comparing Approaches Understanding Approaches for Composition and Execution of Web Services
Case Study: Application Integration Understanding Approaches for Composition and Execution of Web Services
Call Setup Message Delivery Help Desk On Site Problem Classification Location-based Agent Selection Expert Lookup Agent Assignment Composed Service: Helpline Automation Customer Interaction Problem Reporting Top-down or bottom-up Problem Ticket Problem Ticket, Problem Ticket, Desk-based Expert ID Field Expert ID Problem Ticket, Problem Ticket, Resolution Status Resolution Status Registry Update Source: A Service Creation Tool Based on End-to-End Composition of Web Services. V. Agarwal et al, WWW 2005 Understanding Approaches for Composition and Execution of Web Services
New service capabilities Specify end-user service capability New service providers Select service providers Network / environment changes Design the flow Deploy the service • Manual business process integration • Use tools like WSAD-IE to create flows and business logic • Deploy using a flow engine (such as MQWF / WBI SF) Creation of a new service • Main Issues • Scalability of composition solution • Level of automation • Modeling domain information • Leverage industry practices Source: A Service Creation Tool Based on End-to-End Composition of Web Services. V. Agarwal et al, WWW 2005 Understanding Approaches for Composition and Execution of Web Services
Selecting an Approach • Scalability – with number of services • Adaptability – to changes • Failure Resolution • User Interaction – control and supervision important Understanding Approaches for Composition and Execution of Web Services
Case Study: Online Data Aggregation Understanding Approaches for Composition and Execution of Web Services
Travel Reservation Problem • Online information services • Services are data sources; can be modeled as databases which can be queried with no, or controlled, side-effects • Composite service should be responsive but accuracy can be negotiated • Services are heterogeneously owned, hence relatively autonomous in choosing specifications Source: Getting from Here to There:. Interactive Planning and Agent. Execution for Optimizing Travel. José Luis Ambite et al, IAAI 2002 Understanding Approaches for Composition and Execution of Web Services
Selecting an Approach • Online information services • Services are data sources; can be modeled as databases which can be queried with controlled side-effects at the time of purchase • Composite service should be responsive but accuracy can be negotiated • Services are heterogeneously owned, hence relatively autonomous in choosing specifications Understanding Approaches for Composition and Execution of Web Services
Workflow Templates Source: Getting from Here to There:. Interactive Planning and Agent. Execution for Optimizing Travel. José Luis Ambite et al, IAAI 2002 Understanding Approaches for Composition and Execution of Web Services
Conclusion and Future Work • Characterized the WSCE problem and solution approaches • Presented a qualitative framework for comparison of WSCE approaches • Composition considerations • Adaptation considerations • Management considerations • Applied it for understanding composition solution in different scenarios • Future Work • Composition scenarios may need protocols/ conversation to be followed across web service invocations • Characterize the problem and approaches: model-driven composition Understanding Approaches for Composition and Execution of Web Services
Some References • Web Service Composition - Current Solutions and Open Problems, B. Srivastava and J. Koehler, 2003 • Semi-automatic Composition of Web Services using Semantic Descriptions, E. Sirin, James Hendler and Bijan Parsia,2003 • Getting from Here to There:. Interactive Planning and Agent. Execution for Optimizing Travel, José Luis Ambite et al, 2002. • SWORD: A Developer Toolkit for Web Service Composition, Fox et al, 2002. • A Service Creation Tool Based on End-to-End Composition of Web Services, V. Agarwal et al, 2005 • Planning and Monitoring Web Service Composition, Pistore et al, 2004 • Automated Composition of Semantic Web Services into Executable Processes, P. Traverso and M. Pistore, 2004 • Planning with Templates, IEEE Intelligent Systems special issue, 2005 Understanding Approaches for Composition and Execution of Web Services