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?
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.