Business Process Modeling Notation (BPMN) is a visual flowcharting language for modeling process control flow. Maintained by the Object Management Group (OMG, the same group that owns the competing UML Activity Diagrams specification), BPMN is a compelling choice for documenting SOA architecture for several reasons:
Its visual notation is natural and expressive, and has precise semantics. A good BPMN editor can formally verify the soundness of a BPMN model. BPMN diagrams are not your father's flowchart.
BPMN has documented mappings to other process notations, including XPDL (an interchange format) and BPEL (an execution language).
BPMN's event notation lends itself to SOA's event-driven design.
The BPMN diagram of the retailer's enrollment process, introduced in the next figure in the next section, showcases the notational conventions we adopt in our use of BPMN. These conventions are the following:...