Business Process Management & Intelligent BPM Suites. Shyju Sathi Raghavan

Size: px
Start display at page:

Download "Business Process Management & Intelligent BPM Suites. Shyju Sathi Raghavan"

Transcription

1 Business Process Management & Intelligent BPM Suites

2 Table of Contents 1. BUSINESS PROCESS RE-ENGINEERING (BPR) BUSINESS PROCESS MANAGEMENT (BPM) THREE PILLARS OF BPM BPM LIFE CYCLE BPM SOFTWARE SUITES GARTNER MAGIC QUADRANT FEATURES OF MAJOR BPM SUITES TECHNICAL OVERVIEW OF IBM AND ORACLE BPM SOFTWARE IBPM SOFTWARE SUITES - COMPONENTS AND FEATURES BPMN Process Modeling SOA & Integration BPEL Process Implementation Process Server / Process Manager ESB ESB Vs. Process Server - Which should you use? Content Management Event Management Business Transaction Management Business Activity Monitoring (BAM) Business Intelligence (BI) Business Rule Engine (Process Rule Management) Social Media & Mobile PROCESS EXAMPLE BPM SUITE BLOCK DIAGRAM... 21

3 1. Business Process Re-engineering (BPR) A business process is a set of logically related tasks perform to achieve a defined business outcome. Every organization follows certain process for achieving a defined business outcome. So, for an organization, process improvement is very much required. The ultimate aim of process re-engineering is to improve the productivity or service, to better meets the needs of the customer. Apart from that employees may experience greater satisfaction at work due to more streamlined and intelligent workflow. So, BPR is focusing of the analysis and design of workflow and process within an organization. More recently the concept of Business Process Management (BPM) has gained major attention in the corporate world and it can be considered as the successor of BPR.

4 2. Business Process Management (BPM) BPM can be defined as a process centric approach for improving business performance that combines information technologies with governance methodologies. Generally in an organization, process champion or process experts drive initiatives to change the process for improvement. But the implementation or getting it down to the lowest level is very difficult, even though the process champions come with an optimization. Also, for seeing the impact or result of the new process implementation takes long time. Here is the importance of technology comes into picture. Using technologies like application integration or SOA we can make this process faster and more efficient. Apart from application integration human interaction in between the process is also important. So, there can be a long running or interactive process which requires someone to take action or decision in between (So, the process flow is different from message flow. If the requirement is for process centric, we have to use process flow and if the requirement is data centric, we have to go for data flow). As, BPM attempts to improve process continuously we can call it as process optimization process. BPM uses cross functional approach, so the work is automatically moves from one desk to another in software point of view we can say, one application to another.

5 3. Three Pillars of BPM The three pillars of BPM are, People, Process and Technology Process: A process can be defined as a chain of action for achieving certain goal or result. While defining a process it has to satisfy all demands of the customer. People: People are the one who own the process or who involves in the process. For example, customer, manager or it can be any one. The user or the customer has to input all the required information correctly; otherwise the system has to prompt. The manager has to approve the customer request on time, otherwise, his manager or the process owner will get an alert. For completion of a process, there can be multiple software applications involved. So, getting inputs from multiple applications is required for taking decision in the process flow. According to the inputs from multiple systems, the business flow takes action and move to the next step. Technology: As, I already explained, for completion of a process flow, multiple software systems can be involved. So these systems can be integrated using technologies like SOA. Apart from application integration, process can be made more efficient and faster by using technologies like big-data processing, content management, process monitoring dashboards, complex event processing, cloud, mobile, social media etc.

6 4. BPM Life Cycle BPM activities can be grouped into six categories, Vision, Design, Modelling & Simulation, Execution, Monitoring and Optimization Vision: Most of the organization would have goal and vision. So, the organization vision study is important before process design. Functions should be defined according to strategic vision and goal of an organization. Process Design: Process workflow has to be designed simple and straight forward as possible. Process Modelling: Modelling is the activity of creating graphical process models using business process model notation (BPMN) and incorporate rule engine to create required business process rules. So, unlike the ESB flows, process flow graphical model includes human tasks, business rules etc, apart from that the process flow can be persistent as well. Once it is modelled using BPM Notation, it can be transformed into an executable BPEL process. In short, we can say, it is a kind of executable workflow. Simulation: Simulator helps to analyse and fine tune the business process based on meaningful assumptions without having actual implementation and execution of the process. Once modelled, a process may go through a simulation exercise and observe how the process performs giving a set of constraints. Simulation is mainly for determining the bottleneck and can improve the performance and reduce the cost of process implementation. Execution: Once the simulation is completed, it is deployed during the execution phase of the BPM project. Monitoring and Managing: The BPM project team will monitor the business and see anything goes wrong. Optimization: If any problem arises, change will be made for optimizing the process. This is continuous improvement.

7 5. BPM Software Suites BPMS BPM Software Suite is an integrated tool for designing, verifying, simulating, and operating business processes as well as automating and improving them. By integrating existing applications, pulling relevant data, and connecting appropriate people, process applications built with BPM suites tend to overcome the limitations of traditional enterprise systems. BPM Suites improves the quality of process by moving information between enterprise software using technology like SOA An intelligent BPM Suite expands the traditional BPMS by adding the new functionalities such as real-time business analytics, deep complex-event processing (CEP), social media to support social behaviour, big-data processing and expanded technologies to support growing requirements for mobility.

8 6. Gartner Magic Quadrant This is the Gartner magic quadrant for intelligent Business Process Management Suites. According to this, Pegasystem is the leader, followed by Apian, then IBM Lomoardi, then Bosch Inubit Suite, then Oracle BPM suite, followed by Tibco, Software AG products like Aris and WebMethords and so on.

9 7. Features of major BPM suites BPMS Apian BPM suites take full advantage of combination of social, mobile and cloud. Its look and feel is very good and it is user friendly INUBIT SUITE Bosch Inubit Suite is strong is application integration. It has more than 70 adapters. It had native support for popular middleware products and major connectivity standards. But the presence is more in Germany only. BUSINESS PROCESS MANAGER IBM Business Process Manager is very good in artefacts life cycle management; also it had very good simulation capabilities. It is available in multiple versions like standard & express editions. IBM Business Process Manager is the successor to WebSphere Process Server. BUSINESS PROCESS MANAGEMENT SUITE Oracle BPM Suite has several integration capabilities including Complex Event Processing, Business Rules, Real time optimization etc. It is built on top of Oracle SOA Suite which is famous in the market for application integration.

10 8. Technical Overview of IBM and Oracle BPM Software This is the technical overview of IBM Business Process Manager and Oracle BPM Suite. If you look at below, you can see both are running on top of Application Server (J2EE Open Standard Server). For IBM, it is WebSphre Application Server (WAS), for Oracle it is Weblogic application server. For IBM Business Process Manager, WebSphere ESB is installed on top of WebSphere Application Server and WebSphere Business Process Manager is installed and configured on top of WebSphere ESB. On the other hand, Oracle SOA Suite is installed and configured on top of Weblogic application server and BPM Suite is running on top of SOA Suite. Here you can install SOA Suite on top of WebSphere Application Server as well as both are J2EE/Open standards.

11 9. ibpm Software Suites - Components and Features 9.1. BPMN Process Modeling This is an example of process modelling using BPM Suite. Here you can see BPM Notation is using for modelling. Once it is modelled, you can convert it into BPEL Component notation for model driven development. The latest concept is executable BPMN. If, you are using executable BPMN, BPEL conversion is not required. Here, the notation inside the red circle is a human task, that is human interaction is required. This is a start process symbol These are all represents service tasks This is an exclusive gateway Apart from this there are lots of other notations are also available like send tasks, receive tasks, business rule tasks etc. Multiple gateways are also available like inclusive gateway, parallel gateway, complex gateway etc.

12 9.2. SOA & Integration Business Process Integration: A BPM Suite should be strong in SOA based application integration and should be rich in adaptors. Also, connectivity infrastructure should be flexible and has to follow connectivity standards. Apart from that BPM Suite should be support message oriented middleware like IBM WebSphre MQ, Tortoise MQ, MS-MQ etc. In earlier slides, you have seen that Oracle BPM Suite is built on top of SOA Suite and IBM Business Process Manager is built on top of WebSphere ESB and it is integrated with WebSphere service registry for SOA solution BPEL Process Implementation This is an example of BPEL Process implementation. As I already explained, you can convert BPMN notation to BPEL process notation. Apart from that, you can directly drag and drop the components into BPEL editor itself. Generally, BPMN is used when designing and improving the business process, whereas BPEL is used when implementing it, In other words, BPMN is used by business analysts/business team whereas BPEL is used by technical team.

13 This is another BPEL flow. In this image, the left side service is called an exposed service. That is, the service shown on the left side is the final output service that can be used by the user or another application. The right side services are called external services. That is the BPEL process flow uses/invoke these services. Generally, by combining all these services are called partner links. As I have explained, BPEL flows are actual implementation. That is why you can see operation name on the service image. These operation names are coming from the service definition (For example WSDL). Here the middle portion is the designer window which is called component lane or swim lane. You can drag and drop components from component pallet to this window. The component pallet can have activities and components. There are multiple types of activities like assign activity, invoke activity, receive

14 activity etc. It can be components like Business Rule component, Human Task component, Mediator Component etc. The BPEL tool is mainly for service orchestration. If you take a typical example for loan process flow, the flow may need to contact with multiple external services. For example, credits check service, blacklisted check service etc. Also, the service can be data enrichment service as well. So, this service orchestration includes business logic as well like if the value of response from service-1 is xxx then invoke servie-2 else invoke service-3 etc. In this image, the component inside the red circle is called a Mediator. That is the purple coloured one. Mediator itself is a lightweight framework that has lots of features including the normal ESB features like routing, transformation etc. This is the BPEL process service component, the blue colour one. I you double click this component, it will open the BPEL Code Flow, which contains the flow of the business logic that includes various program components like Switch-case, If-else component etc and also contains various tasks components like Assign task, receive task etc).

15 The flow looks like this. You can double click each of these components and configure. According to that underlying XSLT code will be generated. Also, in this flow, you can see lots of + and signs. That is for expanding and shrinking the swim lanes exactly similar to sub flows. The yellow coloured components are Business Rule components. This will be connected with a rule engine and the rule engine contains decision table. The green coloured one is Human Task component. Whenever BPEL process required a human interaction, the approval request will go to the specific user and lies in his tray. He has to login and has to do the necessary action for process continuation. Until then the process will wait.

16 Process Server / Process Manager Once you complete the model driven development/bpel development, you can build and deploy it into the process server. In earlier slide, you have seen that SOA Suite is installed and configured on top of Weblogic Application Server or WebSphere Application Server. The SOA Suite includes ESB (OSB) and BPEL Process server. In short, the process server contains service orchestration engine (BPEL Engine) and it runs on top of application server, layers on top of SOA and SCA. Apart from that it follows industry standards like BPEL, XML, XSLT, XPath etc ESB Enterprise Service Bus is an import component of BPM Suite, which is basically using for message format transformation, message routing, communication protocol conversion etc ESB Vs. Process Server - Which should you use? If the requirement is data-centric, an ESB is the clear choice and if the requirement is process-centric, BPEL is the clear choice. We should not use an ESB when state is required whereas BPEL had ability to have a long-running business process where state is maintained (Human Task, Call Back Method) We should not use BPEL for handling large volume of messages whereas ESB is designed to be able to handle large volumes of messages (IBM WebSphere Process Server misuse Stateless and State full) We should not include business logic in ESB whereas WS-BPEL can handle more complex logic including business logic. BPEL had ability to handle Human Task and Business Rules

17 9.3. Content Management Most of the BPM Suites uses Content Manager for storing bulk images, videos, docs etc in a secured and organised way. Also, the content manager supports query language to access the content and it has site caching facilities for content integration. File format conversion is an import feature of Content manger, that is Doc to PDF, AVI to WAV, JPG to GIF etc Event Management Process Event is the occurrence of something in between the process that usually requires action. The events can occur at the beginning, middle or the end of the process. It can be called as start event, middle event and end event respectively. Each of these events is again sub classified into multiple categories. Event Driven Architecture (EDA) is the leading technology for enabling events for your business process. Complex Event Processing (CEP) helps monitoring and analysing trends and pattern at real-time. So, event management and Complex Event Processing engines are important components of BPM Business Transaction Management One process workflow can have multiple system interaction. The applications involved in the process flow are distributed across diverse infrastructure and they support Distributed Business Transactions, but the transactions prone to vanish without a trace because of delays, failures, errors etc. Business Transaction Management (BTM) provides tracking transactions across SOA. BTM supports Real-time tracking of each transactions and it follows transactions across all infrastructure and applications Business Activity Monitoring (BAM) Activity intelligence is the process of tracking real-time process performance, create rich reporting dashboards, identifying process bottlenecks and optimise process efficiency flow. Business Activity monitoring helps to make better business decisions and take corrective actions based on real-time information. Complex Event Processing extends the functionalities of Business Activity Monitoring by delivering real-time insight of the business Business Intelligence (BI) Business Intelligence tools are for gaining business insight from business data. Business Intelligence tool process the BigData and gives more complete picture of the business.

18 Oracle Business Intelligence Enterprise Edition is one of the famous BI tools in the market, Oracle data integrator contains high performance ETL tool for processing & transformation, Oracle Golden Gate is a real time BigData processor and it helps for operational decision making in certain situation. It also useful for compliance check, fraud check etc Business Rule Engine (Process Rule Management) Rule driven BPM is an important concept. Rule engine helps to guide and implement process agility and ensure compliance. Rule engine is for creating rules that support complex decision. The rules can be dynamically changed by the process owner. The rule engine can make decision automatically based on the rule provided by the process owner. For example, if a credit card customer is requesting for credit limit increasing with certain reason, the rule engine takes decision according to the decision table present into the rule engine. The decision table contains values for his credit score like low, medium, high etc. So that the rule engine can take auto action according to the requesters credit score. For example, if his credit score is low - then auto reject and if credit score is high then auto approve, if it is medium or mediumhigh then can go for manual approve. The business manager can change the rule dynamically like medium-high also auto approves something like that Social Media & Mobile Social Media and Mobile support are important functionalities/features of Intelligent BPM Suite. Social media helps to incorporate more external data source that is useful for market analysis & trend analysis (more information about the situational context). Social media helps the companies to sell and market their product. Enterprise mobility enables the employees to have instant access to information through mobile application from anywhere and any-time.

19 10. Process Example Credit Card Process Duly filled credit card application form will be scanned and sent to MQ Queue From the MQ Queue, one copy of the scanned image will be sent to Content Server and one copy will be sent to ICR/OCR for extracting character form the scanned image and sent it to database.

20 The backend processing executive login to the system, he/she can view the pending credit card requests in his tray. He/she can view both the scanned image and extracted data. After doing minor correction he/she can submit the request to Process Server. The process server/bpel orchestration tool internally contacts with multiple services like blacklisted service, credit history service etc. for service orchestration. According to the response from various services, the process flow takes decision and moves to next step.

21 11. BPM Suite Block Diagram The below picture shows the entire structure/components of BPM Suites Boosters WebSphere Data Power & WebSphere Message Broker IBM Operational Decision Manger - integrates business events and business rules to automate decisions across processes and applications

22 About Author Name : Specialisation : IT Architect - Middleware & JEE Location : Bangalore, India Mail : shyjusr@gmail.com Mobile : I am a technical enthusiast and like to work in the area of BPM, Application Integration with mix of domain and technology. My expertise includes, Technical Knowledge: Middleware Expertise Expertise in interface development and XML data processing, formatting & transforming using Java based XML parsers, XSLT and XPath from UNIX based Operating Systems (Batch/Schedule scripts). Knowledge in WMQ and WebSphere Message Broker (WMB) ESB capabilities like mediation, transformation, routing etc. Knowledge in Oracle Fusion Middleware like Oracle SOA Suite (BPEL Service Orchestration) and Oracle Adaptive Access Manager (OAAM) Java/J2ee Expertise Good exposure in Java/J2EE projects which includes JSP, Servlets, Struts 1.3 and AJAX. Also, have knowledge in spring, hibernate and Java Stored Procedure which invokes Java Program from Oracle Stored Procedure. UNIX and Shell Scripting Expertise 6 years of working experience in UNIX based operating systems. Good exposure in IBM-AIX, Oracle Solaris and Suse-Linux and have Shell scripting experience. Domain Knowledge: Investment Banking - Compliance Applications (Trading Compliance)