Published on March 13, 2014
Sherif Rasmy - BPM 1 Enterprise Application Integration The Business Process Manager – BPM Sherif Rasmy - March 13, 2014 Introduction SPX is a medium size on-line store that has successfully sustained consistent growth over the past two years. In order to maintain that growth, management realized that their operational systems need to be modernized to expedite purchases' delivery and improve the quality of customer service through an implementation of a Customer Relationship Management System (CRM). In the ESB paper  we outlined an integration solution based on an enterprise service bus (ESB) to reduce the time to fulfill orders from 2-3 days to minutes. This paper demonstrates how Business Process Management (BPMs) can allow SPX respond to rapid changing business changes. The paper outlines the key functional features and architectural properties of BPMs, and highlights the differences between ESBs and BPMs to clarify the role BPMs play in Enterprise Application Integration. The Problem SPX relied on file based integration architecture. The latency in this approach made order fulfillment exceed 2 days (figure 1). Order Management System (OMS) DB Payment Management System (PMS) DB SOAP Warehouse management System (WMS) DB REST Shipping Management System (SMS) DB MQ 1: Place Order 2: Load Orders Overnight 1 3: Load Orders Overnight 2 4: Load Orders Overnight 2 Figure 1 – SPX File Based Integration Architecture The implementation of an ESB reduced the order lifecycle time to be minutes (figure 2). Currently, when payment fails, the order is cancelled and the customer is notified through an email. However, the business is looking to enable a customer service representative (CSR) to call high valued customer with failing orders by phone in an attempt to review and resolve the payment failure.
Sherif Rasmy - BPM 2 Order Management System (OMS) DB Payment Management System (PMS) DB SOAP Warehouse management System (WMS) DB REST Shipping Management System (SMS) DB MQ Place Order Route 1: Place Order 2: Place Order Workflow E S B Save Order 4: Payment Request 5: Poll Payment Request 7: Call Recipients6: Success F1: Failure – Send Failure Email Figure 2 – SPX ESB Integration Architecture The Solution The solution uses a BPM integrated within the new ESB infrastructure (figure 3). In the proposed solution, the order processing life-cycle starts in the BPM and not the ESB. The ESB route is broken into four routes accessible through four web services A, B, C and D. The BPM is also configured as an end point in the ESB. Order Management System (OMS) DB Payment Management System (PMS) Warehouse management System (WMS) REST Shipping Management System (SMS) MQ E S B Save Order Is High Value Customer? Order Placement Yes Create Failure Email & Send No Yes No B P M Save and Pay Order SOAP A B Payment Failed? A Yes No C D Call Customer. Is Issue Resolved? A B C D Pay & Pull for Status Send Failure Email Prepare the Order Initiate Shipping User Places Order on the Web ESB Route Gateway Activity Event ESB Workflow Action Web Application UI CSR - BPM UI Parallel Execution X WS Figure 3 – SPX ESB/BPM Architecture
Sherif Rasmy - BPM 3 The BPM work-flow starts with an Event that signifies an order that failed payment. The workflow advances as shown going through multiple IT Activities. IT Activities are components implemented as internal/external web services and/or business rules. Our workflow may stop in a single Action; and cannot advance before a CSR calls the customer. Actions in that context are not IT components but rather manual processes that require human intervention. Technically, a BPM is best suited in our use case because: o Human intervention (CSR) is required: One of the key differences between ESBs and BPMs is that, ESBs integrate software components and data only, while BPMs integrate people, software components and data. o Issue resolution may take days: ESBs cannot handle long living processes. BPMs handle long living processes by storing their statuses and priorities a database. BPMs, ESBs and EAI Business Process Managers  BPM is a discipline that leverages software and services to provide total visibility into the organization. BPMs help discover, document, automate, and continuously improve business processes to increase efficiency and reduce costs  . In order to evaluate BPM providers and understand the role it plays in EAI, we must understand the key features and components that they should provide (figure 4): BPM Process Modeler UI Designer DB Repository Rules Engine Process Activity Monitor Process Simulator Development Collaborator Connectors Figure 4 – BPMs Features and Components o Process Modeler & Executor: Allows users to create visual flowcharts that capture happy paths, alternative paths, exception flows, process conversations, and capture handling of business events using standard modeling notation (BPMN) as well as process execution. Allows both business and IT tools share the same meta-model, same BPMN diagrams, and related artifacts. Supports long living processes o Process Simulator: Provides business users with various techniques to analyze and optimize processes
Sherif Rasmy - BPM 4 Specifies process step durations and costs and runs various scenarios to find the optimum process design. Identifies process bottlenecks, paths in the process that are most expensive and the paths that take up the most time. o User Interface Designer: Allows business users to easily create user interfaces for their business processes using dragging and dropping controls from a palette. o Rules Engine: Allows business users to add rules process models as conditions, decision tables or as system steps that may call any other enterprise systems. Allows rules externalization to quickly respond to the business changes o Development Collaborator: Empowers business users and IT developers to perform their work efficiently and effectively by through work management collaborative portal that allows. o Business Activity Monitor: Captures events and data as the process advances Provides a timely, overall picture to business managers o Connectors: Supports basic connectivity protocols like JDBC, JMS, SOAP, and REST Provides adapters to multiple ERPs like SAP and PeopleSoft BPMs versus ESBs  There is an evident overlap between the features provided by ESB (figure 5) and those provided by BPMs (figure 4). ESB Messaging Connectivity Routing Transformation Web Services Framework Message BrokerSystem Management Development & Tooling Figure 5 – ESBs Features and Components Integration Feature/Function ESBs BPMs Connectivity Yes Yes Orchestration Yes Yes Data Transformation Yes Yes System Management Yes Yes Component Integration Yes Yes Data Integration Yes Yes Stand Alone Deployment Yes Yes Messaging/Queues Yes No People Integration No Yes Long Living Processes No Yes Primarily used by IT Developers Yes No Primarily used by Business Modelers No Yes Table 1 – Similarities and Differences between ESBs and BPMs
Sherif Rasmy - BPM 5 In our use case, the ESB and BPM have unique and non-overlapping roles in the integration architecture: o SPX ESB: carries out all responsibilities set by EIP including Messaging, Routing, Connectivity and Transformation. However, routing that is based on business logic is delegated to the BPM. o SPX BPM: carries out all the responsibilities related to business rules and routing. BPM Vendors Most BPM vendors implement the features we described but they vary in the level of complexity. According to Gartner, visionary leaders in BPM  are: Pegasystems, IBM (Lomabrdi) and Progress (Savvion). We recommend SPX to use Activiti BPM Platform  . Activiti is a light-weight workflow and Business Process Management (BPM) Platform targeted at business people, developers and system admins. Its core is a super-fast and rock-solid BPMN 2 process engine for Java. It's open-source and distributed under the Apache license. Activiti runs in any Java application, on a server, on a cluster or in the cloud. It integrates perfectly with Spring, it is extremely lightweight and based on simple concepts. Activiti implements all the key enterprise feature of BPMs. It also integrates with ServiceMix  we recommended for SPX’s ESB. Conclusion BPMs empower business participants to design and implement their business processes rapidly, without having to rely greatly on over stretched IT resources, leading to agile and cost efficient development. It promotes close collaboration between business and IT and ensures that processes reflect actual business needs. It enables business users to gain better control of their process related tasks and facilitates dynamic work redistribution enhancing user productivity and process efficiency. It puts business in the driver’s seat and provides them the ability to tune processes dynamically and meet changing business needs  .
Sherif Rasmy - BPM 6 References 1. Business Process Modeling. http://www.businessballs.com/business-process-modelling.htm 2. Mark Cooper and Paul Anderson. April 27, 2007. Business Process Management. http://www.cio.com/article/106609/Business_Process_Management_BPM_Definition_and_Solutions#what 3. Magic Quadrant for BPM Suites. October 18, 2010. https://wwwimages2.adobe.com/content/dam/Adobe/en/enterprise/pdfs/magic-quadrant-for-business-process- management-suites.pdf 4. Business Driven Process Management. January, 2013. http://www.oracle.com/us/technologies/bpm/oracle-bpm- business-driven-1906865.pdf 5. What is BPM? http://www-01.ibm.com/software/info/bpm/what-is-bpm/ 6. Activiti BPM Platform. http://www.activiti.org/index.html 7. ServiceMix. http://servicemix.apache.org/ 8. ESB paper. Sherif Rasmy. http://www.slideshare.net/sherifrasmy71/the-enterprise-service-bus
Die Begriffe Prozessmanagement, Geschäftsprozessmanagement oder Business Process Management (BPM) werden von den Marktteilnehmern genutzt, ...
Business Process Management (BPM) is a discipline involving any combination of modeling, automation, execution, control, measurement and optimization of ...
Business process management (BPM) is a field in operations management that focuses on improving corporate performance by managing and optimizing ...
Was ist BPM? Was genau steckt hinter dem Begriff Business Process Management (BPM) oder zu Deutsch Geschäftsprozess Management? Zunächst handelt es sich ...
Die PASS BPM Suite hilft Ihnen dabei, Business Process Management als Gesamtkonzept zu verstehen und systematisch in Ihrem Unternehmen zu verankern.
Definition of BPM. Business Process Management (BPM) is a management approach used for describing, contolling, modeling, and optimizing business processes.
Ein Klischee im Zusammenhang mit Business Process Management (BPM) hat sich lange Zeit hartnäckig gehalten: Es sei komplex, teuer und scheitere häufig.
Intelligent business process management from IBM helps do more than collect data. Turn data into insight to take action.
Business process management (BPM) is a systematic approach to making an organization's workflow more effective, more efficient and more capable of adapting ...