Tuesday, October 28, 2008

Web Service Composition

by Your Name 0 comments

Tag


Share this post:
Design Float
StumbleUpon
Reddit

Abstract

Web services have made a strong impact in the way we use the Internet today. Efficient information exchange and communication is the need of any business model to succeed. With the growth of the Internet many individuals and organization developed isolated systems capable of providing certain services, Internet to some extent allowed these isolated computer system to share information but it required the intervention of user to access the services. We needed a mechanism to evolve this business to consumer (B2C) interaction into a program to program and business to business (B2B) interaction. With the increasing number of web services it is important to share information between different web services and try to couple the various services available to provide the user with newer, more powerful services quickly. Web service composition technology provides us with the capability to do so. In our BTP we have conducted a research experiment for web service selection using a decision making method AHP that can be later used for composition. We have also proposed architecture for dynamic composition that will enable tools with existing static composition capability to achieve dynamic composition.

Index Terms – Web Service Composition (WSC), Web Service Selection, Analytic Hierarchy Process (AHP).

INTRODUCTION

A 'Web service' (also Web Service) is defined by the W3C as "a software system designed to support inter operable Machine to Machine interaction over a network."[1] Web services are frequently just Web APIs that can be accessed over a network, such as the Internet, and executed on a remote system hosting the requested services. Many useful Web services are present throughout the web. We often have a large number of Web services offering the same functionality (though with differences in many aspects) from which we need to choose the most appropriate service for us. This is known as Web Service Selection. But only selecting right services isn't enough, we must be able to intelligently use these services to perform specific tasks. Here, Web Service Composition comes into picture; various scattered services can be used to compose a business process over web. But this is more challenging than it seems at first view. Different web services behave in different ways. Some are synchronous and some are asynchronous in nature making the co-ordination increasingly difficult. And to achieve the best composition results, the process must be dynamic as the functionality and availability of Web Services can change anytime.

PROBLEM

There is increasingly large number of independent Web Services throughout the web. They perform useful tasks independently and can be invoked easily by a client. But the complexity of the tasks/processes being carried out online has increased to a great extent. In such a distributed environment, using the existing multitude of web services to do a given task becomes crucial. Most of the times, the required task cannot be completed with the help of just one Web Service. In order to realize a complex task, many Web services might be needed. This can be achieved through Web Service composition in which many services are invoked in a synchronous or asynchronous manner to complete the task selecting the right services. We have performed a successful composition experiment based on a realistic agro-business scenario. This required us to select a set of appropriate web services from those available using a mathematical model; these selected services are then used to compose the required business process.

SCOPE

The scope of our work involves the following stages of work:

1. Proposing a suitable Web service selection algorithm as well as implementing it.

2. Creation and Deployment of Web services required by our Selection and Composition experiment.

3. Applying Selection Algorithm to the above created Web Services.

4. Proposing a Composition architecture that can work on top of a static composition engine.

5. Implementation of composition and generation of final BPEL Schema with composition results.

We would like to clarify that our work does NOT deals with Semantic issues and does not uses any Ontology based selection mechanism. Also, our composition algorithm does not uses any Semantic based approach.

STAGES OF COMPOSITION In order to compose various services and develop a business process we need to discover the services first. Discovery if then followed by selection among the discovered services that accurately serve our purpose. It is after the selection that a set of services form a business process aimed at fulfilling the demand of the consumer. Below we will describe the important stages of web service composition [1 2].

 

Semantic Service Discovery: The Universal Description, Discovery & Integration (UDDI) specification provides a platform-independent way of describing and discovering Web services and Web service providers. The UDDI structure provides a mechanism by which a service provider is able to describe the detailed service access information using any standard definition language like Web service description language (WSDL). The registry data consists of data provided by the service provider it may consists of information provided by the software companies or business entities regarding the service they offer.

 

The use of a registry is almost similar to white pages or yellow pages, where business can be discovered by name or by standard service taxonomy. To make use of a Web service, a software agent needs a computer-interpretable description of the service, and the means by which it is accessed. This can be achieved with the help of a semantic web markup language such as OWL [3 5 7]. With OWL-S markup of services, the information necessary for Web service discovery could be specified as computer-interpretable semantic markup at the service Web sites, and a service registry or ontology-enhanced search engine could be used to locate the services automatically.

Fig 1 : Registry- Consumer- Server Interaction

 

Service Selection: Service selection plays an important and crucial part in web service

composition. After the discovery of the service on the parameters we may have n number of services. For example a business process is composed of 3 set of services. Service A, Service B, Service C. After the discovery we may have a scenario where we have many services providing the required objectives. Like

Service A (sa1, sa2, sa3)

Service B (sb1, sb2, sb3, sb4)

Service C (sc1, sc2).

Now to have a successful web service composition we need to select one service from each of the set A, B, C. Any combination of services from each set can compose a business process. This is where selection based on Service level agreements or Service level Objective play an important role in composition.

 

Composition: Services can be composed in two modes, static and dynamic. In a static composition, the services to be composed are chosen at design time by the designer. While in a dynamic composition, the services to be composed are chosen at run-time. The composition mode, static or dynamic, depends on the type of business process being composed. If the process to be composed is of a fixed nature wherein the business partners/alliances and their service components rarely change, static composition will satisfy the needs. Microsoft’s Biztalk server and Bea’s WebLogic [10] Integration are two of the most famous static service composition platforms.

 

On the other hand, if the process has a loosely defined set of functions to perform, or it has to dynamically adapt to unpredictable changes in the environment, the static composition may be too restrictive. Dynamic composition is an important step in overcoming those problems. In dynamic composition, the Web services to be used for the process are decided at run-time by, for example, the process execution engine. Dynamic composition involves run-time searching of service registries to discover Services. Stanford’s Sword and HP’s eFlow [4 11] are two famous dynamic service composition platforms. Static service composition is the basis of dynamic service composition, and dynamic service composition is more complex and difficult to implement.

PROPOSED ARCHITECTURE

Store User Input

SLOc , SRP

Creation & Modification

Service Level Objectives_Con.xml (SLOc)

Service Required parameters.xml (SRP)

Parameters

Service Level Objective Parameters

Atomic Service Selection Parameters

Services Required

NEW PARAMETERS FROM SERVICE SELECTED

Graphical INPUT

Service Level objectives_con.xml

NEW COMPROMISED SRP

Service Required parameters.xml

Services

RollBack

AHP Processing

Service Execution Unit

Web Service Discovery Engine

NOT FOUND + SRP.xml

Services, Service Provider Offers

Search Request SOAP message

Function call SOAP message

Services

S1 , S2, S3……Sn(services)

UDDI

Repository

ANY STATIC COMPOSITION ENGINE

ARCHITECTURE: DYNAMIC WEB SERVICE COMPOSITION

Service Provider Offers

SERVICE SELECTED FOR COMPOSITION

Architecture Details

The architecture proposed aims at providing a usable framework in form of a plug-in for the various existing static composition engines to achieve dynamic composition. Most of the work done by various organizations aims at developing a complete architecture for dynamic composition from scratch, but our work tried to use currently available and tested static composition engines and provides them the capability to achieve dynamic composition.

The users are required to provide their service selection requirement parameters, along with service level objectives which gives the relative importance of the various factors among themselves to be used for service selection. These parameters are then forwarded to the “creation & modification” unit that converts the parameters into formal xml documents. “Web service Discovery” unit takes the service required parameters (SRP) and proper services are discovered from a web service registry. In case it is not able to find appropriate service then it passes the SRP to the “rollback” unit that removes some of the parameters and gives back a modified SRP for further search.

The services discovered are then executed to retrieve service provider offers which are then passed to “AHP processing unit”. This unit generates an AHP matrix from the service providers offers and use the Service level Objectives given by the consumer to select the best possible service. The best service selected at each stage is then passed to a static composition engine which can compose and deploy the services.

Incase any of the service in the process gets changed during the runtime, the system can run the plug-in and they will get new set of services ready for composition again.

Algorithm for Composition.

SSP ---- a data structure like link list or array [Service Selection Parameters for various services given by Consumer] SLOc --- Service Level Objectives provided by the Consumer

SLOp--- Service Level Objectives calculated through service providers offerings

SW--- Selected web service set

DS--- a data structure like link list containing discovered services wsdl file.

INPUT SSP, SLOc

OUTPUT SW = {w1,w2…..wn } where w1, w2 … are selected web service

REPEAT TILL SSP= null

SSPxml = CALL genxml (SSP);

SLOcxml = CALL genxml (SLOc);

DS=null;

SW=null;

Function DiscoverService (SSPxml)

{

DS=DS+ DiscoveryEngine (SSPxml)

}

IF DS= null THEN

CALL Modify (SSP)

CALL DiscoverService (SSPxml)

ELSE

SW=SW+AHPprocessing (CALL service_ execution (DS), SLOc)

Add_Parameters_SSP (SW)

END IF

END

The above algorithm tries to do what has been proposed in the architecture. Function like Add_Parameters_SSP modify the SSP for the next search on service registry on the basis of the output of the previously found service. This is done only for the case where the outcome of the previous service affects the execution of the next stage.

SELECTION THEORY

Our Selection algorithm for Web services is based on AHP (Analytic Hierarchical Process). The Analytic Hierarchy Process is a structured technique for helping people deal with complex decisions. Rather than prescribing a "correct" decision, the AHP helps people to determine one. Based on BTP REPORT 5

mathematics and human psychology, it was developed by Thomas L. Saaty in the 1970s [13] and has been extensively studied and refined since then. The AHP provides a comprehensive and rational framework for structuring a problem, for representing and quantifying its elements, for relating those elements to overall goals, and for evaluating alternative solutions [8]. It is used throughout the world in a wide variety of decision situations, in fields such as government, business, industry, health-care, and education.

The procedure can be summarized as:

1. The alternatives and the significant attributes are identified.

2. For each attribute, and each pair of alternatives, the decision makers specify their preference (for example, whether the location of alternative "A" is preferred to that of "B") in the form of a fraction between 1/9 and 9.

3. Decision makers similarly indicate the relative significance of the attributes. For example, if the alternatives are comparing potential real-estate purchases, the investors might say they prefer location over price and price over timing.

4. Each matrix of preferences is evaluated by using eigenvalues to check the consistency of the responses. This produces a "consistency coefficient" where a value of "1" means all preferences are internally consistent. This value would be lower, however, if a decision maker said X is preferred to Y, Y to Z but Z is preferred to X (such a position is internally inconsistent). It is this step that causes many users to believe that AHP is theoretically well founded.

5. A score is calculated for each alternative.

Composition Experiment

Scenario Taken for Service Composition: We have taken an Agri-business scenario where different actors involved in the business process are exposing their functionality through a web service.

Process Scenario [12]: Make a contract with farmer for land and labor only. Agriculture inputs such as seeds, fertilizers, pesticides, harvest machineries etc are managed by the exporter himself. Agriculture inputs providers can also provide inputs with price and other parameters fixed in advance. Harvested paddy is processed at Rice mill and transporter & storage providers are used as required.

Services: From the above given scenario we can have following service provider: Farmer, Rice Buyer (Exporter), Agriculture input provider, Rice Miller, Transporter, Storage provider.

In a real world scenario we may have many service providers which provide their service as rice miller, transporter, and storage provider.

Farmer: F1, F2, F3

Rice Miller: R1, R2, R3, R4

The above two sets show us the various service providers available for a given service type. We Created web services for all the service provider of a given type and then used AHP to select the best possible service provider from a given set.

We developed the AHP implementation code to perform the service selection. After we had a set of services comprising of one service selected from each of the type, we composed it using ECLIPSE JOpera into a business process. We generated the BPEL schema which can then be deployed on any application server.

CONCLUSION

We tried to introduce a decision making model for service selection. This provided us with the best possible service available for composition. This increased the reliability as well as the Quality of service of the selected process. Moreover we tried to present this work as a plug-in for the existing static composition engine unlike most of the other work that concentrates on developing the entire system for dynamic composition from scratch [11]. Our proposed System can be adjusted for any static composition engine to achieve dynamic composition. In this work we have not covered the use of semantic. Semantic web services are still in its nascent stage. Most of the services available on the internet use xml for WSDL description where as DAML –S or OWL –S [6 9] are used in case for semantic web service. Developing our system to meet the requirement of the semantic web services can be one of the future works.

ACKNOWLEDGMENT

We would like to sincerely thank Prof. Sanjay Chaudhary for his continuous guidance and course correction in our project work. He spent a lot of time with us in the course of project.

We’d also like to thank the Lab staff for their patient assistance to get the relevant software installed and the PC’s configured accordingly for our work.

REFERENCES

[1] An algorithm for Web service discovery through their composition Lerina Aversano, Gerardo Canfora, Anna Ciampi.

[2] Ontology-Driven Web Services Composition Platform I. Budak Arpinar, Boanerges Aleman-Meza, Ruoyan Zhang, and Angela Maduko.

[3] A Survey of Automated Web ServiceComposition Methods Jinghai Rao and Xiaomeng Su.

[4] A survey of web service Composition by Schahram Dustdar and Wolfgang Schreiner.

[5] DAML-S Coalition, “DAML-S: Web ServiceDescription for the Semantic Web”, Proceedings of the 1stInternational Semantic Web Conference (ISWC), 2002.

[6] E. Sirin, J. Hendler, B. Parsia, “Semi-automaticcomposition of Web Services using Semantic.

[7] Adaptive and Composable Services by N. Milanovic, V.Stantchev, J. Richling, M. Malek,“Towards.

[9] Decision by Objectives by Ernest Forman. George Washington University

[9] A. Ankolekar et al., “DAML-S: Web Service Description for the Semantic Web,” Proc. Int’l Semantic Web Conf. (ISWC).

[10] Analysis of Web Services Composition Languages: The Case of BPEL4WS by Petia Wohed1_, Wil M.P. van der Aalst, Marlon Dumas3.

[11] Current Solutions for Web Service Composition by Nikola Milanovic and Miroslaw Malek Humboldt University, Berlin.

[12] Service Selection Using WS-Agreement by Nrupen Chudasma Mtech Thesis at DA-IICT [2008].

[13] Bhushan, Navneet; Kanwal Rai (January, 2004). Strategic Decision Making: Applying the Analytic Hierarchy Process. London: Springer-Verlag. ISBN 1-8523375-6-7.

Comments 0 comments

Subscribe feeds via e-mail
Subscribe in your preferred RSS reader

Subscribe feeds rss Recent Entries

Advertise on this site Sponsored links

Categories

Subscribe feeds rss Recent Comments

Technorati

Technorati
My authority on technorati
Add this blog to your faves