Bidirectional service composition
Abstract
Service is a network addressable software component to perform a specific task. A service consumes given input parameters, performs specific task based on input parameters and returns the result in terms of output parameters. A service request specifies required task in terms of input parameters that can be provided and output parameters that are required. A service discovery mechanism can be used to find services that can be executed to satisfy service request. Service and service request is match by comparing their input/output parameters. A service request may be complex enough that it can not be satisfied by an individual service. It might be possible to execute a chain of services in a particular order to satisfy service request. This chain of services is referred as composition plan and service offered by executing this composition plan is referred as composite service. The aim of service composition algorithm is to generate a composition plan and generate composite service to satisfy service request.
Services involved in composition plan are selected manually while designing composite service in static composition process. This process consumes considerable amount of time and effort. It is also vulnerable to changes in input/output of services. A dynamic composition algorithm is required that can automatically select services involved in composite plan and generate a composite service on-the-fly. Main issue with dynamic composition algorithms is composition time taken by algorithm to generate a composite service. Composition time indicates duration of the time at which the service request was submitted to the algorithm till the algorithm generate a composite service that can satisfy service request. Composition time depends upon the number of services required to explore in order to find services that can take part in composite plan. Dynamic composition algorithms presented in previous work mainly follows either forward chaining approach or backward chaining approach to find a composite service. Performance of algorithms based on forward chaining approach or backward chaining approach suffers for certain cases to generate a composite service where number of services explored increases exponentially as number of iterations increases.
This work proposes a dynamic composition algorithm that gives consistent performance across all the cases. Proposed algorithm approaches from two directions alternatively, one follows forward chaining approach and other follows backward chaining approach. Composition algorithm following only forward chaining approach or backward chaining approach performs all the iterations in one direction only where as proposed algorithm requires only half number of iterations in both directions. Algorithm uses two types of matching strategy to compare input/output parameters. First one is based on keyword matching and second one based on semantic matching strategy. Performance of proposed algorithm is evaluated by performing relevant experiments and results are compared with algorithms based on only forward chaining approach or backward chaining approach. Proposed algorithm explores less number of services and takes less composition time compared to algorithms based on only forward chaining approach or backward chaining approach.
Collections
- M Tech Dissertations [923]
Related items
Showing items related by title, author, creator and subject.
-
Design and implementation of a framework for context aware mobile services
Jain, Nikhil (Dhirubhai Ambani Institute of Information and Communication Technology, 2004)Applications designed for mobile platforms are traditionally hampered by the limita¬tions of the client devices, in particular limited user interface and the change of user environment due to mobility. Incorporating location ... -
Approach to build multi-tenant SaaS application with monitoring and SLA
Aghera, Piyush (Dhirubhai Ambani Institute of Information and Communication Technology, 2012)SaaS (Software as a Service) is a modern approach to deliver large scalable enterprise software as a service on Internet. Cloud computing platform provides the scalability, availability and utility computing for services ... -
Negotiation for resource allocation on infrastructure as a service cloud
Akhani, Janki (Dhirubhai Ambani Institute of Information and Communication Technology, 2010)The Cloud is a computing platform that provides dynamic resource pools, virtualization, and high availability. Cloud computing infrastructures can allow enterprises to achieve more efficient use of their IT hardware and ...