Article Preview
Top1. Introduction
The rapid adoption of SOA (service-oriented architecture) and Web service technique has brought a large number of services, which makes it convenient for the users to reuse services and combine them into complex services to satisfy the complicated applications. To build complex service firstly requires the rapid discovery of services with associated functions which are suitable to be composed together.
Key-word based discovery methods mainly requires that all the results contain keywords which the retrieval algorithms are based on. When there is no such service or mashup (i.e., service combinations), they have low precision rate because of the neglect of relations among services.
Discovery of services based on the similarity evaluation (Stroulia, 2005; Gomadam, 2008; Plebani, 2009) focus on the direct match of the user’s request. Other relations of services which can help service combinations are out of consideration.
Researchers (Mecella, 2001; Kazhamiakin, 2006) utilize the formal methods and aim to verify the feasibility of the composition of selected services by checking whether the types of the parameters of input/output messages are compatible or whether the external behaviors of services conform to the desired goal. These approaches have assumed the presence of discovered services.
Although semantic service discovery techniques based on the ontology languages, like OWL (McGuinness & van Harmelen, 2004), WSMO (Brujin, 2005) and other light weight ontology languages (Paolucci, 2002; Küster, 2007), provide many kinds of relations between services and improve the precision rate, they have low discovery efficiency because the ontology creation is not automatically and considerable time has to be consumed on creating ontology and reasoning about different relations among services.
We draw our inspiration from the association between topics or themes and propose the discovering of service flows. The idea is simple and intuitive: the user selects some initial services that are indicative of their requirement and our approach recommends possible services to complete or further expand their requirement by the discovered service flows.
The characteristics of web services introduce two main challenges to the problem of discovering service flows. The first concerns the description of services. Developers usually provide WSDL description of services. Intuitively, WSDL should give detailed description about the function of a service. While in most cases the names of the main components of WSDL, i.e., input/output messages, portTypes and operations, are the concatenation of a few terms. It’s not easy to mine out the relations of services just relying on these terms. Another option is firstly evaluating the similarity of terms by ontology such as Wordnet (Plebani, 2009), then finding out the similarity degree of services. But this option is for similarities and not proper to link services with the associated functions.