In previous months, I discussed the concepts of service-oriented architecture (SOA). I covered three main business process management languages: BPEL (Business Process Execution Language), Business Process Modeling Language (BPML) and also Business Process Specification Schema (BPSS) for ebXML. These business process management languages can be used to generate executable XML-based code directly from workflow diagrams or process models. This month I will discuss Business Process Modeling Notation (BPMN) - a process modeling diagramming standard.

Business Process Modeling Notation

Business Process Modeling Notation is emerging as a way to specify business process models and diagrams for any business process management language. As the following extract from the BPMN Specifications states: "Businesspeople are very comfortable with visualizing business processes in a flow-chart format. There are thousands of business analysts studying the way companies work and defining business processes with simple flow charts. This creates a technical gap between the format of the initial design of business processes and the format of the languages, such as BPEL4WS, that will execute these business processes. This gap needs to be bridged with a formal mechanism that maps the appropriate visualization of the business processes (a notation) to the appropriate execution format (a business process management execution language) for these business processes. Inter-operation of business processes at the human level, rather than the software engine level, can be solved with standardization of the Business Process Modeling Notation (BPMN). BPMN provides a Business Process Diagram (BPD), which is a diagram designed for use by the people who design and manage business processes. BPMN also provides a formal mapping to an execution language of BPM Systems (BPEL4WS). Thus, BPMN would provide a standard visualization mechanism for business processes defined in an execution-optimized business process language."1

BPMN describes private processes, abstract processes and collaboration processes.

Private processes are those that are internal to an organization. These are processes that have been generally called workflow or BPM processes. A single private process will map to a single BPEL XML document. Abstract processes represent the interactions between a private process and another process or participant. Only those activities that are used to communicate outside the private business process are included in the abstract process. All other "internal" activities of the private process are not shown in the abstract process. Thus, the abstract process shows to the outside world the sequence of messages that are required to interact with that business process. A single abstract process may be mapped to a single BPEL4WS abstract process.

Collaboration processes depict the interactions between two or more business entities. These are defined as a sequence of activities that represent the message exchange patterns between the entities involved. A single collaboration process may be mapped to various collaboration languages, such as ebXML BPSS, RosettaNet or WSCI.

An example from the BPMN Specifications is shown in Figure 1. This shows the message interactions between a patient and a doctor in establishing an appointment to see the doctor, who diagnoses the illness and prescribes medicine, with interactions to collect the medicine.

Figure 1: A Process from Two Points of View

BPMN specifies standard diagrammatic notations or icons that can be used in process models to define a business process in a BPMN business process diagram. An example illustrating part of the process diagram for a travel agent example is expressed as a BPMN BPD in Figure 2.

Figure 2: Part of a Travel Agent Example, Shown as a BPMN BPD

The BPMN Specifications illustrate, using many examples, generation of XML executable BPEL code from typical process models in BPMN. It describes, in detail, the mapping of BPMN diagrams to generated BPEL XML code. A complete BPMN example of an e-mail voting process model is documented as Figure 92 of the BPMN Specifications, with generated BPEL code from this BPMN process included as Appendix A.2

We have covered BPEL, BPML and BPSS as the major business process management languages used today for the automatic generation of executable XML code from workflow diagrams or process models. We have also discussed BPMN as an evolving standard for specification of process logic for all of these business process management languages. This indicates the direction that modeling tools will take: representing process models in BPMN. These diagrams can then provide direct input to software products that automatically generate executable XML-based business process management code from these diagrams. In following months, we will review some of the software products that generate these business process management languages. 


  1. The BPMN Specifications are on the XML Cover pages at
  2. Refer to the BPMN Specifications as detailed above (p. 127) for this e-mail voting example.

Register or login for access to this item and much more

All Information Management content is archived after seven days.

Community members receive:
  • All recent and archived articles
  • Conference offers and updates
  • A full menu of enewsletter options
  • Web seminars, white papers, ebooks

Don't have an account? Register for Free Unlimited Access