16
votes

What's the difference between BPMN (Business Process Model & Notation) and BPEL (Business Process Expression Language) and Where do we use BPMN and where do we use BPEL and which one is better?

2
I believe, that this Blog Post by Leymann gives a good explanation and also points out that the previously used techniques for executing BPEL might still live on in more modern BPMN engines.So S

2 Answers

23
votes

BPEL is an XML-based process specification language with a strong focus on automation.

BPMN started as a purely graphical business process notation.

Initially and by design, BPMN and BPEL were often used in conjunction (see this link as posted in a previous answer): BPMN was used for the business user-centered perspective and BPEL for the technical specification.

In older versions of the BPMN standard the mapping of the graphical notation to BPEL is a core aspect.

However, with version 2.0 an own XML format was added to the BPMN standard. Accordingly, BPEL became less important in a BPMN context, as BPMN now fulfills both business and IT needs.

Currently, the BPMN 2.0 XML format is arguably the most popular standard for transferring process models between systems.

Moreover, a variety of solutions like Signavio Workflow, jBPM and Camunda support the execution of BPMN 2.0 XML.

BPEL, however, might be considered legacy technology.

1
votes

First of all BPEL is Business Process Execution Language.

BPMN is graphical notation of Business processes that an organization has. This is used by Business Analysts.

BPEL is a xml based execution language for the Business process. This is used by Technical analysts.

Both are used for different purposes. So you cannot say which is better.

More details can be found from: BPMN and BPEL explained