Professional Documents
Culture Documents
In the rest of this section we describe the relationship The example of the business trip includes airline and
between web services, and present the idea of applying hotel services. Hotel service may include car-rental
CBR for service discovery. service from the airport to the hotel (cost $). The airline
may provide free car service pick up from the airport to
4.1 Web Services Relationship the hotel (cost 0). In this case the car rental service is
repeated. To compose this overlapping relationship, the
Let service Si and service Sj be sub-services of the overlapping part from the service that costs more needs to
composite service S while service Si provides a different be excluded.
type of service from service Sj. The relationship R
between sub-services Si and Sj can be identified as 4.2 CBR for Service Discovery
follows:
R1: Independent Relationship: (+ denotes this 4.2.1 Case-Based Reasoning Overview
relationship.) CBR is a problem solving approach, one of the AI
Si + Sj = Sj + Si machine learning techniques (Aamodt and Plaze 1994).
The basic idea of CBR is to solve new problems by
Each sub-service is freely independent of the other. The comparing them to old problems, which have already
order of execution of these two sub-services does not been solved in the past (Leake 1996). The existing
affect the composition service, which means that the problems and their solutions are stored in a database of
result is the same in either case. cases, called a case-base. When a new problem is
presented, the CBR system tries to retrieve the most
similar existing problems from the case-base. The idea is
R2: Prerequisite Relationship ( ) that, if two problems look similar, then the solutions to
Si Sj these problems are also possibly similar. The concept of
case similarity measure plays an important role in
The prerequisite relationship means that one service has performing these processes.
to finish before the other starts. Service Si has to finish
before service Sj starts. For example, the booking service The similarity measure is a function that evaluates the
has to be done before the payment service. similarity between a given query and cases in the case
base. It measures the differences of each attribute or
dimension between a query and existing case. The details
R3: Parallel-Prerequisite Relationship ( )
Input Output
Travel & Hotel Services Conference Trip
Sub-services Linking
Place (Australia - Travel Service
Beijing, China), Date,
Budget (cost)
Parameters Constraints
Place (Beijing), Date, Hotel Service
Budget (cost)
Relationship
The query service at this stage can be formed as
Services Composer
qS : (N, {qSS1, qSS2,… qSSn})
qSS1 ∈ { (sN1, {S11, S21, R1(12), C1}), … (sN1, {S1j, S2k, R2(j k), C2}),
(sN1, {S11, S21, R1(12), C1}), …(sN1, {S1j, S2k, Rm(j k), Cm}),}
Figure 3. Web Services Composition Model
qSS2 ∈ { (sN2, {S11, S21, R1(12), C’1}), … (sN1, {S1j, S2k, R2(j k), C’2}),
Request Analyst: determines the client’s query through (sN2, {S11, S21, R1(12), C’1}), …(sN1, {S1j, S2k, Rm(j k), C’m}),}
its interface. The interface passes the query to the Input /
Output processor. The Input / Output processor extracts :
the query into parameters and constraints and passes them qSSn ∈ { (sNn, {S11, S21, R1(12), C’n1}), … (sN1, {S1j, S2k, R2(j k), C’n2}),
to the CBR Engine. CBR Engine then retrieves the most
(sNn, {S11, S21, R1(12), C’n1}), …(sN1, {S1j, S2k, Rm(j k), C’nm}),}
similar pre-assembly service case from the service case-
base. The result of this state will be a number of sub- which mean the query service has a service name and
service components. These sub-service descriptions will many sub-services. Each sub-service has its service name
be sent to the Outsource Agents. and several service descriptions. A service description
describes the relationship of sub-services of its service
Outsource Agents: will use the service descriptions that
and the parameter or constraints. The service extraction
have been passed from the CBR Engine through the
process will repeat until the service has no more sub-
service description interface. Outsource Agents then
services. Ex6 in section 4.2.2 is an example of the
contact the UDDI service directory to discover the
service, which cannot be extracted any further.
required services.
The CBR Engine gets the information from the input/out (5) Each businessService consists of business key,
put processor then tries to match and retrieve the most service key, description and bindingTemplates,
similar services from the service case-base. The retrieval which can be used to compare with the queries
process has been described in section 4.2.3. The CBR as defined in step (1). The similarity measure
engine then passes the result of the list of sub-services, rules (Limthanmaphon, Zhang and Zhang 2002)
their parameters or constraints, and their relationship to will be applied to find the closest required
the outsource agents, which is the next phase of service service.
composition.
Every sub-service of the composite service will repeat
these steps of service discovery and matching. The result
5.2 Reactive Composition of a set of the most suitable services will be passed to the
This phase of service composition deals with the service composer.
discovery and integration of the sub-services of a
composite request. When the CBR Engine passes the list 5.2.2 Relational Service Composition
of sub-services, parameters and their relationships, the
The service composer then integrates all the allocated
service description interface will contact the UDDI
services by considering the relationship and constraints of
Interface to allocate those services, which have similar
each service. ‘Parameters’ refer to the input or output
service specifications to the required sub-services.
parameters of each service while ‘constraints’ refer to the
Outsource agents provide the mechanism for comparing mandatory variables (mvi). We use figure 4 to describe
the required service description and the businessService the relationship of services composition.
from the UDDI registry. For instance, if the query
requires the car-rental service in the hotel service, the
outsource agents need to allocate a hotel service which
has a relationship with car-rental service. The relationship S1 S3
between car-rental and hotel service can take any of the
forms explained in section 4.1. The outsource agents will
(1) Each service name and its parameters, which are R1 = {(S1, S2), ⇔, mv3, R0}: relationship R1 is a
provided by the CBR Engine from the previous parallel-dependency relationship between services S1 and
phase, are the search key words or queries. S2 while mv3 is a constraint. There is no other
According to the UDDI specification, these relationship (R0) before R1.
queries can match to three core data structures: R2 = {(S1, S3), , mv2, R1}: relationship R2 is a pre-
businessEntity, businessService, and service requisite relationship between services S1 and S3 while
type of tModel. mv2 is a constraint. The relationship R1 invokes before
(2) The UDDI interface module is created for relationship R2.
looking up the UDDI registry. This interface R3 = {(S2, S4), , mv4, R1}: relationship R3 is a pre-
module will contact the publisherAssertion requisite relationship between services S2 and S4 while
structure to locate the appropriate business mv4 is a constraint. The relationship R1 invokes before
partner that is advertising the web service. relationship R3.
(3) When a set of required business entities is R4 = {(S3, S4), , mv5, R2}: relationship R4 is a pre-
provided from step (2), the full businessEntity requisite relationship between services S3 and S4 while
structure of each business entity is retrieved. mv5 is a constraint. The relationship R2 invokes before
(4) Since a businessEntity consists of business- relationship R4.
Services (as shown in figure 1), each business- The sub-service linking role will link all the services
Service needs to be extracted for comparison according to the services’ relationship descriptions, which
purpose. finally provide a composition service as a result.
6 Conclusion CHAKRABORTY, D. and JOSHI, A. (2001): Dynamic
Service Composition: State-of-the-Art and Research
We present a model of web services composition using Directions, Technical Report TR-CS-01-19,
the Case-Based Reasoning (CBR) technique. CBR is Department of Computer Science and Electrical
applied in the process of service discovery, which is the Engineering, University of Maryland, Baltimore
crucial composition process. Our service composition County, Baltimore, USA.
model integrates the two behaviours of proactive and
reactive service compositions. The proactive composition CHAKRABORTY, D., PERICH, F., JOSHI, A., FININ,
phase provides the pre-assembly of the composition T. and YESHA, Y. (2002): A Reactive Service
service, which includes the sub-services, parameters and Composition Architecture for Pervasive Computing
relationships among sub-services, while the reactive Environments. In 7th Personal Wireless
composition phase deal with the processes of service Communications Conference (PWC 2002), Singapore.
discovery and integration of the existing sub-services. LEAKE, D. (1996) CBR in Context: The Present and
There are three main components in our model: request Future. In Case-Based Reasoning, Experiences,
analyst, outsource agent, and services composers. We Lessons, & Future Directions. Ed. D. Leake, Menlo
give a brief overview of service invocation and discovery. Park, MIT Press.
We also present the various forms of relationships
between sub-services. LIMTHANMAPHON, B., ZHANG Z. and ZHANG Y.
(2002): Adaptive Case-Based Reasoning Systems for E-
There are three advantages in our model: first, proactive Commerce. International Conference Intelligent
composition can reduce the cost of composition. Second, Information Technology ICIIT-02, Beijing, China
we design for collaboration among the services to satisfy
the client. Dynamic composition is flexible. Third, the MACHIRAJU, V., DEKHIL, M., GRISS, M. and
similarity feature of CBR is used for efficient service WURSTER, K. (2000): E-services Management
discovery, which will have the resulting benefit of Requirements. HP Laboratories Palo Alto, HPL-2000-
efficient service composition. On-going work includes 60.
the prototyping to cater for more general applications
MENNIE, D. and PAGUREK, B. (2000): An Architecture
other than travelling, and to illustrate the viability of the
to Support Dynamic Composition of Service
proposed model.
Components, Systems and Computing Engineering,
Carleton University, Canada.
7 References
SOAP, Simple Object Access Protocol,
AAMODT, A., and PLAZE, E. (1994): Case-Based http://www.w3.org.TR/SOAP/
Reasoning: Foundational Issue, Methodological
Variations, and System Approaches. In AI UC Berkeley Computer Science Division.
Communications, Vol.7, IOS Press. http://ninja.cs.berkey.edu.
BENATALLAH, B., DUMAS, M., FAUVET M.C. and UDDI, Universal Description, Discovery and Integration,
PAIK H.Y. (2001): Self-Coordinate and Self-Traced http://www.uddi.org
Composite Services with Dynamic Provider Selection. UDDI (2002): UDDI Version 2.03 Data Structure
Technical report, UNSW-CSE-TR-0108, School of Reference, UDDI Published Specification, 19 July
Computer Science & Engineering, University of New 2002. http://www.uddi.org/pubs/DataStructure-V2.03-
South Wales, Australia. Published-200207.pdf
BENATALLAH, B., DUMAS, M., FAUVET M.C. and WSDL, Web Services Description Language (WSDL)
RABHI F.A. (2001): Towards Patterns of Web 1.1, March 15, 2000. http://www.w3.org/TR/wsdl.
Services Composition. Technical report, UNSW-CSE-
TR-0111, School of Computer Science & Engineering, WSDL-UDDI (2002): Using WSDL in a UDDI Registry,
University of New South Wales, Australia. Version 1.07 UDDI Best Practice, May 21, 2002,
http://www.uddi.org/pubs/wsdlbestpractices.pdf.
CASATI, F., ILNICKI, S., JIN, L.,
KRISHNAMOORTHY, V. and SHAN, M. (2000):
Adaptive and dynamic service composition in eflow.
Technical Report, HPL-200039, Software Technology
Laboratory, Palo Alto, USA.