Generic BPEL Processes: Integrating Process Design and ...This BPEL Process interprets the...

27
OPITZ CONSULTING Generic BPEL Processes: Integrating Process Design and Execution Based on Generic Reuse and MDA Dirk Stähler Divisional Director OPITZ CONSULTING

Transcript of Generic BPEL Processes: Integrating Process Design and ...This BPEL Process interprets the...

Page 1: Generic BPEL Processes: Integrating Process Design and ...This BPEL Process interprets the transferred process flow and calls the “Generic Service Branch”. If necessary according

OPITZ CONSULTING

Generic BPEL Processes:Integrating Process Design

and ExecutionBased on Generic Reuse

and MDA

Dirk StählerDivisional Director

OPITZ CONSULTING

Page 2: Generic BPEL Processes: Integrating Process Design and ...This BPEL Process interprets the transferred process flow and calls the “Generic Service Branch”. If necessary according

OPITZ CONSULTING

The Problem:"Engineering Gap" between

Business Engineering and Application Engineering!

The Problem:"Engineering Gap" between

Business Engineering and Application Engineering!

Page 3: Generic BPEL Processes: Integrating Process Design and ...This BPEL Process interprets the transferred process flow and calls the “Generic Service Branch”. If necessary according

Company XYZCustomer

Send OrderStatus toCustomer

Create OrderAcknowledgeme

nt

CreatePurchase Order

Identify Supplier

CheckCustomer

Credit Rating

Check OrderDetails

Reject Order

Order processed

Order received

Order Status

Order

Business ProcessWeb Serverclient

+

SelectSupplier

CheckCreditRating

receive_input

ConductCreditCheck

+

RejectOrderType

+

InitiateOrderFulfillment

+

AcknowledgeOrder

callbackClient

Order_Received

Order_processed

credit rating >= 0

credit rating < 0

Order Booking Requested

Order_processed

Technical Process

Page 4: Generic BPEL Processes: Integrating Process Design and ...This BPEL Process interprets the transferred process flow and calls the “Generic Service Branch”. If necessary according

Web Serverclient

+

SelectSupplier

CheckCreditRating

receive_input

ConductCreditCheck

+

RejectOrderType

+

InitiateOrderFulfillment

+

AcknowledgeOrder

callbackClient

Order_Received

Order_processed

credit rating >= 0

credit rating < 0

Order Booking Requested

Order_processed

Web Server

+

ApproveSupplierType

+

GetPriceQuoteType

Purchase

Order

Purchase

Order

Purchase

Order

SupplierInfo

Supplier_Selected

Credit_Rating_>=0

has Outputhas Input

has Outputhas Input

SelectSupplierService Web Server

Invoke_SelectSupplier

end

start

Invoke_SelectSupplier

ApproveSupplierService Web Server

Invoke_ApproveSupplier

end

start

Invoke_ApproveSupplier

Company XYZCustomer

Send OrderStatus toCustomer

Create OrderAcknowledgeme

nt

CreatePurchase Order

Identify Supplier

CheckCustomer

Credit Rating

Check OrderDetails

Reject Order

Order processed

Order received

Order Status

Order

Technical

BPMN

Sub-Diagram

Technical

BPMN

Sub-Diagram

Technical

Attributes

Technical

Attributes

Technical ProcessBusiness Process

Technical

BPMN

Diagram Technical

BPMN

Sub-DiagramBusiness

BPMN

Diagram

Page 5: Generic BPEL Processes: Integrating Process Design and ...This BPEL Process interprets the transferred process flow and calls the “Generic Service Branch”. If necessary according

Business Process

AcknowledgeOrder

InitiateOrder

Fullfillment

XOR-Regel

General SalesManager

SelectSupplier

Supplierapprove

d

OrderFullfillm

en...

OrderRejectionProcess

SalesManager

CreditCheck

negative

Rating

XOR-Regel

Message

WebOrder

recieved

Supplierselected

Call CenterAgent

Telephone Orde...

Supplierrejected

XOR-Regel

OrderInformat

io...

OrderInitiationfinished

Message

B2B-Order

recieved

CreditCheck

positive

ApproveSupplier

XOR-Regel

SpecifyOrder

Information

ConductCreditCheck

Technical ProcessOrder received

Order managementcompleted

Customer notification Supplier notification

Order Initiation completed

Customer notificationcompleted

Supplier noticifactionsent

Customer orderapproval

Supplier Orderapproval

Customer orderapproval received

Supplier orderapproval received

SpecifyOrder

Information

OrderInformationspecified

PurchaseOrder

PurchaseOrder

Call CenterAgent

SYSSYSSYS

Order Initiation

Telephone Orderrecieved

Web Orderrecieved

Page 6: Generic BPEL Processes: Integrating Process Design and ...This BPEL Process interprets the transferred process flow and calls the “Generic Service Branch”. If necessary according

Business Process Technical ProcessOrder received

Order managementcompleted

Customer notification Supplier notification

Order Initiation completed

Customer notificationcompleted

Supplier noticifactionsent

Customer orderapproval

Supplier Orderapproval

Customer orderapproval received

Supplier orderapproval received

SpecifyOrder

Information

OrderInformationspecified

PurchaseOrder

PurchaseOrder

Call CenterAgent

SYSSYSSYS

Order Initiation

Telephone Orderrecieved

Web Orderrecieved bpws

GetPriceQuoteCallback

ns11

ns3

xsd

client

bpelx

ns4

ns2

ns6

FulfillOrders

client

POAService OrderApproval

ora

GetPriceQuote

WritePOA

orcl

OrderApprovalCallback

ns5

ns7

FulFillOrders

FulFillOrdersCallback

CreditRating

ldap

OrderBooking

ns13

POAcknowledge

OrderBookingCallback

ns8

ns9

ns1

ns12

CreditRatingService

OrderBooking

POAcknowledgeCallback

ns10

xp20

GetPriceQuote

OrderBooking

receiveInput

getCreditRating

AssignCR

Invoke_1

Assign_Rating

CreditRating CreditRatingService

ScopeEnd

GetPriceQuote

Assign_GPQDataIn

Invoke_GetPriceQuote

Receive_GetPriceQuote

Assign_GPRWriteComm

ents

GetPriceQuote

GetPriceQuote

ScopeEnd

AcknowledgeOrder

InitiateOrder

Fullfillment

XOR-Regel

General SalesManager

SelectSupplier

Supplierapprove

d

OrderFullfillm

en...

OrderRejectionProcess

SalesManager

CreditCheck

negative

Rating

XOR-Regel

Message

WebOrder

recieved

Supplierselected

Call CenterAgent

Telephone Orde...

Supplierrejected

XOR-Regel

OrderInformat

io...

OrderInitiationfinished

Message

B2B-Order

recieved

CreditCheck

positive

ApproveSupplier

XOR-Regel

SpecifyOrder

Information

ConductCreditCheck

Technical

BPEL

Sub-Diagram

Technical

BPEL

Attributes

Technical

BPMN

DiagramBusiness

EPC

DiagramTechnical

BPEL

Sub-Diagram

Page 7: Generic BPEL Processes: Integrating Process Design and ...This BPEL Process interprets the transferred process flow and calls the “Generic Service Branch”. If necessary according

OPITZ CONSULTING

• Questions

– Do you think that business and technical models will be designed by the same person?

– Do you think that the structure and content within business and technical models will be the same?

• How can we ensure that the business process models will be still valid for tasks beside SOA?(communication, simulation, compliance…)

• How can we achieve that the technical SOA configuration is shielded from but controllable by the business process?

• How can we separate business and IT relevant content and still link it together?

Page 8: Generic BPEL Processes: Integrating Process Design and ...This BPEL Process interprets the transferred process flow and calls the “Generic Service Branch”. If necessary according

OPITZ CONSULTING

Methodological Background:Why do different models emerge in the SOA world?

Methodological Background:Why do different models emerge in the SOA world?

Page 9: Generic BPEL Processes: Integrating Process Design and ...This BPEL Process interprets the transferred process flow and calls the “Generic Service Branch”. If necessary according

OPITZ CONSULTING

Business Process Structure Service / Composite Service Structure

Page 10: Generic BPEL Processes: Integrating Process Design and ...This BPEL Process interprets the transferred process flow and calls the “Generic Service Branch”. If necessary according

OPITZ CONSULTING

Each Service / Composite Services represents“a business process fragment (with one or many activities)”

...

Page 11: Generic BPEL Processes: Integrating Process Design and ...This BPEL Process interprets the transferred process flow and calls the “Generic Service Branch”. If necessary according

OPITZ CONSULTING

Composite Service

Technical Process Fragment

represents a

Business Process Structure

Business Process Fragment

is used in

Page 12: Generic BPEL Processes: Integrating Process Design and ...This BPEL Process interprets the transferred process flow and calls the “Generic Service Branch”. If necessary according

OPITZ CONSULTING

Composite Service

represents a

Technical Process Fragment1 …n Relationship betweenBusiness Processes and aTechnical Process Fragment

Page 13: Generic BPEL Processes: Integrating Process Design and ...This BPEL Process interprets the transferred process flow and calls the “Generic Service Branch”. If necessary according

OPITZ CONSULTING

These two types ofprocesses have differenttargets.

Due to this they representdifferent:

- Syntax- Semantics

Business Process Fragment Technical Process Fragment

Page 14: Generic BPEL Processes: Integrating Process Design and ...This BPEL Process interprets the transferred process flow and calls the “Generic Service Branch”. If necessary according

OPITZ CONSULTING

Business Process Fragments Technical Process Fragment

• Business point of view• Contextual driven, with references

to predecessors and successors• Usually more than one modeled

business process used within various business scenarios

⇒ Used for process communication, simulation, compliance,…

• Technical point of view• Data and interface driven,

designed to be automated• Usually only one automated

business process (represented by a service)

⇒ Used for process execution

Page 15: Generic BPEL Processes: Integrating Process Design and ...This BPEL Process interprets the transferred process flow and calls the “Generic Service Branch”. If necessary according

OPITZ CONSULTING

• What are physicist doing when the complexity within a model becomes to big?

• ...they change the scale!

• This means „from picture to film“!

• ... or from a Traditional Process Modeling and IT Implementation to an Integrating Process Design and Execution Based on Generic BPEL Processes and MDA Techniques

Page 16: Generic BPEL Processes: Integrating Process Design and ...This BPEL Process interprets the transferred process flow and calls the “Generic Service Branch”. If necessary according

OPITZ CONSULTING

The Solution:The “Divide and Conquer” approach in

Business Engineering and Application Engineering!

The Solution:The “Divide and Conquer” approach in

Business Engineering and Application Engineering!

Page 17: Generic BPEL Processes: Integrating Process Design and ...This BPEL Process interprets the transferred process flow and calls the “Generic Service Branch”. If necessary according

OPITZ CONSULTING

• Challenges in combining business processes with technical processes– Create a connection between the business and IT world without

semantic mixture– Ensure flexibility on the process modeling side– Ensure stability on the IT modeling side– Secure re-usability of implemented IT processes within the

business world

• Solution: “industrialized” production of processes using one generic BPEL process for many business processes

Page 18: Generic BPEL Processes: Integrating Process Design and ...This BPEL Process interprets the transferred process flow and calls the “Generic Service Branch”. If necessary according

OPITZ CONSULTING

BusinessProcessModels

EPC

BPMN

UML

...

XML

BusinessProcessSteps

GenericBPEL

Process

DecisionService

RuleEngine

GenericServiceBranch

Service 1

Service 2

Service 3

Service n

...

Business World IT World

Page 19: Generic BPEL Processes: Integrating Process Design and ...This BPEL Process interprets the transferred process flow and calls the “Generic Service Branch”. If necessary according

OPITZ CONSULTING

BusinessProcessModels

EPC

BPMN

UML

...

XML

BusinessProcessSteps

GenericBPEL

Process

DecisionService

RuleEngine

GenericServiceBranch

Service 1

Service 2

Service 3

Service n

...

Business World IT World

Within this BPEL Process the complete logic to control and dispatch the “real” services

(according to the transferred process flow) will be covered.

This service also handles required data transformations.

Within this BPEL Process the complete logic to control and dispatch the “real” services

(according to the transferred process flow) will be covered.

This service also handles required data transformations.

This BPEL Process interprets the transferred process flow and calls the “Generic Service Branch”. If necessary according to

business rules information.

This BPEL Process interprets the transferred process flow and calls the “Generic Service Branch”. If necessary according to

business rules information.

This BPEL Process calls the Rule Engine and

delivers decision support to the “Generic BPLE

Process” to decide on the process flow.

This BPEL Process calls the Rule Engine and

delivers decision support to the “Generic BPLE

Process” to decide on the process flow.

This XML File delivers information about the

business oriented process flow.

This XML File delivers information about the

business oriented process flow.

Page 20: Generic BPEL Processes: Integrating Process Design and ...This BPEL Process interprets the transferred process flow and calls the “Generic Service Branch”. If necessary according

OPITZ CONSULTING

BusinessProcessModels

EPC

BPMN

UML

...

XML

BusinessProcessSteps

GenericBPEL

Process

DecisionService

RuleEngine

GenericServiceBranch

Service 1

Service 2

Service 3

Service n

...

Business World IT World

BusinessProcessModels

EPC

BPMN

UML

...

XML

BusinessProcessSteps

GenericBPEL

Process

DecisionService

RuleEngine

GenericServiceBranch

Service 1

Service 2

Service 3

Service n

...

Business World IT World

Page 21: Generic BPEL Processes: Integrating Process Design and ...This BPEL Process interprets the transferred process flow and calls the “Generic Service Branch”. If necessary according

OPITZ CONSULTING

BusinessProcessModels

EPC

BPMN

UML

...

XML

BusinessProcessSteps

GenericBPEL

Process

DecisionService

RuleEngine

GenericServiceBranch

Service 1

Service 2

Service 3

Service n

...

Business World IT World

BusinessProcessModels

EPC

BPMN

UML

...

XML

BusinessProcessSteps

GenericBPEL

Process

DecisionService

RuleEngine

GenericServiceBranch

Service 1

Service 2

Service 3

Service n

...

Business World IT World

Page 22: Generic BPEL Processes: Integrating Process Design and ...This BPEL Process interprets the transferred process flow and calls the “Generic Service Branch”. If necessary according

OPITZ CONSULTING

BusinessProcessModels

EPC

BPMN

UML

...

XML

BusinessProcessSteps

GenericBPEL

Process

DecisionService

RuleEngine

GenericServiceBranch

Service 1

Service 2

Service 3

Service n

...

Business World IT World

BusinessProcessModels

EPC

BPMN

UML

...

XML

BusinessProcessSteps

GenericBPEL

Process

DecisionService

RuleEngine

GenericServiceBranch

Service 1

Service 2

Service 3

Service n

...

Business World IT World

Page 23: Generic BPEL Processes: Integrating Process Design and ...This BPEL Process interprets the transferred process flow and calls the “Generic Service Branch”. If necessary according

OPITZ CONSULTING

BusinessProcessModels

EPC

BPMN

UML

...

XML

BusinessProcessSteps

GenericBPEL

Process

DecisionService

RuleEngine

GenericServiceBranch

Service 1

Service 2

Service 3

Service n

...

Business World IT World

BusinessProcessModels

EPC

BPMN

UML

...

XML

BusinessProcessSteps

GenericBPEL

Process

DecisionService

RuleEngine

GenericServiceBranch

Service 1

Service 2

Service 3

Service n

...

Business World IT World

Page 24: Generic BPEL Processes: Integrating Process Design and ...This BPEL Process interprets the transferred process flow and calls the “Generic Service Branch”. If necessary according

OPITZ CONSULTING

Company XYZCustomer

Send OrderStatus toCustomer

Create OrderAcknowledgeme

nt

CreatePurchase Order

Identify Supplier

CheckCustomer

Credit Rating

Check OrderDetails

Reject Order

Order processed

Order received

Order Status

Order

BPMN → BPEL(Fragment)

SBVR?

BPEL

BPEL

BPEL

Service

Service

Service

Service

Rule Engine

Page 25: Generic BPEL Processes: Integrating Process Design and ...This BPEL Process interprets the transferred process flow and calls the “Generic Service Branch”. If necessary according

OPITZ CONSULTING

• Benefit for the Business– Business specific modeling

domain– Clear separation from

technical content– Capability to use tools

optimized for the business process design

– Processes can be adjusted purely from the business view (prerequisite: correctly implemented and linked technical processes)

• Benefit for the IT– IT specific modeling

domain– Clear separation from

business content– Capability to use tools

optimized for the IT design

Page 26: Generic BPEL Processes: Integrating Process Design and ...This BPEL Process interprets the transferred process flow and calls the “Generic Service Branch”. If necessary according

OPITZ CONSULTING

• Usage Scenarios for this approach:

– Environments with a high amount of automated backend processes • Financial Institutions• Telecommunication• Logistics• …

– Environments with the demand to prepare information for different stakeholders

• Process Documentation• Process Certification• Auditing• IT-Development• …

Page 27: Generic BPEL Processes: Integrating Process Design and ...This BPEL Process interprets the transferred process flow and calls the “Generic Service Branch”. If necessary according

OPITZ CONSULTING

„If everything seems to be under control,you‘re just not moving fast enough“

(Mario Andretti – Race Driver)