PrefaceWhy Read This Book?
Workflow is a new information processing technology that helps implement businessprocesses that can be easily adapted to the changing needs of a dynamic environment.These processes are no longer just intra-enterprise business processes, suchas claims processing in an insurance company or loan processing in a bank, but alsointer-enterprise business processes, where multiple enterprises' business processesare connected to efficiently manage a business process. An example of an inter-enterprisebusiness process is the order activity involved in a manufacturing processthat starts the appropriate order entry process at a parts supplier. While the productionplanning process and the entry order process of the part supplier are differentprocesses controlled by their own enterprise, they are combined to efficiently meettheir common needs.
Workflow management systems help to define and carry out these businessprocesses in a heterogeneous and distributed environment. They make sure thatwithin a business process the right activity is performed at the right time, at theright place, by the right people, with the right data, using the right tools. Applicationsthat are built using workflow management systems are called workflow-basedapplications.
Standard application software vendors are beginning to provide their applicationsas workflow-based applications. These applications consist of a set of businessprocesses that invoke functions of business objects. Tools supplied by standard applicationsoftware vendors allow for the easy modification of the business processesso that they can be tailored to the specific needs of customers.
Since those workflows are mission critical for a company, they must be managedin the same way as any other critical resource within a company. This managementrequires functions and capabilities that go beyond the simple administrativetype of workflows, such as managing processes with an office mail system. Theseworkflows are called production workflows, and systems that manage productionworkflows are called production workflow management systems.
Production workflow management systems thus must provide the scalability,availability, and performance characteristics that are expected from other components that are used to build those mission-critical applications. Typical componentsare database management systems, message queuing systems, and transaction processing(TP) monitors. This set of components is collectively referred to as middleware.
The authors expect that middleware providers follow IBM and make workflowmanagement systems an integral part of their middleware offerings, building oncomponents that may already be available in their portfolio.
The mission-critical nature of workflow-based applications mandates that thecustomer's investment is protected. The Workflow Management Coalition (WfMC),a consortium of workflow management system vendors and users, had set itself thegoal to establish standards for workflow management systems. Those standardsdefine a set of interfaces for clients to interact with the workflow managementsystem, for applications that are carried out by the workflow management system,and for workflow management systems to communicate with each other.What You Will Find in This Book
This book focuses, as its title indicates, on the following aspects of workflow andworkflow management systems:
The concepts underlying workflow, and in particular, production workflow, the relationship between workflow and other technologies, and the applicability of workflow to other less traditional areas.
The techniques that are applied in the implementation of a production workflow management system, highlighting the architecture and system structure with emphasis on availability, reliability, and scalability.
We have chosen two business processes that we use throughout the book: avery simple loan process when we talk about basic concepts; and a more elaborateprocess, a travel reservation process, when we talk about the constructs that theworkflow management system offers for modeling business processes or when wedescribe some of the more complex features such as compensation of actions withina business process.What You Will Not Find in This Book
This book does not present:
How to use a particular workflow management system, whether it is end-user functions, system management tools, or programming interfaces. You can find this information in the appropriate workflow management systems' documentation. The samples in the book are for illustration only.
Detailed information about workflow system standards. We outline their intended goals and structure; however, for detailed information, we refer you to publications of the appropriate standards bodies, such as the Workflow Management Coalition or the Object Management Group.
Comparison of functions and implementations of different production workflow systems. The intent of the book is to present and discuss the concepts behind production workflow and how these concepts can be delivered by a workflow management system to allow you a judicious judgement of the capabilities of individual workflow systems.
Information about ad hoc workflow management systems, for example, as delivered by Lotus Notes or Microsoft Exchange. We discuss the differences between ad hoc and production workflow systems in the book; you should obtain, however, detailed information from the appropriate workflow management systems' documentation.
Information about systems that have workflow built in, such as document or image processing systems. We will briefly discuss their functions when positioning them to workflow management systems; however, for details, consult other books.Who Should Read This Book
This book addresses a broad audience, including:
Application programmers with an interest or need in building workflow-based applications
Application analysts who design workflow-based applications
Consultants in business reengineering and application restructuring
Product developers in related areas, such as developers of business objects
Marketing people who need to understand the benefits of workflow-based applications and the characteristics of production workflow systems
IT managers who want to understand the system structure of production workflow systems and how those systems provide for availability, scalability, and performance
Computer science undergraduates and graduates looking for an in-depth discussion of workflow and workflow management systemsWhy We Wrote This Book
We, the authors, have been involved in the development of the IBM productionworkflow management system MQSeries Workflow and its predecessor IBM Flow-Markfor years. This book reflects our understanding of workflow and productionworkflow in particular. As we have yet to see a product version of a workflow systemthat incorporates all of the presented concepts and techniques, we have electedto neutrally talk about the workflow management system instead of discussing individualconcepts using, for example, IBM's MQSeries Workflow. In particular, wewant to present the concepts and techniques of production workflow and not discussspecific implementations of these. A number of the concepts and techniques presentedin this book have been implemented in a production workflow managementsystem such as MQSeries Workflow; some may never find their way into a productdespite the fact that they are worth implementing. You should also note that anumber of these concepts and techniques are patented, anyone planning to build aworkflow management system using them must obtain the appropriate rights beforeincorporating them.What You Will Find in Each Chapter
Here is a summary of each chapter:
Chapter 1 Introduction. Gives an overview of workflow management and provides a basis for the more in-depth discussions in the other chapters of the book. Discusses the types of workflows, sketches how workflow relates to objects, outlines its role in the middleware stack, compares it to computer-supported cooperative work, shows the value of business processes as an enterprise resource, introduces the concepts of transactional workflow, and outlines the association to other technologies, such as security administration and software distribution. Focuses on specifying the goals and requirements that an implementation of a production workflow management system must meet.
Chapter 2 Business Engineering. Describes business modeling as a means to significantly improve the efficiency and performance of the operation of a company. Shows that the result of business modeling is a set of documents that describe the goals of the company and the business processes that help to achieve these goals. Defines business processes as a combination of business logic, organizational information, and information technology information. Discusses how simulation of the business processes can determine the human resources needed to perform the business processes, and derives organizational changes that lead to a lean and efficient organization that is competitive and therefore successful in the market. Presents how the technology of data mining can discover the structure of business processes by analyzing audit trail information written either by the workflow management system or by instrumenting the existing applications.
Chapter 3 Workflow Management System Basics. Describes the basic structure of workflow management systems as consisting of a buildtime component, which provides the capabilities to define all workflow and workflow management system relevant information, and a runtime component, which executes workflows and interacts with the user. Provides an in-depth discussion of the functions that each of the components provides and shows how the components interact with each other. Discusses the basic structure of workflows and the working together of different workflows in a parent-child or peer-to-peer relationship. Outlines the functions that the workflow management system provides to monitor, analyze, and correct workflows during their execution. Shows which of the functions typically offered by a workflow system have been standardized by the Workflow Management Coalition (WfMC) and indicates how this work helps to protect user investment.
Chapter 4 Metamodel. Provides a rigorous mathematical formalization of the metamodel of a workflow management system. Follows the approach taken in the development of relational databases, where each of the constructs can be described textually or through a language (SQL, in this case), but also mathematically.
Chapter 5 Advanced Functions. Describes advanced functions, including the support of events to allow business processes to wait for some external action to take place, the dynamic materialization of objects that are processed by the activities of the business process, the staging of objects to the proper locations to reduce the effects of network latency when users are working with the object, and functions that specify the performance characteristics of parts of a business process.
Chapter 7 Workflow and Transactions. Discusses various transaction models (sagas, nested transactions) that have been developed over time to allow applications to have a more complex transactional behavior and describes how these models can be accommodated in a workflow management system. Sketches distributed transactions and their atomic commitment. Describes how compensation spheres and atomic spheres take the concept of transactions even further and how they help to implement complex business transactions. Shows how stratification of distributed transactions allows forward recoverability of workflow-based applications in practical situations.
Chapter 8 Advanced Usage. Describes the applicability of workflow technology in areas where workflow has yet to play a significant role. Shows how workflow can be used efficiently for tasks, such as providing the support for enforcing dynamic semantic integrity rules in a relational database, controlling the distribution of exactly those code pieces that are required by each user involved in the execution of a business process, or deriving security privileges needed by users in a business process to perform the appropriate tasks. Presents a new way to perform systems management by looking at the processing of business processes instead of just monitoring individual programs or computer systems.
Chapter 9 Application Topologies. Presents the structure of workflow-based applications and shows how in this new structure the data and flow dependencies hidden in the applications are externalized and managed by database management systems and workflow management systems allowing the easy change of the applications. Reviews client/server topologies, underlying communication protocols, the purpose of TP monitors, and the structure of message monitors and message brokers, to provide a basis for understanding the architecture and system structure of a production workflow management system.
Chapter 10 Architecture and System Structure. Describes the architecture and system structure of a production workflow system. Shows how portability is achieved by means of a message queuing system and a relational database management system. Discusses how such a system provides the characteristics, such as scalability, availability, and reliability, that are relevant for a production workflow management system.
Chapter 11 Development of Workflow-based Applications. Discusses process-based CASE, a development environment for developing, testing, and maintaining workflow-based applications. Describes how a combination of animation, simulation, and monitoring can verify the correct execution of workflow-based applications. Shows how this approach also helps in designing and tuning the various components of the applications as well as the network that hosts the application.How To Use This Book
We recommend you read the book as you would reading a novel, starting at thebeginning and continuing until the end. In this way, you start with more generalinformation, then dig deeper into each of the various aspects of production workflow.However, different sections of the book are relatively independent of other sections,to allow you to focus on different themes. The only required reading is Chapter 1,Introduction, since it provides the basic foundation for all of the subsequent chapters.
For example, if you are interested in application development, you would readChapter 2, Business Engineering, to understand the motivation for process managementand the starting point for developing workflow-based applications; Chapter 6,Workflow and Objects, to understand the relationship between object technologyand workflow technology; Chapter 9, Application Topologies, to understand thebenefits of workflow-based applications; and Chapter 11, Developing Workflow-basedApplications, to understand how workflow-based applications are constructedand optimized.
If you are interested in modeling workflows, you would want to read Chapter2, Business Engineering, to understand the basic principles of business processes;Chapter 3, Workflow Management System Basics, to understand the basic structureof a workflow management system and its fundamental functions; Chapter 4, Metamodel,to understand the various constructs that are available to model workflows;and Chapter 7, Workflow and Transactions, to discuss the transactional propertiesof workflows.
If you are interested in transactions, you would want to read Chapter 6, Workflowand Objects; Chapter 7, Workflow and Transactions; and Chapter 9, ApplicationTopologies.
Or, if you are interested in the system structure of a production workflowmanagement system, you would want to read Chapter 10, System Structure andArchitecture.Disclaimer
The authors have made a reasonable effort to ensure that the information in this bookis accurate. The authors do not offer any warranties or representations nor accept anyliabilities related to the information contained in the book.
The information contained in this book is distributed on an "as is" basis withoutany warranty of any kind, either expressed or implied and including, but notlimited to, the implied warranties of function of the technologies and concepts ormerchantability or fitness for a particular purpose. The use of this information orthe implementation of any of these techniques is a reader responsibility and dependson the reader's ability to evaluate, to implement, and to integrate the techniques intothe reader's operational environment. Readers attempting to adapt these techniquesdo so at their own risk.
Opinions expressed in this book, as well as any errors and omissions, arestrictly those of the authors. The contents of this book in no way reflect the officialopinions or positions of the International Business Machines Corporation.