Summary

The main points of this chapter include the following:

  • A design pattern is a solution to a common problem. The solution is published for use by the larger development community.

  • The landmark book on design patterns , Design Patterns: Elements of Reusable Object-Oriented Software, by Gamma, Helm, Johnson, and Vlissides (the Gang of Four, or GoF) is a catalog of patterns for object-oriented design. The book has been so successful that it has permeated the thinking of almost every developer.

  • To the benefit of BPM, which desperately needs well-conceived design ideas, patterns have also been published for BPM. A group consisting of van der Aalst, ter Hofstede, Kiepuszewski, and Barrios (the Process Four, or P4) has documented 20 process patterns, or arrangements of activities in a process. These patterns are divided into six categories: Basic, Advanced Split and Join, Structural, State-Based, Cancellation, and Multiple Instances.

  • Disappointed that existing BPM vendors fail to implement most patterns, the P4 have invented a new process language called Yet Another Workflow Language (YAWL), which is rigged to support all patterns. YAWL is interesting, but BPMN and BPEL are almost as strong on patterns and have greater traction in the industry. Plus, pattern support is but one of many factors used to choose the right BPM solution.

  • Communication and human workflow patterns are also considered, albeit in less detail than the P4 control flow patterns. Communication patterns capture basic service interactions with partners. Human workflow patterns include the escalation and prioritization of manual activities.

  • Process design, whether practiced by a business analyst or a developer, requires the same high standards of code quality as programming. Two rules that boost quality and maintainability are to keep the process small enough to fit on a screen or printed page (reduce size by moving chunks of code to a subprocess) and to keep the steps of the process as coarse-grained as possible (factor out the details to external components or subprocesses).

Get Essential Business Process Modeling now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.