BPMN-to-BPEL Implementation of Tasks and Events
In many cases, a BPMN element can be implemented as one or more BPEL activities, described in the tables below, which are the following BPMN types: tasks, throw events, and catch events.
Tasks
BPMN Task | BPEL Implementations |
---|
Service | Invoke |
User | People activity, task type |
Script | Assign |
Rule | Invoke |
Suspend | Suspend |
Validate | Validate |
Abstract | Empty |
Manual | - - Empty
- - People activity, task type
|
Send | - - Invoke
- - Reply
- - People activity, notification type
|
Receive | Receive |
Throw Events
BPMN Throw Event | BPEL Implementation |
---|
None/Start/End | |
Message | - - Reply
- - Invoke
- - People activity, notification type
|
Error | |
Compensate | - - Compensate
- - Compensate Scope
|
Terminate | - - Exit
- - Break, implemented in a forEach
|
Catch Events
Any catch event can be dropped onto an activity's boundary to create a boundary event, or into a scope (event subprocess) to create a handler.
BPMN Catch Event | BPEL Implementation |
---|
Timer | - - Wait
- - OnAlarm for pick or event handler
|
Message | - - Receive
- - OnMessage for pick
- - OnEvent for event handler
|
Error | |
Compensation | Scope compensation handler |
Cancel | Scope termination handler |