|
Bring order to the workplace
Continued from page: 2
Wednesday, February 22, 2006
Implementing Bonita
An Open Source workflow system
Bonita is a J2EE-based Open Source workflow system
application, which allows you to execute, monitor and coordinate the flow of
work in an organization. It is completely browser based and can be installed on
both Linux and Windows. Bonita can be used for mainly two kinds of processes.
One for controlling and automating processes to make sure that appropriate
policies are enforced for software delivery. Second, to review production
processes, which helps users in doing their day to day work on time.
Requirements
We simply installed Bonita on a Windows XP machine. You'll first
need to download the JOnAS Application Server (JOnAS4.6.3-Tomcat5.5.12). This
can be downloaded from http://forge.objectweb.org/project/download.php?group_id=5&file_id=5017.
Next you need JDK version 1.4, which can be downloaded from http://java.sun.com/.
Then you need a database to save your workflow process data. Bonita supports
databases like mysql, postgres and Oracle, but if you don't have one, then
JOnAS Application server has an embedded database called hsqldb. Using Bonita
with this database doesn't require any configuration. You'll also need
Apache ANT, which is a JAVA based that can be downloaded from http://ant.apache.org/index.html.
Lastly you need Bonita, which can be downloaded from http://bonita.objectweb.org/html/Download/index.html.
We also gave a copy of it on our last month's CD.
Installation
 |
| Design workflow on Bonita by selecting the 'Original process instance' under the 'Project Manager' Window |
First install JDK 1.4 and set its environment variable to JAVA_HOME =
(eg: c:\jdk1.4\). Next unzip Apache ANT file, apache-ant-1.6.5-bin.zip and copy
the unzipped folder to c:\ and set
an environment variable ANT_HOME=(eg: c:\apache-ant-1.6\). Next run the JOnAS
installer on your machine, which will automatically detect your JDK path and ANT
path and will install the Application server on your machine. Then create
another environment variable JONAS_ROOT and set its value to (c:\JONAS_4_6_3\).
Finally, install Bontia. Unzip the Bonita workflow system and copy the unzipped
folder to c:\ and set its environment variable to BONITA_HOME - your Bonita home
install directory.
Configuration
First you need to configure Bonita with the JOnAS application server.
To do this, open a command prompt window and go to the Bonita home directory.
Here open the .ant.properties file and set the value of your hostname and web
port on which you want to host the Bonita workflow system. Then on same
directory issue this command “Ant config”. This will configure basic stuff
for Bonita on the JOnAS application server. After this you have to configure the
database of Bonita. If you are using the JOnAS embedded database then you
don't have to do any thing. Otherwise for other databases, you have open the
c:\JONAS_4_6_3\conf folder. Here open the config files for your favorite
database (Name_of_Database.properties) file. Open this file in Notepad and fill
the data source configuration according to your setup. Then you have to copy the
database driver jar file to the c:\JONAS_4_6_3\lib\ext folder. You can get the
latest database jar driver from your database vendor's site. Then you have to
configure it on your application server with your database. Open the
c:\JONAS_4_6_3\conf folder and open “jonas.properties” file. Add the bonita
datasource name: jonas.service.dbm.datasources
Then in the same folder open another file c:
\JONAS_4_6_3\conf\a3servers.xml and set the hostname value (localhost by
default) at line: server id="0" name="S0" hostname="localhost".
This value must be the same as what you've defined in BONITA_HOME\.ant.properties.
Next open JONAS_4_6_3\conf\carol.properties file and set the value of jrmp URL:
“carol.jrmp.url=rmi://localhost:1099”. Make sure that the host name and port
name values must be the same as what you've defined in $BONITA_HOME\.ant.properties
file for "bonita.host" and "jrmp.port" properties. Then open
JONAS_4_6_3\conf\ jaas.config file and add the following lines
bonita {
// Use the resource dsrlm_1
org.objectweb.jonas.security.auth.spi.JResourceLoginModule
required
resourceName="dsrlm_1";
// Use the login module to propagate security to the
JOnAS server
org.objectweb.jonas.security.auth.spi.ClientLoginModule
required ;
};
bonita-policy {
org.objectweb.jonas.security.auth.spi.JResourceLoginModule
required
resourceName="dsrlm_1";
// Use the login module to propagate security to the
JOnAS server
org.objectweb.jonas.security.auth.spi.ClientLoginModule
required;
};
With this your configuration is over. Now you have to
compile Bonita so that it gets integrated with the JOnAS application server. For
this open a command prompt and go to Bonita home directory and issue the
'ant' command. This will compile Bonita with JOnAS. Now it's time to start Bonita with the application server.
For this, click Start>Programs> JOnAS>Start JOnAS (back Ground). Then
open a command prompt and go the Bonita home directory and issue the 'ant
initDB' command. This will initialize the Bonita environment. To access the
Bonita workflow system, open a web browser and type the URL
http://localhot:9011/bonita. On the
Web page, you'll see a list of all the project's processes and their status.
To see the detailed activity, click the project that you want to look for and
you will be asked for a username and password. The default user name and
password for administrator is 'Admin' and 'toto', respectively.
 |
| Working model of sample workflow process implemented on Bonita |
Using Bonita workflow
To understand and design workflow in Bonita, you need a JAVA
developer because you have to do a bit of coding. Bonita is divided in two parts. Working on the workflow
process is totally browser based, but managing or creating a workflow process is
done using Java applets. The applet allows you to design the process in a
graphical way unlike some other workflow designers. Let's see how to design a
process. From its Web interface, click on 'Manager' link. This will launch a
manager applet , asking you for admin user name and password. After
authentication, you can create new projects for your process. On this GUI
applet, you have three sections projects, To-do lists, and activity. In project,
you will be shown a list of projects represented as a tree. The tree shows the
detailed project instances in which users are taking part (only for
administrative project). Plus you can do operations like Active/Hide, terminate,
instantiate or clone of existing project. The
To-do list shows ready and anticipated activity of current project with
associate users, who are working on the project.
The activity in the to-do list is shown in two
colors-yellow and green. Yellow shows activity in ready state and green shows
activity in anticipated state. Coming to the activity section, it shows
executing and anticipated activity of current selected project. To try this out
create new project and instance. After creating the new project, you have to
create instances. Instances are basically processes running under a project.
This allows you to define small pieces of workflow process and then interlink
them together in the project. On double-clicking the instance, the manager will
launch a graphical tool to draw a business process model. On the graph-editor,
down left corner, you will have three objects, which allow you to draw process
activities. Plus the user can identify the workflow execution by means of the
activity's color changes. Here only you can integrate routing of activities to
other users or processes, if the activity is pending or not done. At this you
can add users to the process and assign them roles. Activity can also be hooked
to a subprocess or different processes under the same project using Java syntax.
This can also be used to write code for Bonita runtime to associate process to
activities.
Once you're through with the design part, you need to
instantiate the instances to start off. For this, select the project you have
created and right-click on it. Now from the context menu, click 'Instantiate
Project'. To use the created workflow system, just open the browser and type
in http://localhot:9011/bonita. You will be shown the list of projects that you
have created. Select the project that the user is associated with and it will be
ask you to enter the associated username and password who is authorized to
access it.
OmniFlow
An enterprise workflow solution that integrates with your existing
enterprise applications and provides a graphical tool for creating and modifying
business processes
 |
| The Omniflow Process Modeller and the Configuration Server Console show the status of the running process |
This is not just a workflow automation solution, but a
complete BPM solution. The product
let's you create and modify business processes without any programming
efforts. Designing business processes is very easy. While drawing your business
logic, it rapidly automates the process, thereby reducing the deployment time.
You can design your own custom forms to fetch you business data and circulate
according to business rules in form format only. Plus, it also has a document
management system that runs parallel to the workflow system, which allows you to
have a document-based workflow system in place. The software's installation
depends upon the type of organization for which it's being deployed. We had a
chance to check out a basic implementation of the same on a Windows 2003 Server
with SQL Server 2000 as the backend database.
Server setup
In order to use OmniFlow, you need a server at least a dual CPU
machine with 2 GB RAM, and the storage depends upon the amount of data being
worked upon. It runs on Windows 2000 Server or above, and you also need
Microsoft SQL Server 2000 with service pack 3 for the database. It can also work
with Oracle and DB2. The software can also be configured as a multi-threaded
server, which can manage multiple instances of applications, such as a separate
Omniflow system if running in your organization. It also provides the
flexibility of starting and stopping registered applications, depending on the
workload. Its installation is fast and easy, but its configuration takes same
time, because you have to register each and every component of Omniflow with its
application server. However, you need to do this only once. After the
deployment, you don't have to do any more configurations.
 |
| In the User Mapping section of the User Management tab, you can map roles in your workflow process to users in Shark |
Designing a process
OmniFlow has a graphical tool to design business processes. Drafting
a process is done in a chart fashion with clear indication of task queues,
conditions and sequences in which tasks must be performed from initiation to
completion. A process manager can design the workflow processes with steps in
series or in parallel. Plus from here only, you can define all activities in a
process, the various processing rules, actions, work to be performed,
relationship, etc. With in this interface, you can view compiled reports on
business definitions in order to check the correctness of definition.
OmniFlow Process Manager
OmniFlow has an in-depth process monitoring system, which gives you a
user-friendly desktop for administration and monitoring of all business
processes from a centralized place. From here only an administrator can control
and refine its business process. In addition you can generate various levels,
which helps you evaluate the level of performance of each and every component of
the process.
Process client and WorkDesk
In order to user the workflow, users can access the workflow from a
Web browser only.
It allows users to log-in to their respective queues, based
on assigned rights, and process the pending work-items in the selected queue. It
provides some standard tools like Check-Lists, Exceptions, Form View, Document
View, Actions, etc. These allow the user to process the work-items more
resourcefully. To remind users
about work-items that need to be completed in a day, it has to-do lists. These
notify users about their pending work-item for a particular day. Page(s) 1 2 3 4
|