• Ei tuloksia

2. State of the Art

2.2 Semantic Web Service Technologies

2.2.2 Semantic Web Service Orchestration

UDDI registries [105] permit web service providers to publish their services. How-ever, Sycara et al. [99] point out that the UDDI standard is insufficient for discov-ering web services based on their capabilities. Thus, they have developed a DAML-S/UDDI Matchmaker, which allows services to be discovered based on semantic de-scriptions written in OWL-S. The system contains a communication module which receives semantic service advertisements. Once an advertisement is received, it is

12Available at http://sawsdl4j.sourceforge.net/. Accessed on 2013-5-15

13Available at http://lsdis.cs.uga.edu/projects/meteor-s/opensource/woden4sawsdl/index.html.

Accessed on 2009-11-11.

2. State of the Art 16 sent to a translator module which converts it to a UDDI service record and stores the record in a UDDI registry. Finally, the advertisement is stored in a matching engine together with the UDDI service record identifier. When the system receives a semantic web service request, the matching engine compares it to the stored seman-tic service advertisements. The comparison algorithms find the service descriptions that semantically match the request. Furthermore, the found services are graded based on how accurately they match the request. Because the system maintains associations between the stored advertisements and the corresponding UDDI ser-vice identifiers, the serser-vices associated to the matching descriptions can be retrieved from the UDDI registry based on their identifiers [99].

Çelik and Elçi [6] propose an alternative approach to using OWL-S in web service discovery. In their approach, a semantic search agent assists a user in finding an appropriate web service from a UDDI registry. The user must first supply the agent with search terms, which the agent uses to find potentially matching web services in the service ontology. According to Çelik and Elçi [6], the agent also compares the inputs and outputs of the services to those specified by the client.

Çelik and Elçi [6] claim that the matching algorithm implemented by Sycara et al.

[99] operates in UDDI, while in their approach the search algorithm is implemented completely in the semantic search agent, which allows the UDDI registry to function traditionally. Nevertheless, it appears that the system developed by Sycara et al.

[99] is implemented as a separate component that uses a UDDI registry but has no impact on its internal operation. Thus, the UDDI registry could be operated independently of the matching system, and it can be argued to function traditionally also in the Matchmaker developed by Sycara et al. [99]. Hence, the two systems appear to be based on somewhat similar principles. On the other hand, the approach proposed by Çelic and Elçi [6] contains a search term enhancement phase which precedes the actual semantic matching phase and is apparently omitted in the former approach. In the search term enhancement phase, the search terms entered by the user are enriched by finding synonyms and applying semantic is-a relationships.

Çelik and Elçi [7] have applied the semantic search agent approach in implement-ing a semantic web service search system. The user enters required input and output types to the system, and the system displays the results as a list of web services.

The system scores the services according to the semantic similarity of the inputs and outputs to the search terms.

Song et al. [96] describe how SAWSDL can be used in automatically determining services that semantically match search criteria specified by a user. They find the SAWSDL annotation method simple and flexible. However, Iqbal et al. [34] claim that SAWSDL alone is inadequate for specifying web service preconditions and post conditions, which are essential in determining whether a web service matches the user

2. State of the Art 17 goals. Thus, Iqbal et al. [34] propose an approach that uses SPARQL [79] queries to specify web service pre- and post conditions in SAWSDL files. In their method, the SAWSDL modelReference attribute is used to refer to the SPARQL queries.

For example, the outcome of a service is represented by a SPARQL CONSTRUCT query and the user goal is formulated as a SPARQL ASK query. The ASK query is evaluated over the RDF graph that results from evaluating the construct query. If the result is true, the service fulfills the goal.

Systems encompassing several heterogeneous web services may involve interop-erability problems, which can be solved by using semantic web service descriptions [39]. For example, Delamer and Martinez Lastra [13] present an SOA approach in which service descriptions are augmented with semantic information to allow au-tomated service selection and invocation in the domain of manufacturing systems.

Nevertheless, somewhat similar approaches are applicable in the medical domain as well [44; 31]. In addition, Sasa et al. [88] present an approach applying agent tech-nology and ontologies to automate decision-making in business system tasks that would otherwise require human participation. This dissertation will focus on the application of semantic web services in production system automation.

Various authors have proposed methods of combining the use of BPEL and se-mantic service descriptions, and these methods have some features in common with those proposed in this dissertation. For example, Verma [111] proposes defining semantic templates in BPEL processes. The semantic web service descriptions are achieved through the use of SAWSDL and OWL. However, while this dissertation applies OWL-S in describing the functionality of web service operations, Verma [111]

defines functional concepts for this purpose. The functional concepts are then refer-enced in the SAWSDL annotations added to WSDL operations similarly as Martin et al. [54] suggest linking WSDL operations to OWL-S Processes. Indeed, the func-tional concepts defined by Verma [111] appear to encompass OWL-S Processes: for example, both include inputs, outputs, preconditions and effects.

Another approach that considerably resembles the methodology proposed in this dissertation is the BPEL for Semantic Web Services (BPEL4SWS) [65] language, which extends the standard WS-BPEL 2.0 specification. Unlike plain BPEL pro-cesses, BPEL4SWS processes are independent of the WSDL descriptions of partner web services. Instead, partner service requirements can be expressed semantically.

Hence, BPEL4SWS resembles the approach proposed by Verma [111]. Nevertheless, the service orchestration approach proposed in this dissertation is different from both of the aforementioned methodologies in that it only uses the standard WS-BPEL 2.0 language without any extensions. Instead, in the proposed approach, BPEL processes refer to WSDL interfaces, and, because the interfaces are annotated with semantic information, the proposed framework can automatically modify the BPEL

2. State of the Art 18 processes to use different WSDL interfaces depending on the results of semantic service selection.

In addition to semantic descriptions, other methods of modeling the states of web services have been developed. In particular, the Web Services Resource Framework (WSRF) [121] facilitates accessing stateful resources through web services. Instead of semantic models, WSRF uses plain XML schemas to describe resource proper-ties. Clients can query and manipulate resource states through standard operations specified in WSRF as well as through service-specific operations. WSRF has been applied, for example, in the domain of grid services [117]. Unlike WSRF, semantic web service descriptions set no requirements on the web service WSDL interfaces. In particular, web services are not required to provide the special operations defined in WSRF for querying and updating resource states. Furthermore, syntactic differences in web service interfaces and the representation of resource states are considerably less relevant when semantic descriptions are applied. While the approach requires that semantic descriptions on available web services and domain resources are cre-ated and made available, no changes to web service implementations are required.

In addition to BPEL, other techniques have also been developed for modeling process workflows. For example, Petri Nets-based approaches have been applied in cross-organizational workflow modeling [38]. Work on web service orchestration using Petri Nets and Timed Net Condition/Event Systems, a Petri Nets-derived formalism, can be found respectively in [63] and [77].