1 / 23

RobustBPEL2: Transparent Autonomization in Business Processes through Dynamic Proxies

RobustBPEL2: Transparent Autonomization in Business Processes through Dynamic Proxies. Onyeka Ezenwoye S. Masoud Sadjadi Autonomic Computing Research Lab Florida International University. ISADS 2007. Introduction. The Trend

vashon
Download Presentation

RobustBPEL2: Transparent Autonomization in Business Processes through Dynamic Proxies

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. RobustBPEL2: Transparent Autonomization in Business Processes through Dynamic Proxies Onyeka Ezenwoye S. Masoud Sadjadi Autonomic Computing Research Lab Florida International University ISADS 2007

  2. Introduction • The Trend • Organizations need to integrate applications and data with other divisions, customers, partners, etc. • This is commonly known as Enterprise Application Integration (EAI) or Business Process Integration (BPI)

  3. Enterprise A Enterprise C … … … … App 1 App 1 App 1 App 1 App N App N App N App N CORBA etc. Java RMI .NET Internet Firewall Firewall Firewall Firewall Enterprise B Enterprise D Introduction • The Problem • The existing marketplace is littered with proprietary middleware/protocols (e.g. Java RMI, .NET, CORBA, etc) for service interaction. • These protocols do not openly support inter-organization service interactions over the internet.

  4. Web services • What is a Web Service • Web services are applications that communicate through middleware (WSDL) over the internet. • Core Technologies • XML (eXtensible Markup Language) • SOAP (Simple Object Access Protocol) • WSDL (Web Service Description Language)

  5. Customer Customer Sales Service (a workflow) Accounting Service Production Service Inventory Service Delivery Service Business Processes • Service Aggregation

  6. Business Process Execution Language (BPEL) • BPEL is workflow language for recursive composing aggregate Web service • XML based • A BPEL process is defined in terms of its interactions with partners. • A partner may provide service to the process, require service from the process or both.

  7. *A Loan Approval Process Client Web Service Web Service Client *www.activebpel.org

  8. Service Service Service Service Orchestration application BPEL • Workflow Design • Structure • Non-DAG • Support for iterations, loops • Data Movement • Centralized

  9. BPEL • Workflow Design • Composition System • User-directed • Language-based (xml-based) • Graph-based • Fault tolerance • Non • Has fault and event handlers

  10. BPEL Challenges • Not modular enough to support • Separation of concerns • Maintainability • Evolution • BPEL is not dynamic • No runtime workflow alteration for optimization or fault-tolerance

  11. BPEL Challenges • Minimal fault handling. • Supports compensation handling. • Dynamism through middleware • application, messaging.

  12. Our Approach • Transparent Adaptation • Allows introduction of new code (component) at run-time • does not tangle cross-cutting concerns with original application (separates functional code from non-functional code) • preserves desirable original behavior • is transparent to the original code (the original code is unaware of the adaptation)

  13. RobustBPEL • Why RobustBPEL • BPEL is susceptible to failures of partner services • BPEL provides no fault tolerance • BPEL is not dynamic • BPEL not modular enough for aspect programming • Provide robustness in the event of failure of invoked services. • Allow for runtime introduction of components

  14. RobustBPEL • RobustBPEL-1 (Static Proxies) [ICEIS-06] • RobustBPEL-2 (Dynamic Proxies) [ISADS-07]

  15. RobustBPEL • Encapsulate BPEL activities with generic hooks. • Hooks will point to “proxy” Web Service. • Fault tolerance and adaptation will be provided through Proxy service • Fault tolerance • Task level • Retry • Alternate resource

  16. *A Loan Approval Process Client Web Service Web Service Client *www.activebpel.org

  17. A better Loan Approval Process Web Service Monitor Web Service Web Service Monitor Web Service

  18. RobustBPEL-2 Generator Parser Adapt-Ready BPEL Compiler Generated Adapt-Ready BPEL Original BPEL Local Disk XML Configuration File Template for Proxy Class Binding stub for WSi Binding stub for WSi Dynamic Proxy Compiler Generated Dynamic Proxy Legend: File or Document Processor Data Flow Generator

  19. The Proxy • Proxy isspecificbutdynamic • Interface for proxy is specific • One proxy from every adapted process • Discovers and bind to alternate services

  20. ptn pt1 WS1 WSn Architectural diagrams showing the sequence of interactions among the components in a typical aggregate Web service. Client Program 2 Aggregate Web Service 1 n partner Web services . . . . . . Legend: Service port type (pt) Web service (WS) Sequence of events Service dependency 1

  21. ptj ptj pt1 ptn pti pti WSi1 WSip WSj1 WS1 WSjq WSn Sequence of interactions in RobustBPEL-1 Client Program 2 Adapt-Ready Aggregate Web Service 1 n partner Web services . . . . . . Absence of Faults 3 Presence of Faults pti ptj 4 Static Proxy p equivalent Web services for WSi . . . . . . generated to handle the faults by two selected partner Web services (WSi and WSj) q equivalent Web services for WSj . . . . . . Legend: Service port type (pt) Web service (WS) Sequence of events 1 Service dependency (static binding) Service dependency (dynamic binding)

  22. pt1 ptn WS1 WSn Sequence of interactions in RobustBPEL-2 Client Program 2 Adapt-Ready Aggregate Web Service 1 n partner Web services . . . . . . Absence of Faults 3 Presence of Faults pti ptj 4 Dynamic Proxy UDDI registry services UDDI generated to handle the faults by two selected partner Web services (WSi and WSj) ptj 5 Dynamically identified equivalent Web services for WSi and WSj ~WSi ptj ~WSj Legend: Service port type (pt) Web service (WS) Sequence of events 1 Service dependency (static binding) Service dependency (dynamic binding)

  23. Questions?

More Related