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.
Post a Comment