Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Open Source BPM Comes of Age


Published on

Freelance BPM Consultant, Jordi Anguela, shares his experience and thoughts after using Bonita Open Solution 5 with a concrete business process example. She shares her evaluation of functionalities of Bonita Open Solution.

  • Be the first to comment

  • Be the first to like this

Open Source BPM Comes of Age

  1. 1. DRAW your processes CONNECT to your systems RUN in one clic Open Source BPM comes of age A contributors view of Bonita Open Solution by Jordi Anguela, Freelance BPM Consultant Contents 1. Introduction 4. Using Bonita Open Solution in Iterative Development 2. Example: model definition using Bonita Studio 5. Bonita User Experience 3. Example: deployment and execution 6. Conclusions 1. Introduction The objective of this paper is to share my experience and thoughts after using Bonita Open Solution 5 with a concrete business process example. Over the last eight months, I have been following the evolution of the product and this document intends to provide an overview of the key functionalities of the solution. Beginning with the software installation, through launch and execution of my first BPM application, everything was really simple. All steps were intuitive. The product is distributed in a single “all-in-one” installation file. It integrates the design and execution/testing platform with an embedded application server and lightweight database. Everything is distributed as open source code under a GPL2 license. Installation and software configuration takes 3 steps: download, install and launch, and then you can start designing your first process model. The only prerequisite is to have Java 5 or higher installed. It’s remarkable that there is no need to waste time on arduous initial configurations. Do you remember when, before designing and executing anything for your BPM business, you had to install and configure an application server, add libraries, have a relational database working and setup configuration files? Forget all that. Now you can spend your time on developing your BPM applications. To illustrate my experience as a Bonita Open Solution user, I have created an example based on an insurance claim flow to show different features and functionalities. Part 2 explains the design of the example business model using Bonita Studio. Part 3 introduces how to generate a web application from this model. Part 4 introduces the Bonita User Experience used to manage Processes and Cases. Taking the idea that everybody is familiar with how to send an email, BonitaSoft has adapted this concept to the BPM world. This document reviews the main functionalities of the Bonita User Experience applied to the insurance claim example. Ready to start? Let’s go!Free download on ©BonitaSoft, 2010
  2. 2. DRAW your processes CONNECT to your systems RUN in one clic 2. Example: model definition using BonitaStudio Basic insurance claim flow This example is based on the business case where an insurance company wants to automate the customer claim payment process. The flow starts with a form, completed by the client, which arrives at the Help Desk of the insurance company. A “first assistance” team validates the client’s claim, thus reducing the expert team’s workload. Accepted claims are passed for review by the expert team’s insurance specialists and, if approved, are then automatically paid to the customer. The customer is notified by email that his or her request has been approved. At the end of the process, there is a step to record the flow in the information system. Before defining the example model, if you are using Bonita Open Solution 5 for the first time, I recommend that you read the QuickStart Guide that explains how to define a process in detail. The basic explanations are there, so I have not included them here. The completed insurance claim process will look like Figure 1. Figure 1. Basic Insurance Claim Flow in BonitaStudio’s BPMN 2.0 notation Definition of Global process variables Add 4 global variables, 3 Strings and 1 Integer:  Customer Name – String  Customer Email – String  Claim description – String  Money claimed – Integer This information will be used to generate the form that the customer completes and, after he/she submits the form, the process will begin.Free download on ©BonitaSoft, 2010
  3. 3. DRAW your processes CONNECT to your systems RUN in one clic Definition of Steps Help Desk review: the process starts with a new claim form arriving from the customer, which is reviewed by the Help Desk agents. The actors of this manual activity are the first assistance level of the insurance company, and they will either accept (and pass for a subsequent expert review) or reject the client’s claim.  Name: Help Desk Review  Description: Help desk agents validate client’s claim  Activity type: Human  Actors: Help Desk agents  Data: o Decision - Enumeration (“Accept”, “Reject”) o Agent comments - String  Conditional transitions: o To “Specialist review”: Decision==”Accept” o To “Customer validation”: Decision==”Reject” Specialist review: this manual Step is handled by company’s experts, who make the final decision on the customer’s claim. A claim might be rejected, for example, because the request is not covered by the customer’s policy, or because the customer is only partially covered.  Name: Specialist review  Description: Insurance experts either approve or reject client’s claim  Activity type: Human  Actors: Specialist team  Data: o Decision - Enumeration (“Approve”, “Partially_covered”, “Reject”) o Specialist comments - String  Conditional transitions: o To “Pay money back”: Decision==”Approve” o To “Customer validation”: (Decision==”Partially_covered”) || (Decision==”Reject”) Pay money back: if the Help Desk approves the customer’s request, this is treated as an automatic step that pays the claim.  Name: Pay money back  Description: Approved claim is paid back  Activity type: Automatic  Connectors: Email_notification o Type: Messaging  Email o SMTP server: port:465 with SSL o From: o To: ${Customer_Email} o Subject: Claim accepted. ${Money_claimed} euros were paid backFree download on ©BonitaSoft, 2010
  4. 4. DRAW your processes CONNECT to your systems RUN in one clic Note: Bonita Open Solution 5 uses the concept of connectors to interact with your Information System and external resources. In this is step we could create a new connector that calls our already developed classes that handle the process of paying the money back. Customer validation: this manual activity allows the customer to either accept or dispute the company’s claim rejection. If extra information is required it can be added as “customer comments.” If the rejection is disputed, the claim is sent back to Help Desk department for a new review. The actor of this activity is the Process Initiator (who began the process with a claim).  Name: Customer validation  Description: Customer revision of the company’s decision  Activity type: Human  Actors: Process Initiator  Data: o Accept_rejection - Enumeration (“Accept”, “Not_accept”) o Customer comments - String  Conditional transitions: o To “Help Desk review”: Accept_rejection==”Not_accept” o To “Archive”: Accept_rejection==”Accept” Archive: this is an automatic activity to keep track of the process cases e.g. saving some report into a database.  Name: Archive  Description: Save a report of the requested claim flow  Activity type: Automatic In this example, the Actor(s) defined for all Human (manual) Steps were defined as “admin”. This gives the Process creator full access to test all interactive parts of the process after running it. Forms customization BonitaStudio includes a form editor to design and tune your web forms. For our example let’s add a new form to ‘Help Desk review’ step. In the form editor we can change the default TextBox for the variable Claim description for a bigger one, like TextArea, using the Palette on the left menu with a simple drag- and-drop. Another useful feature is the possibility to add Validators for the inputs fields. Taking profit from the default validators provided with the solution add an Email validator for the field ‘Customer Email’ and an Integer validator for the field ‘Money claimed’. Figure 2. Bonita customizable formsFree download on ©BonitaSoft, 2010
  5. 5. DRAW your processes CONNECT to your systems RUN in one clic Connect to your Information System As I commented before, we use Bonita connectors to communicate with our systems and resources like: LDAP directory, data bases, document repository, external devices, etc. Bonita Open Solution is shipped with a complete list of connectors to the most important providers like: MySql, eXoPlatform, Jasper reports, SAP, Google calendar, SugarCRM, Microsoft Exchange among others. They also provide a list of various generic connectors to call for example: a Java class, a web service, a shell script, a groovy script, etc. Bonita Open Solution gives you the possibility to use or extend these connectors or even download a new one from the Community Contributions. You can also create your own connector using the Connector’s Editor and then share it with the rest of the community. 3. Example: deployment and execution After defining the basic insurance process with BonitaStudio, use the “RUN” button to generate a default web application. What really happens behind the RUN button? 1. The process and resources are packaged in a .bar file (Bonita process archive) 2. A default web application is created 3. The Bonita Execution Engine and a lightweight relational database are embedded in the application 4. Everything is packed into a .war file 5. A web container is started and the .war file deployed 6. A new browser window opens and shows the initial application page From a user’s point of view, it is possible to generate a web application from process just by clicking a button. The generated application can be deployed and tested using your own integration platform or the integrated environment described below. Note that you are not forced to run generated applications under a specific portal as in other BPM solutions. How integrating generated applications into your information system is up to you. In Part 5, I’ll review how to run and test business processes using the Bonita User Experience integrated environment. This generated application presents a web form (see figure 3). Note in Figure 3 the Validators in action added for ‘Costumer Email’ and ‘Money claimed’ input fields. Now you can play with this example and test different possibilities (paths) of the process flow. For example, try submitting a new claim and then approving it, or try rejecting the claim and asking for more information. Figure 3. Initial form generated by the Bonita Web applicationFree download on ©BonitaSoft, 2010
  6. 6. DRAW your processes CONNECT to your systems RUN in one clic 4. Using Bonita Open Solution in Iterative Development We have seen how easy it is to design, implement and test a BPM process. Consider further how we take advantage of Bonita Open Solution 5’s integrated environment to develop business applications using an Iterative Development model rather than the traditional Waterfall approach. In the iterative model of development, instead of having a single development cycle, there are several cycles with the same phases: requirements, design, development and testing. Waterfall approach Requirements Design Development Test Iteration Development approach Requirements Requirements Requirements Design Design Design Development Development Development Test Test Test Iteration1 Iteration2 Iteration3 Figure 4. Waterfall development vs Iterative Development The advantages of Iteration Development include:  continuous integration and testing  having something “runnable” at the beginning and at the end of every iteration With Iterative Development, with continuous design, run and test of a BPM process, typical waterfall risks are reduced – such as the risk of waiting to the end of the entire development to evaluate the results, at which point modifications of the initial requirements are difficult to introduce. We have reviewed how to design a business process and how to generate a web application using Bonita Open Solution in a way that I have never seen before in other products. Let’s have a look in Part 5 how we can manage this processes and how we can execute them from an integrated portal call Bonita User Experience.Free download on ©BonitaSoft, 2010
  7. 7. DRAW your processes CONNECT to your systems RUN in one clic 5. Bonita User Experience The first time you open Bonita User Experience, you may well have the impression that it is familiar. This is a key aspect that should be attractive to end users. With the innovative idea to adapt an email-like console to your business process management, BonitaSoft has created something brand-new. The main functionalities used to manage emails also apply to manage cases:  Mark as read/unread  Add or remove star  Archive button, to remove the case from the Inbox  Assign (forward) a case to somebody else So your email experience is already useful for managing your Processes and Cases, right from the start. New users don’t need to learn how work with Bonita User Experience- because instinctively, they already know! Another very useful functionality to manage cases is the ability to create labels and attach them. Create a new label  Select “more”: Figure 5. Select More from the left column of the User Experience  Choose: “Create a new label” Figure 6. Choose “Create new label” and give it a nameFree download on ©BonitaSoft, 2010
  8. 8. DRAW your processes CONNECT to your systems RUN in one clic  Select a color to highlight your new label: Figure 7. Select a color for the new Label  Apply labels to your Cases: Figure 8. Apply labels to Cases Execute a pending task directly using Bonita User Experience. A human activity must be able to receive input from the upstream process steps and transform it into output for downstream. User integration with the process layer takes place through this interface. Pending Steps can be directly executed, very much like answering an email. Using Bonita User Experience… …is like answering an email Opening a pending task …is like opening an email sent to you Filling in the form or choosing between options …is like writing an email Finishing your action with the “Submit” button… …is like clicking the “Send” button …is like an email server routing the email to the Bonita engine routing the process flow to the next Step recipientsFree download on ©BonitaSoft, 2010
  9. 9. DRAW your processes CONNECT to your systems RUN in one clic Figure 9. Completing a Process Step is analagous to completing an email If a step can be processed by more than one person in an assigned group of people (as in the“Help Desk review”step), it shows up in all of their inboxes. However, when someone in the team opens that pending task it automatically disappears from the Inbox of the others. Reassign a task to somebody else, pause and resume a task: Figure 10. A task can be acted upon, from within the email-message like application From this option panel, it is possible to assign the current task to a specific user to execute this step or unassign oneself as a holder of this Step to let someone else in the assigned group handle it. “Suspend” and “Resume” options are used to freeze and continue an activity execution.Free download on ©BonitaSoft, 2010
  10. 10. DRAW your processes CONNECT to your systems RUN in one clic View case history When a case is selected, it shows a list of previous actions taken. This behavior is identical to an email thread, where emails on the same subject are grouped together. This tidy functionality solves the issue where the decision made may depend on other decisions taken before. It is easy to see this functionality working on the insurance example: “A customer submits a new claim. A member of the Help Desk team decides that there is not enough information to approve the request, and so asks for more information. The Customer adds missing information and the process flow comes back to the Help Desk. Then either the same agent or a different one can check what happened in the past before making a decision.” Figure 11. The history of a Case is shown as a thread You can see the Process history at the top of the current Step. View cases of deployed processes, view processes Click on “Admin menu Manage processes and cases” to display the currently Process and Cases deployed Figure 12. Manage Processes as admin These actions are available to manage your Processes:  Delete all cases: deletes all cases of process (current and finished cases)  Enable/Disable: selected processes will be enabled/disabled. Disabling a process will block new cases creation.  Archive: selected processes will be archived to keep a record of them. User will not be able to create new cases of this process. Useful when deploying a new version of the process.  Remove: selected process will be undeployed and all its cases removed.Free download on ©BonitaSoft, 2010
  11. 11. DRAW your processes CONNECT to your systems RUN in one clic Start a new Case From this panel you can launch a new Case directly from the list of deployed Processes. Figure 13. Start Case launches a new case of a deployed process Monitor your Processes and Cases From this useful page you can check the status of all your running processes and cases from all users. Figure 14. Statistics of the deployed processes and cases 6. Conclusions This paper is intended to be a practical introduction for those who want to test new Bonita Open Solution 5 functionalities, with its brand-new new look-and-feel. After defining a real business process with BonitaStudio, generating a default web application, and testing it, we have reviewed the main Bonita User Experience features and described how to manage Processes and Cases. The four main activities of BPM are covered in this version: 1. Design (modeling the management process): provided with BonitaStudio. 2. Execution (running the processes): provided with Bonita User Experience. 3. Control, Monitoring and Reporting: also provided with Bonita User Experience. 4. Optimization (improving the process): it’s easy to introduce modifications of the model, and then to test them by immediately with the use of the “RUN” button. This makes processes very easy to improve. Thanks to the simplicity of Bonita Open Solution’s design, execution, and test facilities, you can play with your final application right from the start. The use of iterative development methodology will strongly reduce the risk of failure when delivering your final application.Free download on ©BonitaSoft, 2010
  12. 12. DRAW your processes CONNECT to your systems RUN in one clic The BonitaSoft team is applying the capabilities of the BPM Bonita engine to leverage a solution with powerful Open Source applications:  Bonita Studio: developed as an eclipse platform, lets you draw your processes like on a whiteboard  Web application generation: creates “ready-to-deploy” applications and runs them in just one click  Bonita User Experience: based on an innovative “email like” graphical user interface using Google Web Toolkit, lets you manage and execute your business processes. With this new concept they have broken all GUIs limits to date. These tools let you create BPM applications, but this is only a part of Bonita Open Solution 5 functionalities. Now is your turn to play with the solution and discover the rest. Advanced functionalities will be reviewed in future papers. References  Bonita Open Solution 5 QuickStart guide:  BPMN:  From waterfall to iterative development:  Google Web Toolkit:  Bonita Open Solution 5 roadmap:  Bonita Open Solution 5 forum:  Bonita Open Solution 5 Community Contributions: About BonitaSoft BonitaSoft is the leading provider of open source business process management (BPM) software. Created in 2009 by the founders of Bonita project, BonitaSoft democratize the use of BPM in companies of all sizes with an intuitive and powerful solution with an optimum cost. The Bonita solution has been downloaded more than 300.000 times to date by companies and organizations worldwide. Sales inquiries : | Partner inquiries : download on ©BonitaSoft, 2010