21.12.2013 Views

READIT - 2009 - Indira Gandhi Centre for Atomic Research

READIT - 2009 - Indira Gandhi Centre for Atomic Research

READIT - 2009 - Indira Gandhi Centre for Atomic Research

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Proceedings of <strong>READIT</strong>-<strong>2009</strong>, Kalpakkam - 603 102, 29-30 Dec <strong>2009</strong><br />

web services reflect preconditions and effects through OWL ontologies. These comparative<br />

strategies are discussed in the sixth section. The seventh section concludes with future<br />

enhancements.<br />

2. EXAMPLE SCENARIO<br />

To understand service composition a web service scenario <strong>for</strong> booking in a travel<br />

package from a travel agency is considered. We can see that a closed-world travel example<br />

evolves into a dynamic integrated solution [4]. In a closed-world case the customer talk to the<br />

travel agent who notes the customer request and generates a trip request document that may<br />

contain several flight and hotel reservation. When done the agent puts the request in cancelled<br />

or completed request database. The completed document is sent to the customer as response.<br />

If cancelled the customer is intimated and the customer re-iterates. In the open-world variant<br />

let us imagine that the travel agent wants to cooperate with external specialized service<br />

providers that offer hotel and flight reservations. Upon receiving the customer’s request the<br />

agent will create a trip request and derive the required hotel and flight reservation. Processes<br />

can spawn off other processes at run-time.<br />

3. DEFINITION<br />

The process of creating composite services by composing web services is called<br />

service composition. Composition involves invoking several services and combining their<br />

functionality. The business logic of the client is implemented by composing several services.<br />

Service composition is per<strong>for</strong>med by composing elementary or composite services. Service<br />

composition modeling can be done in six different dimensions. A component model is a basic<br />

assumption. An orchestration model uses process-modeling languages like UML activity<br />

diagram, Petri-nets, state-charts etc. Data and data access model define how data is specified<br />

and exchanged between components. The service selection model deals with static and<br />

dynamic binding. It deals with how a web service is selected as a component. A component<br />

can be statically selected at design-time or dynamically selected at run-time. Transactions<br />

model define which transactional semantics can be associated to the composition and how this<br />

is done. The composite service must work without aborting during execution. The exceptional<br />

states must be handled with an exceptional handling model.<br />

4. COMPOSITIONAL ISSUES<br />

Web service composition in itself poses as a complex and challenging. There are six<br />

major issues that have a huge impact on service composition. These issues are discussed<br />

below.<br />

Coordination – When web services are composed to build composite applications<br />

coordination of sequences of operations are needed to ensure correctness and consistency.<br />

Transaction – Over the coordination framework a transaction protocol should be added to<br />

ensure ACID properties of web service transactions in the long running business activities.<br />

Context – Context is the in<strong>for</strong>mation utilized by the web service to adjust execution and<br />

output to provide the client with customized and personalized behavior. Context contains<br />

in<strong>for</strong>mation like customer’s name, address, current location, the type of client device and<br />

preferences regarding communication.<br />

75<br />

2

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!