Home About Me Resources Book Preview

Chapter 10: BPM Servers
Preface      Table of Contents      Chapter 1      Chapter 2      Chapter 3      Chapter 4      Chapter 5      Chapter 6      Chapter 7      Chapter 8      Chapter 9      Chapter 10      Chapter 11      Appendix-BPM Product greatest needs
     There is too much of confusion out there regarding BPM, BPM servers and BPMS. Software vendors, VARs (Value added retailers), strategic consulting firms, research analysts have been providing different meanings for the above terms. I want to get the terms straight(again) before I dive into details of BPM servers. BPMS (Business Process Management Systems) are complete technologies which enable the business to manage the business process. BPMS are a complete set of technologies to manage the business process life cycle. A BPM server provides certain services like (like EAI, orchestration, workflow etc) which are part of process life cycle management. Below is the concept BPMS diagram from chapter 3. BPM engine/server is the core of BPMS.
     The goal of BPM server (the process engine) is straightforward yet very complex- to provide all services needed for process orchestration, enterprise integration and collaboration. We do know that complex business process involve multiple participants (human and system), cut across the departments of an organization, involve partners and suppliers and are long running. Now think about orchestrating this business process start to end in a reliable and secure manner. To achieve this, a BPM server combines several different preexisting technologies (EAI, workflow, collaboration, etc as mentioned in chapter 3) around the business process. BPM server relies on different kind of technologies and is distributed in nature. The federation of all these technologies targeting business change is very powerful and when done right creates a process managed enterprise. BPM server offers an array of services for robust process orchestration as described below

+   Orchestration Services
+   State Management services
+   Transaction Services
+   Management services
+   Business rules services
+   Enterprise Application Integration services
...
...
State Management Services
     Most complex business processes are long running transactions. Process orchestration could last for days, weeks or longer. This is the biggest difference between BPM servers and application servers or Web services. Request to web services/application servers generates a reply within a few seconds or minutes.
     The BPM server manages the state of all the running process instances. The state of a live process at any point in time refers to where the flow is at the current time, path of execution completed, events raised so far and all details of activities that have happened so far. Given the need to track process instances over long periods of time, the BPM server stores the state in a process database. It is not possible to keep in-memory state information for extended periods of time.
     While a process instance is waiting for something, say user to complete approval or an event to occur in an external system, the BPM server no longer stores the process instance in BPM server memory. The BPM server saves the state out to a process database. The process instance is said to be quiesced (in silent state). Periodically (based on frequency defined by BPM teams which could be 30 or 5 minutes) or when an event occurs, the BPM server retrieves the process instance from the process database and orchestrates the process instance.
...
...


Buy the Book at
Buy at Amazon.com

Buy PDF version Support independent publishing: buy this book on Lulu.