Documente Academic
Documente Profesional
Documente Cultură
mariam.abed.mostafa@gmail.com ABSTRACT
The Web Services technology failed to meet its promises of fully automating the communication between applications. It necessitated human intervention in the selection and invocation of the most appropriate web service. The Web Service Modeling Ontology (WSMO) and the Web Service Modeling eXecution environment (WSMX) are two initiatives claiming to be supporting the Semantic Web Services technology, which promises the automation of the whole communication process including these two steps. The paper tested validity of the initiatives' claim by using them to develop a Semantic Web Service (SWS) for accessing the publications of the German University in Cairo (GUC). The results showed that the initiatives were able to meet the Semantic Web Services' promises and automate the selection and the invocation of the most matching Web Service. Hence emerged need for web services that can automatically be discovered, selected and invoked. This need is the main concern of this paper and is promised to be addressed by the Semantic Web Services technology. The new technology suggested adding meaning to web services descriptions and making it machine readable [13], [9]. That would enable machines to understand the service provided by a web service and the way of its invocation; and consequently be able to perform the whole process of web service discovery, selection and invocation without any need for human intervention. The Semantic Web Services technology needed extra support like some new standards for meaningful web services descriptions and an execution environment that is aware of these new standards. WSMO and WSMX are two initiatives claiming to be providing such support. WSMO claims to offer sufficient standards for meaningful web services description, and WSMX is the execution environment aware of the WSMO standards [11], [8]. The validity of this claim is the main focus of this paper. It examines the initiatives' ability to meet the promises by developing a SWS on top of WSMO and invoking a request to test WSMX's ability of automatically discovering, selecting and invoking the web service. The developed SWS is a search web service that is used to access the publications of the GUC. It was tested by invoking a service request that searches publications by title. The paper's flow is as follows, it discusses the problem in section 2.1 which is the current web services limitations, it considers the Semantic web Services technology as a solution and discusses its vision and support needed in section 2.2; after that section 2.3 introduces WSMO and WSMX initiatives claiming to provide this support. Section 3 explains the SWS developed to test the initiatives and shows the test results. Finally section 4 is a discussion of the results and section 5 concludes.
General Terms
Verification.
Keywords
Semantic, WebService, Web Service, WSMX, WSMO.
1. INTRODUCTION
Web services succeeded in enhancing interdependence between entities by supporting software interoperability that allows the automation of some applications making use of heterogeneous components across different organizations [1]. Nevertheless, they have some limitations such as requiring human involvement in choosing the web service most matching his needs and adapting his application to the specifications of the chosen web service.
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. ISWSA11, April 1820, 2011, Amman, Jordan. Copyright 2011 ACM 978-1-4503-0474-0/04/2011$10.00.
2. WEB SERVICES
Web services are core elements for building distributed systems. They allow different applications to remotely access and utilize their services by sticking to some Internet standards. However, the technology has some limitations that are presented in section 2.1, these limitations were promised to be addressed by the Semantic Web Services technology introduced in section 2.2. Section 2.3 discusses the WSMX and WSMO initiatives claiming to be supporting the new technology.
2.2.1 Vision
The Semantic Web Services vision is to extend the dynamicity of the web by automating the process of service discovery, selection, composition and execution [13], [9]. Fensel and Bussler portrayed this vision by an example of an application having a task to achieve a certain result; this application should be able to search for candidate web services offering the intended service. After that, the application should be able to choose the service that best matches its needs, taking into consideration that these services may require payment, and the application should then search for the cheapest web service. After the application finds the most appropriate web service, it should be able to perform some mediations so as to resolve any interoperability issues that may appear, and finally invoke the web service without any human intervention [3].
2.3.1 WSMO
For the formalization of web services descriptions, the WSMO was introduced to act as the ontology for describing aspects needed for discovering a web service and its invocation [11], [8]. WSMO has four main elements, those are: the Ontology, the Service, the Goal, and the Mediator. Ontologies are
1
In this context, the context of the Semantic Web, a data type is represented by an Ontology that is used to represent a real world entity and its relations with other entities [7].
representations of "real-world semantics" that are created by some communities and agreed upon by others. They perform such semantics' representation by defining some concepts and the relations between them [2]. The Service represents the description of the web service, that when invoked achieves a certain service requester's goal. The service is described by defining its capabilities, interface and some non-functional properties. A service's Capability defines the functionality of a web service in terms of Preconditions, Postconditions, Assumptions and Effects. As explained by [2] Preconditions and Postconditions are "the information space of the Web service before" and "after its execution", and Assumptions and Effects are "the state of the world before" and "after the execution of the Web service". The Interface describes how the web service can be invoked to achieve its specified capabilities. In the interface, the service Choreography and Orchestration are defined. The service Choreography is for the web service's user, be him a human being or another web service, to know how to communicate with the web service. On the other hand, the service Orchestration is about how the web service collaborates with other web services to achieve its capabilities [13], [4]. The Non-functional properties are properties that have nothing to do with the execution specifications of a web service. There are no restrictions on nonfunctional properties; however, for the sake of interoperability, some properties are recommended by WSMO, those are "accuracy, financial, networkRelatedQoS, performance, reliability, robustness, scalability, security, transactional, trust" [2]. Moreover, in some cases, the Non-funcational properties help in the process of matching service requesters and providers [5].A goal is the objective needed to be achieved by invoking a web service. The goal description can be perceived as the description of the web service required by the requester [11], [2]. Accordingly, goal elements are those elements used in the service description. As mentioned before, it cannot be assumed that all requesters and providers would agree on a set of ontologies to use, and therefore a sort of mapping between concepts and ontologies defined by different users is needed. Mediators provide such a transformation between data described in two different conceptual models [11].
by [5]. The default matching criteria are the Keyword-based discovery and the LightWeight discovery. The former relies on matching the Non-Functional properties defined by the webService and the goal, while the latter compares the Postconditions and the Effects specified in the two interfaces. 4. The Service Discovery component refines the suggested web services resulted from the discovery and chooses the most appropriate web service based on the requester's preferences. Some user preferences can be specified using NonFunctional properties; this is further explained by [6] After the web service is chosen and the service requester and provider are specified, appears the need for some mediation activities to resolve the heterogeneity that may exist between the webService and the goal. Two types of mediations take place; those are the Process Mediation and the Data Mediation. The Process mediation, performed by the Choreography component, resolves the conflicts occurring due to the difference in how the requester and the provider are handling the process. For example the service requester may provide a service with a bulk of data and waits for a response, and at the same time, the provider is expecting the requester to send the data in a certain order so as to perform several service invocations to come up with the intended outcome. On the other hand, Data Mediation uses the mediators, already stored in WSMX, to transform the ontologies used by the goal to those used by the webService in order to possiblize its invocation. It is used another time at the end to convert the ontologies returned from the webService to those used and understood by the goal. Finally WSMX invokes the web service, but before the actual invocation takes place, WSMX needs to transform the instances it has, that are defined in WSML, to SOAP messages that are used by the normal Web Services. This is done by Invoker component using some "Groundings" that are defined by the service provider to convert WSML to XML and vice versa.
5.
6.
2.3.2 WSMX
WSMX is a framework that follows WSMO standards to allow dynamic selection and invocation of web services offering services required by requesters [11], [8]. As explained by [11] and [5], the following steps model the process followed by WSMX to invoke an appropriate web service providing a service required by a goal2. 1. 2. 3. The process starts from the communication manager as it serves as the system's entry point. The Message parser validates the received messages and saves them in-memory in a WSMX representation. The Discovery component then starts to match the capabilities required by the goal, with the capabilities of the web services already registered in WSMX. This matching can be held using different criteria that are further discussed
After having an overview on what is needed for supporting the Semantic Web Services technology and how WSMX and WSMO claim to be offering this support, next section examines the actual performance of these initiatives.
Refer to Appendix A that shows WSMX architecture with the components mentioned in the process underlined.
SWS for searching the repository was a good opportunity for examining the WSMO and WSMX initiatives. This web service was called the GUCrr-sSWS.
Figure 1: Visualization for the Library ontology - In Step 3: AccessPublicationsWS should be selected. - Steps 4 and 10 do not apply since the same ontology is used by the webService and the goal. - In Step 5 and 9: The Lowering and the Lifting groundings should be used respectively. - Finally, a Publication instance should be returned to the goal.
4. DISCUSSION
To well interpret the GUCrr-sSWS case and its results presented in the previous section, the expected process flow presented in the design phase, section 3.2.2 b, will be referred to and compared to
3
Refer to Appendix B.1 to see the loaded and discovered webServices. Refer to Appendix B.2 to see the exchanged SOAP messages and the WSML representation of the response.
Figure 2: The process flow of requesting to achieve the AccessPublicationsGoal the actual results. The steps between sending and receiving SOAP messages will not be discussed since it is out of this paper's scope. - Step 1: AchieveGoal Request; The goal used a titleSearch instance with the searchString "Constraint Programming" to test the first use scenario. - Step 2: Search for candidate webServices; The results showed five discovered webServices from thirty four already loaded to WSMX; this can be explained by the default discovery criteria presented in section 2.3.2. The Keyword discovery that performs a matching between the NFPs discovered the five webServices that had the NFP dc#language hasValue "en- US". On the other hand, the Lightweight discovery which compares the postconditions only discovered the webService AccessPublicationsWS as it is the only web service with the postcondition member of Publication. Obviously the AccessPublicationsWS was in the list of the candidate webServices and this is what was expected in this step. - Step 3: Select the most matching webService; The AccessPublicationsWS was discovered using the two methods, so it was the most matching webService and the results show that it was selected and this complies with the expectations. - As mentioned before, Steps 4 and 9 do not apply since one ontology is used by the goal and the webService, so there is no need for mediation. - Step 5: WSML to XML conversion; After service selection and before the invocation, the titleSearch instance is converted to it corresponding XML using the lowering grounding. Figure 4 shows the outgoing SOAP message which is the result of such a conversion. - Step 6: SOAP Request and Response; The generated SOAP message is then used to invoke the actual web service, and the results showed the web service response in figure 4. The Outgoing SOAP message, representing a service request, is a call for the operation <titleSearch> with input parameter <SearchCriteria> and containing the searchString representing the <title> which is "Constraint Programming". On the other hand, the incoming SOAP message, which is the service response, contains an <out> element presenting the output of the operation titleSearch, which is basically a publication. The returned publication had an <ID> with value 3, a <title> with value Constrain Programming, a <publicatioYear> with value 2006 and two authors resented in two <Author> elements each having <ID>, <fn> and <ln>. The <fn> refers to the First Name, the <ln> refers to the Last Name, and the <ID> refers to the person's ID and it may have a value 0 if the author is not a registered user (i.e. his name is saved as a string). The two authors of the returned publication are: Slim Abdennadher who is an unregistered author, and Mostafa El-Hosseiny with the ID 3. - Step 9: XML to WSML conversion; The lifting grounding is used to convert the returned SOAP message to its corresponding WSML representation shown in figure 5. Finally, the Publication instance represented by the WSML in figure 5 is returned to the goal. The steps showed that the expected process has been successfully followed and the service was dynamically discovered, selected and invoked. Recalling the Semantic Web Services vision that was to enhance interoperability by automating the process of service discovery, selection, composition and execution.The results showed that WSMO standards and its execution environment, WSMX, were able to achieve such a vision. It also showed that the two limitations of the normal web services were overcome as no human intervention was needed and the ambiguity of the exchanged SOAP messages is resolved by every entity defining its
own ontologies and using them in the description of webServices. Nevertheless, adding semantic mark-up to the WSMO ontologies is suggested so that WSMX may perform its mediation activities depending on the semantics attached to the ontologies and by referring to the semantic web. This would create a transparency between the semantic web and WSMX, and decrease the effort exerted by developers in defining mediators between ontologies.
Modeling Ontology (WSMO). Retrieved on 20-May 2010 from http://www.wsmo.org/TR/d2/v1.3/D2v13_20061021.pdf, 2006 [3] Fensel, D., Bussler, C. The Web Service Modeling Framework WSMF. Electronic Commerce Research and Applications, 1(2): 1-33, 2002 [4] Fensel, D., Stollberg, M. Ontology-based Choreography and Orchestration of WSMO Services. Retrieved on 20-May 2010 from http://www.wsmo.org/TR/d14/v0.1/d14v01_20050301.pdf, 2005 [5] Herold, M. Evaluation and Advancement in Context of a Tourist Information System. Retrieved on 26-May 2010 from http://www.fhwedel.de/fileadmin/mitarbeiter/iw/Abschlussar beiten/MasterarbeitHerold.pdf, 2008b [6] Herold, M. WSMX Documentation. Retrieved on 26-May 2010 from http://www.wsmx.org/papers/documentation/WSMXDocume ntation.pdf, 2008a [7] Horrocks, I., Patel-Schneider, P.F., and van Harmelen., F. From SHIQ and RDF to OWL: The making of a web ontology language. Journal of Web Semantics, 1(1): 7-26, 2003 [8] Kerrigan, M. The WSML Editor Plug-in to the Web Services Modeling Toolkit. Proceedings of 2nd WSMO Implementation Workshop, June, 2005, Innsbruck, Austria. Retrieved on 20May 2010 from http://www.wsmx.org/papers/publications/kerriganwiw05.pdf, 2005 [9] McIlraith, S.A., Son, T.C., Zeng, H. Semantic Web Services. IEEE Intelligent Systems, 16(2): 46-53, 2001 [10] Medjahed, B., Bouguettaya, A., Elmagarmid, A.K. Composing Web services on the Semantic Web. The VLDB Journal, 12(4): 333-351, 2003 [11] Moran, M., Zaremba, M. WSMX Architecture. Retrieved on 20-May 2010 from http://www.wsmo.org/TR/d13/d13.4/v0.1/d13.4v01.pdf, 2004 [12] Paolucci, M., Kawamura, T., Payne, T.R., Sycara, K.P. Importing the Semantic Web in UDDI. Revised Papers from the International Workshop on Web Services, E-Business, and the Semantic Web, 2512: 225-236, 2002 [13] Stollberg, M., Shafiq, O., Domingue, J., Cabral, L. Semantic Web Services: State of Affairs. The First Asian Semantic Web Conference, Beijing, China. Retrieved on 20-May 2010 from http://www.wsmo.org/TR/d17/resources/200609aswc/aswc06-tutorial-handouts.pdf, 2006 [14] Sycara, K., Paolucci, M., Ankolekar, A., Srinivasan, N. Automated discovery, interaction and composition of Semantic Web services. Web Semantics, 1(1): 27-46, 2003 [15] Zhao, Y. Combining RDF and OWL with SOAP for Semantic Web Services. Proceedings of the 3rd annual Nordic Conference on Web Services (NCWS'04), Linkping, Sweden. Retrieved on 20-May 2010 from http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.59. 549&rep=rep1&type=pdf, 2004
5. CONCLUSION
In conclusion, the paper's aim was to test WSMX and WSMO's capability of supporting automatic selection and invocation of a web service. It first introduced the normal web services and discussed the necessity of human intervention in the process of selecting and invoking the most matching web service as a limitation of the web services technology. It also added to its limitations the ambiguity of the exchanged SOAP messages between the service requester and the service provider. Semantic Web Services were then suggested as a technology that promises overcoming these limitations. The paper explained that Semantic Web Services need extra support to be able to meet the expectations; this support was a standardization for the web services description and an execution environment that is able to process services requests. WSMO and WSMX were introduced as two initiatives claiming to be offering the needed support. The paper had an overview on WSMO main elements and the process followed by WSMX to respond to a service request. The paper examined the initiatives by developing a SWS that accesses the GUC's publications. The results and the discussion sections showed how WSMX was able to discover, select and invoke the webService without requiring any human interaction, which was the vision of the technology. The discussion also suggested adding semantic mark-up to the ontologies to enhance the transparency between Semantic Web Services and the semantic web, and to act instead of the mediators that have to be defined in WSMX.
6. ACKNOWLEDGMENTS
Firstly I would like to thank my family for providing me with all what is necessary to live, work, and succeed. Thanks to Prof. Dr. Ralf Klischewski for being a very helpful and supportive supervisor. Special Thanks to my friend and colleague Nancy Galal for her participation in understanding the WSMO/WSMX technologies and the creation of the SWS, and for her hard work throughout the project. Thanks to the researcher Omair Shafiq for taking time to answer our questions and providing us with the necessary material to understand the technology. Also Thanks to Aya Saad for her help and feedback on the paper. Thanks to Karim El- Sayed and Tasbeeh Othman for being helpful members from the GUCrr team. Finally and Firstly and Always, Thanks to Allah for always being there for everyone.
7. REFERENCES
[1] Chung, J.Y., Lin, K.J., Mathieu, R.G. Web Services Computing: Advancing Software Interoperability. IEEE Computer Society Press, 36(10): 35-57, 2003 [2] de Bruijn, J., Bussler, C., Domingue, J., Fensel, D., Hepp, M., Kifer, M., Knig-Ries, B., Kopecky, J., Lara, R., Oren, E., Polleres, A., Scicluna, J., Stollberg, M. Web Service
B.2
WebService Invocation