An Overview Of The Web Service Technology

Print   

02 Nov 2017

Disclaimer:
This essay has been written and submitted by students and is not an example of our work. Please click this link to view samples of our professional work witten by our professional essay writers. Any opinions, findings, conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of EssayCompany.

Abstract :

Web Service composition is an important problem to formulate any business process. It’s all about creating an abstract web service using some existing web service. A web service may have many implementation having same functionality but with different QoS parameters. So, researchers are making effort to select the web service implementation as a part of web service composition so that composite web service gives best overall QoS values or optimal than any other possible composition. Some approaches have come up to address the same problem. The genetic algorithm, which we have considered, addresses the same problem. The genetic algorithm gives constrained driven approach to select the web service for composition. This approach gives much better result than its predecessor. But, it takes longer to execute. If the algorithm takes much time then the system will take much time to respond. This paper introduce an approach to converge the genetic algorithm in a lesser time.

Section 1 : Introduction

Web service technology is based on open XML standards(i.e. SOAP, WSDL, and UDDI) and has features such as interoperability, decoupling and just-in-time integration, which make it possible to build new value-added web services using existing web services. This is so called Web service composition.

A web service may have different implementation available by different providers. These implementation have the same functionality, but may have different Quality of Service (QoS) values. Like they may have different response time, reputation, price and availability, etc,. Thus, a significant research problem in the web service composition is how to select an implementation for each of the web services in the composite web service. Most of the time, a implementation of the web service is not better than other implementation of the same web service for all the QoS criteria. An implementation may be better than the other in terms of some QoS criteria, but may not be as good as other in terms of other QoS criteria. Thus, it’s almost impossible or difficult to have some implementation having good QoS values without compromising anything. Hence, the objective of the web service selection problem is to select the implementation of web service in such way that overall QoS is maximal. This web service selection problem is also called QoS-aware web service composition.

In the web service selection there might be some web service implementations that are dependent on each other. When selecting an implementation for one web service, we must select a particular implementation for another web service in the composite web service. For example, when building a travel booking web service, if we select a particular travel insurance web service that only accepts payments made by Master cards, then we must select a payment web service that accepts Master cards. This kind of constraints is called dependency constraint. In addition, in the web service selection there might be some web service implementations that conflict with each other. When selecting an implementation for one web service, we must not select a particular implementation for another web service in the composite web service. For example, when building a travel booking web service, if we select a particular flight booking web service implementation that does not accept deposits made by Master cards, then we must not select an implementation for the payment web service that supports Master cards. This type of constraints is called conflict constraint. In the web service selection, both dependency constraints and conflict constraints must be considered.

Although various optimal web service selection problems have been intensively studied and different approaches have been proposed in past [], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], the study on the optimal web service selection problem with constraints remains open. From the computational point of view, the web service selection problem is a typical constrained combinatorial optimization problem. Thus, genetic algorithms might be efficient and effective for solving the problem. The approach in paper [] address the same problem. They have proposed a genetic algorithm to select the optimal constrained web services as a part of web service composition. This algorithm (HGA) is a hybrid one of its two predecessor [][]. The HGA algorithm has a local optimizer to improve the quality of the composition. It was not there in previous two algorithms. As this algorithm checks for all the alternatives of the service, it takes longer to generate result. Because of that, response time of the system is more. The new genetic algorithm checks only those alternatives which have possibility to improve the quality of population. Here we checked few alternatives; hence time for infeasible alternatives is saved. The new algorithm has implemented and evaluation is done on the basis of some statistics.

The remainder of the paper is organized as follows. First of all, we formulate the research problem in Section II. Then, we review related work in Section III. After that, we present our new hybrid genetic algorithm and statistics results in Section IV. Finally, we conclude this this research in Section VI.

Section 2: Problem formulation

Description: C:\Users\Lenovo\Desktop\Disseration\DP1 Report\workflow_sample.jpg

Figure an instance of sample workflow for web service composition []

When building a new composite web service, the following process is usually is followed. First of all, we design a workflow for the composite web service. Fig. 5 is an example of workflow, which consists of 10 web services W1, W2, · · ·, W10. Then, we get the information about all available implementations for each of the web services in the workflow. This can be done by using a web service discovery tool or a web service broker. The information includes their URLs, the inter-dependencies and mutual conflicts between the web service implementations, as well as their QoS values of interest. And then tool which uses genetic algorithm used to select the optimal combination of web service implementations accommodating the constraints.

In this problem formulation, we follow the terminologies used by the web service community. In the rest of paper, when we say abstract web service, we refer to a web service in a workflow and when say say concrete web service, we mean the implementation of an abstract web service. In addition, in the problem formulation, we only consider five most popular QoS attributes. However, the problem formulation and the hybrid genetic algorithm can be easily extended to include any new QoS attributes or to exclude any of the five QoS attributes.

We have taken,

a workflow of a composite web service, which contains a set of abstract web services

W = {W1, W2, · · ·, Wn}

where n is the total number of abstract web services in the workflow;

all the available concrete web services for each of the abstract web services

where represents the concrete web service of abstract web service Wi and is the total number of concrete web services of abstract web service Wi;

QoS values for response time, price, reputation, reliability and availability for each of the concrete web services , respectively, where and ;

weights for QoS criteria, c1, c2, c3, c4 and c5 for response time, price, reputation, reliability and availability, respectively, where c1 + c2 + c3 + c4 + c5 = 1;

a set of conflicts between the concrete web services if the concrete web service is selected for abstract web service ,then abstract web service must not select the concrete web service }, where , and ;

a set of dependencies between the concrete web services D = { if the concrete web service is selected for abstract web service ,then abstract web service must select the concrete web service}, where , and ;

a selection plan X = (x1,x2,...,x n), where xi is a concrete web service of abstract web service Wi and such that

is maximal, where is the aggregated QoS value for criteria k, and and represent the possible maximal and minimal aggregated QoS values of criterion k, respectively, where (the aggregated QoS values calculation follows the methods presented in [7]) Subject to all the constraints in C and D are satisfied.

Section 3: Related Work

The exiting genetic algorithm HGA [] utilizes local optimizer to improve the quality of individual in the population. The local optimizer goes through all the concrete service selection of the abstract web service. It tries the alternative by replacing existing one. If the modified version of the composition is better than the existing one, then composition plan is replaced with the new scheme. To check whether the new composition plan is better or not, it is necessary to compute fitness value and aggregated QoS value. Now, those alternatives have no possibilities to increase fitness value will be wasting time to compute aggregated QoS value and fitness value.

In this paper new proposed genetic algorithm focuses on problem discussed above. It first check QoS parameters of the alternative Web Service. If it is better than existing selection then only go for fitness value else simply skip those alternatives.

Section 4: Proposed Genetic Algorithm

This section elaborates our hybrid genetic algorithm. This hybrid genetic algorithm uses a local optimizer to improve the individuals in the population and utilizes a knowledge based crossover operator.

Genetic Encoding

An individual in the population of our hybrid genetic algorithm represents a web service selection plan and it is encoded in an array of n integers x1x2...x n, where n is the total number of abstract web services in the workflow of the composite web service. In the genetic encoding scheme, each gene represents an abstract web service in the composite web service and a value of the gene represents concrete web services of the abstract web service.

Fitness Function

Infeasible individuals may have some schemata that are essential to build the optimal solution. If the infeasible individuals are excluded, the GA may not produce an optimal or near-optimal solution. Thus, the strategy adopted by our GA is to allow infeasible individuals in the population, but gives a penalty to their fitness values. The following two general guidelines are used when defining the fitness function: firstly, it should be guaranteed that an infeasible individual has less fitness value than any feasible individual. Secondly, an infeasible individual that violates more constraints should be more harshly penalized than an infeasible individual that violates less constraint. Equation 1 gives the definition of the fitness function.

where F(X) is the objective function defined in the problem formulation, V (X) stands for the total number of constraint violations in X, and Vmax is the maximal number of possible constraint violations. Thus, when V (X) equals to zero, it implies X is a feasible individual; otherwise, X is an infeasible individual.

According to Equation 1, if an individual X is feasible, then its fitness value is given by the expression. If an individual X is infeasible, then its fitness value is calculated by the expression, in which the component is the penalty given to the infeasible individual X Thus, the more constraints that an infeasible individual violates, the more penalties it receives.

Genetic Operator

Different from the crossover operator used in the penalty based genetic algorithm and the repairing-based genetic algorithm, the crossover operator used in the hybrid genetic algorithm is a knowledge-based one. The knowledge-based crossover operator takes two parents, p1 and p2, and produces two children c1 and c2. When producing c1, firstly the crossover operator identifies all the concrete web service selections in p1 that do not violate any constraints, and then copies these concrete web service selections to c1. The rest concrete web service selections in c1 are copied from p2. Fig. 3 illustrates the ideas. In the figure, we assumed that every highlighted concrete web service selection does not conflict with any other concrete web service selection p1. Thus, those selections are copied to c1. Now, c1 has the concrete web service selection for abstract web services W1, W2, W3 and W5. For the rest abstract web services W4, W6, their concrete web service selections are copied from the corresponding concrete web service selections in p2.

Similarly, when producing c2, firstly the crossover operator finds all the concrete web service selections in p2 that do not violate any constraints, and copies them to c2. The rest concrete web service selections in c2 are copied from p1.

The mutation operator is the same as the mutation operator used in the penalty-based genetic algorithm and the repairing-based genetic algorithm. It randomly selects a concrete web service selection for an abstract web service and replaces the concrete web service selection with an alternative concrete web service of the abstract web service. Fig. 4 illustrates the mutation operator.

Local Optimizer

Given an individual (candidate for the solution) which may or may not be feasible, the local optimizer is to optimize the individuals in the population. The local optimizer is used at the beginning of the genetic algorithm to improve the individuals in the initial population, which are randomly generated, and at the end of each generation to improve the individuals in the population.

The local optimizer improves the fitness value of an individual by increasing its overall QoS value and reducing the number of constraint violations, if any, simultaneously. This is done by systematically checking all the concrete web service selections one by one to see if there exists an alternative concrete web service that gives the individual a better fitness value. If the fitness value is improved, then the current web service selection is replaced with the alternative concrete web service. According to the definition of the fitness function, when the fitness value of an individual increases either the overall QoS value increases, or the number of constraint violations, if any, decreases, or both. Thus, the local optimizer contributes to both maximizing the overall QoS value and minimizing the number of constraint violations of an individual.

Algorithm Description

As we discussed before, in this paper we have change the local optimizer to reduce the computation time. After checking that current web service selection has no constraints violation, we will try only those alternatives which have higher QoS value by prioritizing with weighted QoS values and numbers of constraints that web service have. If web service selection has number of constraints than only those alternatives are tried which have lesser number of constraints. Thus, all infeasible individual are skipped and time to compute fitness value and aggregated QoS value will be saved. This will save considerable amount of time to produce the result. Existing algorithm is shown below. Listing 1 is local optimizer of the old scheme. Listing 2 is genetic algorithm for web service selection problem.

Modified pseudocode is shown in Listing.

Randomly Generate Sequence of abstract Web Services.

For all the abstract Web Service check following Step (Step 3).

Check if the concrete Web Service selection does have any constraints.

If No, then go to Step 4.

If Yes, then go to Step 5.

For each concrete Web Service try their alternatives having QoS criteria better than current (priorities with weight of QoS and number of constraints).

Calculate new Fitness value.

If it is better than previous then update selection plan else skip.

For each concrete web service try other alternatives having less number of constraints.

Calculate new Fitness value.

If it is better than previous then update selection plan else skip.

Result X. (Selection Plan).

Section 5: Evaluation

The only difference between new and old scheme is in local optimizer. Some alternatives will be skipped in new scheme. But it brings considerable amount of time saving.

Let’s take an example. It takes 20 milliseconds to compute fitness value of the individual. If a problem submitted have 5 individuals, each having 5 abstract web service and each abstract web service have 5 concrete web service and for each of them 5 alternatives are ignored means for them fitness value is not computed, then we can save at least 20*5*5*5*5=12500 milliseconds. That’s considerable amount of time when we talking about the response on web.

Section 6: Conclusion and Future Work

The new scheme will not take all the alternatives into consideration of web services but will only consider the web services which match the selection criteria based on QoS parameters and constraint values. Hence the time to compute other things will be saved. And response time of the new genetic algorithm will be better than old one.

In future, new genetic algorithm will be compared more precisely with HGA, RGA and PGA.



rev

Our Service Portfolio

jb

Want To Place An Order Quickly?

Then shoot us a message on Whatsapp, WeChat or Gmail. We are available 24/7 to assist you.

whatsapp

Do not panic, you are at the right place

jb

Visit Our essay writting help page to get all the details and guidence on availing our assiatance service.

Get 20% Discount, Now
£19 £14/ Per Page
14 days delivery time

Our writting assistance service is undoubtedly one of the most affordable writting assistance services and we have highly qualified professionls to help you with your work. So what are you waiting for, click below to order now.

Get An Instant Quote

ORDER TODAY!

Our experts are ready to assist you, call us to get a free quote or order now to get succeed in your academics writing.

Get a Free Quote Order Now