Towards Uniform BPEL Engine
Management in the Cloud
Simon Harrer, Jörg Lenhard and Guido Wirtz
{firstname.lastname}@uni-bamberg.de
Distributed Systems Group
University of Bamberg, Germany
Tammo van Lessen
tammo.van-lessen@innoq.com
InnoQ Deutschland GmbH, Germany
Process Design Diagnosis
Process
Enactment Configuration System
Process Design Diagnosis
Process
Enactment Configuration System
Status Quo
Engine Independent
Process Design Diagnosis
Process
Enactment Configuration System
Status Quo
Desired Condition
Process Design Diagnosis
Process
Enactment Configuration System
BPM lifecycle
+ reduce maintenance
+ avoid lock-in & improve portability
+ towards the cloud
Process Design Diagnosis
Process
Enactment Configuration System
Status Quo
Desired Condition
Process Design Diagnosis
Process
Enactment Configuration System
API
BPM lifecycle
+ reduce maintenance
+ avoid lock-in & improve portability
+ towards the cloud
Process Design Diagnosis
Process
Enactment Configuration System
Status Quo
Desired Condition
Process Design Diagnosis
Process
Enactment Configuration System
API
BPM lifecycle
for BPEL (and also applicable for BPMN)
+ reduce maintenance
+ avoid lock-in & improve portability
+ towards the cloud
Select
engine
Select
engine
engine
Install
Select
engine
engine
Install
engine
Start
Select
engine
engine
Install
engine
Start
process
Deploy
Select
engine
engine
Install
engine
Start
process
Deploy
Monitor, Troubleshoot, …
process and its instances
Apache ODE
bpel-g
OpenESB
…
Select
engine
engine
Install
engine
Start
process
Deploy
Monitor, Troubleshoot, …
process and its instances
Uniform BPEL Management Layer (UBML)
Apache ODE
bpel-g
OpenESB
…
Engine
Provisioning Lifecycle Engine Engine
Selection Deployment Process Access Logfile Management Process Audit Trail
Select
engine
engine
Install
engine
Start
process
Deploy
Monitor, Troubleshoot, …
process and its instances
Engine
Provisioning Lifecycle Engine Engine
Engine
Provisioning Lifecycle Engine
Engine
Selection Deployment Process Access Logfile Management Process Audit Trail
Policy of Engine Capabilities
Supported BPEL features
Supported BPEL extensions
Supported WS-*
…
Policy of Process Requirements
Required BPEL features
Required BPEL extensions
Required WS-*
…
Engine
Provision. Lifecycle Engine Engine
Selection Deployment Process Access Logfile Management Process Audit Trail
install & uninstall
- config: port, …
- dependent software: DB, container, ESB, …
- environment: hardware, software, …
Engine
Provisioning Lifecycle Engine
Engine
Selection Deployment Process Access Logfile Management Process Audit Trail
start & stop
Engine
Provisioning Lifecycle Engine Engine
Selection Deployment Process Access Logfile Management Process Audit Trail
deployment archives
- package structure
- deployment descriptors
deployment method
Engine
Provisioning Lifecycle Engine Engine
Selection Deployment Process Logfile Access Management Process Audit Trail
engine log file(s)
container log file(s)
… log file(s)
Engine
Provisioning Lifecycle Engine Engine
Selection Deployment Process Access Logfile Management Process Audit Trail
- suspend, rewind & resume
- debug
- manipulate data
- visualize progress
Engine
Provisioning Lifecycle Engine Engine
Selection Deployment Process Access Logfile Management Process Audit Trail
Generic Data Format of Audit Trail
- MXML
Uniform BPEL Management Layer (UBML)
Apache ODE
bpel-g
OpenESB
…
Engine
Provisioning Lifecycle Engine Engine
Selection Deployment Process Access Logfile Management Process Audit Trail
standard conformant BPEL processes
Select
Uniform BPEL Management Layer (UBML)
Apache ODE
bpel-g
OpenESB
…
Audit Trail Process
Management
standard conformant BPEL processes
Select
engine
engine
Install
engine
Start
process
Deploy
Monitor, Troubleshoot, …
process and its instances
Validated with prototype.
Engine
Provisioning Lifecycle Engine Engine
Engine
Provisioning Lifecycle Engine Engine Selection Logfile Access Process Deployment
Engine
Provisioning Lifecycle Engine Engine Selection Logfile Access Process Deployment
Engine
Provisioning Lifecycle Engine Engine Selection Logfile Access Process Deployment
Engine
Provisioning Lifecycle Engine
Engine Selection Logfile Access Process Deployment
1. Determine the features in the process
2. Get engines supporting the determined features
3. When more than one engine, use the engine with the higher
Engine
Provisioning Lifecycle Engine Engine Selection Logfile Access Process Deployment
Generate Deployment Archive
Deployment Descriptors
Package Structure
Use convention over configuration
Engine
Provisioning Lifecycle Engine Engine Selection Logfile Access Process Deployment
Engine
Provisioning Lifecycle Engine Engine Selection Logfile Access Process Deployment
makeProcessAvailable
1. select best engine based on process features
2. install engine when not yet installed
3. start engine when not yet started
4. create deployable archive for process
Engine
Provisioning Lifecycle Engine Engine Selection Logfile Access Process Deployment
makeProcessUnavailable
1. undeploy process when not yet undeployed
Limitations
(Immediate Future Work)
•
Only one engine can be running at the same time due
to resource conflicts
–
Solve with configuration options
•
Only certain BPEL processes can be converted to
deployable packages
–
Generify for arbitrary executable BPEL processes
•
Undeploy and isDeployed only implemented for a
single Engine
–
Implement this for all BPEL engines
•
Prototype only runs on Windows 7 64bit
Process Design
Diagnosis
Process
Enactment Configuration System
Process Design
Diagnosis
(1) Proprietary
BPEL Engines
Process
Process Design
(2) Towards the Cloud
(with LEGO4TOSCA)
Diagnosis
(1) Proprietary
BPEL Engines
Process
(3) Apply on BPMN Engines
Process Design
(2) Towards the Cloud
(with LEGO4TOSCA)
Diagnosis
(1) Proprietary
BPEL Engines
Process
(3) Apply on BPMN Engines
Process Design
(2) Towards the Cloud
(with LEGO4TOSCA)
Diagnosis
(1) Proprietary
BPEL Engines
Process
Enactment Configuration System