Sei sulla pagina 1di 11

IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING, VOL. 6, NO.

2, APRIL 2009

311

Web Service Conguration Under Multiple Quality-of-Service Attributes


PengCheng Xiong, YuShun Fan, and MengChu Zhou, Fellow, IEEE
AbstractWith the popularity of Internet technology, web services are becoming the most promising paradigm for distributed computing. However, when a single web service fails to meet service requestors multiple function needs, web services need to be dynamically congured together to form a web service composition. Since there may be many congurations providing identical functionality with different quality-of-service (QoS), a choice needs to be made according to users functional and nonfunctional requirements. In this paper, we formulate a web service functional conguration problem by using Petri nets. The graph structure and algebraic properties of the model are analyzed in detail to show that a basis solution of a state-shift equation of the Petri net model corresponds to a realizable conguration process. This result is later used to formulate the multiple attribute QoS optimization problem to a linear programming problem. Finally, a case study is performed to show that the proposed analysis result can be effectively applied in practice. Note to PractitionersWhen any single web service fails to accomplish service requestors multiple function requirements, multiple web services are needed to form a service composition. This work deals with automatic conguration of services under practical constraints. First, according to the customized or applicationspecic web service functional requirement, discover all the web services. Second, build a complete service functional dependency conguration net based on Petri nets. Third, choose and compute the quality-of-service (QoS) attributes for the whole conguration. A transformation method is utilized to change nonlinear aggregation functions to linear ones. Relative importance of different attributes is represented through subjective preference or perception. Fourth, compute the QoS attribute value for each real web service. An association algorithm translates and compiles QoS attributes. Finally, the linear programming problem is set and solved. The best conguration is found and sensitivity analysis is carried out. The concepts and developed algorithms can be readily put into industrial applications. Index TermsLinear programming, modeling and analysis, optimization, Petri nets, web service.
Manuscript received July 03, 2007; revised November 23, 2007. Current version published April 01, 2009. This paper was recommended for publication by Associate Editor S. Keerthi and Editor N. Viswanadham upon evaluation of the reviewers comments. This work was supported in part by the National High Technology Research and Development (863) Program of China under Grant 2006AA04Z151, the China National Science Foundation under Grant 60674080, the National Basic Research Program of China (973 Program) under Grant 2006CB705407, and the Chang Jiang Scholars Program of PRC Ministry of Education. P. C. Xiong and Y. S. Fan are with the Department of Automation, Tsinghua University, Beijing 100084, China (e-mail: xpc03@mails.tsinghua.edu.cn; fanyus@tsinghua.edu.cn). M. C. Zhou is with Department of Electrical and Computer Engineering, New Jersey Institute of Technology, Newark, NJ 07102-1982 USA and also with School of Electro-Mechanical Engineering, Xidian University, XiAn, Shanxi 710071, China (e-mail: zhou@njit.edu). Color versions of one or more of the gures in this paper are available online at http://ieeexplore.ieee.org. Digital Object Identier 10.1109/TASE.2008.2009103

I. INTRODUCTION

web service [1][3] framework has evolved to become a promising technology for the integration of disparate software components using Internet protocols. Web Services Description Language (WSDL) [4], Universal Description, Discovery, and Integration (UDDI) [5], and Simple Object Access Protocol (SOAP) [6] are three core standards for web service description, registration, and binding, respectively. Web service providers register web services through an UDDI registry. The web service that they intend to offer is dened by WSDL. Then, web service users/requestors discover the needed web services and send the requests via invocation interfaces. After the response from a web service provider, they invoke those services under SOAP. A web service is dened as a web-accessible function that is well-dened, self-contained, and does not depend on the context of state of other web services. When any single web service fails to accomplish service requestors multiple function requirements, multiple web services need to be dynamically congured together to form a web service composition to satisfy both the functional and nonfunctional requirements, such as quality-of-service (QoS). Menasce [7] presents an overview of the current QoS research. The recent state-of-the-art in the QoS study mainly covers the following areas. The rst is QoS specication and description, i.e., QoS modeling. QoS serves as a key index for discriminating candidate web services and web service compositions with identical functionality. Ran [8] organizes a set of quantiable QoS parameters and measurements, e.g., reliability, capacity, availability and cost, into multiple QoS categories. Perryea and Chung [9] group web services into several communities according to nonfunctional requirement. Xiong and Fan [10] propose a uniform QoS attribute denition framework in order to coordinate QoS properties from both web service providers and users perspectives. In addition to the generic QoS dimensions discussed by the above papers, Yang et al. [11] mention a number of context-dependent and domain-dependent nonfunctional properties. Liu et al. [12] extend the QoS model by including both generic and domain specic criteria. The QoS information can be collected from service providers, e.g., cost; or from service requesters feedback, e.g., execution time; or from a third party, e.g., service reputation. The second is the composition of web services according to QoS requirements. Web service composition covers three distinct but overlapping viewpoints, i.e., behavioral interface, choreography, and orchestration [13]. Behavioral interface denotes the behavioral aspects of the interactions for a given

1545-5955/$25.00 2009 IEEE

312

IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING, VOL. 6, NO. 2, APRIL 2009

individual service during the composition. Orchestration considers one particular service that directs the logical order of all other services, while choreography considers the case where individual services work together in a loosely coupled network. They are often accomplished by the Business Process Execution Language for Web Services (BPEL for short) [14]. The QoS of the composed service is determined by the QoS of its underlying component services. The aggregation functions for the computation of the QoS through component services are described in detail in [15]. It is not hard to imagine that there may be many feasible web service compositions that can meet the functional requirement but carry different QoS attributes. Therefore, the QoS of the resulting composite service is a determinant factor to satisfy different requirements and preferences by different users. There are two kinds of web service quality optimization methods, i.e., local and global optimizations. Ardagna and Pernici [16] discriminate global and local QoS constraints. The local optimization is done at a task level, i.e., choosing for each task the web service with the best QoS. Casati and Shan [17] propose eFlow to suit adaptive and dynamic features of web services required by different individual users and to cope with a highly dynamic business environment. To prevent service providers deviating from the advertised QoS and causing losses to the users, Jurca et al. [18] propose a novel QoS monitoring mechanism to collect the ratings and compute the actual quality delivered to the users. Huang et al. [19] present a moderated fuzzy web service discovery approach to model users subjective and fuzzy opinions and to assist service users and providers in reaching a consensus. Global optimization is done at a process level where services are selected for each task to obtain the optimal global quality. Lamparter et al. [20] use utility function policies to model the multiple preferences of users. However, the utility function is hard to be quantied for multi-attribute decision. Gu and Nahrstedt [21] propose a model for composing different application services into a service path satisfying the users quality requirements. Gao et al. [22] combine different service paths as a weighted multistage graph and transform the selection of the optimal execution plan into the selection of the longest path. Since the service path is dened as a sequential chain of service operations, there is limitation when the search methods are used in complex service execution. To overcome the disadvantages, Zeng et al. [15] use statechart to describe the workow execution sequence in detail, i.e., the control-ow, and then arrange a set of candidate web services that can equally accomplish the function for each activity in the statechart. Their work is further improved by Gao et al. [23] by adding more quality dimensions, i.e., capacity and load, to their QoS model. It yet suffers from several drawbacks. First, they use 01 integer programming [24] to obtain the solution. It is NP-hard, and belongs to one of Karps 21 NP-complete problems [25]. Second, they assume that every candidate web service is associated with only one workow task. However, a web service probably contains many invocation interfaces and operations that can support many workow tasks in fact. Moreover, these web services can

be reused as many times as possible. Third, the web service execution sequence is relatively rigid according to the statechart that denes the control-ow. Canfora et al. [26] propose to use genetic algorithms instead of integer programming [15] to deal with a large set of candidate web services. The third is about the dynamic environment where composite services are invoked. The dynamic properties are two folds. First, a service composition is operating under a dynamic heterogeneous environment and its runtime performance is uctuating with the varying quality of the services. Second, when a web service becomes unusable or unreliable, the other web services in the composition that interact with it may need to be altered in order to adapt to new environment. A number of projects, e.g., METEOR-S [28] and CrossFlow [29], and middleware, e.g., AgFlow [15], SwinDeW [3], and GlueQoS [30] deal with QoS aware web service selection. The fourth is the web service conguration. Service conguration and service composition complement each other in nature. The former is function-oriented and offer the lower level business functions required by the orchestration. It is often done under Service Component Architecture (SCA) [31]. The latter is mainly process-oriented and provides the higher level orchestration. Compared with process-oriented service composition, function-oriented service conguration enjoys more agility and exibility. For example, if a web service is congured by two services, these two services may be executed in sequence or parallel depending on their implementation. Moreover, service conguration under SCA can protect business logic and improve testability, e.g., web service conguration information can be used by service fault management to track defects [32]. SCA builds on service encapsulation through the assembly of heterogeneous services. After the components that provide services and consume other services are implemented, they are assembled to build the business application through the wiring of service references to services [33]. An SCA module is assembled by conguring and wiring together components, entry points and external services. Entry points are the representation of interfaces that are offered for use by components outside a module. If a component in a module references the services provided outside it, they are represented as external services. Moldt et al. [34] propose a modeling technique based on high-level Petri nets for the modeling of processes by service references. SCA assembly operates at two levels, i.e., the assembly of loosely connected components within a system and module. A dynamic conguration can be modeled as a functional assembly of the overall requested function. (In this paper, assembly and disassembly operations are assumed to be mutually invertible.) For example, in Fig. 1, System A can be wired by subsystems B, C, and D, or wired by subsystems X and Y. Subsystem C can be wired by module components E and F, while E has two candidate modules G and H for real implementation. The SCA conguration also becomes a service, which can be accessed and reused in a uniform manner. Multiple service components can be congured and assembled into groupings called composites, to provide specic business capabilities that can be a part of other services. For example, subsystem C in

XIONG et al.: WEB SERVICE CONFIGURATION UNDER MULTIPLE QUALITY-OF-SERVICE ATTRIBUTES

313

Fig. 1. Example of system disassembly.

Fig. 1 can be a composite and itself can be referenced by other services. Since the assembly of an SCA system mirrors the assembly of a module, we do not distinguish among subsystems, modules and services in the rest of this paper. The main difculty of deploying services under SCA is that the service disassembly methods are multiple and many conguration choices interweave to satisfy both the functional and nonfunctional requirements. We model the conguration problem as Service Functional Conguration (SFC). A web service may have multiple SFCs, e.g., in Fig. 1, System A can be congured by wiring subsystems B, C, and D, or subsystems X and Y. However, at one time, only one conguration can be selected. The optimal choice should meet both the users functional and QoS requirements. As a dynamically formed digraph to present all of the references, Service Dependency Graph (SDG) is popularly used to depict functional dependency relationship among web services [35], [36]. Liang and Su [35] propose an SDG based on an AND/OR graph to discover web services. Hasselmayer presents a dependency management architecture on web services and realizes the architecture with Jini connection technology [36]. Guo et al. [37] propose an optimized peer-to-peer overlay network for service discovery. However, although SDG provides a means for web service conguration descriptions in order to ensure functional interoperability among collaborating web services, it deals with only the functional aspect. It can hardly support dynamic conguration of web services to deal with nonfunctional requirement. Moreover, the SCA specication set being developed under the open service oriented architecture collaboration [38] and most of the current research on SCA does not incorporate QoS according to [39]. Thus, service requestors face a large number of choices of service congurations that can provide the similar function. In addition, an environment with changeable QoS of the component services makes the selection problem more challenging. Therefore, selecting an optimal conguration remains a difcult problem. In this paper, we address the optimal conguration issues by concentrating on: a) formal modeling and denition of the web service conguration and b) the optimal QoS search algorithm under varying conguration constraints. We introduce a Service Conguration Net (SC-net) based on Petri nets [40][42] in

Fig. 2. Modeling SCA function assembly through Petri nets.

order to help select candidate congurations. The main advantages of adopting Petri nets as a modeling language are twofold. First, as a graphical and mathematical tool, Petri nets can provide a uniform environment for dealing with large and complex web service congurations. Second, through ring the transitions in the SC-net, we can generate a set of candidate congurations automatically and thus minimize the human efforts in searching. The rest of this paper is organized as follows: Section II models the conguration problem and proposes a service function conguration net. Section III analyzes and compares the structural characteristics of the conguration net and the algebraic properties of solutions. The web service quality attributes and aggregation function to compute the quality attributes for a conguration are provided in Section IV. Section V species the problem as a linear programming problem, while Section VI shows a real example to certify the validity of the analysis results and methodology. Section VII introduces the implementation. Finally, Section VIII concludes this paper. II. MODELING WEB SERVICE CONFIGURATION Assembly in SCA is the process of composing business applications by conguring components that provide service functions. We transform the assembly relationship in SCA into Petri nets in Fig. 2. We assume that a reader is familiar with basic Petri nets [40][42]. The following denition is used. Denition 1: A Petri net is a ve-tuple, , where: i) , , is a nite set of places pictured by circles; ii) , , is a nite set of transitions pictured by bars, with and ; is an input function that denes the iii) set of directed arcs from to ; iv) is an output function that denes the set of directed arcs from to ; v) is an column vector whose th component represents the number of tokens in the th place. An initial marking is denoted by , where . Tokens are pictured by dots.

314

IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING, VOL. 6, NO. 2, APRIL 2009

Postset of is the set of output places of , denoted by . Preset of is the set of input places of , denoted by . Post (Pre) set of is the set of output (input) transitions of , denoted by and , respectively. In Fig. 2, , , , and . A place is called a leaf place iff . In Fig. 2, and are leaf places. A marking is changed according to the following rules. is said to be enabled if and only if i) A transition , , and denoted as . ii) Firing at leads to , denoted as , where . Denition 2: Service set where is a nite set of real web services, and is dummy service which denotes a composition or selection of real web services. We call a web service an atomic web service iff it does not reference other services. Denition 3: Service Conguration Net (SC-net): an acyclic Petri net is an SC-net if: i) There is a place denoted by with no input arc, which corresponds to the service requested by a user. and , ; ii) Every atomic web service in is denoted by a leaf place; iii) Every other web service excluding those mentioned in items 1 and 2 is mapped to a place set . Every web service place has the same function and nonfunctional attributes and can be treated as the duplication of . Dene the reusability index of as the number of duplications; iv) Each nonleaf place has only one input arc and at least one output arc; v) Each transition has only one input arc and at least one output arc; , if vi) Places in have an AND relationship. , and , there is an OR relationship among . Note that the proposed SC-net falls into the class of disassembly Petri nets [43]. Based on the denition of the SC-net, we state SFC and a realizable conguration process. Denition 4: An SFC at time is denoted as such that (a) , and (b) , if , and , . Denition 5: A realizable conguration process is a sequence of transition rings from the initial marking to a current marking . is called a realizable conguration state. If we denote system A, subsystems X, Y, B, C and D, module components E and F by and , respectively, we can obtain an SC-net in Fig. 3 for the conguration of system A in Fig. 1. There are three candidate congurations, i.e., , , and . The ring transitions determine the conguration processes, e.g., corresponds to . Note that since the subgraph in the dotted trapezoid denotes the conguration information for subsystem C, if C can be referenced by other services, the subgraph can also be reused for conguration description according to item iii of Denition 3. III. STRUCTURAL ANALYSIS OF SC-NET In order to derive the candidate web service congurations automatically and obtain a more efcient QoS search algorithm,

Fig. 3. SC-net representation of the conguration of system A.

in this section, we analyze the graph and the algebraic structural properties of the SC-net. A. Incidence Matrix and State-Shift Equation (SSE) Denition 6: The incidence matrix is an matrix of integers. For example, for the SC-net in Fig. 3, the incidence matrix

Denition 7: The SSE is , where is an column vector and is an unit matrix. is an column vector of non-negative integers. and denote the current and initial marking, respectively. is called the ring count vector and the th element of denotes the number of times that must re to transform to . The SSE can be transformed to [40]. If we use and to denote the th red input transition and the th red output one for , we can rewrite it as . B. Subgraphs and Solutions In this section, we dene subgraphs in an SC-net and solutions for the SSE and clarify the relationship between them. Denition 8: In an SC-net, a subgraph that corresponds to a realizable conguration process (CP) consists of the red transitions, and their input and output places. For example, for the SC-net in Fig. 3, a realizable CP can be or . In CP, has single output arc and a nonleaf place except has single input and output arc. Theorem 1: The set of places of a CP in which no transition can be enabled under is a candidate SFC. Proof: 1) Since does not have any input arc and , we have . Then, or

XIONG et al.: WEB SERVICE CONFIGURATION UNDER MULTIPLE QUALITY-OF-SERVICE ATTRIBUTES

315

, which means the set of places of CP contains . This satises property (a) of SFC. 2) Without loss of generality, suppose that . Since each transition has only one input arc, suppose that the input places of the red transitions are , , denoted as a place set . Since no transition can be enabled, in CP, , under , is in or . This satises property (b) of SFC. , is enabled For example, since and are enabled in in and no transition can be enabled in , only the set of is a candidate SFC. places of Denition 9: In an SC-net, a subgraph that corresponds to a solution of the SSE consists of the transitions corresponding to nonzero elements of , and their input and output places. For example, for the SC-net in Fig. 3, a solution of the SSE can be or , then SSE can be and , respectively. Denition 10: If an SSE corresponds to a CP, and the nal marking corresponds to a realizable conguration state, then the solution of the SSE is a realizable solution. - corresponding Denition 11: If the column vectors of to nonzero elements of the solution are linearly independent of one another, the solution is a basis solution. Denition 12: If all elements of a solution are non-negative integer, this solution is called non-negative integer solution. Theorem 2 [44]: Column vectors corresponding to the nonzero elements of the realizable solution in are linearly independent. Theorem 3: A solution is a non-negative integer solution if and only if it is a realizable solution. Proof: From Denition 8, it is obvious that if a solution is a realizable one, it is a non-negative integer one. Consider the web service place . Following the equation , we have and or and . When and , the other elements of the solution have to be 0. This means that the corresponding SSE consists only of place . In this case, the conguration process is in the initial state and this solution is obviously a realizable solution. When and , by the non-negative integer property of the solution, has a single output arc. Consider a nonleaf place . We have . From item iv in Denition 3, we have . Since is a nonleaf place, we have , then and has only one output transition. Theorem 4: A solution is a basis solution if and only if it is a non-negative integer solution. Proof: From Theorems 2 and 3, it is obvious that if a solution is a non-negative integer solution, it is a basis solution. We prove the necessity by contradiction that we show that the solu-

Fig. 4. Relationship among the set of solutions correspondent to SSEs, CPs, and SFCs.

tion whose element is not a non-negative integer is not a basis solution. When the solution whose element is not non-negative integer, its SSE can be regarded as the composition of some CPs. There are two cases. 1) Besides the leaf place of SSE, there does not exist a place . with 2) Besides the leaf place of SSE, there exists a place with . In case (1), from the leaf places to the output transition of the root place , we add the column vectors successively. We can generate two or more nonzero column vectors of which only the element corresponding to the web service place is not 0, and the other elements are all 0. This means that the column vectors are not linearly independent and the solution is not a basis solution. In case (2), we can extract the subgraph whose root place satises and its successive places and transitions from SSE. From the leaf places to the output transition of the root place , we add the column vectors successively. We can then generate two or more nonzero column vectors of which only the element corresponding to the web service place is not 0, and the other elements are all 0. This means that the column vectors are not linearly independent, and the solution is not a basis solution. For example, is in case (1). We can generate two nonzero column vectors of which only the element corresponding to is 1, and the other elements are is in case (2), we can extract the subgraph all 0. , and we can then generate two column vectors of which only the element corresponding to the web service place is 1, and the other elements are all 0. In both cases, the solution is not a basis solution. Theorem 5: A solution corresponds to a CP if and only if it is a basis solution. Proof: From Theorems 3 and 4, it is obvious. From Theorem 1, the set of places of a CP in which no transition can be enabled under is a candidate SFC, while Theorem 5 represents that the set of the CPs is correspondent to the set of the basis solutions of . Relationship among the solutions correspondent to SSEs, CPs, and SFCs is shown in Fig. 4. We can conclude that the set of basis solutions of SSE of the SC-net is identical to the set of solutions corresponding to a realizable CP. If we formulate nonfunctional objectives in

316

IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING, VOL. 6, NO. 2, APRIL 2009

TABLE I QoS ATTRIBUTES AND MEASURES USED FOR EVALUATING CANDIDATE CONFIGURATIONS

C. Computation SFC candidates. The th QoS atSuppose that we have , , tribute for the th SFC is denoted as . Different SFC candidate corresponds to different solu. tion vector , by linear formulation of , acIn order to compute cording to the denition of SFC and the linear aggregation funcQoS tion, for the th QoS attribute we associate a attribute vectors . Suppose that , where and are and vectors respectively. Elements in are associated to the places, while elements in are associated to the transitions accordingly. The values of the elements in are determined in the following algorithm. Algorithm 1 (Association) Step 1. If the th QoS attribute is cost, we associate a to nonleaf web positive large enough number service places. If the th QoS attribute is benet, we associate a negative large enough number . Step 2. Every leaf web service place is associated with . QoS attribute Step 3. For every nonleaf and nondummy web service to all of its output place , we associate transitions . Step 4. For every nonleaf and dummy web service place , we associate a number 0 to all of its output . transitions Theorem 6: The th QoS attribute for the th candidate SFC, , can be computed as . i.e., Proof: Since , is equal to . For the web service s denoted by the nonleaf web service place, the reusability index of the web service in the conguration is equal , where . to the ring number of the transitions Then, the QoS attribute of nonleaf web service place can be . aggregated through For the web service denoted by the leaf web service place , the reusability index of the web service in the conguration is . Then, its QoS attribute equal to the number of tokens in can be aggregated through . Dummy web services chosen in a conguration do not affect the nal result. Since the aggregation functions can be treated as linear ones, the conclusion holds. V. PROBLEM SPECIFICATION A linear programming problem has three inputs, i.e., variables, a linear objective function, and linear constraints [24]. Linear programming attempts to maximize or minimize the value of the objective function by adjusting the values of the variables under constraints. The results are the maximum (or minimum) value of the objective function and the values of variables at this maximum (or minimum). The column vector can be treated as the variable vector for the linear programming problem. The SSE, i.e., , can be taken as the constraints. The web service user may have single or multiple QoS objectives. For example, the user may want the total cost minimized

a way that can restrict the search space of the set of solutions correspondent to CPs with optimal QoS to the set of solutions correspondent to SFCs, we can then search the optimal conguration by a linear programming technique. IV. WEB SERVICE QUALITY MODELING A. QoS Attributes Each functionality of a service can be evaluated by several QoS parameters. They are sorted into runtime, transaction support, conguration management and cost, and security-related ones [8]. Each is made up of several metrics and submetrics. Generally, there are two kinds of QoS attributes, i.e., cost and benet. Some can be measured quantitatively, as shown in Table I. B. Aggregation Suppose that we have QoS attributes to evaluate, i.e., . The SFC QoS attributes are the cumulative effect of those of nondummy web service places that instantiate the modules of the SFC. The dummy web service places included in the SFC do not have QoS values. For calculation convenience, here we assume that a QoS attribute for a candidate SFC is a function of the QoS attribute of all the component services. We explain each attributes aggregation function as follows: 1) Cost. The cost of an SFC is the sum of the costs of all the web services involved. Suppose that the reusability index if the web for web service denoted by is , i.e., if the web service is reused. service is used once, Let and denote the cost of SFC and the web service at time , respectively. Then, we have . 2) Availability. The availability of an SFC is given by the product of the availability of all the web services involved. and denote the results after Let applying the logarithm function to the availability of an SFC and the availability of the web service at time , respectively. Then, the original product relations among all web services are converted into addition relations, . Then, we i.e., transform the nonlinear one to a linear one.

XIONG et al.: WEB SERVICE CONFIGURATION UNDER MULTIPLE QUALITY-OF-SERVICE ATTRIBUTES

317

Fig. 5. Sales management service conguration.

with the conguration availability maximized. From Theorem 6, for the th QoS attribute, we have (1) A. Web Service Conguration Under Single QoS Objective If the th QoS attribute is cost, the search problem of optimal conguration is formulated as (2). If the th QoS attribute is benet, it is formulated as (3) (2) (3) -

used in linear programming to force articial variables to be zero [27]. B. Web Service Conguration Under Multiple QoS Objectives If the user has multiple QoS objectives, the optimal conguration problem can be treated as Multi-attribute decision making (MADM) [45], in which alternatives are the candidate SFCs to be evaluated and attributes are the QoS measures of SFCs under consideration. Simple additive weighting (SAW) [46] is an important method for MADM. We adopt SAW as follows. to to allow a comWe rst normalize every QoS attribute parable scale for all cost and benet QoS attributes. Then, we apply weight for the th one to represent relative importance or value tradeoffs of different attributes. Finally, we calculate for each candidate conguration. , the more preferred SFC. Through comparing The greater for all candidate SFCs, the optimal conguration with the maximal is chosen. Then, we have

Lemma 1: The SSE with the optimal QoS is a CP. Theorem 7: The association algorithm can limit the SSE with the optimal QoS to be achieved only when an SSE corresponds to an SFC. This theorem can be proved by contradiction. By Theorem 1, there exists a transition that can be enabled . According to the structural characteristics of the under SC-net, no transition in CP under can be enabled if every satises . Then, there exists at nonleaf place least one nonleaf place satisfying . According to Step 1 in the association algorithm, there are two cases. 1) If the th QoS attribute is cost, after aggregation through , will be too large. 2) If the th QoS attribute is benet, after aggregation through , will be too small. Considering the objective function stated in (2) and (3), can achieve the optimal value neither in case a) nor b). Therefore, the conclusion holds. Note that, the approach we apply in Step 1 in the association algorithm is analogous to the big method, which is widely

VI. CASE STUDY In this section, we take the example of sales management service conguration, as shown in Fig. 5. The services in dotted rectangles are dummy, while others are real services. The sales management service references a series of others. They are: order management service-for recording details of the order, customer payment service for checking the credit of the customers and taking the payment associated with the order, and logistics service for checking availability of the ordered goods

318

IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING, VOL. 6, NO. 2, APRIL 2009

THE WEB SERVICES p AND p

TABLE II DENOTE AND THEIR QoS ATTRIBUTES

Fig. 6. Correspondent SC-net.

(warehouse management service), and for getting the goods dispatched to the customer (transportation management service). The customer payment service can be assembled through two approaches, remittance and bank. The available Banks 1-3 that are external services can be referenced by the customer payment service. There are also two kinds of product inquiry services, i.e., provider indexed and application area indexed. The product inquiry services are referenced by both order management service and warehouse management service. The simplest MADM problem focuses on two attributes. This subclass of problems is known as dual attribute optimization. To illustrate the approach, we use two quality dimensions, i.e., cost and availability . According to Denition 3, the correspondent SC-net is shown denote and their in Fig. 6. The web services that and QoS attributes, e.g., cost and availability are shown in Table II. Using the previously introduced aggregation functions and association algorithm, we have the QoS attribute vector for cost and availability as follows:

Then, the problem can be formulated as

and , the incidence matrix of the net.

and

is

XIONG et al.: WEB SERVICE CONFIGURATION UNDER MULTIPLE QUALITY-OF-SERVICE ATTRIBUTES

319

Fig. 7. Implementation framework for SC-net.

Suppose that , and the weight for cost and availability are 0.2 and 0.8, respectively. The problem can be solved by a simplex algorithm to lead to

The corresponding SFC contains , , , (reuse and . once), We can perform sensitivity analysis [47] after the optimal conguration is found. For example, assume that the attributes ) can change, while others do not. Senof Remittance ( sitivity computation deduces that the maximum range of cost perturbation is 18.14 and the maximum range of reliability perturbation is 3.45% for Remittance when the optimal one stays unchanged. VII. IMPLEMENTATION FRAMEWORK We present our implementation framework in Fig. 7. There are mainly four roles in the framework, web service user, service conguration manager, UDDI registry, and web services. The service conguration manager contains two major components, i.e., planner and optimizer. We describe the interaction between roles in our framework according to the life cycle of a web service [48], [49]. Registration stage. Web service providers publish their web service and invocation interfaces they intend to offer in WSDL and register the web services to a common registration table located at UDDI. Schema API in UDDI [5] denes four data types mainly in functional aspects, i.e., businessEntity, businessService, bindingTemplate, and tModel. We extend the UDDI data model with web service quality information and encapsulate QoS information following a uniform template formalized by XML Schema Denition in our previous work [10]. Since QoS metadata in XML format can be sent to UDDI through SOAP, the new UDDI registry can provide service conguration manager with both function and QoS attributes. Conguration stage. The user inputs the function and QoS requirement to the service conguration manager. In the case

study of sales management service conguration, the salesman may require the function of recording details of the order, checking the credit, delivering the goods and so on. The relative importance of different QoS attributes represented for subjective preference is also provided, e.g., the weight for cost and availability are 0.2 and 0.8, respectively. First, according to the functional requirement, the planner automatically selects services based on whether they meet the congurations structural constraints and match interfaces. An SC-net corresponding to the conguration is built. The planner may check the potential problems due to missing services and unsatised interfaces. Second, the optimizer obtains the QoS requirement from the user and accesses to QoS metadata about services from the extended UDDI data model. The QoS aggregation function is computed. Through the association algorithm, a linear programming problem is specied. Finally, the optimizer nds the optimal conguration. Sensitivity analysis can also be performed afterwards. We adopt the Spring Framework [50] for the implementation of a planner. The components in a module are created and wired using dependency injection capabilities from Spring Framework. Access methods and protocols, e.g., SOAP, can be adopted to specify the binding information that describes how services can be accessed and referenced. The optimizer is implemented by the simplex algorithm. Orchestration stage. The optimal conguration is deployed in the execution environment. The web service orchestration and deployment are done with the CIMFlow-System [51], which is a central workow management system. In CIMFlow-System, we use a process modeler module to establish a workow model and task allocator module to receive a task allocation request and assign tasks to specic web service interfaces. Execution stage. After deployment, the business process can be executed and supported by the workow engine in CIMFlow-System. When a transaction instance is generated, the service conguration manager determines which services should be used in the conguration by interacting with the CIMFlowSystem. The optimal conguration information is sent back to CIMFlow-System for dynamic binding. Runtime performance analysis and optimization are also conducted [52]. VIII. CONCLUSION Web service framework brings in a new revolution in computing. By assembling the service components, service component architecture provides a programming model for the creation and assembly of business systems using a service-oriented architecture. However, many web service-related problems still remain open, including modeling, discovery, selection, conguration, deployment and execution. This work deals with functional and nonfunctional constraint modeling and conguration of services under constraints. This work can be treated as a complement to the SCA policy framework to support the specication of functional requirement and QoS expectations. The paper presents a service functional conguration net based on Petri nets for the web service presentation and automatic assembly. The conguration specications for the module and component services are described through the structure of disassembly Petri nets. The candidate congurations are

320

IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING, VOL. 6, NO. 2, APRIL 2009

generated automatically through ring the transitions in such Petri nets. The optimal one is obtained via linear programming. The proposed approach in this paper lacks such features as concurrency and synchronization. Actually, a service conguration net models a set of components that are used to make a particular business function. It models the way in which they are congured. It does not model the time sequences involved in executing particular service operations. The techniques proposed in this paper need to be extended to deal with business process sequencing and runtime related QoS. The approaches based on Petri nets and elementary siphons will be explored [53][58]. REFERENCES
[1] F. Curbera, M. Duftler, R. Khalaf, W. Nagy, N. Mukhi, and S. Weerawarana, Unraveling the web services web: An introduction to SOAP, WSDL, and UDDI, IEEE Internet Computing, vol. 6, no. 2, pp. 8693, Mar./Apr. 2002. [2] F. Kraemer and P. Herrmann, Service specication by composition of collaborationsAn example, in Proc. 2006 IEEE/WIC/ACM Int. Conf. Web Intell. Int. Agent Technol. Workshops, Hong Kong, Dec. 2006, pp. 129133. [3] J. Yan, Y. Yang, and G. K. Raikundalia, SwinDeW-a p2p-based decentralized workow management system, IEEE Trans. Syst., Man, Cybern., vol. 36, no. 5, pt. Part A, pp. 922935, Sep. 2006. [4] R. Chinnici, M. Gudgin, J. J. Moreau, and S. Weerawarana, Web Services Description Language (WSDL) Ver. 1.2 World Wide Web Consortium, 2002. [Online]. Available: www.w3.org/TR/wsdl12/ [5] Universal Description, Discovery and Integration. Organization for the Advancement of Structured Information Systems 2002. [Online]. Available: www.uddi.org/specication.html [6] D. Box, D. Ehnebuske, G. Kakivaya, A. Layman, N. Mendelsohn, H. Nielsen, S. Thatte, and D. Winer, Simple Object Access Protocol (SOAP) 1.1. [Online]. Available: http://www.w3.org/TR/soap/ [7] D. A. Menasce, QoS issues in Web services, IEEE Internet Computing, vol. 6, no. 6, pp. 7275, Nov./Dec. 2006. [8] S. Ran, A model for web services discovery with QoS, SIGecom Exchanges, vol. 4, no. 1, pp. 110, Mar. 2003. [9] C. A. Perryea and S. Chung, Community-based service discovery, in Proc. 2006 IEEE Int. Conf. Web Services, Chicago, IL, Sep. 2006, pp. 903906. [10] P. C. Xiong and Y. S. Fan, A QoS-aware UDDI model for web services discovery, in Proc. 2006 Asia Pacic Symp. SSME, Beijing, China, Nov. 2006, pp. 121123. [11] W. J. Yang, J. Z. Li, and K. H. Wang, Domain-adaptive service evaluation model, Chinese J. Computers, vol. 28, no. 4, pp. 514523, Apr. 2005. [12] Y. Liu, A. H. H. Ngu, and L. Zeng, QoS computation and policing in dynamic web service selection, in Proc. 13th Int. World Wide Web Conf., New York, May 2004, pp. 6673. [13] A. Barros, M. Dumas, and P. Oaks, Standards for web service choreography and orchestration: Status and perspectives, in Proc. 2006 Business Process Manage. Workshops, Nancy, France, 2006, vol. 3812, Lecture Notes in Computer Science, pp. 6174. [14] T. Andrews, F. Curbera, H. Dholakia, Y. Goland, J. Klein, F. Leymann, K. Liu, D. Roller, D. Smith, S. Thatte, I. Trickovic, and S. Weerawarana, Business process execution language for web services ver. 1.1, May 2003. [Online]. Available: http://www-106.ibm.com/developerworks/webservices/library/ws-bpel [15] L. Z. Zeng, B. Benatallah, A. H. H. Ngu, M. Dumas, J. Kalagnanam, and H. Chang, QoS-aware middleware for Web services composition, IEEE Trans. Softw. Eng., vol. 30, no. 5, pp. 311327, May 2004. [16] D. Ardagna and B. Pernici, Global and local QoS constraints guarantee in Web service selection, in Proc. 2005 IEEE Int. Conf. Web Services, Orlando, FL, Jul. 2005, pp. 805806. [17] F. Casati and M. C. Shan, Dynamic and adaptive composition of E-services, Inf. Syst., vol. 26, no. 3, pp. 143163, May 2001. [18] R. Jurca, B. Faltings, and W. Binder, Reliable QoS monitoring based on client feedback, in Proc. 16th Int. World Wide Web Conf., Banff, Canada, May 2007, pp. 10031011. [19] C. L. Huang, C. C. Lo, K. M. Chao, and M. Younas, Reaching consensus: A moderated fuzzy web services discovery method, Inf. Softw. Technol., vol. 48, no. 6, pp. 410423, June 2006.

[20] S. Lamparter, A. Ankolekar, and S. Grimm, Preference-based selection of highly congurable web services, in Proc. 16th Int. World Wide Web Conf., Banff, Canada, May 2007, pp. 10131022. [21] X. Gu and K. Nahrstedt, A Scalable QoS-aware service aggregation model for peer-to-peer computing grids, in Proc. 11th IEEE Int. Symp. High Performance Distributed Computing, Edinburgh, UK, Jul. 2002, pp. 7382. [22] Y. Gao, B. Zhang, J. Na, L. Yang, Y. Dai, and Q. Gong, Optimal selection of web services for composition based on interface-matching and weighted multistage graph, in Proc. 6th Int. Conf. Parallel Distrib. Comput., Appl. Technol., Dalian, China, Dec. 2005, pp. 336338. [23] A. Q. Gao, D. Q. Yang, S. W. Tang, and M. Zhang, Web service composition using integer programming-based models, in Proc. IEEE Int. Conf. e-Business Eng., Beijing, China, Oct. 2005, pp. 603606. [24] R. S. Garnkel and G. L. Nemhause, Integer Programming. New York: Wiley, 1972. [25] R. M. Karp, Reducibility among combinatorial problems, in Complexity of Computer Computations, R. E. Miller and J. W. Thatcher, Eds. New York: Plenum Press, 1972, pp. 85103. [26] G. Canfora, M. D. Penta, R. Esposito, and M. L. Villani, An approach for QoS-aware service composition based on genetic algorithms, in Proc. 2005 Conf. Genetic, Evol. Comput,, Washington, D.C., Jun. 2005, pp. 10691075. [27] G. Dantzig, Linear Programming and Extensions. Princeton, NJ: Princeton Univ. Press, 1963. [28] R. Aggarwal, K. Verma, J. Miller, and W. Milnor, Constraint driven web service composition in METEOR-S, in Proc. 2004 IEEE Int. Conf. Services Comput., Shanghai, China, Sep. 2004, pp. 2330. [29] P. Grefen and Y. Hoffner, CrossFlow-cross-organizational workow support for virtual organizations, in Proc. 9th Int. Workshop on Research Issues on Data Engineering: Information Technology for Virtual Enterprises, Sydney, Australia, Mar. 1999, pp. 9091. [30] E. Wohlstadter, S. Tai, T. Mikalsen, I. Rouvellou, and P. Devanbu, GlueQoS: Middleware to sweeten quality-of-service policy interactions, in Proc. 26th Int. Conf. Softw. Eng., Edinburgh, U.K., May 2004, pp. 189199. [31] IBM, SAP, Oracle, BEA, Sybase, Siebel Systems, etc., SCA Assembly Model Specication. [Online]. Available: http://www-128.ibm.com/ developerworks/library/specication/ws-sca/ [32] Y. Li, K. W. Sun, J. Qiu, and Y. Chen, Self-reconguration of servicebased systems: A case study for service level agreements and resource optimization, in Proc. 2005 IEEE Int. Conf. Web Services, Orlando, FL, Jul. 2005, vol. 1, pp. 266273. [33] J. L. Fiadeiro, A. Lopes, and L. Bocchi, A formal approach to service component architecture, in Proc. 3rd Int. Workshop on Web Services and Formal Methods, Vienna, Austria, Sep. 2006, pp. 193213. [34] D. Moldt, S. Offermann, and J. Ortmann, A proposal for Petri net based web service application modeling, in Proc. 4th Int. Conf. Web Eng., Munich, Germany, Jul. 2004, vol. 3140, Lecture Notes in Computer, Science, pp. 9397. [35] Q. A. Liang and S. Y. W. Su, AND/OR graph and search algorithm for discovering composite web services, Int. J. Web Services Research, vol. 2, no. 4, pp. 4867, Oct.Dec. 2005. [36] P. Hasselmayer, Managing dynamic service dependencies, in Proc. 12th Int. Workshop on Distributed Systems: Operations and Management, Nancy, France, Oct. 2001, pp. 141150. [37] H. Q. Guo, D. Q. Zhang, L. H. Ngoh, W. C. Wong, S. Zheng, and Y. K. Koh, An optimized peer-to-peer overlay network for service discovery, in Proc. 11th IEEE Symp. Comput. Commun., Sardinia, Italy, Jun. 2006, pp. 8287. [38] Open Service Oriented Architecture Collaboration. [Online]. Available: http://www.osoa.org/display/Main/Home [39] Z. L. Zou and Z. H. Duan, Building business processes or assembling service components: Reuse services with BPEL4WS and SCA, in Proc. 4th IEEE Eur. Conf. Web Services, Zurich, Switzerland, Dec. 2006, pp. 138147. [40] M. C. Zhou and K. Venkatesh, Modeling, Simulation and Control of Flexible Manufacturing Systems: A Petri Net Approach. Singapore: World Scientic, 1998. [41] B. Hruz and M. C. Zhou, Modeling and Control of Discrete Event Dynamic Systems. London, U.K.: Springer, 2007. [42] P. C. Xiong, Y. S. Fan, and M. C. Zhou, QoS-aware web service conguration, IEEE Trans. Syst., Man, Cybern.: Part A, vol. 38, no. 4, pt. A, pp. 888895, Jul. 2008. [43] Y. Tang, M. C. Zhou, and R. J. Caudill, An integrated approach to disassembly planning and demanufacturing operation, IEEE Trans. Robot. Autom., vol. 17, no. 6, pp. 773784, Dec. 2001.

XIONG et al.: WEB SERVICE CONFIGURATION UNDER MULTIPLE QUALITY-OF-SERVICE ATTRIBUTES

321

[44] T. Suzuki, T. Kanehara, A. Inaba, and S. Okuma, On algebraic and graph structural properties of assembly Petri net, in Proc. 1993 IEEE Int. Conf. Robot. Autom., Yokohama, Japan, May 1993, vol. 2, pp. 507514. [45] C. L. Hwang and K. L. Yoon, Multiple Attribute Decision Making: Methods and Applications. New York: Springer, 1981. [46] J. Ma, Z. P. Fan, and L. H. Huang, A subjective and objective integrated approach to determine attribute weights, Eur. J. Oper. Res., vol. 112, no. 2, pp. 397404, Jan. 1999. [47] A. Deif, Sensitivity Analysis in Linear Systems. New York: Springer, 1986. [48] C. Pautasso and G. Alonso, Flexible binding for reusable composition of web services, in Proc. Workshop on Software Composition, Edinburgh, Scotland, Apr. 2005, pp. 151166. [49] E. Karakoc, K. Kardas, and P. Senkul, A workow-based web service composition system, in Proc. 2006 IEEE/WIC/ACM Int. Conf. Web Intell. Int. Agent Technology Workshops, Hong Kong, Dec. 2006, pp. 113116. [50] Spring Framework [Online]. Available: http://www.springframework. org/ [51] Y. S. Fan, Fundamentals of Workow Management Technology. New York: Springer, 2001. [52] J. Q. Li, Y. S. Fan, and M. C. Zhou, Performance modeling and analysis of workow, IEEE Trans. Syst., Man, Cybern., vol. 34, no. 2, pt. A, pp. 229242, Mar. 2004. [53] Z. W. Li and M. C. Zhou, Elementary siphons of Petri nets and their applications to deadlock prevention in exible manufacturing systems, IEEE Trans. Syst., Man, Cybern., vol. 34, no. 1, pt. A, pp. 3851, Jan. 2004. [54] Z. W. Li, H. S. Hu, and A. R. Wang, Design of liveness-enforcing supervisors for exible manufacturing systems using Petri nets, IEEE Trans. Syst., Man, Cybern., vol. 37, no. 4, pt. C, pp. 517526, Jul. 2007. [55] Z. W. Li and M. Zhou, On controllability of dependent siphons for deadlock prevention in generalized Petri nets, IEEE Trans. Syst., Man, Cybern., Part A: Syst. Human, vol. 38, no. 2, pp. 369384, Mar. 2008. [56] Z. W. Li, M. C. Zhou, and M. D. Jeng, A maximally permissive deadlock prevention policy for FMS based on Petri net siphon control and the theory of regions, IEEE Trans. Autom. Sci. Eng., vol. 5, no. 1, pp. 182188, Jan. 2008. [57] Z. W. Li and M. C. Zhou, Control of elementary and dependent siphons of Petri nets and their application, IEEE Trans. Syst., Man, Cybern., Part A: Syst. Human, vol. 38, no. 1, pp. 133148, Jan. 2008. [58] N. Q. Wu, M. C. Zhou, and Z. W. Li, Resource-oriented Petri nets for deadlock avoidance in exible assembly systems, IEEE Trans. Syst., Man, Cybern., Part A: Syst. Human Beings, vol. 38, no. 1, pp. 5669, Jan. 2008.

PengCheng Xiong received the B.S. degree in automatic control from Huazhong University of Science and Engineering, Wuhan, China, in 2003. He is now a Research Assistant in the College of Computing, Georgia Institute of Technology, Atlanta. He has already published a dozen of papers in journals and conference proceedings. His research interest includes web service modeling and composition, Petri nets and applications, business process reengineering, and system integration.

YuShun Fan received the Ph.D. degree in control theory and application from Tsinghua University, Beijing, China, in 1990. From September 1993 to 1995, he was a Visiting Scientist, supported by Alexander von Humboldt Stiftung, at Fraunhofer Institute for Production System and Design Technology (FhG/IPK), German. He is currently a Professor at the Department of Automation, Vice Director of System Integration Institute, and Director of the Networking Manufacturing Laboratory at Tsinghua University. He authored ten books and published more than 300 research papers in journals and conferences in the areas of enterprise integration, enterprise modeling, workow technology, intelligent agent, object oriented complex system analysis, and computer integrated manufacturing.

MengChu Zhou (S88M90SM93F03) received the B.S. degree in electrical engineering from Nanjing University of Science and Technology, Nanjing, China, in 1983, the M.S. degree in automatic control from Beijing Institute of Technology, Beijing, China, in 1986, and the Ph.D. degree in computer and systems engineering from Rensselaer Polytechnic Institute, Troy, NY, in 1990. He joined the New Jersey Institute of Technology (NJIT), Newark, NJ, in 1990, and is currently a Professor of Electrical and Computer Engineering and the Director of Discrete-Event Systems Laboratory. He has more than 300 publications including 7 books, over 130 journal papers, and 17 book-chapters. His research interests are in Petri nets, computer-integrated systems, wireless ad hoc and sensor networks, system security, semiconductor manufacturing, and embedded control.

Potrebbero piacerti anche