# Presentation: 580071

## 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.

## Web Services – Hide Network and System Heterogeneity

**Conventional Distributed Systems:**
-  Conventional middleware and Enterprise Application Integration (EAI) technologies have limited success.
-  Lacks interoperability.

**CORBA**

**RMI**

**COM**

**A**

**C**

**B**

**Web Services:**
-  Uniform interface (WSDL: Web Service Description Language)
-  Common communication platform (SOAP: Simple Object Access Protocol)
-  Hide the network and system heterogeneity.

**Inter-Operability**** ****Protocols**

## Web Services Infrastructure: Current State of the Art 

- WSDL

**Directory**

**Service**** ****Requestor**

**WS**

**Publish**

**Look up**

**Invoke/Response**
**(SOAP)**

- Web Service Infrastructure: Current State of the Art

-  Identified by a Uniform Resource Identifier (URI)
-  Described and discovered
-  Composed to create complex applications
-  Loosely coupled

- Web Services Can be:

## 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).

-  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.

**Statistics**

## Web Service Applications : Purchase Order Workflow

**Web Service Applications : Purchase Order Workflow**

**Receive Purchase**
**Order**

**Initiate**
**Price Calculation**

**Complete**
**Price Calculation**

**Initiate Product **
**Scheduling**

**Invoice **
**Processing**

**Complete**
** ****Product **
**Scheduling**

**Decide on **
**Shipper**

**Arrange **
**Logistics**

**PC**

**DS**

**PS**

**(IP)**

**(RPO)**

## Web Service Application Development: Current Practice and Research Issues

**Issues**
** ****Detailed level Programming:**  Confined only to expert users.
** ****Centralized Coordination:**  Web services are not live participants.

**Web Service Application Development: Current Practice and Research Issues**

**Web Service Based Workflow Applications**
-  Web services are distributed across the network.

- Developing Purchase Order Workflow: Current Practice

**         ****IPS**

**Composite**** ****Web Process**

-  Web service composition.

## Current State of the Art 

-   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

** ****Many Workflow Composition Languages**

-  Web services are not active participants
-  Composite applications require
** **Centralized coordination
-  Significant application development effort
-  Performance and Security issues

** ****Centralized Coordination**

## Workflow Languages (http://www.ebpml.org/status.htm)

**Workflow Languages (http://www.ebpml.org/status.htm)**

## Our Vision

**  ****WS**

- WSCMM

- WSCMM

** ****WS**

**  ****WS**

- WSCMM

**  ****WS**

- WSCMM

**Our Vision**

**BondFlow**** System**

-  Core set of primitives for web service coordination - **Web Coordination Bonds**

-  Extend the Web service infrastructure beyond the basic service architecture (invoke and respond) – **Web Coordination Management Middleware (WSCMM)**

-  Workflow configuration and execution platform

## Web Coordination Bonds: Analogy Between Web Bonds and Chemical Bonds 

- C

**Web Coordination Bonds: Analogy Between Web Bonds and Chemical Bonds**** **

- Chemical Bonds: Simple but powerful enough to produce complex compounds.

- C

- H

- H

- H

- H

- CH4

- Chemical Bonding

- Four H atoms and One C atom

## Web Coordination Bonds

-   Web Bonds enables an application to create and enforce ***interdependencies***, ***constraints*** and ***automatic**** ****updates*** among groups of Web entities [HICSS, 04].
-  Two types : Negotiation bonds and Subscription bonds
**Subscription Bonds**

- Hotel
- (B)

- Pickup
- (C)

- Flight
- (A)

***Subscription Bond:***** Change A then Try: Change B, Change C.**** **

**Semantics**

-  Automatic flow of information.

## Negotiation Bond

**Negotiation bonds** enforce
-  Dependencies and constraints across entities
-  Trigger changes based on constraint satisfaction.

- B

- C

**A**

- Online purchase

- Verify product availability

- Verify payment Information

## Modeling Dependencies Using Web Bonds

**Producer-Consumer Relationship**

**Produce web process**

**Consumer web process**

- AcceptOrder()

- PlaceOrder()

- Accept Delivery ( )

- Dispatch Goods ( )

- Negotiation bond

- Negotiation bond

- Subscription bond

-  How capable web bonds are?

## Capabilities of Web Coordination Bonds

-   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:**

**Modeling Power:**

## Expressiveness: Modeling Benchmark Workflow Control Flow Patterns

**Sequence**

**AND split followed by AND join**

- Sequence Using Web Bonds

- AND split followed by AND join using web bonds

**A**

**B**

**C**

**A**

**B**

**C**

**A**

**D**

**C**

**B**

**E**

**A**

**D**

**C**

**B**

**E**

## Our Vision and Contributions

- WSCMM

**  ****WS**

**Our Vision and Contributions**

**BondFlow**** System**

-  Core set of primitives for web service coordination - **Web Coordination Bonds**

** ****Extend the Web service infrastructure beyond the basic service architecture (invoke and respond)– Web Coordination Management Middleware (WSCMM)**

-  Workflow configuration and execution platform

## Analogy: Evolution of Database Applications vs Web Service Applications

**Analogy: Evolution of Database Applications vs Web Service Applications**

**Proposed development for Web service infrastructure**

## Web Service Coordination Management Middleware: Requirements [ICWS ’06]

**Web Service Coordination Management Middleware: Requirements [ICWS ’06]**

-  Functional decomposition of composite web process [ICWS ’06]** **

- Composite Web process Code

- High-level Description of the workflow

**Enorce Workflow Dependencies**
**(Coodrination Context)**

**Communication handling**
**(Message Correlation, State)**

**Process**
** ****Messages**

**Preserve State **
**Information, **
**WS Method **
**invocation**

**Enforce Workflow **
**Dependencies**

**WSCMS**

**WSMS**

- Stateless Web Service

**         ****IPS**

**Composite**** ****Web Process**

- Stateless Web Service

## Web Service Coordination Management Middleware: An Overview

**WSMS**
- Preserve state
- Process messages
- Coordinator proxy object
**WSCMS**
- Maintain coordination Information
- Enforce workflow dependencies

**SOAP/Messaging System**

***WF****** j***

***WF****** k***

**   ****WSMS**

**   ****WSCMS**

***i***

***k***

***i***

***k***

***j***

**Coordinator object handler**

**Coordination context**

**Message Handler**

***WF****** i***

***j***

- 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.

## Our Vision and Contributions

- WSCMM

**  ****WS**

**Our Vision and Contributions**

**BondFlow**** System**

-  Core set of primitives for web service coordination - **Web Coordination Bonds**

** **Extend the Web service infrastructure beyond the basic service architecture (invoke and respond)– **Web Coordination Management Middleware (WSCMM)**

-  **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**

- WSDL Parser

- WS Locator

**Proxy Object Generator Module**

**Workflow Configuration  Module**

**Web Services Registry (UDDI)**

**S**
**O**
**A**
**P**

- Lookup for Web services

- WSDL

- Parsed WSDL

**Workflow Execution Module**

- SOAP/ SyD

- Web Bond Runtime

- JVM

## BondFlow System : Developers Perspective

**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**

## Distributed Workflow Execution of the BondFlow System 

**Distributed Workflow Execution of the BondFlow System**** **

## Book Price Workflow

**  **
**BN**

** ****CE**

**       ****eB**

**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  )

**          ****AM**

## Purchase Order Workflow Using Web Bonds

**Purchase Order Workflow Using Web Bonds**

**Receive Purchase**
**Order**

**Initiate**
**Price Calculation**

**Complete**
**Price Calculation**

**Initiate Product **
**Scheduling**

**Invoice **
**Processing**

**Complete**
** ****Product **
**Scheduling**

**Decide on **
**Shipper**

**Arrange **
**Logistics**

## 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 .

| Workflow Description | Check for Bonds (ms)
 | Execute Negotiation bonds (ms) | Execute subscription bonds (ms)
 | Total workflow execution time (ms) | Bond related timings as a percentage % |
| --- | --- | --- | --- | --- | --- |
| #of SB’s = 3, #of  NB’s= 2 (book price) | 48 | 17 | 17 | 5577 | 1.40% |
| #of SB’s=4 | 46 | 0 | 21 | 6406 | 1.07% |

## Footprint of Workflows

| Workflow | Proxy Objects (KB) | Coordination Context (KB) | Footprint (KB) |
| --- | --- | --- | --- |
| Purchase order  | 7.10 | 25.40 | 32.50 |
| Online book     purchase  | 5.82  | 19.80  | 25.62  |

## Broader View

- Coordination among self-coordinating Web services using Web bonds

- Limitations of Web service composition (orchestration) and coordination (choreography)
-  For experts only
-  Web Services not live participants
-  Centralized

**Subscription Bond**

**Negotiation 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.

## Q&A?

## 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 4*th 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

## Thank you !