Constraint Driven Web Service Composition in METEOR-S Rohit Aggarwal, Kunal Verma, John Miller, Willie Milnor Large Scale Distributed Information Systems (LSDIS) Lab University of Georgia, Athens Presented By: Dr. Amit P. Sheth Outline • Introduction • METEOR-S @LSDIS • Constraint Driven Composition • Conclusions Introduction • Currently businesses are statically bound to partners – Static business models – Technological constraints • Emerging business models require more dynamism – Web services allow inter platform application integration • New challenges – Create a more dynamic business process creation environment – Allow automatic integration of partners in business processes – Create tools for optimizing such dynamic processes Characterizing the challenges • How to automatically integrate services ? – Semantic Web Services • The plug-and-play feature wherein services can be selected and replaced automatically requires Web service Semantics • How to optimize processes? – Constraint Analysis • To be able to select Web services that are optimal and satisfy client’s constraints requires the use of a Constraint Analyzer/Optimizer This work … • Presents constraint based Web service composition in METEOR-S • Presents an approach to integrate dynamic binding and optimization with BPEL4WS • Presents an approach that combines constraint analysis using description logics with integer linear programming http://www.daml.org/services/use-cases/architecture/QosUseCase/DynamicQoSWebProc-SWSA-UseCase-v1.htm Outline • Introduction • METEOR-S @LSDIS • Constraint Driven Composition • Conclusions METEOR-S • Uses semantics in the entire life cycle of Semantic Web Services and Processes – Semantics in Annotation, Publication, Discovery and Composition of Web Services • Comprehensive use of semantics (Data, Functional/Operational, QoS and Execution/Runtime) • Integrates and co-exists with current industry technologies E.g. Eclipse BPWS4J Editor, BPEL4WS Execution Engine • Consistent with and builds upon current industry standards and recommendations METEOR-S Back-End DesignTime Process Instance Initiation Time uses Service Template(s) (PUBLISH) Abstract Process Designer Process Annotation Tool Abstract Process Binder BPWS4J Execution Engine Process Repository Optimized Service Set query Discovery Engine Ranked Response Enhanced UDDI Executable Process Constraint Analyzer Outline • Introduction • METEOR-S @LSDIS • Constraint Driven Composition • Conclusions Constraint Based Process Composition • User defines High level goals – Abstract BPEL process (control flow without actual service bindings ) – Process constraints on QoS parameters • Generic parameters like time, cost, reliability • Domain specific parameters like supplyTime • Domain constraints captured in ontologies – E.g preferred suppliers, technology constraints Sample Abstract BPEL Process <process name="orderProcess" DEFINITIONS targetNamespace="http://tempuri.org/" xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:tns="http://tempuri.org/"> <partnerLinks> <partnerLink name="User" xmlns:ns1="tns" partnerLinkType="ns1:UserSLT"/> <partnerLink name="orderPartner" xmlns:ns2="?" partnerLinkType="ns2:?"/> <partnerLink name="orderPartner2" xmlns:ns8="?" partnerLinkType="ns8:?"/> </partnerLinks> <flow name="start"> Unknown partners FLOW <invoke name="orderPArt" partnerLink="orderPartner" xmlns:ns7="?" portType="ns7:?" operation="?" inputVariable="orderInput" outputVariable="orderOutput"> </invoke> <invoke name="orderPArt2" partnerLink="orderPartner2" xmlns:ns9="?" portType="ns9:?" operation="?" inputVariable="orderInput" outputVariable="orderOutput"> </invoke> </flow> </process> Constraint Analyzer/Optimizer • Constraints can be specified on each activity or on the process as a whole. • An objective function can also be specified e.g. minimize cost and supply-time etc • The Web service publishers provide constraints on the web services. • The constraint optimizer makes sure that the discovered services satisfy the client constraints and then optimizes the service sets according to the objective function. Constraint Representation – Domain Constraints Fact OWL expression Supplier1 is an instance of network adaptor supplier Supplier1 supplies #Type1 Supplier1 is a preferred supplier. <NetworkAdaptorSupplier rdf:ID="Supplier1"> <supplies rdf:resource="#Type1"/> <supplierStatus>preferred </supplierStatus> </NetworkAdaptorSupplier> Type1 is an instance of NetworkAdaptor Type1 works with Type1Battery <NetworkAdaptor rdf:ID="Type1"> <worksWith> <Battery rdf:ID="Type1Battery"> </worksWith></ NetworkAdaptor > Constraint Representation – Process Constraints Feature Goal Cost Optimize supplytime Satisfy partnerStatus Optimize Value <7 Unit Aggregation Dollars Σ (minimize total process cost) Days MAX (Max. supply time below Value) MIN (Select best partner level; lower value for preferred partner) Integer Linear Programming • Constraints are converted into linear equalities/linear inequalities over a set of discovered services. • We have used LINDO API which helps in solving ILP problems. e.g. if three services match the service template with a constraint that cost<=500 and minimum A + B + C = 2 (choose 2 services) CA*A + CB*B + CC*C <= 500 (total cost constraint) And minimize (CA*A + CB*B + CC*C) as objective function (where A, B and C are binary) Working of Constraint Analyzer Service Template 1 Service Template 2 Supply-time <= 4 Supply-time <= 3 Cost <=200 Cost <=300 Abstract Process Specifications Process constraints Supply-time<=7 Cost<=400 Min (Cost, Supply-time) Discovery Engine ST=2 C=100 ST=4 C=200 Ranked Set ST=3 C=250 Constraint Analyzer ST=3 C=180 Objective Function Min (supply-time + cost) ST=4 C=200 ST=3 C=180 ST=3 C=200 ST=1 C=300 ST=2 ST=3 C=250 C=100 Outline • Introduction • METEOR-S @LSDIS • Constraint Driven Composition • Conclusions Conclusion • METEOR-S adds the advantage of taking an abstract process as a starting point and automatically binding services to it • To have dynamism in process composition – METEOR-S helps to provide the plug-and-play support for dynamically selecting Web services by enhancing discovery of relevant Web services using Semantics. – METEOR-S reduces manual intervention during Web process composition. It has the facility of choosing the optimal set automatically or having the user choose the best set from a list – Constraint analysis gives a better service and choice to the clients by making sure that the services satisfy the constraints and also by choosing the optimal set of services automatically. References • [Rajasekaran et al., 2004] P. Rajasekaran, J. Miller, K. Verma, A. Sheth, Enhancing Web Services Description and Discovery to Facilitate Composition, Proceedings of SWSWPC, 2004 • [METEOR-S, 2002] METEOR-S: Semantic Web Services and Processes, http://swp.semanticweb.org , 2002. • [Ankolenkar et al., 2003] The DAML Services Coalition, DAML-S: Web Service Description for the Semantic Web, The First International Semantic Web Conference -ISWC, Italy • [Roman et al., 2004] D.Roman, U. Keller, H. Lausen, WSMO – Web Service Modeling Ontology (WSMO), DERI Working Draft 14 February 2004, http://www.wsmo.org/2004/d2/v0.1/20040214/ Thank You http://lsdis.cs.uga.edu/Projects/METEOR-S/