Experiences in enhancing existing BPM Tools with BPEL Import and Export

20
Experiences in enhancing existing BPM Tools with BPEL Import and Export Jan Mendling Vienna University of Economics Kristian Bisgaard Lassen University of Aarhus Uwe Zdun Vienna University of Technology

description

Experiences in enhancing existing BPM Tools with BPEL Import and Export. Jan Mendling Vienna University of Economics Kristian Bisgaard LassenUniversity of Aarhus Uwe ZdunVienna University of Technology. 2. Enhance…. Export. Import. 1. Native BPEL Engine. Store. Load. - PowerPoint PPT Presentation

Transcript of Experiences in enhancing existing BPM Tools with BPEL Import and Export

Page 1: Experiences in enhancing existing BPM Tools with BPEL Import and Export

Experiences in enhancing existing BPM Toolswith BPEL Import and Export

Jan Mendling Vienna University of Economics

Kristian Bisgaard Lassen University of Aarhus

Uwe Zdun Vienna University of Technology

Page 2: Experiences in enhancing existing BPM Tools with BPEL Import and Export

Folie 2

You have to support BPEL…

001 <process name="purchaseOrderProcess"002 targetNamespace="..."003 xmlns="..."004 xmlns:lns="...">...044 <sequence>045 <receive partnerLink="purchasing"046 portType="lns:purchaseOrderPT"047 operation="sendPurchaseOrder"048 variable="PO">049 </receive>050 <flow>051 <links>052 <link name="ship-to-invoice"/>053 <link name="ship-to-scheduling"/>054 </links>055 <sequence>056 <assign>057 <copy>058 <from variable="PO" part="customerInfo"/>059 <to variable="shippingRequest"060 part="customerInfo"/>061 </copy>062 </assign>063 <invoke partnerLink="shipping"064 portType="lns:shippingPT"065 operation="requestShipping"066 inputVariable="shippingRequest"067 outputVariable="shippingInfo">068 <source linkName="ship-to-invoice"/>069 </invoke>070 <receive partnerLink="shipping"071 portType="lns:shippingCallbackPT"072 operation="sendSchedule"073 variable="shippingSchedule">074 <source linkName="ship-to-scheduling"/>075 </receive>076 </sequence>

077 <sequence>078 <invoke partnerLink="invoicing"079 portType="lns:computePricePT"080 operation="initiatePriceCalculation"081 inputVariable="PO">082 </invoke>083 <invoke partnerLink="invoicing"084 portType="lns:computePricePT"085 operation="sendShippingPrice"086 inputVariable="shippingInfo">087 <target linkName="ship-to-invoice"/>088 </invoke>089 <receive partnerLink="invoicing"090 portType="lns:invoiceCallbackPT"091 operation="sendInvoice"092 variable="Invoice"/>093 </sequence>094 <sequence>095 <invoke partnerLink="scheduling"096 portType="lns:schedulingPT"097 operation="requestProductionScheduling"098 inputVariable="PO">099 </invoke>100 <invoke partnerLink="scheduling"101 portType="lns:schedulingPT"102 operation="sendShippingSchedule"103 inputVariable="shippingSchedule">104 <target linkName="ship-to-scheduling"/>105 </invoke>106 </sequence>107 </flow>108 <reply partnerLink="purchasing"109 portType="lns:purchaseOrderPT"110 operation="sendPurchaseOrder"111 variable="Invoice"/>112 </sequence>113 </process>

2. Enhance…

Export

Import

1. Native BPEL Engine

Store

Load

No arbitrary

cycles

Page 3: Experiences in enhancing existing BPM Tools with BPEL Import and Export

Folie 3

Agenda

1. How to design BPEL import and export?

2. How to apply Transformation Strategies?

3. Beyond transformation strategies

4. Conclusion

Page 4: Experiences in enhancing existing BPM Tools with BPEL Import and Export

Folie 4

Agenda

How to design BPEL import and export?

Page 5: Experiences in enhancing existing BPM Tools with BPEL Import and Export

Folie 5

A BPEL Process

001 <process name="purchaseOrderProcess"002 targetNamespace="..."003 xmlns="..."004 xmlns:lns="...">...044 <sequence>045 <receive partnerLink="purchasing"046 portType="lns:purchaseOrderPT"047 operation="sendPurchaseOrder"048 variable="PO">049 </receive>050 <flow>051 <links>052 <link name="ship-to-invoice"/>053 <link name="ship-to-scheduling"/>054 </links>055 <sequence>056 <assign>057 <copy>058 <from variable="PO" part="customerInfo"/>059 <to variable="shippingRequest"060 part="customerInfo"/>061 </copy>062 </assign>063 <invoke partnerLink="shipping"064 portType="lns:shippingPT"065 operation="requestShipping"066 inputVariable="shippingRequest"067 outputVariable="shippingInfo">068 <source linkName="ship-to-invoice"/>069 </invoke>070 <receive partnerLink="shipping"071 portType="lns:shippingCallbackPT"072 operation="sendSchedule"073 variable="shippingSchedule">074 <source linkName="ship-to-scheduling"/>075 </receive>076 </sequence>

077 <sequence>078 <invoke partnerLink="invoicing"079 portType="lns:computePricePT"080 operation="initiatePriceCalculation"081 inputVariable="PO">082 </invoke>083 <invoke partnerLink="invoicing"084 portType="lns:computePricePT"085 operation="sendShippingPrice"086 inputVariable="shippingInfo">087 <target linkName="ship-to-invoice"/>088 </invoke>089 <receive partnerLink="invoicing"090 portType="lns:invoiceCallbackPT"091 operation="sendInvoice"092 variable="Invoice"/>093 </sequence>094 <sequence>095 <invoke partnerLink="scheduling"096 portType="lns:schedulingPT"097 operation="requestProductionScheduling"098 inputVariable="PO">099 </invoke>100 <invoke partnerLink="scheduling"101 portType="lns:schedulingPT"102 operation="sendShippingSchedule"103 inputVariable="shippingSchedule">104 <target linkName="ship-to-scheduling"/>105 </invoke>106 </sequence>107 </flow>108 <reply partnerLink="purchasing"109 portType="lns:purchaseOrderPT"110 operation="sendPurchaseOrder"111 variable="Invoice"/>112 </sequence>113 </process>

Page 6: Experiences in enhancing existing BPM Tools with BPEL Import and Export

Folie 6

A BPEL Process: Structured Activities+Links

001 <process name="purchaseOrderProcess"002 targetNamespace="..."003 xmlns="..."004 xmlns:lns="...">...044 <sequence>045 <receive partnerLink="purchasing"046 portType="lns:purchaseOrderPT"047 operation="sendPurchaseOrder"048 variable="PO">049 </receive>050 <flow>051 <links>052 <link name="ship-to-invoice"/>053 <link name="ship-to-scheduling"/>054 </links>055 <sequence>056 <assign>057 <copy>058 <from variable="PO" part="customerInfo"/>059 <to variable="shippingRequest"060 part="customerInfo"/>061 </copy>062 </assign>063 <invoke partnerLink="shipping"064 portType="lns:shippingPT"065 operation="requestShipping"066 inputVariable="shippingRequest"067 outputVariable="shippingInfo">068 <source linkName="ship-to-invoice"/>069 </invoke>070 <receive partnerLink="shipping"071 portType="lns:shippingCallbackPT"072 operation="sendSchedule"073 variable="shippingSchedule">074 <source linkName="ship-to-scheduling"/>075 </receive>076 </sequence>

077 <sequence>078 <invoke partnerLink="invoicing"079 portType="lns:computePricePT"080 operation="initiatePriceCalculation"081 inputVariable="PO">082 </invoke>083 <invoke partnerLink="invoicing"084 portType="lns:computePricePT"085 operation="sendShippingPrice"086 inputVariable="shippingInfo">087 <target linkName="ship-to-invoice"/>088 </invoke>089 <receive partnerLink="invoicing"090 portType="lns:invoiceCallbackPT"091 operation="sendInvoice"092 variable="Invoice"/>093 </sequence>094 <sequence>095 <invoke partnerLink="scheduling"096 portType="lns:schedulingPT"097 operation="requestProductionScheduling"098 inputVariable="PO">099 </invoke>100 <invoke partnerLink="scheduling"101 portType="lns:schedulingPT"102 operation="sendShippingSchedule"103 inputVariable="shippingSchedule">104 <target linkName="ship-to-scheduling"/>105 </invoke>106 </sequence>107 </flow>108 <reply partnerLink="purchasing"109 portType="lns:purchaseOrderPT"110 operation="sendPurchaseOrder"111 variable="Invoice"/>112 </sequence>113 </process>

Page 7: Experiences in enhancing existing BPM Tools with BPEL Import and Export

Folie 7

Recent Papers

• X to BPEL:• Baina et al.: Model-Driven Web Service Development. In CAiSE 2004.

• Gardner. UML Modelling of Automated Business Processes with a Mapping to BPEL4WS. In

First European Workshop on Object Orientation and Web Services at ECOOP 2003.

• Hofreiter and Huemer. Transforming UMM Business Collaboration Models to BPEL. OTM Workshops 2004.

• Mendling and Hafner. From Inter-Organizational Workflows to Process Execution: Generating BPEL from WS-CDL. OTM Workshops 2005.

• Moon et al. Transformation Algorithms between BPEL4WS and BPML for the Executable Business Process. In WETICE 2004.

• van der Aalst, Jørgensen and Lassen. Let’s Go All the Way: From Requirements via Colored Workflow Nets to a BPEL Implementation of

a New Bank System. In CoopIS 2005.

• White. Business Process Modeling Notation (BPMN). Specification, BPMI.org, 2004.

• Mendling, J. Ziemann: Transformation of BPEL Processes to EPCs. In EPK 2005.

• Koschmider, von Mevius: A Petri Net Based Approach for Process Model Driven Deduction of BPEL Code. OTM Workshops 2005.

• BPEL to Y:• Hinz, Schmidt, and Stahl. Transforming BPEL to Petri Nets. In BPM 2005.

• Mendling and Ziemann. EPK-Visualisierung von BPEL4WS Prozessdefinitionen. In Workshop on Software Reengineering, 2005.

Page 8: Experiences in enhancing existing BPM Tools with BPEL Import and Export

Folie 8

Important Properties

• Structured Process Graph

• Acyclic Process Graph

• Structured BPEL control flow

A

B

Sequence

F

c

BA

c

F

Connector Pairs

x

B

x

F

Simple Loop

Page 9: Experiences in enhancing existing BPM Tools with BPEL Import and Export

Folie 9

Transformation Strategies for Export

assign

assign

assign

assign

flow

sequence

sequence

link

assign

assign

target

assign

assign

source

Graph

flow

link

assign

assign

link

link

...

empty

target

target

source

...

Structure-Maximization

Element-Preservation

flow

link

link

link

...

assign

target

target

source

Element-Minimization

assign

target

source

source

flow

sequence

sequence

assign

assign

assign

assign

Structure-Identification

Page 10: Experiences in enhancing existing BPM Tools with BPEL Import and Export

Folie 10

Transformation Strategies for Import

flow

sequence

sequence

link

assign

assign

target

assign

assign

sourceassign

assign

assign

assign

assign

assign

assign

assign

assign

assign

assign

assign

BPEL Process Flattening Hierarchy-Preservation Hierarchy-Maximization

Page 11: Experiences in enhancing existing BPM Tools with BPEL Import and Export

Folie 11

Agenda

How to apply Transformation Strategies?

Page 12: Experiences in enhancing existing BPM Tools with BPEL Import and Export

Folie 12

Proprietary Workflow Designer

Element Preservation Strategy

Page 13: Experiences in enhancing existing BPM Tools with BPEL Import and Export

Folie 13

Extra Elements of the Workflow Designer

• Sub-workflows

• Paste the subprocess into a BPEL scope

• Specific predefined step actions

• Abstract step action class as default

• Overridden for specific step actions, e.g., BPELJ for Inline Java

• Additional Step Node attributes

• Annotated to BPEL activities as attributes in a different namespace

Page 14: Experiences in enhancing existing BPM Tools with BPEL Import and Export

Folie 14

Illustration of the export

Page 15: Experiences in enhancing existing BPM Tools with BPEL Import and Export

Folie 15

Agenda

Beyond transformation strategies

Page 16: Experiences in enhancing existing BPM Tools with BPEL Import and Export

Folie 16

Further Approaches for Graph to BPEL

• C. Ouyang, M. Dumas, S. Breutel, and A. H.M. ter Hofstede. Translating Standard

Process Models to BPEL. In Proceedings of the 18th International Conference on

Advanced Information Systems Engineering (CAiSE), LNCS, 2006.

• Idea:

• Calculate precondition sets for every activity

• Send completion message to itself

• Event handlers activate the next activity

• Limitations:

• Re-Import of such BPEL is difficult

Page 17: Experiences in enhancing existing BPM Tools with BPEL Import and Export

Folie 17

Further Approaches for Graph to BPEL II

• Zhao, W., Hauser, R., Bhattacharya, K., Bryant, B. R., and Cao, F. (2006). Compiling

business processes: untangling unstructured loops in irreducible flow graphs. Int.

Journal of Web and Grid Services, 2(1):68-91.

• Idea:

• Transform unstructured to structured models

• Limitations:

• Not always possible if concurrency is in the model

Page 18: Experiences in enhancing existing BPM Tools with BPEL Import and Export

Folie 18

Agenda

Conclusion

Page 19: Experiences in enhancing existing BPM Tools with BPEL Import and Export

Folie 19

Conclusion

• Transformation strategies…

• provide systematic initial approach

• have to be extended and adapted

• BPEL not directly suited for exchanging workflow models

• BPEL extensions like BPEL4People, BPEL-SPE, BPELJ help

• Further information has to be annotated

Page 20: Experiences in enhancing existing BPM Tools with BPEL Import and Export

Folie 20

Agenda

Thank you