Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

BPM vs ESB - Orchestration?

Can we safely say that if ESB provides Orchestration features, it is eligible to be an implementation of BPM?

I understand that BPM has a different purpose, which is to Model some business processes and the implementation of those business processes can be done by any simple Java/J2EE application, complex SOA application, or some application saying that I provide BPM. Is that right?

like image 420
Sandeep Jindal Avatar asked Apr 11 '12 14:04

Sandeep Jindal


2 Answers

First Question:

Your statement is valid for some business processes which merely models request-response interaction.

But when it comes to complex business processes we need to consider some other features apart from orchestration features. Here I have list down few such scenarios.

  1. Let's take a business process which requires to maintain its state for a long period of time. We normally call them state-ful or long running business processes. To support these sort of business processes, there should be a state persistence mechanism. This functionality is not relevant to orchestration features.
  2. Consider a business process, which requires some compensation capabilities. In that case, some of the business process modelling standards like, WS-BPEL have defined its compensation mechanisms. So apart from orchestration features, there are some other features which are needed to be considered.

Second Question:

Yes. But there are several pros in a BPM engine compared to your mentioned implementation mechanisms.

One advantage is, it's not possible to achieve a level of modelling abstraction provided by a BPM engine from a Java application. Let's say we used a JAVA application to implement a business process logic and that business process went to production. Say we need to change a endpoint URL of its partner service. In this case, now the business process implementation need to be modified, re-compiled and deployed back into the production system. if we implement the business process with a business process language standard like WS-BPEL, we can change the business process configuration very easily and push it back to the production. This improves the efficiency and reduce the business maintenance cost. As well there are other reasons like easy adaptability and flexibility.

like image 53
Denis Weerasiri Avatar answered Sep 30 '22 00:09

Denis Weerasiri


I've created these slides some time ago to explains exactly how you can use them both and the relationships between them: http://www.slideshare.net/salaboy/jbpm5-community-training-module-25-bpm-for-developers

You need to understand the different perspective between something like BPEL/ESB/Orchestration and BPMN (business oriented) they have very different scopes.

Cheers

like image 25
salaboy Avatar answered Sep 29 '22 23:09

salaboy