BPEL and Patterns

BPEL fares exceptionally well in its support for support for P4 patterns. As rated by P4 members in its paper,[5] BPEL directly supports 13 of the 20 patterns, and it indirectly supports another one. The results of the paper are captured in Table 5-5.

Table 5-5. BPEL support for the P4 patterns

Pattern

Compliance (+, +-, -)

Approach

Notes

Sequence

+

sequence activity

 

Parallel Split

+

flow activity

 

Synchronization

+

flow activity followed by another activity, which will not execute until all parallel paths in the flow have completed.

 

Exclusive Choice

+

switch activity.

 

Simple Merge

+

switch activity followed by another activity, which will not execute until the one activity selected in the switch has completed.

 

Multi-Choice

+

flow with conditional links to the activities to be chosen.

See P4 paper, p.8f.

Sync Merge

+

Use dead path elimination to join the results of the multiple choice.

 

Multi Merge

-

No.

 

Discriminator

-

No.

See P4 paper, p.9.

Arbitrary cycles

-

Only structured loops are allowed. No goto-like constructs.

 

Implicit Termination

+

rlow with a link out.

 

Multiple Instances (MI) Without Synchronization

+

invoke in a while loop.

 

MI With Design Time Knowledge

+

Run each instance as a separate activity in a flow activity.

 

MI With Runtime Knowledge

-

Onerous.

See P4 paper, p. 11.

MI Without Runtime Knowledge

-

  

Deferred Choice

+

pick activity

 

Interleaved Parallel Routing

+-

Multiple scopes within a flow that compete for a single shared variable whose access is serialized (variableAccessSerializable ...

Get Essential Business Process Modeling now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.