<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=269747997384049&amp;ev=PageView&amp;noscript=1">

AVIO Insights

It is Not "BPM vs. BPEL"

I'm not trying to sway the BPM vs. BPEL argument one way or the other, but I'd simply like to say that it is not a "vs.".  Both have uses and both are synergistic with the other.  If you use Oracle BPM, you're able to use BPEL as well for what it's best at.  Your project might not need BPM, but here's my take on the BPM / BPEL fit and the overlaps as it applies to Oracle BPM and BPEL.

Services - Both Oracle BPM and BPEL can invoke services, but you usually think of BPEL for the orchestration of services and it is used in more system centric process types.  Oracle BPM processes invoke BPEL processes when service orchestration is needed, but BPM processes can invoke a service that has been exposed in the composite directly using a Service activity.

Human Interaction - Both Oracle BPM and BPEL processes can invoke human tasks, but you usually think of BPM for processes involving human interaction.  It's an oversimplification, but you usually consider human tasks in BPEL processes when exceptions need to be manually handled.  Think of Oracle BPM processes when you have non-trivial human interaction going across multiple roles.  You think of BPM when the flow of documents through a process is important.  BPM processes illustrate what occurs in a process and who is involved because they have swimlane roles that clearly show who is involved in the human steps throughout the process.  BPEL processes have no swimlanes and it is not obvious who a task will be automatically routed to.

Process Modeling - Both Oracle BPM and BPEL processes can be created and edited by IT, but BPM processes are maintained by both the business and IT.  If you want business involvement, consider BPM for those processes.  BPM processes are understood by subject matter experts, end users, managers, business analysts and IT.  Oracle BPM is based on BPMN.  BPMN is important because it is the syntax used by business people today to model processes in about any tool used for process modeling.  BPM process modeling is more flexible than BPEL.  A sequence flow in a BPM process can go anywhere in the process while BPEL process flow is limited to the block structure.  BPM processes can be modeled by the business using the web based tool called Composer.  Although a BPEL process will be understood by IT, it is more complex and is not designed to be reviewed by the business.

Execution - Both Oracle BPM and BPEL processes can be executed.  They both run on separate engines running on Oracle's Service Component Architecture (SCA) as compiled code for rapid execution, but the models are stored in their native syntax (BPMN for BPM and BPEL for BPEL).  Both share common services for logging, auditing, instance hydration/dehydration and routing.

Activity Types - BPMN activities tend to be more abstract and are much easier for everyone (especially the business) to understand.

Event Handling - Although both Oracle BPM and BPEL processes can handle events, BPM process event handling is far richer.  BPM has start, end, intermediate and boundary events.  BPM process events have catch and send events for messages, signals and errors.  BPM processes have catch timer events (BPEL processes on the other hand only capture message and timer events within a scope).  While BPM events can be defined as either interrupting or non-interrupting using a single event, for a BPEL process to manage non-interrupting events a  much more complex process is required.  BPM processes have the ability to start from a variety of messages, signals and/or timer events.  BPEL processes can only start a process from a single channel.  If multiple channels are needed to start a BPEL process, they must be defined outside of the process and instead in the Composite diagram.   

User Interfaces - The user interfaces created for the human tasks in both Oracle BPM and BPEL processes can be based on ADF.  With BPM, business people can also create user interfaces using a simple web based tool in Composer and immediately test the user interfaces and the rules they create using the Process Player tool also inside of Composer.

Patterns - Oracle BPM processes can have inclusive and parallel complex gateways enabling early release and aborting pending flows within the parallel or inclusive gateway structure.  BPM processes have activity guides that let you set milestones within the BPM process that are available to be viewed at runtime.

Workspace - The Oracle BPM process Workspace can have calendar and holiday rules defined so you know when task can be assigned to users.  The BPM task list can show the audit trail.  BPM processes can have end user pie and bar charts based on process KPIs that end users can view from dashboards that they can create.

Hope this helps clear up the BPM "vs." BPEL" thing.

Dan

3 minute read