Article Preview
TopIntroduction
As the Internet grows, e-services are becoming more and more available for users. However, despite their ubiquity, web services are still unable to meet user’s needs especially when their requests are too complex to be satisfied by a single existing e-service. Creating automatically new services by means of composition of existing web e-services to satisfy a user request addresses many challenging research issues.
Web service composition is the process that specifies how to select, to combine and to execute a set of available web services in order to obtain a composite service which fulfills the features required by the user. With automatic composition, the application’s capabilities can be extended at runtime so that theoretically an unlimited number of new services can be created from a given set of services, thus making applications no longer restricted to the set of actions specified at design time. A central problem, addressed by web services composition automation, is the inherent structural and behavioral heterogeneity of current web services caused by their strict autonomy.
Several efforts aim to build current web service technology around SOAP (Mitra & Lafon, 2007), WSDL (Booth & Liu, 2007) and UDDI (Bellwood et al., 2002) which provide standard foundations for service discovery, description and messaging protocols. An initiative to standardize some aspects of web services composition is BPEL4WS (Andrews et al., 2003). This language is based on a human driven process, and the coordination between web services described in WSDL language is manually specified and their bindings are known a priori. Obviously, this type of language is insufficient because automating the composition of web services requires the representation of their abilities in a way that is unambiguous and interpretable by a machine.
In this paper, we propose the Ontology-driven and Community-based Web Services (OCWS) framework for automating discovery, composition and execution of web services. The purpose is to validate and to execute a user’s request built from the composition of a set OCWS descriptions accompanied with a set of constraints. Our framework uses a multi-level approach that separates clearly the OCWS external descriptions from internal realistic implementations of e-services and allows the use of the appropriate methods and tools at each level in order to validate and execute the user’s request. It identifies three levels: the knowledge level, the community level and the e-services level and uses different participant agents deployed in a distributed architecture. The notion of community gathers a set of service descriptions which are based on different domain ontologies and a set of e-services providers. So, a community is an integrator of services which offers a unified interface allowing the access to existing heterogeneous e-services that exhibit similar functionalities.
OCWS are represented using the W3C ontology web language for services OWL-S (Martin et al., 2004). OWL-S provides richer semantics for describing the capabilities of web services. A web service is represented as a named process which produces a set of outputs from a set of inputs and generates effects starting from a state that satisfies the service pre-conditions and reaching a state that satisfies the service post-conditions. The non-functional attributes are also used for e-service evaluation (cost, service quality and security issues). A composite web service is represented as a complex service involving different web services descriptions related by OWL-S constructs such as split-and, split-or, sequence that constrain the order of web services executions. The assertions about domain-ontologies are described using OWL language (McGuinness & van Harmelen, 2004). They formally define semantics of web services attributes. The constraints on attributes set by the user are also described as OWL assertions.