BPMN Method and Style

Preface to the Second Edition. v

  • Changes since the First Edition. v
  • Structure of the Book. viii
  • BPMN Training. x
  • BPMN Tools. x
  • Acknowledgments. xii

Part I: What is BPMN?. 1

1.    Bad BPMN, Good BPMN.. 3

  • The Paradox of BPMN.. 3
  • Method and Style. 4
  • The Long Road to BPMN 2.0. 5
  • Business Process Modeling Is More Than BPMN! 7

2.    How Does A Model Mean?. 9

  • BPMN’s Hidden Conceptual Framework. 10
  • Process Logic. 12
  • Orchestration. 13
  • BPMN Levels and Process Modeling Conformance Subclasses. 15

Part II: Method and Style – Level 1. 17

3.    BPMN by Example. 19

  • A Simple Order Process. 19
  • Exceptions and End States. 19
  • Swimlanes and Activity Types. 20
  • Subprocesses. 21
  • Process Levels and the Hierarchical Style. 22
  • Parallel Split and Join. 25
  • Collaboration and Black-Box Pools. 25
  • Start Events and the Process Instance. 28
  • The Top-Level Diagram.. 30

4.    The Level 1 Palette. 33

  • Activity. 33
  • Task. 34
  • Subprocess. 35
  • Call Activity. 38
  • Gateway. 39
  • Start Event. 42
  • End Event. 44
  • Sequence Flow.. 45
  • Message  Flow.. 46
  • Pool. 46
  • Lane. 48
  • Data Object and Data Store. 49
  • Documentation, Text Annotation, and Group. 50

5.    The Method.. 53

  • Goals of the Method. 53
  • Hierarchical Top-Down Modeling. 54
  • End State. 55
  • Step 1. Determine Process Scope. 56
  • Step 2: The High-Level Map. 59
  • Step 3:   Top-Level Process Diagram.. 60
  • Step 4: Child-Level Expansion. 62
  • Step 5: Add Message Flows. 63
  • Method Recap. 67

6.    BPMN Style. 69

  • The Basic Principle of BPMN Style. 69
  • Style Rules. 71
  • Official BPMN 2.0 Rules. 82

Part III: Method and Style – Level 2. 85

7.    Events. 87

  • Event-Triggered Behavior. 89
  • Timer Event. 91
  • Message Event. 95
  • Error Event. 104
  • Other Level 2 Events. 107
  • Event Subprocess. 111

8.    Iteration and Instance Alignment. 113

  • Loop Activity. 113
  • Multi-Instance Activity. 114
  • Using Repeating Activities. 115
  • Using Multiple Pools. 117
  • Batch Processes. 119
  • Instance Alignment. 120

9.    Process Splitting and Merging.. 123

  • Conditionally Parallel Flow.. 123
  • Merging Sequence Flows. 125

10.  Transactions. 129

  • ACID Transactions. 129
  • Business Transactions. 130
  • Compensation Throw-Catch. 132

11.  The Rules of BPMN.. 135

  • Sources of BPMN Truth. 135
  • BPMN Rules for Level 2 Process Modeling. 136
  • Style Rules for Level 2 Process Modeling. 139
  • Model Validation. 140

Part IV:  BPMN Implementer’s Guide –  Non-Executable BPMN. 143

12.  BPMN 2.0 Metamodel  and Schema.. 145

  • XSD Basics. 147
  • BPMN Schema Fundamentals. 149

13.  Process Modeling Conformance Subclasses. 153

  • Descriptive Subclass. 154
  • Analytic Subclass. 155
  • Common Executable Subclass. 156

14.  BPMN Serialization Basics. 157

  • definitions. 157
  • documentation and extensionElements. 160
  • collaboration. 160
  • process. 162
  • Example: Simple Process Model. 162
  • Example: Simple Collaboration Model. 164
  • Example: Simple Import and Call Activity. 165

15.  Serializing Process Elements. 167

  • flowElement and flowNode. 167
  • activity. 167
  • subProcess. 170
  • gateway. 172
  • event. 173
  • sequenceFlow.. 176
  • laneSet and lane. 178
  • Artifacts. 178

16.  Serializing Data Flow… 181

  • Non-Executable Data Flow.. 181
  • Example: Non-Executable Data Flow.. 183
  • More on Data Inputs and Data Outputs. 185

17.  The BPMNDI Graphical Model. 187

  • BPMNDI Basics. 188
  • Process Levels and Pages. 188
  • BPMNDiagram.. 189
  • BPMNPlane. 190
  • BPMNShape. 190
  • BPMNEdge. 191
  • BPMNDI Examples. 191

18.  BPMN-I 199

  • BPMN-I Profile Serialization Rules. 201
  • Part V: BPMN Implementer’s Guide – Executable BPMN. 213

19.  What Is Executable BPMN?. 215

  • Common Executable Subclass. 216

20.  Variables and Data Mapping.. 219

  • itemDefinition. 220
  • message. 220
  • Importing Structure Definitions. 221
  • Example: Data Flow with Imported Item Definitions. 221
  • Properties and Instance Attributes. 223
  • Data Mapping. 223

21.  Services, Messages, and Events. 229

  • Services. 229
  • Messages. 229
  • Automated Tasks. 230
  • Events. 232

22.  Human Tasks. 235

  • userTask. 235
  • Performer Assignment. 235

23.  Executable BPMN in Practice. 239

  • Handling Java Data. 240
  • Services and Service Adapters. 244
  • Example: Bonita Open Solution. 244

24.  Aligning Executable Design with BPMN Method and Style. 259

  • End State Variables. 259
  • Gateway Conditions. 260
  • Messages. 260
  • Errors. 261

Index. 263

About the Author 269