Web services form the core of e-business and hence, have experienced a rapid development in the past few years. This has led to a demand for a discovery mechanism for web services. Discovery is the most important task in the web service model because web services are useless if they cannot be discovered. A large number of web service discovery systems have been developed. Universal Description, Discovery and Integration (UDDI) is a typical mechanism that stores indexes to web services but it does not support semantics. Semantic web service discovery systems that have been developed include systems that support matching web services using the same ontology, systems that support matching web services using different ontologies, and systems that support limitations of UDDI. This paper presents a survey of web service discovery systems, focusing on systems that support semantics. The paper also elaborates on open issues relating to such discovery systems.
Web service technology enables e-business and e-commerce to become a reality. It has become a competitive tool of companies by reducing cost through fast, effective, and reliable services to customers, suppliers, and partners over the internet. It enables more efficient business operations via the web and enhances business opportunities to companies. These are achieved through its support of discovery, composition, invocation, monitoring and so on. A web service is a software component representing a specific business function that can be described, published, and invoked over the network (typically Internet) using open-standards.
A Web service based on Web Service Description Language (WSDL) (Walsh, 2002) can be termed “non-semantic web services”. However, using WSDL to describe the services only allows them to be accessed by keyword. This limitation prevents fully automatic discovery, composition, invocation, and monitoring. The reason for this shortcoming is the lack of semantic understanding. To overcome this problem, web services require a method to incorporate semantics. Just as the Semantic Web is an extension of the current World Wide Web, a semantic web service is an extension of web services. It overcomes web service limitations by using knowledge representation technology from the semantic web. Specifically, it uses ontologies to describe its service instead of using WSDL. Such ontologies can be understood by machines and can be reasoned upon. This allows a fully automatic discovery, composition, invocation, and monitoring in web services.
In a web service model, a service provider offers web services which provide functions or business operations which can be deployed over the Internet, in the hope that they will be invoked by partners or customers; a web service requester describes requirements in order to locate service providers. Publishing, binding, and discovering web services are three major tasks in the model. Discovery is the process of finding web services provider locations which satisfy specific requirements. Web services are useless if they cannot be discovered. So, discovery is the most important task in the web service model.
The greatest difficulty in a web service discovery mechanism is heterogeneity between services (Garofalakis et al., 2004). Heterogeneities include different platforms, different data formats as well as heterogeneities of ontologies. Regarding ontology heterogeneities, semantic web services may use different ontologies or different ontologies description language such as OWL, DAML, RDF etc to describe the services. There is also heterogeneity between semantic web services and non-semantic web services. Therefore, when developing a discovery system, these heterogeneities should be borne in mind.
A survey of web service discovery system is needed to explore existing techniques and to highlight the advantages and disadvantages of each system. (Garofalakis et al., 2004) presented a survey on these systems but their work mainly focused on aspects and approaches of web service architecture and has not paid adequate attention to the usage of semantics. In semantic web services, the usage of semantics is the most important factor. This paper presents a survey of web service discovery systems which focuses mainly on the use of semantics. In this paper, we use the term “non-semantic web services” to refer to web services without semantics, whereas the term “web services” is used in a generic manner to cover both semantic web services and non-semantic web services.
The rest of the paper is as follows. Section 2 introduces the background of web service description languages and the web services model. Section 3 introduces a taxonomy of web services discovery systems. In this section, advantages and disadvantages of each system are highlighted. Section 4 presents the issues related to web services discovery, followed by the conclusion in section 5.