THIS BOOK IS INTENDED AS A REASONED, CONCEPTUAL PRESENTATION OF THE BURGEONING BUT FRENZIED WORLD OF BUSINESS PROCESS MODELING, or BPM (also known as business process management), at a recent point in time. Endless material about BPM can be found on the Web, but it is a morass of vendor sales pitches, insubstantial business and technical articles, and imprecise terminology. When BPM is introduced into a modern consulting project, it is frequently misapplied (used to solve problems that BPM was not meant to solve) and designed poorly (hacked, rather than coded by pattern). BPM cannot even decide what to call itself. What happened to the wonderfully descriptive "workflow?" Seemingly interchangeable with BPM, the term "workflow" has fallen out of fashion, and is now verboten. But BPMor, dare we say, workflowis actually quite a taut, intelligible topic. It is about modeling a business process, using standard graphical and XML representations, as a flow of activities. Thanks to those standards (notably BPEL and BPMN, defined in Chapters 5 and 6), the semantics of a flow are as rigorously defined as those of any programming language: anyone can informally sketch boxes and arrows on a whiteboard during a requirements meeting, but a BPM process is designed with execution in mind. BPM is also closely aligned with the notion of service-oriented architecture, particularly the emerging W3C web services stack. Whereas the traditional use of a workflow was about the movement of work from person to person within an organization, contemporary BPM processes are built to interact as services with other systems, or even to orchestrate or choreograph other systems, including the business processes of other companies. Indeed, a business process is a service, one intended to be called by other systems, and these calls drive its execution. Realizing this fact is one of the first big steps in understanding BPM. The goal of Essential Business Process Modeling is to demonstrate standard ways to code rigorous processes that are centerpieces of a service-oriented architecture. Along the way, this book introduces design patterns and best practices specific to BPM, as well as some underlying theory. The book aims to do three things:
|