Title: Survey of Dynamic Web Service Composition Techniques
1Survey of Dynamic Web Service Composition
Techniques
Presented By Atif Alamri (atif_at_mcrlab.uottawa.ca
) Mohamad Eid (eid_at_mcrlab.uottawa.ca )
- ELG 5121
- Multimedia Communications
- Prof. Abdulmotaleb El Saddik
- Nov. 1, 2005
2Outline
- 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
3Web 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
4Advantages of web services
- Loose Coupling
- Standard-Based (interoperability)
- Flexibility
- Reusability
- Scalability
- Reduced Complexity
- Programmatically Accessible
- Application-to-Application Communication
5The 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
6Dynamic 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
7Why 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
8Challenges 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
9Composition 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
10Composition 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) - Doesnt need knowledge of internals of services
(only interfaces) - Cons
- Recursive composition is complicated
- Unnecessary methods or interfaces may exist
- Doesnt support unanticipated runtime
reconfiguration - Type conflict may occur between existing
component and newly introduced component
11Composition 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
12Composition 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.
- Doesnt support distributed execution.
- Complex monitoring and recovery mechanisms.
- Names of some interfaces dont match expected
names of methods - Dont define restricted client access to specific
interfaces. - Class replacement is very difficult in a running
system
13Composition 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
14Composition 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
15Composition 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 cant be advertised
- Recursive composition becomes more difficult
- Unavailability of any service causes failure of
execution of the composite service
16Composition 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
17Composition 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
18Composition techniques 6/6 Declarative
Composition
- Using composability rules to determine whether
two services are composable - Pros
- Mathematically approved
- Can reach optimality
- Doesnt 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
19Dynamic Composition Techniques Summary
20General 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
users query - QoS Certifier
- Checks for functional and/or nonfunctional QoS
parameters
21General 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
22Trends in Dynamic Composition Techniques
- Distributed execution of composite services
- Ontology development to facilitate semantic
composition - Integration of different techniques to improve
overall performance
23Selected References
- Dustdar, S. and Schreiner, W. (2005) A survey on
web services composition, Int. J. Web and Grid
Services, Vol. 1, No. 1, pp.130. - 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,
ICSOC04, 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.
24- THANK YOU
- Questions ?
- We are willing to answer Off-line questions on
atif_at_mcrlab.uottawa.ca and eid_at_mcrlab.uottawa.ca