In BPMN we have three main categories of processes:
It is the main category of BPMN and corresponds to the processes we model in GeneXus.
They represent a specific vision of a business process. All the elements that make up an orchestration share the same context; that is to say, all the information related to the process is available for all the elements that integrate it.
It should be pointed out that one diagram can contain several choreographies. In this case, each one of them is represented in its own container called Pool. Therefore, we can have several processes in the same diagram, each one in its own pool. If we only have one Pool, it can be assumed that the diagram is the Pool and it doesn’t have to be explicitly drawn. In turn, each Pool can be subdivided into Lanes that represent the process roles (read the section Swimlanes for a detailed description of Pools and Lanes).
They describe the expected behavior between participants (between Pools), but here we speak of participants that are not necessarily included in the same business domain. For example, participants can be Client and Manufacturer. For each one of them there is a specific orchestration (a specific process within its corresponding Pool). The choreography would be the specification of possible interactions between these participants, which are performed through the exchange of messages.
Another characteristic of choreographies is that there isn’t a central context shared by all participants.
Up to BPMN 1.1 choreographies are represented in the same diagrams as orchestrations. However, the elements that allow for a complete definition of a choreography are still to be defined. It is expected that BPMN 2.0 will provide this definition and even add a specific type of diagram. The figure below shows an example of choreography according to BPMN 1.1:
So far, this category is rather confusing because participants can be easily confused with roles, when in fact a participant is more of a process. What’s more, a practical use case that clearly shows the execution of a choreography in a BPM suite hasn't been found, and it seems to be used mainly for documentation purposes. In fact, the article www.brsilver.com/wordpress/2008/06/11/bpmn-to-requester-get-outta-my-pool/ suggests having a single Pool with orchestration (the process that we’re interested in modeling because it’s the one within our organization) while the other pools are drawn empty (they are external black boxes where we send and receive messages).
Participants (Pools) are displayed as well as the messages between these participants as shown in the image below:
They can contain one or more orchestrations and choreographies.
Go to the main article - Return to the previous section - Go to the next section