# From Service Composition to Mashup Editor: A Multiperspective Taxonomy
## 4 Taxonomy for Services Composition
### Services Composition Using BPEL
#### 4.1.3 Semantic Approach  
Semantic Web technologies are meant to enable greater access to services on the Web. Users and software should be able to discover, invoke, compose, and monitor Web resources offering particular services and having particular properties, and should be able to do so with a high degree of automation. A number of standards and technologies were introduced in the world of semantic Web services. Hereafter, we describe two main ones. Web Ontology Language for Service (OWL-S)  
(formerly DAML-S) [34] is a services ontology that provides a solution to these functionalities. The overall structure of the OWL-S ontology is composed of three main parts: (i) a service profile describes what the service requires from users and what it gives them; (ii) a service model specifies how the service works; and (iii) a service grounding gives information on how to use the service [35]. The process model is a service model subclass that describes a service in terms of inputs, outputs, preconditions, postconditions, and, if necessary, its own subprocesses. In the process model, we can describe composite processes and their dependencies and interactions. OWL-S also defines three models of processes: atomic, which have no sub-processes; simple, which are not directly invokable and are used as an abstraction element for either atomic or composite processes; and composite, which consists of sub-processes. With respect to BPEL tools, OWL-S efforts are still focused on research issues and few implementations are currently available. However, we can cite the OWL-S Editor [36] developed by SRI International as a protege ([[http://protege.stanford.edu/](http://protege.stanford.edu/)]([http://protege.stanford.edu/](http://protege.stanford.edu/)), accessed on 10 June 2020) plugin, and provides a graphical environment for editing an OWL-S service resource, the control flow graph of a process, and \"runs\" (tests) a defined process. The OWL-S IDE project ([[http://projects.semwebcentral.org/projects/owl-s-ide/](http://projects.semwebcentral.org/projects/owl-s-ide/)]([http://projects.semwebcentral.org/projects/owl-s-ide/](http://projects.semwebcentral.org/projects/owl-s-ide/)), accessed on 7 October 2010), formerly known as CODE, is also concerned with the development of OWL-S services. The OWL-S IDE is a plug-in for Eclipse, and attempts to integrate the semantic markup with the programming environment. Developers can write their Java code in Eclipse and run a Java2 OWLS tool to generate an OWL-S \"skeleton\" directly from the Java sources. The idea of integrating SWSs more closely with the programming environment used to develop the service implementations is a powerful feature. However, it will often be more useful to generate the semantic markup before the Java (or other) code, as the semantic  
Figure 7: Example BPEL process for travel arrangements. descriptions can be seen as a higher level of abstraction of the programming modules. The OWL-S IDE does not provide any graphical visualization of services or processes. Another OWL-S editor is provided by the University of Malta [37]. It is a stand-alone program providing a WSDL import as well as a graphical editor and visualization for control flow and data flow. Not being integrated with an ontology editor, it shares some of the drawbacks of the OWL-S IDE, without gaining the advantage of programming language integration. The Web Services Modeling Ontology (WSMO) [38] shares with OWL-S the vision that ontologies are essential to supporting mechanisms such as the automatic discovery, inter-operation, and composition of Web services. Similarly to OWL-S, WSMO is an ontology for describing various aspects related to semantic Web services. Moreover, the WSMO effort defines an expressive Web-oriented language, WSML [39], which provides a uniform syntax for sub-dialects ranging from description logic to first-order logic. Like OWL-S, WSMO Web services specifications are based on the service capability, which consists of inputs, outputs, preconditions, and results.