250 likes | 494 Views
Survey of Dynamic Web Service Composition Techniques. Presented By Atif Alamri ( atif@mcrlab.uottawa.ca ) Mohamad Eid ( eid@mcrlab.uottawa.ca ). ELG 5121 Multimedia Communications Prof. Abdulmotaleb El Saddik Nov. 1, 2005. Outline. Introduction Web services architecture
E N D
Survey of Dynamic Web Service Composition Techniques Presented By Atif Alamri (atif@mcrlab.uottawa.ca ) Mohamad Eid (eid@mcrlab.uottawa.ca ) ELG 5121 Multimedia Communications Prof. Abdulmotaleb El Saddik Nov. 1, 2005
Outline • Introduction • Web services architecture • Advantages of web services • Service composition • Elementary vs. composite services • Drivers for composition • Dynamic service composition • Static vs. dynamic and Manual vs. automatic • Beneficial aspects of dynamic web service composition • Challenges in dynamic web service composition • Classification of Composition techniques • Runtime reconfiguration using wrappers • Runtime component adaptation • Composition language • Workflow driven composition techniques • Ontology driven web service composition techniques • Declarative composition technique • Proposed Research Questions
UDDI Repository (1) Register & publish web service using its WSDL file (2) Search for web service and retrieve the URL for its WSDL file Service Requestor Service Provider (3) Interact with the web service XML formatted messages Application Web services architecture • A web service is a self-contained, language neutral, platform independent, and loosely coupled application • It can be described, published, located, and invoked over the Internet SOAP Interpreter SOAP Interpreter
Advantages of web services • Loose Coupling • Standard-Based (interoperability) • Flexibility • Reusability • Scalability • Reduced Complexity • Programmatically Accessible • Application-to-Application Communication
The need for web service composition • Composition is the ability to provide value-added services through integration of other web service components • Services are classified as elementary and composite • Drivers for Composition • Managing Increased Complexity • Engine-Oriented Software Applications • Cross-Domain Services • Bridging Network Protocols
Dynamic service composition • Manual vs. automatic • Manual composition is performed by means of employees who have access to the elementary services • Automatic implies that a software agent performs composition based on some predefined algorithm • Static vs. Dynamic • Static composition is performed at design or compile time • Dynamic composition is performed at execution time • We will focus on Dynamic web service Composition
Why dynamic web service composition • Greater Flexibility The customization of software based on individual needs of a user can be made dynamic • New Services can be created at runtime The capabilities of the application can be extended at runtime • Users are not interrupted during upgrades of applications Users can continue to interact with the old services while composition of new services is taking place • Unlimited Set of Services unlimited number of new services can be created from limited set of service components
Challenges in dynamic composition • The dynamic procedures are very complicated Composition is useful to provide runtime specified services • Dynamic Composition has limited applicability to everyday software systems Dynamic composition is the only means to change the behavior of running applications • Upgrading Software may be more difficult New versions of components can be introduced, thus making upgrading possible • It is much slower than static composition Not necessarily true • Significant Infrastructure is required to support dynamic composition The extra requirement is a component model that supports dynamic binding and runtime extensibility of components
Running framework Task Scheduler Message Acceptor Message Acceptor Wrapper onOutgoingMessage() InvocationProtocol onOutgoingMessage(…) onOutgoingMessage(…) Message Acceptor Encrypt() Sending Encrypted Sending Message Acceptor New Component Public Encrypt(…) Transport Connector Service Context dependency Composition techniques 1/6 Runtime reconfiguration using wrappers • A wrapper is used to provide the additional context dependency interfaces to the component so that it can interact with a new component
Composition techniques 1/6 Runtime reconfiguration using wrappers • Pros • Extending the implementation of components without changing the code • Provide additional context interfaces to interact with new components • Adapting running components to new behaviors (facilitates unanticipated, dynamic component adaptation) • Doesn’t need knowledge of internals of services (only interfaces) • Cons • Recursive composition is complicated • Unnecessary methods or interfaces may exist • Doesn’t support unanticipated runtime reconfiguration • Type conflict may occur between existing component and newly introduced component
Adaptation Type Adaptation Type Adapted Component Adapted Component Component Public Encrypt(…) Encrypt() Encrypted() Composition techniques 2/6 Runtime component adaptation • Adapting components into new components or services by changing the interfaces and/or behavior of the component at runtime Component onOutgoingMessage(…) Layer message handler onOutgoingMessage(…) Adapter
Composition techniques 2/6 Runtime component adaptation • Pros • Make potentially incompatible components into composable components • New atomic service is produced that can be advertised • Impose predefined but configurable types of functionalities • New atomic service is produced that can be advertised. • Type safe and dynamic delegation is possible • Cons • Require tempering of the service code. • Doesn’t support distributed execution. • Complex monitoring and recovery mechanisms. • Names of some interfaces don’t match expected names of methods • Don’t define restricted client access to specific interfaces. • Class replacement is very difficult in a running system
Composition techniques 3/6 Composition Language • A combination of architectural description language (ADL), a scripting language, a glue language, and a coordination language • Pros • Specifically designed to assemble components • Uses components that have standardized interfaces • Define higher level abstraction to better describe composition • Cons • More complex in comparing with other techniques • Recursive composition is not possible • Components must be designed to be composed or they will not be composable interfaces
Service Provider A Service Provider B Service Provider C Composition techniques 4/6 Workflow Driven Composition • Builds web services to an abstract process based on business and process constraints and generate an executable process Check Passed? ? Check credit Abort Start Wheel Delivery Credit Card Yes Join End Restaurant Selection Routing planning Check credit Restaurant Selection Credit card payment
Composition techniques 4/6 Workflow Driven Composition • Pros • Users can participate in composition • Simple monitoring and recovery procedures • Recovery plans can be included in the workflow • Easier to impose distributed execution of composite services • Cons • Composed service can’t be advertised • Recursive composition becomes more difficult • Unavailability of any service causes failure of execution of the composite service
THING Place Object Person PartOf Park Prof Building Mobile Stationary PartOf LocatedIn Room phone OwnedBY Composition techniques 5/6 Ontology Driven Composition • The ontological descriptions and relationships of web services with other services are used to automatically and semi-automatically composing web services
Composition techniques 5/6 Ontology Driven Composition • Pros • Consider semantics • Supports easier forms of requesting composition (English-like queries) • Can be integrated with any other technique • Enables distributed composition and execution • Cons • Too hard to verify the effectiveness of the ontology • Domain specific • No agreed-upon taxonomy as the foundation of the ontology • Assumes that elementary services are semantically represented • Complex monitoring and recovery mechanisms • Failure prone
Composition techniques 6/6 Declarative Composition • Using composability rules to determine whether two services are composable • Pros • Mathematically approved • Can reach optimality • Doesn’t need knowledge of the internal implementation of services • Allow distributed composition and execution • Cons • Uses direct matching • Constraints based • Uses rules which increase its complexity • Class replacement is impossible in a running system
Classification Pros Cons Summary Runtime Reconfiguration Using Wrappers • Don’t change the code. • Supports distributed execution • Provide additional context interfaces • Doesn’t need knowledge of service implementation • Adapting behavior at runtime • Complicated recursive composition. • Non optimal code. • Unanticipated runtime reconfiguration not supported • Type conflict may occur A wrapper is used to make the component capable to interact with a new component. Runtime Component Adaptation • Make incompatible components composable • New service is produced • Necessary functionalities are only included. • Impose predefined but configurable types of functionalities. • Type safe and dynamic delegation is possible. • Service code is tempered • Requires knowledge of the internal No distributed execution. • Complex monitoring and recovery. • Naming mismatch • No restricted client access mechanisms. • No class replacement Adapting components into new services by changing the interfaces and/or behavior of the component at runtime. Language Driven Composition • Specifically designed to assemble components. • Uses standardized interfaces. • Define higher level abstraction to better describe composition • More complicated • No Recursive composition • Components must be designed to be composed. Language specifies the component adaptation and configure coordination and policies. Workflow Driven Composition • Users controllable. • Simple monitoring and recovery. • Recovery plans can be in the workflow. • Easier to impose distributed execution • Composed service can’t be advertised. • Recursive composition more difficult. • Unavailability of service causes failure of execution of the composite service. Build services to an abstract process and constraints and generate an executable process. Ontology Driven Composition • Consider semantics. • Supports English-like queries • Integrated with other technique • Distributed composition and execution. • Performance. • Domain specific • No agreed-upon taxonomy. • Assume semantic service • Failure prone. Ontological descriptions and relationships of web services are used to compose web services. Declarative Composition • Mathematically approved. • Can reach optimality. • Doesn’t need knowledge of the implementation. • Allow distributed composition and execution • Uses direct matching. • Constraints based. • Uses complex rules • Class replacement is impossible in a running system Using composability rules to check if two services are composable. Dynamic Composition Techniques: Summary
General Requirements for Dynamic Composition • Query Parser Decomposes user query into a set of requirements • Service Selection Module Decomposes user requirements into an abstract service and specify the proper services. • Composition Engine Uses one of dynamic composition techniques to answer the ‘how’ question of composition • Verification Module To verify that the composite service satisfy the user’s query • QoS Certifier Checks for functional and/or nonfunctional QoS parameters
General Requirements for Dynamic Composition • Execution Engine Executes the composite service by invoking individual components and matching interfaces • Monitoring and Recovery Module Showing the status of the component services and handling exceptional states • Controllability Agent Provides controllability on composition, execution, and recovery processes • Composite Service Description and Advertisement To describe and advertise the composite service to support recursive composition
Trends in Dynamic Composition Techniques • Distributed execution of composite services • Ontology development to facilitate semantic composition • Integration of different techniques to improve overall performance
Selected References • Dustdar, S. and Schreiner, W. (2005) ”A survey on web services composition”, Int. J. Web and Grid Services, Vol. 1, No. 1, pp.1–30. • Jinghai Rao and Xiaomeng Su, “A Survey of Automated Web Service Composition Methods”, In Proceedings of the First International Workshop on Semantic Web Services and Web Process Composition, SWSWPC 2004, San Diego, California, USA, July 6th, 2004, Springer-Verlag. • K. Fujii and T. Suda, “Dynamic Service Composition Using Semantic Information”, ICSOC’04, November 15--19, 2004, New York, USA. • José Luis Ambite, Genevieve Giuliano, Peter Gordon, Qisheng Pan, Naqeeb Abbasi, LanLan Wang, Matthew Weathers, “Argos: dynamic composition of web services for goods movement analysis and planning“, Proceedings of the 2005 national conference on Digital government research dg.o2005, May 2005. • José Luis Ambite, Matthew Weathers, “Automatic composition of aggregation workflows for transportation modeling“, Proceedings of the 2005 national conference on Digital government research dg.o2005, May 2005. • B. Benatallah, M. Dumas, Q. Sheng, and A. Ngu. “Declarative composition and peer-to-peer provisioning of dynamic web services”, In Proceedings of the International Conference on Data Engineering (ICDE), 2002.
THANK YOU Questions ? We are willing to answer Off-line questions on atif@mcrlab.uottawa.ca and eid@mcrlab.uottawa.ca