ebook img

Kunal Verma, Karthik Gomadam, Amit P. Sheth, John A PDF

12 Pages·2005·0.24 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Kunal Verma, Karthik Gomadam, Amit P. Sheth, John A

The METEOR-S Approach for Configuring and Executing Dynamic Web Processes Kunal Verma, Karthik Gomadam, Amit P. Sheth, John A. Miller, Zixin Wu LSDIS Lab, University of Georgia, Athens, Georgia {verma, karthik, amit, jam, wu} @cs.uga.edu Abstract processes. Hence, the first factor should not be an impediment much longer. This paper addresses the Web processes are the next generation workflows second factor, which involves creating an framework for created using Web services. This paper addresses (semi-) automated configuration of Web processes by research issues in creating a framework for addressing the following two issues – 1) dynamically configuring and executing dynamic Web processes. selecting optimal partner Web services for a process The configuration module uses Semantic Web based on process constraints and 2) facilitating service discovery, integer linear programming and interaction with the optimal partner Web services in the logic based constraint satisfaction to configure the presence of data and protocol heterogeneities, as well process, based on quantitative and non-quantitative as, supporting reconfiguration in presence of Web process constraints. Semantic representation of Web service invocation errors. This work was done as part services and process constraints are used to achieve of the METEOR-S [20] project, which deals with the dynamic configuration. An execution environment is complete lifecycle of semantic and dynamic Web presented, which can handle heterogeneities at the processes. protocol and data level by using proxies with data The key to our approach for process configuration is and protocol mediation capabilities. In cases of Web the use of semantics in describing the functional and service failures, we present an approach to non-functional capabilities of Web services. The reconfigure the process at run-time, without semantics of autonomously created Web services are violating the process constraints. Empirical testing explicated by annotating them with ontologies, which of the execution environment is performed to represent shared conceptualization of domains. Other compare deployment-time and run-time binding. contemporary approaches are dealing with Semantic Web Services (SWS) [26, 43], but so far comprehensive 1. Introduction handling of the semantic representation of the non- functional requirements of Web services and processes is lacking. We leverage our previous work in The advent of Web services and service oriented semantically capturing the functional [42] and non- architectures (SOA) [10], based on a loosely coupled functional requirements [8, 40] of Web services, as well distributed computing model, has the promise to create as, defining different types of semantics for Web next generation Web processes with more agility and services [32], for using semantics in this paper. dynamism. One of the original goals of SOAs was The two key components of our framework are the dynamic binding of Web services to existing business configuration module and the execution environment. processes. The standards based approach of Web The configuration module uses SWS discovery and services, along with massive tool support have made constraint analysis based on quantitative and non- them very popular to enterprise application integration quantitative constraints to configure Web processes. A projects. However, in spite of the large scale acceptance key research issue was handling both types of and deployment of Web services, they have been constraints. Correspondingly, a solution using an integer relegated to internal integration projects, and the grand linear programming (ILP) solver for handling vision of virtual enterprises where partners can be quantitative constraints and a Semantic Web Rule integrated on the fly is yet to be realized. There are two Language (SWRL) [35] reasoner for non-quantitative key reasons which have lead to curtailing of the original constraints has been proposed and prototyped. The visions – 1) business models, until very recently, have execution environment provides a logical layer over a not needed such dynamism and 2) the current standards standard Web process execution engine for handling the of Web services are not very suitable for (semi-) interaction between the process and the services automated discovery and integration as they lack returned by the configuration module. The key research adequate semantics for those tasks. Recent business use challenges in creating the execution environment was in cases such as [15] have shown that businesses are trying creating the ability for handling data and protocol level to build infrastructures, which will allow them to heterogeneities. Correspondingly, a solution for the integrate the most optimal partners with their business execution environment using a proxy with mediation minimized. Configuration refers to finding an capabilities has been prototyped. optimal set of partners for the process, who satisfy We will illustrate dynamic process configuration all the constraints. with the help of a dynamic supply chain of a computer • Reconfigure the process in cases of service manufacturer. In particular, we consider the part invocation errors. procurement component of their supply chain, where the • Perform ontology based data mediation. Different logistics department generates a set of process suppliers use different data formats, so it must be constraints, which must be satisfied while configuring able to perform data mediation to avoid data the process. The constraints include the budget, time, mismatch errors. business relationships, parts compatibility, etc. In • Perform interaction protocol mediation. Some addition, the process must be optimized on the basis of suppliers may have different interaction (business) an objective function. Finally, the execution protocols. For example, some supplier may require environment must be able to handle the protocol and a login before ordering, while another supplier may data heterogeneities of the suppliers’ Web services. need some additional information for providing This paper has the following research contributions. discounts. We believe this is the first paper, which presents a To support above requirements, our framework prototype for dynamic configuration and allows dynamic configuration and re-configuration of reconfiguration of processes, while considering data and Web processes with the help of semantic descriptions of protocol heterogeneities. In addition, the use of SWRL the services and process constraints. and ILP in conjunction allows us to consider a much 3. Architecture broader set of constraints than in previous works in adaptive workflows [21, 31]. The rest of the paper is The dynamic process framework architecture in this organized as follows: Section 2 presents the motivating paper has three main components – the process scenario. A high level overview of the architecture is designer, the configuration module and the execution presented in section 3. Section 4 discusses our approach environment. A high level architecture is shown in for capturing the semantic descriptions of the services. Figure 1. Sections 5 and 6 present the configuration module and 1. Abstract Web the execution environment. The empirical evaluation is Process + Process presented in section 7 and related work is discussed in Process Constraints + Virtual Configuration section 8. Finally the conclusions and future work are Designer Partners Module outlined in section 9. 3. Optimal Set 4. Reconfigure 2. Motivating Scenario of Services (if needed) In this section, we will outline a motivating scenario 2. Control Flow Execution 5. New Set for dynamic Web processes. Consider a computer Environment of Services manufacturer, who runs a highly flexible and adaptive supply chain. The manufacturer orders parts from Figure 1: Architecture Overview suppliers based on process constraints generated by the The process designer is a GUI based interface for logistics department. It has a number of suppliers it designing abstract Web processes. Abstract Web deals with, and it must choose an optimal set of processes consist of processes with virtual partner Web suppliers based on the generated process constraints. It services instead of real partner Web services. The requires the underlying process management framework abstract process is represented using WS-BPEL, the de- to be able to provide the following functionality: facto industry standard for Web services. An example • Handle quantitative process constraints. Some abstract Web process for the order procurement process examples are 1) the total cost of the process must is shown in Figure 2. The abstract process in Figure 2 not exceed $50000 and 2) the parts must be depicts an order procurement process from three delivered with 7 days suppliers, which are shown as virtual partners in the • Handle qualitative process constraints. Some process. Each virtual partner is represented using a examples are: 1) supplier for part 1 must be a semantic template, which captures the semantic preferred supplier and 2) the parts must be requirements of a partner. We will provide a definition compatible with each other. The rules for part of a semantic template in the discovery section. The compatibility and supplier status are represented configuration module is responsible for finding an using domain ontologies and rules. optimal set of real partner Web services for the process • Optimally configure the process based on an based on the process constraints. The execution objective function. For example: cost must be environment is responsible for handling the interaction inherently provided by description logics based OWL between the process and partner Web services. ontologies). All the examples discussed in this paper are based on an OWL ontology created using the RosettaNet PIP definitions available at [29]. 4.2. Capturing Non-Functional Semantics of Web Services The non-functional semantics of Web services are used to specify service information, which is relevant to carrying out a successful and beneficial invocation of the service’s operations. It may include information such as quality of service, security and transactions. In order to provide a uniform representation of the non- functional semantics, we have extended the WS-Policy framework [44] which provides a domain independent set theoretic model for associating non-functional attributes to Web services using terms defined in vocabularies/ontologies. A policy (P) is defined a collection of assertions (A). Figure 2: Abstract Web Process with Three P = {A} Virtual Partners U i i The process designer is discussed in detail in [22]. Each assertion (A) consists of a 6-tuple, which In this paper, we will concentrate on the configuration consists of a domain attribute (D), comparison operator module and the execution environment. (C), value (V), unit (U), assertion type (AT) and assertion category (AC). This definition of an assertion 4. Semantics for Web Services is a refinement of the definition proposed in [40]. A key to creating a framework for dynamic Web A = <D, C, V, U, AT, AC>, where processes is semantically representing the functional D is a domain attribute taken from a domain ontology. and non-functional capabilities of Web services. In this C is the comparison operator defined in the policy ontology. V is the value of the attribute. section, we will present a brief overview on the role and U is unit defined in policy ontology. use of semantics in this paper. AT is the type of the assertion (Requirement or Capability). 4.1. Semantics in the Business Domain AC is the category of the assertion ( owlClass, xmlType, swrlRule). In order for businesses to interoperate, it has been realized that standardization is the key. Business Let us consider an assertion, which states that the standards like ebXML Core Component Dictionary service provider has the capability to provide a (CCD) [13], RosettaNet Partner Interface Process (PIP) “response time” of less than equal to 60 seconds. It will directory [28] or OAGIS business schema [23] have be represented using the following notation: been developed to standardize messages, business Assertion Example: <qos:responseTime, policy:≤, 60, process protocol specifications and other aspects of B2B qos:sec, policy:Capability, policy:owlClass> interactions. Although, initially most of these were All the terms, which are taken from an ontology are represented using XML, the more expressive power of qualified using QNames [46]. In the example, the W3C recommended Web Ontology Language qos:responseTime represents the concept (OWL) [25] seems to be gathering momentum. This is “responseTime” in a QoS ontology and “qos” is mapped evidenced by recent efforts such as making ebXML to the namespace “http://someURI/qos.owl”. registries OWL aware [12] and the OWL version of the 4.3. Semantically Representing Web Services OAGIS business schema. In principle, ontologies represent a shared agreement on the meaning on the In this section, we will provide a definition of SWS, terms, regardless of the underlying format (syntax and which is required for various tasks such as discovery, structure). Thus these business standards can be either constraint analysis and mediation. This definition is seen as ontologies or the basis for defining ontologies in based on the definition of WSDL and proposed SWS a preferred conceptual model, as they represent specifications – OWL-S [OWL-S], WSDL-S [42] as documented agreements (or ontological commitment). well as types of semantics for Web services [32]. SWS However, the formal language and model behind the is defined as a 4-tuple of: a service level metadata tuple ontologies may provide more automated reasoning (SLM), collection of semantically described operations, power (e.g., subsumption and satisfiability are a collection of service level policy assertions (SLP), and Name:Action getOrder:Rosetta#requestPurchaseOrder M a SnW inSte =ra <ct SioLnM pr,oto{scoopl d(I}P,) .S LP, IP> I⎯⎯M→IO ORordseerttDa#etPauilrsc:h aseOrderRequest U i i O⎯⎯M→OO OerrCdoenrCfiormnfaitrimonat ion:Rosetta#PurchaseOrd where, SLM is a 4-tuple of the following: name of the Ex: Ex {LowInventoryException:SupplyChainO business (BusinessName), industry domain using the O nt# LowInventoryException} NAICS taxonomy (IndustryDomain), product code Pre:Pre {AccoutExists:Rosetta#CustomerAccoun O using DUNS code (Product Code) and the location tExists} (Location). Post:PostO {Confirmed:Rosetta#OrderConfirmed} OLP {<encryption,=,RSA,,Requirement>,<res SLM = <BusinessName, IndustryDomain, ProductCode, ponseTime,≤,60,sec, Capability>} Location> Table 2: Example of sopd An example of SLM is given in Table 1. This definition for SWS is a refinement of the broad BusinessName ABC definition of four types of semantics defined by [32] – IndustryDomain NAICS:443112(Electronics) data, functional, non-functional and ProductCode DUNS:32101601 (Random access execution/behavioral. The use of the different kinds of memory RAM) Location Athens, GA semantics in the dynamic process framework is shown Table 1: Example of SLM in Figure 3. The data semantics (I⎯⎯M→I , O A semantically described operation (sopd) is defined O⎯⎯M→O ) which semantically describe the inputs and as a 7- tuple of the following: operation name mapped O outputs of the Web services, are used in discovery and to an action concept in a domain ontology data mediation. Functional semantics (Name:Action , (Name:Action )1, input and output messages mapped to O O Pre:Pre , Post:Post ) which describe what a Web concepts in domain ontology (I⎯⎯M→I )2 and O O O service does, are used for discovery. The behavioral (O⎯⎯M→O ), collections of pre and post conditions semantics (IP), which describe how to interact with the O represented using concepts in a domain ontology Web services, are used for protocol mediation. The non- (Pre:Pre )and (Post:Post ), a collection of exceptions functional semantics (SLP, OLPs), describe the service O O mapped to a domain ontology (Ex:Ex ,) and a collection constraints are used during constraint analysis. O of policy assertions (OLP). sopd = <Name:ActionO, I⎯⎯M→IO, O⎯⎯M→OO, VCoerntfiicgaulr aAtixoins: M odule/ al usP hs r eioAn:wPgnnr aee nOxin, a o mnTptaolbelol eog Pfy2 o a.cs trsA:ePeanmot esaidtnnO tt,fei rcroaamlclty iRo dnoEe ssxepct:rtrEoaibxtNoeOecd, to olP pI(PeIPrsa )t[ Oi2ho9Len]lP pii>nss EFHSeuxomnercciazutniototinionctn s a El Anvxiirso:n Tmyepnet of ata unctional on Function ehavior FMPoroordmpeoalsl eisdm / D F N B Web service requestors to control their interaction with Protocol Mediation UAD Web services. Based on the universal acceptance of Data Mediation DL (OWL), UML, we chose UML activity diagrams (UAD) as the XQuery modeling paradigm for capturing interaction protocols. Constraint Analysis ILP, HL(SWRL) Our model is based on extended workflow nets outlined Discovery DL, HL in [1]. Details of the model are available online at [36]. KEY UAD:UML Activity Diagram DL : Description Logics ILP: Integer Linear Programming HL: Horn Logic based rules Figure 3: Use of Semantics in Dynamic Web Process Framework 5. Process Configuration Module 1 Mapping using ‘X:Y ’ denotes semantic mapping of X O Dynamic process configuration consists of to an ontological concept Y , signifying a semantic O dynamically choosing and binding services for Web equivalence relationship between and X and Y . O processes. The selection is based on semantic 2 Mapping (X⎯⎯M→YO) signifies semantic mapping of description of the Web services, as well as, process X to an ontological concept YO, along with a mapping constraints. The research issues in the designing the function M, which can be used to transform X to Y . configuration module included constructing a constraint O This kind of mapping is only used for inputs and analyzer which supports both quantitative and non- outputs, as the mapping function (M) is useful for data quantitative constraints, as well as, supporting run-time mediation binding. A high level diagram of the process Process Process Manager Semantic Designer/ Discovery Execution Engine Environment 1. Abstract Process + 2. Service Templates (Figure 7) Process Constraints + 4. Ranked Set of Service Templates 3. Abstract Process + Services for each Process Constraints Template 9. Binding Service to Proxy Constraint 5. Quantitative (deployment-time or Analyzer Process Constraints ILP Solver run-time) binding 8. Constraint 7. Non-Quantitative satisfying ranked set of Process Constraints partner services for 6. Ranked set of Binder process partner services for SWRL Reasoner process Figure 4: Process Configuration Module configuration module is shown in Figure 4. The process automated invocation of each operation. The user’s constraints and semantic templates (discussed in section requirements are captured using a semantic template 5.1) are passed to the process manager, which acts as a (ST) [33]. A semantic template is defined as a 3-tuple gateway to the configuration module. It is deployed as a of the following: collection of semantic operation Web service, so that it can be accessed remotely. For templates (sopt), a collection of service template level each semantic template, the discovery module returns a policies (STLP), and a collection of service template ranked set of services. Subsequently, the sets are passed level metadata (STLM). to the ILP solver, which uses the service sets, abstract ST = < STLM, {sopti}, SLPT> U process structure and process constraints to generate i ILP constraints. Ranked sets of partner services for the where, STLM is a 4-tuple of the following: name of the entire process are created by the ILP solver. These sets business (BusinessName), industry domain using the are then passed to the SWRL solver, which rejects the NAICS taxonomy (IndustryDomain), product code sets, which do not match the non-quantitative using DUNS code (Product Code) and the location constraints. Finally the optimal set, which satisfies all (Location). the process constraints, is sent to the binder. The binder STLM = <BusinessName, IndustryDomain, binds the services to the process. In the following sub- ProductCode, Location> sections, we will provide details of all sub-modules in A semantic operation template (sopt) is an abstract the configuration module– discovery engine, constraint representation of the functionality of an operation. It is analyzer and binder. similar to an sopd, except that it defined only using ontological concepts. It is defined as a 7-tuple of the 5.1. Discovery Engine following: an action concept in a domain ontology SWS Discovery is critical in identifying candidate (Action ), input and output messages mapped to O Web services which provide the required functionality. concepts in domain ontology (I ) and (O ), collections O O The goals of discovery in METEOR-S are the of pre and post conditions represented using concepts in following: a domain ontology (Pre ) and (Post ), a collection of O O • Find services that match user’s requirements. exceptions mapped to a domain ontology (Ex:ExO,) and a collection of policy assertions (OLP). • Provide enough information for automated sopt = <Action , I , O , Pre , Post , Ex , OLPT> invocation of the service. O O O O O O An example of semantic template is given in Figure The industry standard UDDI provides a keyword 5. The discovery engine returns a ranked set of Web based or category based search for Web services. It is services for a given semantic template. The discovery not adequate for either of the above requirements algorithm used in the paper is a refinement of the because there is no support for operation based algorithms proposed in [24, 27, 39]. SLM is used to find discovery, as operations are units of functionality within Web services, which deal with certain products in a the service. In order to overcome this problem, we certain area. Then “Action” is used to find out what added another layer over UDDI (using UDDI4J [37] functionality the service performs based on the product over a jUDDI [16] registry), which allows discovery (buy, sell, trade, etc.). Finally, inputs and outputs are based on a collection of semantically defined matched. operations, and returns the required information for Constraint Scope Representation using Policies Actual Constraints in ILP/SWRL Time <= 7 days (ILP) Process <supplyTime, <, 7, days, Requirement, owlClass, ‘’> (∀i,j)max(supplyTime(Pj)≤7 i Cost <= $50000 days (ILP) Process <cost, <, 50000, dollars, Requirement, owlClass, ‘’> ∑∑cost(Pj)≤50000 i i j Partner 1 cost should not exceed Process <cost (P1), <, 10000, dollars, Requirement, owlClass, ‘’> ∑∑cost(Pj)≤10000 $10000 (ILP) 1 i j Partner 1 must be preferred Process <status(P1.businessName), =, true, Requirement, preferredstatus( p1.businessName ) (SWRL) swrlRule, ‘’> = true Parts of partner 1, partner 2 and Scope1 <compatible(P1.ProductCategory, P2.ProductCategory, Compatible(P1.ProductCategory, partner 3 must be compatible P3.ProductCategory), =, true, Requirement, swrlRule, P2.ProductCategory, (SWRL) ‘scope1’> P3.ProductCategory) = true Table 3: Examples of CPAs 5.2.1. Quantitative Constraint Analysis and Optimization Module Semantic Template IndustryCategory = NAICS:Electronics The quantitative constraint analysis and optimization ProductCategory = DUNS:RAM module uses an ILP solver to find an optimal set of Location = Athens, GA services that satisfy the quantitative process constraints. Operation1 = Rosetta#requestPurchaseOrder We used the ILP module of the LINDO [18] API for Input = Rosetta#PurchaseOrderDetails Output = Rosetta#PurchaseConfirmation this module. The constraint process assertions are Non-Functional Requirements mapped to constraints in integer linear programming. Encryption = RSA This mapping is done using the following steps. The ResponseTime < 5 sec WS-BPEL process is converted to the workflow model Operation = Rosetta#QueryOrderStatus Input = Rosetta# PurchaseOrderStatusQuery presented in [8]. This model allows aggregation of Output = Rosetta# PurchaseOrderStatusResponse quantitative attributes like cost, time, etc. Candidate services are associated with each Web service partner of Figure 5: Example Semantic Template the process. This is done by creating a set of binary 5.2. Constraint Analysis variables (Pj) to represent each candidate service. i The constraint analysis module is responsible for Pj = {1 if, candidate service j is chosen for partner ‘i' finding the optimal set of services, which should be i bound to the process, subject to the process constraints. 0, otherwise The process constraints may be non-quantitative or The fact that only one candidate service can be chosen quantitative. We use the term process constraints to for a partner can be represented as: represent any aspect of the domain, environment, ∑Pj=1 i business model or user constraints which affect the j creation, execution, configuration or reconfiguration of Based on the process constraints and aggregate Web processes. They form the basis for configuration values, ILP constraints are generated based on ILP and reconfiguration of processes. There are two types based process optimization presented in [48; 4]. A of process assertions – constraint process assertions number of ILP constraints based on CPAs are shown in (CPA), objective process assertions (OPA). They are Table 3. The ILP solver returns ranked sets of optimal discussed in detail in section 5.2.1. services based on the value of the objective function, The constraint analysis module handles the which may be specified using an objective process quantitative constraints using integer linear assertion (OPA). In case of their being no objective programming (ILP) and the non-quantitative constraints function all the feasible service sets are returned in a using the Semantic Web Rule Language (SWRL) random order. [SWRL]. Both types of constraints are represented OPA = < max|min, <w1, criteria1, …> using constraint process assertions (CPAs). A (CPA) An example of an OPA is: <min, <0.5, supplyTime, 0.5, can be created by qualifying an assertion (A) by the cost> scope (part of the process) to which it applies. Table 3 5.2.2. Non-Quantitative Constraints Module shows some examples of constraint process assertions. The non-quantitative constraint module uses an CPA = <A <scope>, if <scope> = ‘’, then U SWRL reasoner to handle non-quantitative constraints. assertion applies to complete process. We chose SWRL to represent such constraints, as it provides a mechanism to use Horn logic like rules, over facts represented in OWL ontologies. We used the The non-quantitative constraint analysis module SWRL reasoning provided by SNOBASE [34] for iterates through the ranked set of services returned by implementing this module. This module takes the the quantitative constraint analysis module and chooses ranked list provided by the ILP solver and returns the the first set that satisfies all the non-quantitative most optimal set that satisfies all the non-quantitative constraints. constraints. The constraints are expressed as SWRL 5.3. Service Binding rules on particular attributes of returned services and are After the discovered services are passed through a of the form: constraint analyzer, the most optimal set which satisfies Predicate(P .attribute , P .attribute , P .attribute.....)= 1 2 3 all constraints must be bound to the process. Our current true|false prototype supports three kinds of binding – static Where, P is the partner service X in the process and x binding, deployment-time binding and run-time binding. “attribute” is some attribute of an candidate service. In static binding, the optimal set of Web services is Two examples of CPAs mapped to SWRL rules are permanently bound to the process. Deployment-time shown in Table 3. In order to be able to express and and run-time binding are achieved by using a proxy reason on non-quantitative constraints using SWRL, based approach (discussed in section 6) to bind the domain knowledge must be captured using OWL optimal set to the process. In deployment-time binding, ontologies. the configuration is done before the process starts executing. In run-time binding, the configuration is done after the process starts executing. Both deployment-time and run-time binding support reconfiguration. An empirical evaluation of the comparative performance of the three approaches is presented in section 7. 6. Execution Environment for Dynamic Web Processes Creating an execution environment for dynamic Web processes presented a number of research and engineering challenges. They were 1) supporting process configuration at both deployment and run-time, 2) integrating capabilities for protocol and data mediation and 3) ensuring compatibility with existing Web process engines such as BPWS4J [7] and ActiveBPEL [2]. Based on these requirements and our initial work on proxy based invocation of Web services Figure 6: Supply Chain Domain Ontology [38], we decided to create a logical layer over a Web process execution engine, which would use proxies for Consider a supply chain ontology created by the each virtual partner of the process. The configuration manufacturer in the motivating scenario, which captures module has the ability to change the service bound to the relationships between the items such as RAMs, the proxies by simply changing a field in a shared data motherboards and CPUs. A list of part suppliers and structure. This enables supporting both run-time and their technology constraints are also captured in the deployment-time binding, depending on the when ontology. Figure 6 shows the partial schema and some process configuration is requested. This data structure is instances of the supply chain ontology. Based on the synchronized and accessed by each proxy before each ontology, the SWRL rules for the constraints are Web service invocation. During reconfiguration, the created. There are represented as follows: process manager takes a lock on the data structure, thus Three parts X, Y and Z are compatible if they work making all proxies wait, while the process is being with each other: reconfigured. compatible (X, Y, Z):- Part (X) and Part (Y) and Part(Z) An overview of the execution environment is shown and worksWith (X,Y) and worksWith(X, Z) and worksWith (Y, Z) in Figure 7. The Web process execution engine invokes Preferred status of partner X is true if its partner a particular operation of a service. The invocation status is preferred: request is sent to the proxy for that particular service. preferredstatus ( X ) : - Partner(X) and The proxy starts by using the data mediator to convert partnerStatus (X, “Preferred”) the input data to the Web service’s input data format. It Web Service * Steps 8-11 may be repeated if the protocol handler finds execution dependencies on 9.* Operation Name + 10.* Service Output operation to be invoked Mapped Input 2a. Configure/Get Process Invoker Service Details Configuration 14. Reconfigure (in Module (Fig4) case of error) 11.* Service Output 2b. Service Details 8.* Operation Name + Mapped Input + Invocation Info 5. Operation Name + 3/15. Input/Output Mapped Input + + Proxy WSDL-S + Service Protocol URI Service WSDL-S Protocol Proxy Data Mediator Mediator 12. Service Output 4/16. Mapped 7. Inputs for other input/output operations 6. Query Inputs for 1. Operation other operations (if Name + input 17. Service Output needed) Database Bridge Execution Engine DB Figure 7: Execution Environment then checks with the protocol mediator to ensure that The parts of the inputs are mapped to other concepts in the particular operation can be invoked. In the case that the ontology. There may be some heterogeneity, in some other operations need to be invoked, an execution terms of the schema. For example, Quantity and plan is generated by the protocol handler. All the OrderQuantity mean the same thing and are mapped to operations in the execution plan are invoked using the the same concept. However this approach is limited as it invoker (concurrently, if possible). It is possible that cannot handle mappings between elements. A similar some of the inputs needed by the service may not be transformation is needed for the service’s output. available to the proxy. In that case, it gets to information from a database using the database bridge module. PROXY OPERATION INPUT SCHEMA Finally, the result of the operation is sent back via the <complexType PurchaseOrderRequest proxy to the execution engine. In case of error during modelReference=Rosetta: PurchaseOrderRequest> <element GlobalProductIdentifier type=xsd:int invocation, parts of the process may be reconfigured, by modelReference=Rosetta: GlobalProductIdentifier /> calling the configuration module. <element OrderQuantity type=xsd:string modelReference=Rosetta: OrderQuantity/ > 6.1. Data Mediator Module <element GlobalBusinessIdentifier type=xsd:string modelReference=Rosetta: GlobalBusinessIdentifier /> The data mediator module uses the data semantics of </complexType> the proxies and the Web services, to perform data SERVICE OPERATION INPUT SCHEMA mediation between them. The data mediation in this <complexType OrderRequest prototype is based on manual specification of the data modelReference=Rosetta: PurchaseOrderRequest> <element GlobalProductCode type=xsd:int semantics. There is currently support for two modelReference=Rosetta: GlobalProductIdentifier /> approaches for mediation, which are outlined in the <element Quantity type=xsd:string WSDL-S specification. The first approach involves modelReference=Rosetta: OrderQuantity/ > <element BusinessIdentifier type=xsd:string mapping each element of an input or output message to modelReference=Rosetta: GlobalBusinessIdentifier /> ontological concepts and then converting the messages </complexType> using the ontological concepts as a reference point. The Figure 8: Proxy and Service Input Schemas proxy and service input message schemas are shown in Figure 83. Both the inputs are mapped to the concept The second approach for data mediation is based on PurchaseOrderRequest in the RosettaNet ontology. mappings specified in XQuery or XSLT. Although richer mapping languages and representations are possible (e.g., see survey in [17]) we choose 3 ModelReference is Figure 8 is used in WSDL-S to XQuery/XSTL as mapping languages as they present a specify semantic mappings practical alternative that current Web service developers can use yet provide a rich set of functions for invoke “discount1” and “discount2”, or “login” again. declaratively specifying mappings.Consider, the inputs The protocol mediator downloads the protocol of the of the proxy and Web service (I and I ) being Web services and creates an execution plan. We assume Proxy Service mapped to concept C using mapping functions M1 and that inputs required for the additional operations are O M2: (I ⎯⎯M⎯1→C ) and (I ⎯⎯M⎯2→C ). The stored in a database or are subsumed by the operation’s Proxy O Service O input message. In the first case, the information is input message of the proxy is transformed to an instance accessed from the database, using the database bridge of an OWL concept, using the mapping function M1. shown in Figure 7. In case the messages are subsumed Subsequently, the OWL concept is converted to the by the original operation’s input message, they are input of the service using the inverse mapping function extracted from the input message. Human interaction for the function M2. This approach offers greater will be required if the information is not available. flexibility in terms of the mappings possible, but requires more work by the service provider in terms of 6.3. Runtime Process Reconfiguration specifying both the mapping function and its inverse. In this section, we will briefly describe process 6.2. Protocol Mediator Module reconfiguration. In cases of service invocation errors or contractual violations, the process must be reconfigured Different Web services may have different interaction i.e., that service that must be replaced. However, protocols. The proxy uses the protocol mediation dependencies may exist with other services (e.g., part module to ensure that the service’s interaction protocol compatibility), hence, more than one service may need is satisfied before it invokes the required of the to be replaced. However, some other services may operation of the Web service. Interaction protocol already have been invoked. Hence, the new service set mediation is based on using a restricted UML activity for the process must include the already executed diagram. The details of the model and the algorithms used for mediation are available online in [36]. services, and the process constraints must be changed to take care of that. Each proxy generates three types of events based on its status (Executing, Success, Failure). When a proxy invokes a service and it fails, it calls the Merge1 process configuration module with the Login.output == 0 reconfigure(proxyId) message. The configuration uses Decision1 the algorithm shown in Figure 10 to reconfigure the Login process: Login.output > 0 Login.output == 2 Login.output == 1 Reconfigure (proxyID) 1. Get status of all proxies from global event log Fork1 Decision2 2. If there exists a proxy Such that proxy.status = Executing Discount1 Discount2 WAIT 3. Otherwise, halt all proxies 4. For each service that is executed, Merge2 Change process constraints by putting actual Join1 values for the invoked service 5. Call configure based on process constraints 6. Continue Execution of all proxies Figure 10: Algorithm for Reconfiguration order Figure 9: Example of an Interaction Protocol The proxies are halted by using a shared data structure to store the service invocation details for each In this section, we will provide a brief description of proxy. All proxies have to get the service invocation the interaction mediation module with the help of an details before each invocation. Once a proxy calls example. Let us assume that a proxy has to invoke reconfigure, the process manager holds a lock on the operation “order” in a Web service, which has its process, and holds it until reconfiguration is completed. interaction protocol shown in Figure 9. Based on the Currently, reconfiguration assumes that all services can protocol, there are some other operations that the proxy be replaced. As a part of our future work, we plan to must invoke before it can invoke operation “order”. It incorporate ideas from transactional workflows and must first invoke “login” and then, based on the service’s response4, either invoke “order” directly or workflow recovery. 7. Empirical Evaluation 4 We require all conditions to be qualified using an This section presents an initial systems oriented evaluation of our dynamic process configuration output from a preceding operation of the switch framework. The aim of the empirical evaluation is three construct. Runtime Binding Discovery fold -1) to compare the performance of the three types 2506 Constraint of binding discussed in section 5.3, 2) to evaluate the 120 Analysis overhead added by the proxy and 3) to breakdown the 125 Motherboard 129 Proxy time taken by various components of the execution 59 Processor environment. This evaluation captures the dynamic 72 Proxy Memory aspects of our framework based on reconfiguration due Proxy Process to service errors, and in future it will be extended to Manager demonstrate the cost and benefits of using semantics. The tests were performed on Intel Pentium 4 PCs, Figure 12: Component based time consumption with Tomcat 4.1.30 and Apache Axis 1.2RC. jUDDI during runtime binding. registry configured with MySQL 4.1 database server was used for Web service publication and discovery. Figure 13 shows the time consumption of data The Web processes were created using WS-BPEL and mediation, service binding and interaction protocol executed using the IBM BPWS4J execution engine. mediation components of the system. These are invoked Since suitable real-world Web services are still not by the execution environment, during the process of available, we developed, published and deployed 40 service invocation. The service invocation times also web services for various vendors of computer parts to include invocations of multiple operations to satisfy an emulate various RosettaNet PIPs (open access to these interaction protocol. This corresponds to the third part services and the ontology are on the download sections of our evaluation objective. of [20]). The services were annotated using the Protocol Runtime Binding Proxy Mediation RosettaNet ontology [29] and NAICS classification. The web services deployed consisted of heterogeneities 19 15 Binding Time with respect to interaction protocols and data types. A Service failure probability of 3% was incorporated into the Web 29 Invocation services. Data Mediation 62 3500 Runtime Binding 3032 n 3000 Deployment Time Figure 13: Breakdown of components invoked by Process executio time(in ms)1122505050000000000 408 140 bStinadtiicn gBinding eswtxahetiTiclceuh tebio oinfvnfdae ierrniniognvu gias r ponptnoirmm oaifenlcneghxt idtrbaeuikslrieutislynt sgt h oseifel lrulevrseaitccrsaoet t nieenf xivgethoucecur aatittfoiiaooncnn t t i tmahnaedt, 0 Binding Technique optimization. Deployment time binding, although Figure 11: Comparison of execution times of s l o w e r , a l l o w s t h e p r o c e s s t o b e r e c onfigured and different process composition approaches optimized during execution time in the event of failure. Run-time binding offers the most flexibility from the Figure 11 shows a comparison of the execution point of service discovery and constraint analysis, while times using different binding approaches (averaged over taking maximum execution time. In case of service 200 executions) corresponding to first evaluation failures (7 times of 200 executions), the framework was objective. As expected, static binding took the least able to reconfigure the process five times (Other two time, followed by deployment-time binding and run- times, no feasible services were found). time binding. Service discovery and constraint analysis performed at every invocation of a process instance 8. Related Work contributed a lot to the slower execution times seen in This paper is based on research work in Semantic run-time binding, as evidenced by the graph in Figure Web services, Web service composition, adaptive 12 (the second objective of the evaluation). We show workflows and interaction protocol specification. We the times taken by each component, during the will now discuss related work in these areas. In the area execution of the process using run-time binding. All of semantic Web services, the OWL-S, WSMO and times measured in the experiment were in milliseconds. METEOR-S projects have tried to create specifications The discovery manager took 2506 ms which is 84% of for Semantic Web Services. The recently released the total time taken. Constraint analysis and WSDL-S specification by IBM and METEOR-S optimization took 4% of the total process execution researchers forms the basis for the definition of SWS in time. The proxies take only 12% of the execution time. this paper. This paper leverages semantic modeling of the WS-Policy specification to specify non-functional semantics of Web services and processes. Both OWL-S

Description:
The METEOR-S Approach for Configuring and Executing Dynamic Web Processes Kunal Verma, Karthik Gomadam, Amit P. Sheth, John A. Miller, Zixin Wu
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.