Practitioners in business process management (BPM), especially those with an interest in business process automation (BPA), should find this comprehensive reference guide to workflow patterns useful.
In general, patterns are a way of categorizing recurring problems and solutions in a particular domain. In particular, the authors apply a workflow pattern metaphor in order to empirically derive the core constructs that are appropriate for the business process domain.
Workflow patterns for the business process domain have a long history of extensive research including a Workflow Patterns Initiative, which the authors draw upon. Workflow patterns are both a language-independent and technology-independent means of delineating the fundamental recurring requirements that occur during business process modeling in a generic format. The Workflow Patterns Initiative identified 43 control-flow, 40 data, and 43 resource patterns.
Control flow, data, and resource are the three main perspectives in a business process model. Control flow describes the set of tasks that comprise a business process, as well as the way and manner that the thread of execution is routed among the tasks. Data captures both the working data that is used during the execution of a business process as well as any data that is kept on a more permanent basis. Resource lists the people and facilities that are actually responsible for carrying out a business process, identifies the organizational context within which those resources operate, and specifies the various relationships between them.
Part 1, “Introduction,” is the first part of the book and consists of the first chapter, which is aptly named “Introduction.” This chapter provides an overview of what the book is about and what it contains.
Part 2, “BPM Fundamentals,” is that part of the book that covers the basics of business process modeling (chapter 2) and business process management systems (chapter 3).
Chapter 2 discusses business process modeling. A business process model defines the means of operation of a business process. At the abstract level, a business process model focuses on the work activities of a process and on the sequence with which they are undertaken, but not at the level where the model could be run by a software system. That is left to the concrete level. Among the numerous topics that the chapter covers is an overview of popular techniques, including Petri nets, workflow nets, event-driven process chains (EPCs), and business process modeling and notation (BPMN).
Chapter 3 discusses business process modeling systems (BPMSs), which are used to operationalize business processes. The chapter reviews the business process life cycle and also provides an overview of BPMSs and popular techniques. The chapter also covers a number of key BPMS topics, including case handling, flexibility (by design, by deviation, by underspecification, or by change), dynamic workflow, exception handling, and declarative workflow. The authors also clearly list the challenges that BPMSs face.
Part 3, “Workflow Patterns,” is the part of the book that covers workflow patterns in detail. Three chapters comprise this chapter: one on control-flow patterns, a second on data patterns, and a third on resource patterns.
Chapter 4 covers control-flow patterns. Control flow is the dominant perspective and is used as the starting point for process design and development. The chapter groups control-flow patterns into eight categories. Each category has a detailed section devoted to it. The eight categories are branching patterns, synchronization patterns, repetition patterns, multiple instances patterns, concurrency patterns, trigger patterns, cancellation and completion patterns, and termination patterns.
Chapter 5 discusses data patterns, which are divided into four distinct groups. Data visibility patterns cover how data elements can be accessed and utilized. Data interaction patterns focus on the communication of data between the active elements in a process. Data transfer patterns describe the actual transfer of data. Data routing patterns connect the control flow and the data flow.
Chapter 6 describes resource patterns, which the authors state have not received the attention of the other perspectives even though every business process requires human and/or nonhuman resources. A section of the chapter is devoted to each of seven different types of resource patterns. These include creation patterns, push patterns, pull patterns, detour patterns, auto-start patterns, visibility patterns, and multiple resource patterns.
Part 4, “Conclusion,” consists of two chapters. Chapter 7, “Related BPM Patterns Collections,” discusses seven additional patterns that cover aspects of a business process, including service interaction patterns, workflow time patterns, and workflow activity patterns. Chapter 8, “Epilogue,” sums up the book.
All in all, the book provides an exceptional level of detail, which the reader should find valuable.