• Tidak ada hasil yang ditemukan

Graph based service composition techniques

NOTATIONS

2.2 Web services search and composition techniques

2.2.2 Graph based service composition techniques

A great deal of research (Hashemian and Mavaddat (2006); Talantikite et al. (2009);

Arpinaret al.(2004); Gekas and Fasli (2005)) has been done in recent years on graph based approaches for web services composition that consider input/output parameter match of the web services. Graph based approaches view web services as vertices and edges are drawn between composable services, thus reducing web service composition search into path finding problem between vertices in the graph.

Hashemian et al.(Hashemian and Mavaddat (2006)) work on a web service repos- itory that contains information for a set of existing web services. They introduce de- pendency graphs to capture dependencies among the input and output of services in the repository. The nodes of the graph capture inputs and outputs of services, while its edges represent the input-output dependencies imposed by each web service. Compos- ite services are built by applying a graph search algorithm. However, the dependency graph has some restrictions as it captures only one-to-one input-output dependencies;i.e.

services that receive a single input and return a single output and hence is unable to rep- resent the dependencies when multiple inputs/outputs are involved.

Arpinar et al.(Arpinaret al.(2004)) propose an Ontology driven web services com- position platform. They present an approach which uses weighted graphs for web ser- vice composition. The weight of every edge is a function of QoS attributes and semantic similarity between service parameters. The composition technique aims to find an op- timal composition of services considering QoS and semantic matching of parameters.

They propose a modified Bellman-Ford shortest-path dynamic programming algorithm to find the shortest sequence from initial stage at node SI(a web service in the graph) to the termination node SF(a web service in the graph).

Gekas et al.(Gekas and Fasli (2005)) propose an approach considers web service in-

tegration as a graph search problem, where the search space consists of all the potential web service operations that can be part of a work-flow. The service registry is viewed as a hyper linked graph network consisting of web services linking to other web services.

Heuristics regarding the connectivity structure of the repository and how ¸Stightly ˇT var- ious types of web services are linked together are derived from the service repository.

These heuristics are used in order to generate the ¸SPriority Queues ˇT used by the com- position algorithm. The composition is done using a recursive depth-first algorithm, which starts from the initial state and tries to reach the goal state following the shortest route possible. The major drawback of this approach is that searching all possible com- positions needs multiplying adjacency matrices N times, which can be very huge and time consuming as the number of service in the repository increase.

Talantikite et al(Talantikite et al. (2009)) propose to pre-compute and store a net- work of services that are linked by their input/output parameters.They use graph ex- ploration algorithms and chaining algorithms to find a solution for the composition.

Their approach utilizes backward chaining and depth-first search algorithms to find sub-graphs that contain services to accomplish the requested task. At the end of the network exploration, several composition plans can be found which are further catego- rized as : Simple composition, Serial composition, Independent parallel composition and Dependent parallel composition.

Pablo et.al.(Rodriguez-Mieret al.(2011)) present an A* algorithm for matching se- mantic input-output message structure for web service composition. A service depen- dency graph is dynamically generated for a given request from services in a repository and a minimal composition satisfying the request is found using A* search algorithm.

We compare the graph based approaches discussed above in table2.2.

Approach Algorithm used for Weighted Limitation

service composition search Graph

Hashemian et al Breadth first search (BFS) No Unable to represent

(Hashemian and Mavaddat (2006)) the dependencies when

multiple inputs/outputs are involved.

Arpinar et al Modified Bellman-Ford Yes Not Scalable (Performance

(Arpinaret al.(2004)) of search decreases with

shortest-path algorithm increase in number of services )

Gekas et al Recursive No Not Scalable (Searching

(Gekas and Fasli (2005)) Depth first search (DFS) all possible compositions needs multiplying adjacency matrices N times )

Talantikite et al Backward chaining and No Not Scalable (Performance (Talantikiteet al.(2009)) Depth first search (DFS) of search decreases with

increase in number of services )

Pablo et al A* algorithm No Graph generation is done

(Rodriguez-Mieret al.(2011)) for a user query,

hence not efficient in terms of query response time.

Table 2.2: Size of Graph generated for WSC data set

Most of the approaches discussed above are not scalable due to the size of graph involved. To further understand the complexity of the service composition problem, we analyze the size of the graph that is generated using the WSC data set (Blakeet al.

(2006)). WS-Challenge(WSC) data set is a benchmark data set which consists of web services with a complex structure. Each web service in WSC data sets has multiple input parameters and output parameters. The data set "composition-50-32" means as follows: 50 denotes the number of web services composition and 32 means that a web service has 32-36 input and output parameters. The number of web services in the

"composition-20-32" and "composition-50-32" are 1000. Table2.3 shows the number of edges and the number of paths generated by WSC data set.

It can be seen from Table2.3 that the number of paths generated for "composition-

Data Set No of Edges No of Paths composition-20-32 11,024 930,394 composition-50-32 58,270 29,363,370 Table 2.3: Size of Graph generated for WSC data set

50-32" data set are more than 29 million, showing the complexity of the graph involved in a service registry of just 1000 web services. Most of the graph based approaches for service composition create the graph at the time of composition which incurs sub- stantial overhead and use in-memory algorithms for web services composition search.

The scalability of in-memory approach is limited by size of physical memory of the system, thus making this kind of algorithms non-scalable. We hence propose to use Object Relational Database, for its huge success in data management, as a scalable repository for storing web services in UDDI framework.