How to choose between ESB and BPMN — A comprehensive study

Radhika Kulkarni
2 min readSep 28, 2022

Purpose:

This document explains how to choose which tool is suitable for use case between ESB and BPMN

Choosing technical stacks is always a big task for Architects especially when one has multiple choices with same features. Same scenario usually faces by techies when they want orchestration, performance, and integrations all together, so it is always tough task to choose service bus between the service bus and process management

Before digging more on subject let’s get introduce with ESB and BPMN

Enterprise service busESB is more in to integrating various systems like SAP, Salesforce and handling migrating heavy data It is more in to infrastructural also take cares of availability, scalability performance, state machine etc. in short ESB solves complex integration problem.

Business Process Management — BPM focused for business orchestration, and it is handled by functional designers and business analysts who modify processes without having any idea about any technical details. The BPMN language is all about business workflows and is designed to be functional friendly. In the BPM tool the goal is to implement business processes by using functional blocks. In short BPMN solves orchestrating modeling workflows, integrating Business and technical team and systems

Layered architecture in SOA, the lowest being “enablement” or exposing/publishing existing systems as services, the middle is “orchestration” which responsible to create and compose “business services”, and the highest is “process orchestration” to create business workflow.

In general, ESB is use for the middle layer orchestrating low-level services into big service package/unit, which publish/exposed to the business for BPMs and use in processes in the top layer.

Conclusion:

It is not about when to use BPMN or ESB, rather how to fit them together efficiently. In other words, with BPMN, it should allow exposed systems and API as services with ESB.

The other way around is ESB to expose a process as a service to start a process instance BPMN workflow.

--

--