400 likes | 538 Views
BondFlow: A Platform for Distributed Workflows over Web Services. Janaka Balasooriya Department of Computer Science University of Missouri – Rolla The BondFlow System was Developed in the Department of Computer Science Georgia State University. Agenda.
E N D
BondFlow: A Platform for Distributed Workflows over Web Services Janaka Balasooriya Department of Computer Science University of Missouri – Rolla The BondFlow System was Developed in the Department of Computer Science Georgia State University
Agenda • Web Services Infrastructure and Research Issues. • Distributed Workflows Over Web Services. • Web Coordination Bonds • Web Service Coordination Management Middleware • BondFlow System • Future Directions. • The BondFlow system as a web based tool kit • Incorporate WS-Security protocol in Web Coordination Bonds • Minimum set of coordination primitives for web service coordination • Q&A.
Solution WSDL B B WSDL SOAP WSDL C A C A Web Services – Hide Network and System Heterogeneity • Conventional Distributed Systems: • Conventional middleware and Enterprise Application Integration (EAI) technologies have limited success. • Lacks interoperability. RMI B Inter-OperabilityProtocols C A CORBA COM • Web Services: • Uniform interface (WSDL: Web Service Description Language) • Common communication platform (SOAP: Simple Object Access Protocol) • Hide the network and system heterogeneity.
Web Services Infrastructure: Current State of the Art Directory Web Services Can be: Look up • Identified by a Uniform Resource Identifier (URI) • Described and discovered • Composed to create complex applications • Loosely coupled Publish ServiceRequestor WSDL WS Invoke/Response (SOAP) Web Service Infrastructure: Current State of the Art
Proliferation of The Web Service Technology • Applicable In Many Application Domains • E-Commerce (Supply Chain, Banking, Travel Application) • Scientific applications (bio-medical, space exploration ) • Open Grid Service Architecture (Open Grid Services Architecture). Statistics • Web services based projects will reach $11 billion by 2008, compared to $1.1 billion in 2003 [International Data Coorporation, http://www.idc.com]. • A Gartner (http://www.gartner.com) survey of 110 companies also indicates that 54% are already working on or planning to work on Web services projects.
Web Service Applications : Purchase Order Workflow Receive Purchase Order (RPO) Initiate Product Scheduling Decide on Shipper Initiate Price Calculation PS PC DS Complete Price Calculation Complete Product Scheduling Arrange Logistics Invoice Processing (IP)
IPC IP DS RPO Web Service Application Development: Current Practice and Research Issues Web Service Based Workflow Applications • Web services are distributed across the network. IPS • Web service composition. CompositeWeb Process • Issues • Detailed level Programming: Confined only to expert users. • Centralized Coordination:Web services are not live participants. Developing Purchase Order Workflow: Current Practice
Current State of the Art • Centralized Coordination • Web services are not active participants • Composite applications require • Centralized coordination • Significant application development effort • Performance and Security issues • Many Workflow Composition Languages • Currently, too many standards for Web service composition and coordination • No fundamental Web service composition framework • Solutions are not elegant • Fundamental issues have not been filtered out
Our Vision BondFlow System • Core set of primitives for web service coordination - Web Coordination Bonds WSCMM WS • Extend the Web service infrastructure beyond the basic service architecture (invoke and respond) – Web Coordination Management Middleware (WSCMM) Bonding Artifacts WSCMM WS WSCMM WS WSCMM WS • Workflow configuration and execution platform
Billing • Analogously, Web services having well-defined interfaces are “Web atoms” and “Web hooks” in the Web services interface provides required Web bonding. Order Pickup Web Bonds H H H H Delivery Order Delivery Billing Pickup Package Pickup and Delivery Workflow Over Web Services Web Coordination Bonds: Analogy Between Web Bonds and Chemical Bonds Chemical Bonding H • Chemical Bonds: Simple but powerful enough to produce complex compounds. C C H H H CH4 Four H atoms and One C atom
Web Coordination Bonds • Web Bonds enables an application to create and enforce interdependencies, constraints and automaticupdates among groups of Web entities [HICSS, 04]. • Two types : Negotiation bonds and Subscription bonds Subscription Bonds Semantics Hotel (B) Subscription Bond: Change A then Try: Change B, Change C. Flight (A) Pickup (C) • Automatic flow of information.
Semantic: Negotiation-and Bond: Change A only if B and C can be successfully changed. Negotiation Bond Negotiation bonds enforce • Dependencies and constraints across entities • Trigger changes based on constraint satisfaction. B Verify product availability A C Online purchase Verify payment Information
Modeling Dependencies Using Web Bonds Consumer web process Produce web process Negotiation bond PlaceOrder() AcceptOrder() Subscription bond Negotiation bond Accept Delivery ( ) Dispatch Goods ( ) Producer-Consumer Relationship • How capable web bonds are?
Capabilities of Web Coordination Bonds Modeling Power: • Web bonds have the modeling power of extended Petri nets (Petri net with inhibitor arcs) [HICSS ‘05]. • Web bonds can express all the benchmark patterns for workflows and for inter-process communication [HICSS ‘05]. Expressiveness: -
Expressiveness: Modeling Benchmark Workflow Control Flow Patterns Sequence Using Web Bonds Sequence A B C A B C AND split followed by AND join using web bonds AND split followed by AND join B B A C E E A C D D
WSCMM WS WSCMM WS WSCMM WS Our Vision and Contributions BondFlow System • Core set of primitives for web service coordination - Web Coordination Bonds WSCMM WS • Extend the Web service infrastructure beyond the basic service architecture (invoke and respond)– Web Coordination Management Middleware (WSCMM) Bonding Artifacts • Workflow configuration and execution platform
APPL (Application) APPL UIMS UIMS APPL APPL WFMS DBMS DBMS DBMS Evolution of database applications APPL APPL Web Coordination WSCMS Web Process WSMS WSDL WSCMS: Web Service Coordination Management System WSMS: Web Service Management System [ICWS ’05] Web Service Web Service (a): Web server applications (b): 1-Tier Web service applications (d): 3-Tier web service applications DB File systems DB DB (a): File systems (b): 1-Tier database applications (c): 2-Tier database applications (d): 3-Tier database applications APPL Web Servers Analogy: Evolution of Database Applications vs Web Service Applications Proposed development for Web service infrastructure
RPO DS IP IPC Web Service Coordination Management Middleware: Requirements [ICWS ’06] High-level Description of the workflow Composite Web process Code Enforce Workflow Dependencies WSCMS Enorce Workflow Dependencies (Coodrination Context) IPS Preserve State Information, WS Method invocation Process Messages WSMS Communication handling (Message Correlation, State) CompositeWeb Process Stateless Web Service Stateless Web Service Functional decomposition of composite web process [ICWS ’06]
Web Service Coordination Management Middleware: An Overview WSMS • Preserve state • Process messages • Coordinator proxy object WSCMS • Maintain coordination Information • Enforce workflow dependencies WF j WF i WF k SOAP/Messaging System Message Handler WSMS WSCMS i j k i j k Coordination context Coordinator object handler Web Service
Coordinator Proxy Object • The coordinator object provides the same interface as the web service provides to the outer world. • Web service method invocations of the workflow take place through the coordinator object. • The web bond coordination layer ensures that pre and post method invocation dependencies are satisfied. The Coordinator Proxy Object
Flow Within a Coordinator Object • Each web service method call is encapsulated by pre and post dependency check.
WSCMM WS WSCMM WS WSCMM WS Our Vision and Contributions BondFlow System • Core set of primitives for web service coordination - Web Coordination Bonds WSCMM WS • Extend the Web service infrastructure beyond the basic service architecture (invoke and respond)– Web Coordination Management Middleware (WSCMM) Bonding Artifacts • Workflow configuration and execution platform
BondFlow: System Architecture [HCW ‘05] • Web service interface module • Proxy object generator module • Workflow configuration module • Execution module. • Handheld based Execution [MW ’04] Web Service Interface Module Lookup for Web services Web Services Registry (UDDI) S O A P WS Locator WSDL WSDL Parser Parsed WSDL Workflow Execution Module Proxy Object Generator Module Web Bond Runtime SOAP/ SyD Workflow Configuration Module JVM
Parsed WSDL BondFlow System : Developers Perspective Search web service (WS)-UDDI directory WSDL parser Select suitable WSs for the workflow Coordinator objects Configure workflow Select WS pairs for bonding Create bonds between methods of selected WS pairs. Execute workflow
Book Price Workflow BN eB AM CE Barnes and Noble Price Quote (http://www.xmethods.net/sd/2001/BNQuoteService.wsdl ) eBay Price Watcher (http://www.xmethods.net/sd/2001/EBayWatcherService.wsdl ) Amazon Query Service (http://majordojo.com/amazon_query/amazon_query.wsdl ) Currency Exchange (http://www.atlaz.net/webservices/GetCurrencyExchange.wsdl )
Purchase Order Workflow Using Web Bonds Receive Purchase Order Initiate Product Scheduling Decide on Shipper Initiate Price Calculation Complete Price Calculation Complete Product Scheduling Arrange Logistics Invoice Processing
Number of Methods WSDL Size (KB) Proxy Creation Time(ms) Proxy Object Footprint (KB) 1 2 20 2.2 2 2.3 23 2.3 4 8 32 2.6 5 12 40 2.5 8 16 46 3.5 17 32 76 5.7 Performance Measurements • Size of WSDL (number of methods) vs. Coordinator Proxy Object Generation Time • Proxy object generation time is very small and wrapper size is less than 10 KB even for a Web service with 17 methods.
Workflow Execution Timings SB= Subscription bond, NB= Negotiation bond • Bond related execution time is only a small fraction the total workflow execution time .
WS WS WS Composite Web Process Invoke/Response WSCMM WSCMM WSCMM WS WS WS Broader View Negotiation Bonds Subscription Bond • Limitations of Web service composition (orchestration) and coordination (choreography) • For experts only • Web Services not live participants • Centralized Coordination among self-coordinating Web services using Web bonds
Future Directions • Web based toolkit for workflow configuration and deployment • Develop the BondFlow system as a web based tool. • Handheld based execution of such workflows. • Application of the BondFlow system in different domains (Biological workflows, E-Commerce applications)
Future Directions • Incorporation WS-Security protocol • Specify how to preserve the confidentiality of SOAP messages by attaching signatures and encryption headers. • Specify how to attach security tokens (binary format) to messages. • Goal Use WS-Security specifications to incorporate security policies to Web Coordination Bond related communication.
Future Directions • Extend the web coordination bond concept towards “distributed coordination theory.” • Minimum set of coordination primitives that is sufficient to model workflow dependencies. Idea: • Group workflow dependencies into equivalent classes. • Identify coordination primitives required that covers all the equivalent classes.
Related Publications [ICWS ’06] Janaka Balasooriya, Jaimini Joshi, Sushil K. Prasad, and Shamkant Navathe, “Distributed Coordination of Workflows over Web Services and Their Handheld-based Execution,” Accepted in the 4th Intl. Conf. on Web Services (ICWS’06), Chicago, September, 2006. [ICWS ‘05] Janaka Balasooriya and Sushil K. Prasad, “Toward Fundamental Primitives and Infrastructure Enhancements for Distributed Web Object Coordination and Workflows,” In Proc. of IEEE, 3rd Intl. Conf. on Web Services (ICWS’05), Orlando, July, 2005. [ICWS ‘05] Sushil K.Prasad, Anu G. Bourgeois, Praveen Madiraju, Srilaxmi Malladi, and Janaka Balasooriya, “A Methodology for Engineering Collaborative Applications over Mobile Web Objects using SyD Middleware,” In Proc. of IEEE, 3rd Intl. Conf. on Web Services (ICWS’05), Orlando, July, 2005 (acceptance rate 20%)
Related Publications [HCW ‘05] Janaka Balasooriya, Mohini Padye, Sushil Prasad, and Shamkanth B. Navathe, “BondFlow: A System for Distributed Coordination of Workflows over Web Services,” In Proc.of IEEE, 14th Heterogeneous Computing Workshop in Conjunction with IPDPS 2005. Denver, Colorado, USA, April. [HICSS’05] Sushil K. Prasad and Janaka Balasooriya, “Fundamental Capabilities of Web Coordination Bonds: Modeling Petri Nets and Expressing Workflow and Communication Patterns over Web Services,” In Proc. of IEEE, 38th Hawaii Intl, Conf. on System Sciences (HICSS-38), Big Island, Hawaii, January, 2005. [HICSS’04] Sushil K. Prasad and Janaka Balasoorya, “Web Coordination Bonds: A Simple Enhancement to Web Services Infrastructure for Effective Collaboration,” In Proc. of IEEE, 37th Hawaii Intl. Conf. on System Sciences (HICSS-37), Big Island, Hawaii, January, 2004.
Related Publications • [MW ’04] S. K Prasad ... et al. 2004. “System on Mobile Devices (SyD): A Middleware Testbed for Collaborative Applications over Small Heterogeneous Devices and Data Stores,” Procs. ACM/IFIP/USENIX 5th International Middleware Conference, Toronto, Ontario, Canada, October 18th - 22nd