I am a bit confused about the relationships between BPMN, BPEL and SOA.
In short words I understand it like this:
BPMN is graphical notation for process witch is using web services. So BPMN combine multiple web services in some order. Then BPEL is representation of this process created using BPMN in XML (executable level). So it is orchestration of multiple web services. The result of BPEL is new service, which I can use in SOA (among with other services)
Do I understand it correctly ? If not please try to explain it as simple as possible. Maybe real life example would help
Thank you very much
Let's start at the high level. SOA is an over-arching concept that can be applied across an enterprise's technology solutions. To that end it is more a philosophy for how you approach your solutions to ensure certain principle's are followed independent of the technology used to implement that solution.
I've used several BPMN engines / suites and have encountered some BPEL solutions within that work. In my experience BPEL seems to lean towards orchestrating system based processes, coordinating complex logic where multiple systems need to interact in order to achieve a business outcome. BPMN can also do this, but many implementations put significantly more focus on the Business Processes that require both coordination of system and of users.
It is important to note that BPMN is silent on implementation portion of the process. While it is intended to capture the "what" of a process, it is silent on how to actually make the items in the diagram execute in the manner indicated. This is indicative of the underlying difference between "Business Process Modeling Notation" and "Business Process Execution Language". The latter at leas implies that execution be included for you to be in compliance while the former is nearly a means to say "This is a notation that can be used to display / understand a business process. Implementation is not part of the specification."
This gets easily blurred as the actual software for BPMN generally gets pulled towards inclusion of implementation, either as an engine for doing the bookkeeping for process execution (e.g. what is currently happening, what is next after that, what happened before) like Camunda, or a full end to end BPM Suite like IBM BPM (now part of their "Digital Process Automation" suite). These include implementation for Process execution, but that is not required by the BPMN standard.