robustbpel2: transparent autonomization in business processes through dynamic proxies

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

Upload: vashon

Post on 22-Jan-2016

39 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: RobustBPEL2: Transparent Autonomization in Business Processes through Dynamic Proxies

RobustBPEL2: Transparent Autonomization in Business Processes through Dynamic

Proxies

Onyeka EzenwoyeS. Masoud Sadjadi

Autonomic Computing Research Lab

Florida International University

ISADS 2007

Page 2: RobustBPEL2: Transparent Autonomization in Business Processes through Dynamic Proxies

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)

Page 3: RobustBPEL2: Transparent Autonomization in Business Processes through Dynamic Proxies

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.

Java RMIApp 1 App N…

Firewall

Firewall Firewall

Firewall

Enterprise A

Enterprise B

Enterprise C

Enterprise D

Internet.NET

App 1 App N…

CORBAApp 1 App N…

etc.App 1 App N…

Page 4: RobustBPEL2: Transparent Autonomization in Business Processes through Dynamic Proxies

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)

Page 5: RobustBPEL2: Transparent Autonomization in Business Processes through Dynamic Proxies

Business Processes

Service Aggregation

Production

Service

Customer Customer

Accounting

Service

Inventory

Service

Delivery

Service

Sales ServiceSales Service(a workflow)

Page 6: RobustBPEL2: Transparent Autonomization in Business Processes through Dynamic Proxies

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.

Page 7: RobustBPEL2: Transparent Autonomization in Business Processes through Dynamic Proxies

*A Loan Approval Process

*www.activebpel.org

Web Service

Web Service

Client

Client

Page 8: RobustBPEL2: Transparent Autonomization in Business Processes through Dynamic Proxies

BPEL

Workflow Design Structure

Non-DAG Support for iterations, loops

Data Movement Centralized

Service

Service

Service

ServiceOrchestration

application

Page 9: RobustBPEL2: Transparent Autonomization in Business Processes through Dynamic Proxies

BPEL

Workflow Design Composition System

User-directed Language-based (xml-based) Graph-based

Fault tolerance Non Has fault and event handlers

Page 10: RobustBPEL2: Transparent Autonomization in Business Processes through Dynamic Proxies

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

Page 11: RobustBPEL2: Transparent Autonomization in Business Processes through Dynamic Proxies

BPEL Challenges

Minimal fault handling. Supports compensation handling.

Dynamism through middleware application, messaging.

Page 12: RobustBPEL2: Transparent Autonomization in Business Processes through Dynamic Proxies

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)

Page 13: RobustBPEL2: Transparent Autonomization in Business Processes through Dynamic Proxies

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

Page 14: RobustBPEL2: Transparent Autonomization in Business Processes through Dynamic Proxies

RobustBPEL

RobustBPEL-1 (Static Proxies) [ICEIS-06]

RobustBPEL-2 (Dynamic Proxies) [ISADS-07]

Page 15: RobustBPEL2: Transparent Autonomization in Business Processes through Dynamic Proxies

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

Page 16: RobustBPEL2: Transparent Autonomization in Business Processes through Dynamic Proxies

*A Loan Approval Process

*www.activebpel.org

Web Service

Web Service

Client

Client

Page 17: RobustBPEL2: Transparent Autonomization in Business Processes through Dynamic Proxies

A better Loan Approval Process

Web Service

Web Service

Monitor Web

Service

Monitor Web

Service

Page 18: RobustBPEL2: Transparent Autonomization in Business Processes through Dynamic Proxies

Generated Dynamic

Proxy

Generated Dynamic

Proxy

Generated Adapt-Ready

BPEL

Generated Adapt-Ready

BPEL

RobustBPEL-2 GeneratorRobustBPEL-2 Generator

File or Document Processor Data Flow

XMLConfiguration

File

XMLConfiguration

File

LocalDisk

Parser

Dynamic Proxy

Compiler

Adapt-Ready BPEL

Compiler

Template for Proxy Class

Template for Proxy Class

OriginalBPEL

OriginalBPEL

Binding stub for WSi

Binding stub for WSi

Binding stub for WSi

Binding stub for WSi

Legend:Legend:

Generator

Page 19: RobustBPEL2: Transparent Autonomization in Business Processes through Dynamic Proxies

The Proxy

Proxy is specific but dynamic Interface for proxy is specific One proxy from every adapted process Discovers and bind to alternate services

Page 20: RobustBPEL2: Transparent Autonomization in Business Processes through Dynamic Proxies

AggregateWeb Service

Client Program

1

2WS1

pt1

WSn

ptn

......

n partner Web services

Service port type (pt) Service dependency1Web service (WS) Sequence of events

Legend:Legend:

Architectural diagrams showing the sequence of interactions among the components in a typical aggregate Web service.

Page 21: RobustBPEL2: Transparent Autonomization in Business Processes through Dynamic Proxies

Adapt-ReadyAggregate

Web Service

1

2WS1

pt1

WSn

ptn

......

Static

Proxy

4WSi1

pti

WSip

pti

......

WSj1

ptj

WSjq

ptj

......

ptjpti

3

p equivalent Web services for WSi

q equivalent Web services for WSj

n partner Web services

Absence of Faults

Presence of Faults

generated to

handle the faults

by two selected

partner Web

services

(WSi and WSj)

Client Program

Service port type (pt)

Service dependency (static binding)

1Web service (WS) Sequence of events

Legend:Legend:

Service dependency (dynamic binding)

Sequence of interactions in RobustBPEL-1

Page 22: RobustBPEL2: Transparent Autonomization in Business Processes through Dynamic Proxies

1

2WS1

pt1

WSn

ptn

......

Dynamic

Proxy

4

UDDI

~WSi

ptj

~WSj

ptj

UDDI registryservices

Dynamically identified equivalent Web services for WSi and WSj

n partner Web services

5

ptjpti

3 Absence of Faults

Presence of Faults

Adapt-ReadyAggregate

Web Service

generated to

handle the faults

by two selected

partner Web

services

(WSi and WSj)

Client Program

Service port type (pt)

Service dependency (static binding)

1Web service (WS) Sequence of events

Legend:Legend:

Service dependency (dynamic binding)

Sequence of interactions in RobustBPEL-2

Page 23: RobustBPEL2: Transparent Autonomization in Business Processes through Dynamic Proxies

Questions?