About this tutorial
- Based on current BPMN 2.0 for UML reference implementation.
- Developed by Daniel Brookshier
What is BPMN ?
- Business Process Modeling Notation
- Developed by Business Process Management Initiative (BPMI), and is currently maintained by the Object Management Group since the two organizations merged in 2005
- Supports business process management for technical and business users
- Bridge communication gap between business process design and implementation
What…?
- BPMN is simple
- Process diagrams business people like
- Less complex (business likes that too)
- Under the covers, technical enough for techies
What Does BPMN Not Do?
- State transitions
- Functional decomposition
- Organizational hierarchies
- Data modeling
What is BPMN Like?
- Similar to flowcharts and UML Activity diagrams
- Flow of activities with various messaging and data
- Can be used for service orchestration in SOA
Why BPMN?
- Standard notation
- Model concepts and/or implementation of
- business process
- Models high-level process concepts
- Notation is not complex
Issues With BPMN
- Limited complexity
- Process/conversation oriented
- Very high level
- Cannot see details of tasks or data
Solving BPMN Issues Via UML
- BPMN as an extension to UML
- Enhanced ability to implement complexity
- Link implementation with orchestration
- Greater tool support
- Fill in gaps with details state, decomposition, data, implementations
Executable Verses Non-executable
- Process flows can be executable or non executable
- Executable process follows specific rules
- Formal condition expressions are typically not included in non-executable form
- Executable does not have Manual, Abstract, and other non-execution elements
BPMN Diagram Zoo
- Process – Flow of activity, decisions, data and events
- Collaboration – Conversations and interactions (also process)
- Choreography – Tasks performed by participants and how participants coordinate interactions via messages.
BPMN Choreography
- Sequence of interactions between Participants.
- Choreographies exist outside of or in between Pools.
- A Choreography Task is an atomic Activity in a Choreography Process.
- The task represents an Interaction, which is one or two Message exchanges between two Participants.
- Helps to show who initiates the activity and the first message.
Activities
- Work that is performed within a Business Process.
- Activity can be atomic or non-atomic (compound)
- High-level, so does not describe the activity detail (not the job of BPMN)
- Three types: Task, Sub-process, and Transaction
What are Sub Processes?
- Is in the context of the process and can access the contextual data.
- Can be expanded or collapsed to show detail of the sub-process or to hide the detail.
- Sub process MUST define an internal process with a start and end event.
- A sub process is only reusable within the parent process (i.e. it is not reusable in the overall design).
Gateways
- Gateways are used to control how Sequence Flows interact as they converge and diverge within a Process.
- Capable of consuming or generating additional tokens.
- Define decisions/branching (exclusive, inclusive, and complex), merging, forking, and joining.
About Data Symbols
- Data Objects provide information about what Activities require and/or what they produce
- Represent a singular object or a collection of objects
- Data Input and Data Output provide the same information for Processes
(Read the BPMN lecture for the remaining content)