services interfaces of the different communities in the knowledge base (CKB). Thus the concept of community service brings together a set of alternative and ...
IADIS International Conference Applied Computing 2007
SEMANTIC WEB SERVICES COMPOSITION FRAMEWORK Youssef Gamha**, Nacéra Bennacer*, Guy Vidal-Naquet*, Lotfi Ben Romdhane**, Bechir Ayeb** Supélec, Joliot-Curie road, Gif-sur-Yvette, 91192, France * PRINCE Research Unit, Faculty of Sciences Monastir, Tunisia **
ABSTRACT In this paper, we present a semantic web services composition framework based on a distributed architecture and on semantic and uniform based-ontology service descriptions. Central to our framework is the use of the concept of community of services. This concept provides means to describe services with the same language based on the community ontology. Thus, the community constitutes a unified, a homogeneous and a consistent access interface to existing and heterogeneous e-services which propose similar functionalities for services belonging to this community. Moreover, based on OWL-S language, our framework supports a rich expressivity in services and user constraints descriptions, and takes into account the nondeterministic behaviors of e-services instances, in particular when their internal state cannot be predicted a priori. KEYWORDS Semantic Web Service, Ontology, OWL-S, Composition.
1. INTRODUCTION Creating new services by means of composition of existing web services to satisfy a client request addresses many challenging research issues. The most prominent one is the automation of web services composition. The web service composition is the process that specifies how to select, combine and execute a set of available web services to obtain a composite service that fulfills the user request. One of the main problems, addressed by automated web services composition, is the inherent structural and behavioral heterogeneity of current web services related to their strict autonomy. Several efforts both academic and industrial focus on this problem in order to realize such a new generation of services. These efforts aim to build current web service technology around SOAP, WSDL and UDDI which provide standardized foundations respectively for service discovery, description and messaging protocols. Nevertheless, these languages are insufficient to achieve a real automation of web services composition. An emerging industry initiative to standardize some aspects of web services composition is BPEL4WS (http://www.ibm.com/developerworks/library/ws-bpel/ ). BPEL4WS is based on human driven process, and focuses on specifying manually the coordination between multiple web services described in WSDL language and where the bindings between them are known a priori. Moreover, BPEL4WS provides different constructs for processes and data flow, but it does not support the notion of world state. On one hand, the automated composition of web services requires representing their abilities in a way that is unambiguous and interpretable by a machine. On the other hand, it involves a reasoning system which selects, combines and executes compatible web services by resolving constraints and by matching inputs, outputs, preconditions and effects to achieve the overall goal of the composition. The semantic descriptions of web services make them machine interpretable and offers agents the possibility to automatically compose different services for a new composite service. The ontology Web Language for services OWL-S (http://www.w3.org/Submission/OWL-S/) provides richer semantic specifications with different views of the capabilities of web services. In particular, it provides a functional view of the service as a process which describes both the information transformation which results in the production of outputs from a set of inputs,
689
ISBN: 978-972-8924-30-0 © 2007 IADIS
and the state transformation that results in the generation of the effects starting from a state that satisfy the preconditions. The literature on Semantic Web services is abundant and the need for a more rigorous formal foundation is widely discussed. Many contributions come from the artificial intelligence community and are often related to classical planning. This similarity to planning problems leads us to use the related techniques for web services composition. A planning problem is generally described by a set of possible states that should be reached, a set of actions that can be used to reach the goal and a set of transitions to reach a state from a given one with a particular action. Hence, a transition is used to describe the preconditions and effects of a particular action. The main difference between web services planning and classical planning problem is the dynamic behaviour of web services (Nau and al., 2003). The output returned by a service can either be based on input values, or can depend on the internal state of the service and generally it can be obtained in a nondeterministic way. In particular logic-based approaches reduce the problem of checking the existence of a composition into the satisfiability problem in a knowledge base expressed in a Description Logic (Sirin and al., 2004 and McIlarith and son, 2002) or equivalently into the satisfiability of a formula in a theory expressed in a variant of Propositional Dynamic Logic (PDL) (Berardi and al., 2005).Some approaches have been proposed which use transitions systems as a composition framework with formalisms like Statecharts or Petri nets (Narayanan and McIlraith, 2002), (Benatallah and al, 2002), (Pistore and al., 2004) and (Berardi and al., 2005). The different approaches are differentiated by the fact that they consider or not non-functional requirements for service composition based on QoS attributes (Benatallah et al.,2005) and (Medjahed and Bouguetta, 2005). These elements allow compensation for composition deficiency and provide criteria for performance measures. These approaches are also differentiated by the fact that they deal or not with the nondeterministic behaviour of web services and that the behaviours can not be predicted a priori. In this paper, we present our semantic web services composition framework based on a distributed architecture and on a semantic, for service descriptions based on community ontology. Central to our framework is the use of the concept of community of services. On one hand, this concept provides a mean to define services not only with the same language but also with an ontology specific to the community. On the other hand, the community is an integrator of services which offers a unified, homogeneous and consistent access interface to existing, heterogeneous e-services which propose similar functionalities for this community. Moreover, based on OWL-S language, our framework supports rich expressivity in services and user constraints descriptions and takes into account the nondeterministic behaviours of e-services instances. The responsibility of composing and coordinating the execution of a composite service specified by a user is distributed across several components called composer community agents. The paper is organized as follows: In section 2, we present the components of the architecture that we define. In the following section, we illustrate the problem of composition with an example. Then, we present the main tasks for solving the composition problem in order to achieve the overall goal of composition. In section 5, we give our perspectives for continuing this work.
2. ARCHITECTURE COMPONENTS The Figure 1 depicts the architecture of components defined in our approach. The system supports the use of existing e-services able to communicate using standard web services languages. Each e-service can join one or several communities by exporting its service based-community ontology description in OWL-S. The community manager agent (CMAi) ensures that the imported service description is consistent with the ontology of the community Ci, in particular the operations, their inputs and outputs names are concepts of the ontology and the preconditions constraints are consistent with those already imported. The community manager agent (CMAi) ensures that the imported service description is consistent with the ontology of the community Ci, in particular the operations, their inputs and outputs names are concepts of the ontology and the preconditions constraints are consistent with those already imported. The community manager agent manages how the e-services join or leave the community. It stores the set of OWL-S services descriptions, the localizations of their e-services providers in the community knowledge base (CKBi). The set of common operations constitutes the interface of community service description. The manager agent (MA) stores the services interfaces of the different communities in the knowledge base (CKB). Thus the concept of community service brings together a set of alternative and potential e-services and provides the semantic
690
IADIS International Conference Applied Computing 2007
based-ontology of services descriptions. For example lastminute, ebookers or specific airlines provide the common operations of finding, selecting and booking flights by joining the "plane travel" community. When a user wants to get a flight, the system retrieves all answers, presented in a uniform way, that correspond to its query constraints from all the e-services of the travel community. More generally, a client constructs its request from the descriptions stored in the KB. This request which represents the description of the required composite service is processed by the composer agent (CoA) that invokes the composer community agents (CoCA) concerned by the request. The role of the composer agent CoA is to select, to coordinate and to assemble the composer community agents in order to execute the required operations. The composer community agent selects a set of available e-services belonging to its community necessary for the required operations. It is responsible for selecting one or several e-services to be instantiated according to a set of defined criteria performance measures. User Request Interface Validator Client
Semantic Web Services of all Communities
CoA
KB
Sequence
MA
Find Travel
CoCAi
CoCAj
CoCAk
CKBi
CKBj
CKBk Flight Travel
CMAi
CMAj
Buy Travel
If-Then-Else FlightTravel.cost