Book Review: Getting Started with Oracle BPM Suite 11gR1
By Jeff Davies-Oracle on Jan 27, 2011
This book provides a solid introduction to the major concepts and Business Process Management (BPM) and to the suite of tools provided by Oracle. If you are interested in learning about BPM, its notation BPMN, and how to apply BPM and SOA principles together this book is for you.
Chapter 1, Business Process Management, starts off with an introduction to BPM at a high level and covers many important questions that people new to BPM will ask. Chapter 2, Getting Started with BPM, begins by making an important distinction between processes in general and business process. They are not the same and this important fact is not always obvious when you are working with different process engines. BPM generally operates at a high level of abstraction, as opposed to integration process engines that tend to be concerned with lower level more technical processes.
Chapter 3, Product Architecture, describes the architecture and design principles of the Oracle BPM Suite 11gR1 product release. It provides a good mental model of the product, its capabilities and the life cycle management of BPM projects. Beginning with chapter 4, Functional Overview, the book becomes increasingly technical. Chapter 5 introduces the project around which the book is centered. Throughout the rest of the book you will build pieces of this overall process. This is no simple "Hello World" project in BPM. The authors provide a real-world business process and then go through the step to realize that complex business process using Oracle BPM Suite 11gR1. The process that you will build is focused on sales quote processing.
Chapter 6, Product Installation, details how to not only install the Oracle BPM Suite 11gR1 product, but also how to create and configure a WebLogic Server domain and an Oracle database (used for managing project meta data). It also covers how to install the product with Oracle SOA Suite 11g and Oracle WebCenter with Unified Content Management (UCM). Following the steps defined in this chapter I was able to not only install the BPM software (with which I am fairly familiar) but also the WebCetner with UCM, which is pretty new to me. The level of detail in this chapter makes the installation a snap.
Chapter 7, Process Modeling Using BPMN 2.0, provides a solid grounding in the BPMN notation. This chapter is also the first chapter where you get your hands dirty by creasting the BPM application. You will create the business process for processing sales quutes, define roles for the participants in the process. This leads directly to chapter 8, Process Organization Model, which covers the core concepts of organizations, roles and participants. It also has more steps for the tutorial.
Chapter 9, Simulation and the Analysis of the Business Process, is one of my favorites. The ability to simulate process execution is incredibly valuable. To see your process running with multiple instances makes it clear where your process can be improved. This chapter walks you through the process of setting up, running, modifying the business process and then re-running a siumulation of the sales quote process.
Chapter 10, Implementation of the Business Process, you now create the logic and integrations that comprise the very heart of the business process. In chapter 7 you defined the process, but did not create any implementation logic for the process. In chapter 10, you start to create the logic for each of the process steps you defined in chapter 7. By the time you finish this chapter, you're pretty competent in the use of the too.
Chapter 11, Using Process Composer, introduces the web-based tool for creating and modifying business processes. Chapter 12, Using Process Spaces and Workspace Application, covers the main user interfaces with Oracle BPM Suite. Chapter 13, Process Analytics and Business Activity Monitoring, shows you how to create custom Business Activity and Monitoring (BAM) dashboards. This chapter also covers hot to integrate with the Oracle BAM tool. There are two tutorials in this chapter and both of them are very useful for learning BAM.
Chapter 14, Using Business Rules, is a very important chapters in my opinion. The Oracle Business Rules (OBR) engine that ships with Oracle BPM Suite provides you with a nicely integrated rules engine, easily accessible through your BPM processes. You can declaratively define your business rules. Even better, you can make those rules reusable so that you are not replicating your business logic across multiple applications.
Chapter 15, Using Human Task Patterns and Other Concepts, goes into detail and how to create human tasks. A human task is a part of a BPM process where the process needs a decision from a human being. This often takes the form of approvals. In the associated tutorial for the chapter, you learn how to create a human task that leverages a business rule (created in chapter 14) for routing the Request Quote process. Chapter 16 builds on 15 by showing you how to create more advanced user interfaces using Oracles Application Development Framework (ADF) which makes developing these web based interfaces much easier.
Chapter 17, Events and Exception Handling, teaches the proper use of the event and exception handling frameworks built into Oracle BPM Suite. The authors do a good job of describing these concepts, but there is no tutorial for this chapter. Chapter 18, Customizing and Extending Process Spaces, has two tutorials that show you how to customize the user interface of the Process Space UI.
Chapter 19, Administering the BPM Environment, has some good info. I whish this chapter were a bit longer though. Chapter 20, Concluding Remarks, wraps up the book.
Overall I enjoyed the book and learned from it. Since reading the book I have used it as a reference on several small projects. I like having it available when I forget the specific set of steps I need to take to do what I want to do. I think the book also does a very good job of showing, through example, how to use the various tools of the Oracle BPM Suite to work together to solve problems and create robust, scalable, reliable systems.