BPM vs ESB - Orchestration?

14,649

Solution 1

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.

Solution 2

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

Solution 3

Normally ESB is assigned to the middle layer — orchestrating low-level services into larger service units, which will be exposed to the business for use in processes — and BPMs in the top layer.

So BPM will be used in the Business Process Orchestration Layer and ESB will enable and facilitate this by working in the Business Services and Service Enablement.

In another words to be successful with business processes first you need to have all your systems and apps exposed as services; that is where an ESB comes into play.

You could see this link : http://blogs.mulesoft.org/why-bpm-and-esb-need-to-work-together/

Share:
14,649
Sandeep Jindal
Author by

Sandeep Jindal

https://sites.google.com/site/nosuchmethodexception/

Updated on June 04, 2022

Comments

  • Sandeep Jindal
    Sandeep Jindal almost 2 years

    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?

  • Sandeep Jindal
    Sandeep Jindal about 12 years
    Perfect answer! Thanks for the explanation. (stackoverflow.com/questions/345749/…) this question is also very similar and has been answered beautifully.
  • Sandeep Jindal
    Sandeep Jindal about 12 years
    This seems to be a great presentation. I would want to give +20 for the presentation, not sure if that's possible.
  • Sandeep Jindal
    Sandeep Jindal about 12 years
    I have few questions on the presentation e.g. I thought we can safely say "A workflow can be represented as / is a process". From the presentation, is seems this is not correct. Need reasons/differences. Can I have a discussion/chat/mail exchanges in similar questions?
  • salaboy
    salaboy about 12 years
    A Business Process can be considered to be a more high level, business related representation. If you are a technical person you need to try to not confuse that with a state machine that you can use for a very technical purpose, which is not relevant for the business people. You can write questions to my blog if you want: salaboy.com