Más contenido relacionado Similar a Open Source BPM Comes of Age (20) Open Source BPM Comes of Age1. DRAW your processes
CONNECT to your systems
RUN in one clic
Open Source BPM comes of age
A contributor's 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 www.bonitasoft.com ©BonitaSoft, 2010
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 www.bonitasoft.com ©BonitaSoft, 2010
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: smtp.gmail.com port:465 with SSL
o From: insurance@company.com
o To: ${Customer_Email}
o Subject: Claim accepted. ${Money_claimed} euros were paid back
Free download on www.bonitasoft.com ©BonitaSoft, 2010
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 forms
Free download on www.bonitasoft.com ©BonitaSoft, 2010
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 application
Free download on www.bonitasoft.com ©BonitaSoft, 2010
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 www.bonitasoft.com ©BonitaSoft, 2010
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 name
Free download on www.bonitasoft.com ©BonitaSoft, 2010
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
recipients
Free download on www.bonitasoft.com ©BonitaSoft, 2010
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 www.bonitasoft.com ©BonitaSoft, 2010
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 www.bonitasoft.com ©BonitaSoft, 2010
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 www.bonitasoft.com ©BonitaSoft, 2010
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:
http://www.bonitasoft.org/wiki/doku.php?id=quickstartguide
BPMN: http://www.bpmn.org
From waterfall to iterative development:
http://openlearn.open.ac.uk/mod/resource/view.php?id=181848
Google Web Toolkit: http://code.google.com/intl/en-EN/webtoolkit
Bonita Open Solution 5 roadmap: http://www.bonitasoft.org/bugs/roadmap_page.php
Bonita Open Solution 5 forum: http://www.bonitasoft.org/forum
Bonita Open Solution 5 Community Contributions: http://www.bonitasoft.org/exchange
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 : sales@bonitasoft.com | Partner inquiries : partners@bonitasoft.com
www.bonitasoft.com bonitasoft.com/blog twitter.com/bonitasoft youtube.com/bonitasoft
Free download on www.bonitasoft.com ©BonitaSoft, 2010