2010 IEEE 24th International Conference on Advanced Information Networking and Applications Workshops
A Semantic-based Web Service Registry Filtering Mechanism Thair Khdour Department of Information Technology Albalqa Applied University Salt, Jordan khdour
[email protected]
Maria Fasli Department of Computing and Electronic Systems University of Essex Colchester, United Kingdom
[email protected]
messages conveyed by Internet protocols.” [4] The area of Web services has recently attracted a lot of attention, as witnessed by the definition of several new languages for describing services as well as by the publication of various proposals for discovering Web services. Currently, Web services are in the middle between being only a promising technology and becoming a new powerful paradigm to develop complex applications. The key success of Web services is adopting common standards that allow total accessibility and open interaction with these Web services. Also, the success of Web services depends on finding the required Web service among the large number of deployed Web services and using it in the most appropriate way. This is what is called Web service discovery. More formally, Web service discovery (Matchmaking) is the process of finding Web services with a given capability; its main function is helping clients in finding services that best serve their needs. Web service discovery requires that Web services advertise their capability with a registry. The role of this registry is both to store the advertisement of capabilities and to perform a match between the request and the advertisement. The discovery process takes as input a query specifying the inputs and outputs (and possibly other service parameters) of a desired service as well as a service registry consisting of service advertisements and gives as output a list of matched services [3]. The rest of the paper is organized as follows: We brefily present the related work in section II. In section III we propose a Web service discovery framework that enables three main functions: advertising; querying; and browsing. In section IV we propose a semantic-based Web service registry filtering mechanism. We present the mechanism evaluation and the experimental results on two different test reference collections in section V. Finally, we draw our conclusions in section VI.
Abstract—One of the major challenges of Service-Oriented Computing (SoC) paradigm is the Web service discovery, also known as matchmaking. Yet the mechanisms used to match Web services can be improved. However, considering the semantics of the Web service descriptions is a must for automating the process of discovery Web services. Current Web service matchmaking approaches check the capabilities of the requested Web service against the capabilities of all advertised Web service advertisements in the registry. As the number of advertised Web services in the registry can be huge, the process of checking all advertised Web services against a single client query can be time consuming. In this paper, we propose a semantic-based Web service registry filtering mechanism that takes the responsibility of narrowing down the number of Web service descriptions to be checked in detail to the number of only the relevant advertisements to the client request. Our proposed filtering mechanism picks the advertisements that are relevant to the client request and ignore, from an early stage and before checking the details of the descriptions, the advertisements that are not able to satisfy the client request. We also propose an extension to Web Ontology Language for Services (OWL-S). With this extension, filtering the Web service registry based on the semantics of the available descriptions is possible. Keywords-Semantic Web Services; Matchmaking; Discovery;
I. I NTRODUCTION The Service-oriented-Computing (SoC) [1] is a new distributed computing paradigm that has recently emerged with the advent of Web services. SoC relies on the Serviceoriented-Architecture (SoA) [2] where software resources are available on the network and they are abstracted as platform-agnostic services. Web services are the best-known instantiation of SoC. The Web is evolving from being a static source of information to a highly dynamic network where resources are shared and information is generated on demand [3]. In this context, Web services form the main building blocks to construct distributed network-based applications. According to the W3C a Web service “is a software system identified by a URI, whose public interfaces and bindings are defined and described using XML. Its definition can be discovered by other software systems. These systems may then interact with the Web service in a manner prescribed by its definition, using XML based 978-0-7695-4019-1/10 $26.00 © 2010 IEEE DOI 10.1109/WAINA.2010.118
II. R ELATED W ORK Two problems of keyword searching have been identified in [5]: low precision and reduced recall. The former means that many irrelevant services may include the query keywords in its description. The latter means that the query 373
advertisements, we avoid the possibility of returning descriptions that are not consistent in the matching results. Figure 1 depicts the schema for advertising a Web service description in our registry. RACER [18], the description logic reasoner, is used to perform this check through what is called (concepts) consistency check. If the Web service description being advertised in the registry does not pass the consistency check, the advertiser will be notified to update the description and advertise it again.
keywords are semantically equivalent but syntactically different from the words in the offered services. However, since it is envisioned that the semantic Web will be the future of the Web, there is a trend to move away from simple keyword matching and enhance it or replace it with semantic matching, since it gives more accurate and flexible results. Three Web service discovery scenarios are identified in the architecture description of Web services by the W3C [6]: a registry; an index, and a peer-to-peer. The registry contains Web service descriptions that are explicitly submitted by service providers. The registry is also responsible for matching a Web service request against the available Web service advertisement when it receives a client request. Different Web service discovery approaches are based on the registry scenario in the discovery process, examples include approaches presented in [7], [8], [9], [10], [11], [12]. In the index discovery scenario, services normally become public on the Web dynamically and without the provider’s specific knowledge. The index provides information concerning finding services while service descriptions are provided somewhere else. In contrast, in the Peer-toPeer discovery scenario, no central registry exists to contain Web service advertisements or process client queries, rather a Web service can be seen as a node in a network of peers. Different approaches have been proposed to discover Web services based on this scenario, examples include the approaches presented in [13], [14], [15], [16], [17]. Compared to the registry scenario, Web service descriptions are always up to date, while descriptions in the registry may be outdated. On the other hand, limitations of this approach include the complexity of identifying matching Web services, high performance costs, lack of guarantees of predicting the path of propagation and no guarantee that a request will spread across the entire network.
If the check failed, notify the entity
Racer (Consistency Chek ) Business Entity
Advertises
OWL-S Advertisement
Checking Add WSD
OWL-S Registry
OWL Protégé API (Global Category Check )
Figure 1.
A Schema of Advertising a WSD in the Registry.
2) Querying: The Web service discovery framework allows the Web service registry to receive client requests in the form of OWL-S service profiles. When the registry receives a client request, it applies the matching algorithm on the available Web service advertisements. More precisely, it uses the filtering mechanism that we will propose in the next section to filter the registry and apply the algorithm to only those advertisements that are relevant to the client query. Advertisements that can satisfy the client query are then reported as a result of the matching process. 3) Browsing: Besides the ability of computer programs and agents to discover Web services, the proposed framework allows clients to have a direct access to browse the available Web service advertisements in the registry.
III. T HE W EB S ERVICE D ISCOVERY F RAMEWORK The basic Web service architecture involves three component roles: a service provider; a service requester and a registry. While the service provider advertises its Web service descriptions to the registry, the service requester poses its queries to the registry. The registry applies its matchmaking algorithm to return a Web service (or a set of Web services) that matches the client request. Based on this architecture, we have designed a Web service discovery framework that enables the following three main functions: 1) Advertising: When businesses want to register their Web services in the Web service registry, their descriptions will be checked to see whether the concepts that are used in the advertisement descriptions actually exist in the corresponding ontology at the time of advertising. By performing this check, we guarantee that the advertisements being registered are valid, and they use concepts that actually exist in the corresponding domain ontologies. By applying this check to all
IV. F ILTERING THE W EB S ERVICE R EGISTRY We expect the Web service registry to contain a huge number of advertised descriptions from different domains. When receiving a client request, checking all available description advertisements in the registry against a single query can be a time and resource-consuming process. To enhance the performance of our Web service matching approach, we have designed a framework for filtering the Web service descriptions registry when receiving a client request. By filtering the registry, we apply the matching algorithm only to candidate descriptions that are relevant to the client request. Indeed, these Web service description candidates are likely to be able to satisfy the requirements of the client query. When the filtering stage is finished, the matching algorithm is employed to each advertisement in
374
the filtered set to find matched descriptions against the client query. We look at the set of the filtered advertised descriptions as a potential set of descriptions that may satisfy the client query. The description matching stage determines whether the advertisements in the filtered list are actually able to satisfy the client query by employing the matching algorithm to the descriptions that are available in the filtered set. One feature of our approach is that the requester has to pose only one query for both the registry filtering and the descriptions matching stages. Moreover, the client query is in the form of an OWL-S service profile. In the next section, we present the mechanism of filtering the Web service registry. A. The Filtering Mechanism In this section, we propose a mechanism to filter the registry when it receives a client request. The goal of the registry filtering mechanism is to check only the advertisements that are relevant to the client request and ignore, from an early stage and before checking the details of the descriptions, the advertisements that are not able to satisfy the client request. Hence, the filtering stage aims at narrowing down the number of advertisements to be checked in detail. We have extended the OWL-S service profile ontology in a way that we can base the filtering mechanism on. The extension enriches the OWL-S upper ontology with a global category property that refers to global well-known categories defined in a global category ontology. Figure 2 shows that the ontology extension assigns an object property called globalcategory to the service profile and sets the cardinality of this property to one. The range of the globalcategory property is an ontology that contains global well-known categories called GlobalConcepts. Web service advertisers and requesters will use concepts from the GlobalConcepts ontology to categorize the Web service they offer and request respectively. Indeed, filtering the Web service descriptions will be based on these concepts. The GlobalConcepts ontology defines global categories as OWL concepts. Hence, relationships between these categories can be revealed. Moreover, reasoning about the Web service categories can reveal hidden relationships. Considering such relationships in the filtering mechanism can result in including more relevant advertisements to the filtered set and as a result, the chance of finding Web service advertisements that are able to satisfy the client query increases. According to the Web service discovery framework presented in section III, when a business entity advertises its description to a registry, it performs two checks (see figure 1). The first check, as mentioned before, is the consistency check, to make sure that concepts that are used in the description actually exist in the domain ontology. The second check is the global category check, to check whether or not the advertisement categorizes itself according to the
A profile can have one global category 1
Figure 2. Property.
An Extension of OWL-S service profile: The Global Category
global category ontology. An example of a global category ontology is presented in the next chapter, where we present a Web service discovery scenario. One feature of the proposed filtering mechanism is that both the asserted and the inferred relationships between the required and the requested global categories are considered when generating the set of relevant advertisements to the client query. Hence, reasoning is employed to determine these advertisements which use the inferred subclasses and superclasses of the required global category. However, all advertisements in the generated filtered list will be searched ‘in detail’ in the descriptions matching stage to find how similar these advertisements are to the request. B. Determining the Relevant Advertisements As we have mentioned in the previous section, with the filtering mechanism, only advertisements that are relevant to the client request are considered for further matching inspection. The question is how to determine whether or not an advertisement is relevant to the client request. We answer this question through presenting a registry filtering scenario. Let us consider the concepts taxonomy presented in figure 3. Assume that the concepts in this ontology are used to determine the global category of various Web service advertisements and requests for the purpose of filtering the registry when receiving a client request. Let us assume in a certain scenario that a request uses the concept C7 as a global category in its description. This concept denotes a computer with at least one Flatron monitor. Let us also assume that the registry contains different advertisements and each advertisement uses one of the concepts C1, C2, C3,...,C11 to describe its global category. The algorithm needs to determine which advertisements, out of these advertised in the registry, are relevant to the client request based on their specified global category concept. In this context, there are three observations: ∙ All advertisements that use a direct or indirect subclass of the concept C7 to describe their global categories
375
computers with only CRT monitors. Indeed, in our scenario, the GlobalLaptops is a relevant advertisement to the request while the LaptopsLand advertisement is not. Thus, the algorithm adds advertisements that use the concepts C3, C6, C7, C8, C9, C10 and C11 in their global category descriptions to the filtered set, while it excludes advertisements that use the concepts C1, C2, C4 and C5 in their global category descriptions. However, in the descriptions matching stage, the algorithm determines these advertisements in the filtered set that cannot actually satisfy the client request. (e.g., an advertisement that deals with computers that have CRT monitors and it uses the concept C6 in its global category description).
ComputerSale
CRT
C1
C4
Flatron
C2
C3
C6
C5 C7
C9
C8
C10
C11
Figure 3.
∙ ∙
A Filtering Concepts Taxonomy.
V. E VALUATION AND E XPERIMENTAL R ESULTS We have conducted our experiements on two different service retrieval test collections. Based on the pizza ontology, which is developed at the University of Manchester, we have designed the first service retrieval test collection. In the pizza test reference collection, we have designed 99 hypothetical Web service advertisements, 4 different domain ontologies and 10 queries. The second test reference collection that we have used in our experiments is the OWLS-TC test reference collection [19]. The OWLS-TC, which is developed at the German Research Center for Artificial Intelligence (DFKI) [20], contains 576 Web service advertisements from 7 different domain ontologies.
can be relevant to the request. All advertisements that use the direct superclass of the concept C7 can be relevant to the request. All advertisements that use a direct or indirect subclass of a direct superclass of the concept C7 to describe their global categories can be relevant to the request.
The concepts C8 and C11 (which are subconcepts of the concept C7) denote computers with at least one Flatron monitor. Hence, advertisements that use any of these concepts to describe their global category are considered relevant advertisements to the request. The direct superclass of the concept C7 is the concept C3. Advertisements that use the concept C3 to describe their global categories are considered relevant advertisements as the concept C3 denotes computers that have at least one CRT or Flatron monitors. Indeed, in this scenario, if the advertised Web service deals with computers with Flatron monitors then it is relevant to the request; if it deals with computers with only CRT monitors then it is not. The first direct subclass of the concept C3 is the concept C9. The concept C9 has the concepts C10 and C11 as subclasses. As we can see from the concepts taxonomy, advertisements that use the concepts C9 or any of its subclasses (i.e. the concepts C10 and C11) are considered relevant advertisements, since advertisements that use any of these concepts are expected to deal with computers with at least one Flatron or CRT monitor. The second direct subclass of the concept C3 is the concept C6. The concept C6 denotes a computer that has at least one CRT monitor. Although the algorithm considers advertisements that use the concept C6 to describe their global category as relevant advertisements, it may happen that these advertisements cannot actually satisfy the client request. For example, both the GlobalLaptops and LaptopsLand Web service advertisements may use the concept C6 to describe their global category, while GlobalLaptops deals with computers with CRT and Flatron monitors and LaptopsLand deals with
A. Experiments on the Pizza Test Collection In this section, we show how the filtering mechanism reduces the number of Web service advertisements to be checked in details for each posed query. The Web service advertisements that we have designed in the pizza test reference collection use concepts from the concepts ontology to describe their global categories. However, the description of the global category is based on the extension of the OWL-S service profile ontology that we have proposed in section IV-A. Obviously, Web service advertisements in the OWLS-TC do not describe their global categories. For the purpose of examining the behaviour of the proposed filtering mechanism, we have added the Web service advertisements of the OWLS-TC to our registry, which contains the Web service advertisements of the pizza TC, to have a total number of 675 Web service advertisements. Moreover, we have described the global category of each individual advertisement according to its corresponding domain. The concepts Education, MedicalCare, Travel, Communication, Economy and Weapons have been added to the global concepts ontology to describe the global category of the Web service advertisements in the OWLS-TC. However, not describing the global category of the OWLS-TC advertisements results in checking all available advertisements in the registry (i.e. 675 Web service advertisements) against each posed query.
376
For each posed query, figure 4 shows graphically the difference between the total number of Web service advertisements in the Web service registry, the number of Web service advertisements in the filtered set and the number of Web service advertisements in the relevance set. We can see that the filtering mechanism made the algorithm skip a large number of irrelevant Web service advertisements. This is indicated by the difference between the number of advertisements in the registry and the number of advertisements in the filtered set for each query.
600
500
Number of Web Services
400
300
200
100
700
0
Q1
Q2
Q3
Q4
Q5
600
Q6 Query Number
Q7
Q8
Q9
Q10 Q11 In the Registry In the Filtered Set In the Relevance Set
Number of Web Services
500
Figure 5. Advertisements in the registry, the filtered set and the relevance set (the OWLS-TC Economy Domain).
400
300
600
200
500
100
Q1
Q2
Q3
Q4
Q5 Q6 Query Number
Q7
Q8
Q9
400
Q10 In the registry In the filtered set In the relevance set
Number of Web Services
0
Figure 4. Advertisements in the registry, the filtered set and the relevance set (The Pizza TC).
300
200
100
B. Experiments on the OWLS-TC 0
In this section, we present the result of filtering the Web service registry when receiving different queries from the OWLS-TC. For each posed query from the economy domain, figure 5 shows graphically the difference between the total number of Web service advertisements in the Web service registry, the number of Web service advertisements in the filtered set and the number of Web service advertisements in the relevance set. We can see that the filtering mechanism made the algorithm skip a large number of irrelevant Web service advertisements. This is indicated by the difference between the number of advertisements in the registry and the number of advertisements in the filtered set for each query. Similarly, for each posed query from the education domain, figure 6 shows graphically the difference between the total number of Web service advertisements in the Web service registry, the number of Web service advertisements in the filtered set and the number of Web service advertisements in the relevance set. We can see that the filtering mechanism made the algorithm skip a large number of irrelevant Web service advertisements. The results of filtering the Web service registry when receiving queries from the food, travel, communication, weapon and medical care domains can be seen in figure 7.
Q1
Q2
Q3
Q4
Q5
Query Number
Q6 In the Registry In the Filtered Set In the relevance Set
Figure 6. Advertisements in the registry, the filtered set and the relevance set (the OWLS-TC Education Domain).
The Education Domain No. of Web Services
400
200
0
1
2
2
3 4 Query Number
200
0
5
1 Query Number
1 Query Number The Communication Domain
400
200
0
6
1
2 Query Number
The Weapon Domain
400
200
600
200
1
400
0
6
No. of Web Services
No. of Web Services
5
400
600 No. of Web Services
3 4 Query Number The Travel Domain
600
0
The Food Domain
600
600 No. of Web Services
No. of Web Services
600
The Medical care Domain
400
200
0
1 Query Number
In the registry In the filtered set In the relevance set
Figure 7. Advertisements in the registry, the filtered set and the relevance set (the OWLS-TC).
377
VI. C ONCLUSION
[8] M. Paolucci, T. Kawamura, T. R. Payne, and K. P. Sycara, “Importing the Semantic Web in UDDI,” in WES, 2002, pp. 225–236.
Semantic Web service matchmaking concerns of matching a client request against a number of advertised Web services based on their capabilities. Current Web service matchmaking approaches check the capabilities of the requested Web service against the capabilities of all advertised Web service advertisements in the registry. As the number of advertised Web services in the registry can be huge, the process of checking all advertised Web services against a single client query can be time consuming. In this paper, we have proposed a semantic-based Web service registry filtering mechanism that takes the responsibility of narrowing down the number of Web service descriptions to be checked in detail to the number of only the relevant advertisements to the client request. Our proposed filtering mechanism picks the advertisements that are relevant to the client request and ignore, from an early stage and before checking the details of the descriptions, the advertisements that are not able to satisfy the client request. We have also proposed an extension to Web Ontology Language for Services (OWL-S). With this extension, filtering the Web service registry based on the semantics of the available descriptions is possible. Testing the behaviour of our proposed filtering mechanism with different Web service matchmaking approaches is one direction to a future work.
[9] K. Sycara, M. Paolucci, A. Ankolekar, and N. Srinivasan, “Automated Discovery, Interaction and Composition of Semantic Web Services,” Journal of Web Semantics, vol. 1, pp. 27–46, 2003. [10] S. Bansal and J. M. Vidal, “Matchmaking of web services based on the DAML-S service model,” in AAMAS ’03: Proceedings of the second international joint conference on Autonomous agents and multiagent systems. New York, NY, USA: ACM, 2003, pp. 926–927. [11] T. Kawamura, J.-A. D. Blasio, T. Hasegawa, M. Paolucci, and K. P. Sycara, “Public Deployment of Semantic Service Matchmaker with UDDI Business Registry,” in International Semantic Web Conference. Springer, 2004, pp. 752–766. [12] M. C. Jaeger, G. Rojec-Goldmann, G. M¨uhl, C. Liebetruth, and K. Geihs, “Ranked Matching for Service Descriptions using OWL-S,” in Kommunikation in verteilten Systemen (KiVS 2005), ser. Informatik Aktuell, P. M¨uller, R. Gotzhein, and J. B. Schmitt, Eds. Kaiserslautern, Germany: Springer Press, February 2005, pp. 91–102. [13] O. D. Sahin, C. E. Gerede, D. Agrawal, A. E. Abbadi, O. H. Ibarra, and J. Su, “SPiDeR: P2P-Based Web Service Discovery,” in ICSOC, 2005, pp. 157–169.
R EFERENCES
[14] F. Emekci, O. D. Sahin, D. Agrawal, and A. E. Abbadi, “A Peer-to-Peer Framework for Web Service Discovery with Ranking,” in ICWS ’04: Proceedings of the IEEE International Conference on Web Services. Washington, DC, USA: IEEE Computer Society, 2004, p. 192.
[1] M. P. Papazoglou, “Service-oriented computing: concepts, characteristics and directions,” Web Information Systems Engineering, 2003. WISE 2003. Proceedings of the Fourth International Conference on, pp. 3–12, 2003.
[15] M. Paolucci, K. P. Sycara, T. Nishimura, and N. Srinivasan, “Using DAML-S for P2P Discovery,” in ICWS, 2003, pp. 203–207.
[2] T. Erl, Service-Oriented Architecture: Concepts, Technology, and Design. Prentice Hall, 2005. [3] A. Brogi, S. Corfini, and R. Popescu, “Flexible matchmaking of Web services using DAMLS ontologies,” in Proceedings of Second International Conference on Service Oriented Computing (ICSOC04 - short papers)IBM Research Report, P. Traverso and S. Weerawarana, Eds., New York City, USA, 2004.
[16] M. P. Papazoglou, B. J. Kr¨amer, and J. Yang, “Leveraging Web-Services and Peer-to-Peer Networks,” in CAiSE, 2003, pp. 485–501. [17] M. Schlosser, M. Sintek, S. Decker, and W. Nejdl, “A Scalable and Ontology-Based P2P Infrastructure for Semantic Web Services,” in P2P ’02: Proceedings of the Second International Conference on Peer-to-Peer Computing. Washington, DC, USA: IEEE Computer Society, 2002, p. 104.
[4] “Web service architecture requirements,” W3C Working Group Note, Online:http://www.w3.org/TR/wsa-reqs/, Technical Report, February 2004.
[18] “Racer: Renamed Abox and Concept Expression Reasoner,” Online: http://www.sts.tu-harburg.de/ r.f.moeller/racer/, 2007.
[5] T. Pilioura, A. Tsalgatidou, and A. Batsakis, “Using WSDL/UDDI and DAML-S in Web Service Discovery,” in Proceedings of WWW 2003 Workshop on E-Services and the Semantic Web (ESSW’ 03), Budapest, Hungary, 2003.
[19] M. A. Khalid and B. Fries, “OWLS-TC OWL-S Service Retrieval Test Collection Version 2,” Online: http://www.dfki.de/ klusch/owls-mx, User Manual, November 2005.
[6] W3C, “Web Service Architecture,” W3C Working Group Note, Online:http://www.w3.org/TR/ws-arch/, W3C Recommendation, February 2004.
[20] “German Research Center for Artificial Intelligence (DFKI),” Online: http://www.dfki.de/web, 2008.
[7] M. Paolucci, T. Kawmura, T. Payne, and K. Sycara, “Semantic Matching of Web Services Capabilities,” in In First Int. Semantic Web Conf.LNCS2002, I. Horrocks and J. Hendler, Eds., no. 2342. Springer-Verlag, 2002, pp. 333–345.
378