BonitaSoft's Bonita Open Solution 5.2 is comprised of an Eclipse-based studio application for designing processes, a form builder for creating Web-based interfaces for the processes and an execution engine for carrying out the processes.
BonitaSoft's Bonita Open Solution 5.2 provides
companies with an essential toolkit for designing, implementing and executing
on their business processes, and does so at a price- free- that stands to put
business process management within reach for a broad range of organizations.
BOS 5.2, which began shipping on June 14, is comprised of
an Eclipse-based studio application for designing processes, a form builder for
creating Web-based interfaces for the processes and an execution engine for
carrying out the processes.
In my tests of BOS, I
was impressed with how easily- and with how little coding- I was able to create
a useful application that stitched together existing infrastructure components
with human interactions. The product ships with more than 100 connectors for
linking BOS processes with external systems for carrying out
tasks such as fetching results from or writing results to a MySQL database,
firing off notification e-mail or Twitter messages, creating Exchange calendar
items, fetching or depositing pieces of content into an Alfresco repository,
and so on.
The package also ships with a Web-based User
Experience application that provides administrators with a console through
which to manage pending cases and users with an e-mail inbox-style interface
for keeping track of their assigned tasks.
The BOS studio application launches a local Jetty servlet
engine instance for use during development. For production deployment, the
studio provides an application export function for packing up a process to be
deployed on a separate Java app server.
Bonita Open Solution is freely downloadable here, and unlike most other
open-source enterprise software applications of this nature, there's no
separate non-free "enterprise" version of the product on offer.
BonitaSoft offers paid support, training and consulting services through its
site at bonitasoft.com.
With its roots in Eclipse and Java, BOS
5.2 boasts broad platform support, and runs on Linux, Windows and OS X. I
tested the studio application on CentOS 5.5, Fedora 13 and Ubuntu 10.04, with
good results across the board.
Bonita Open Solution in the Lab
I put BOS version 5.2 to the test by creating an application
that allows eWEEK Labs analysts to review product pitches that come in through
our Website at labs.eweek.com.
My goal for the application was to create a Web
interface through which our analysts could view unread product pitches, and
then select, review and comment on these pitches. I started with a table on a
MySQL database that contained recently submitted product pitches and paired
this pitch list with a second table to contain analyst remarks about the
pitches.
I was able to get this application- my first on this
platform- up and running in a few hours, with the help of BonitaSoft's documentation
and video tutorials. Writing the app
boiled down to drawing the two steps for the process on the studio app's
whiteboard, identifying the variables involved (list of product pitches,
selected pitch, details about the pitch and the remark to be made), and
defining the connector or human interaction sources for each variable.
For fetching my list of product pitches to be
reviewed, I tapped the product's MySQL connector, specifying the results I
wanted with a regular SQL query. In a subsequent step of the process, when it
came time to write the analyst's remark back to the MySQL database, the
variables I'd defined for the process were available to be included in my SQL
INSERT query.
The form-building portion of the process was similarly
straightforward- I started out by displaying my list of unreviewed product
pitches in a simple text box, and switching over to a selection dialog was as
easy as changing the form component type in the form builder and specifying
which variable should hold the selected product.
From here, I could have (in fact, I intend to) extend
the application to fire off e-mail notifications back to the person who pitched
a product to let them know that our analysts have had a look at it, using the BOS e-mail
connectors, and perhaps file a comment on the public labs.eweek.com site using
the Wordpress Web service api and the BOS
generic Web service connector.
Once I had my process in workable form, I deployed it
to a tomcat6 server running on a Ubuntu 10.04 server instance. I went with the
tomcat6 packages that ship in the Ubuntu repositories, rather than download
tomcat separately. In order to get my instance running correctly, I edited the
init script for tomcat6 to include bonita environment variables. Getting this
environment variables bit right seemed to be a common trouble spot for posters
on the Bonita Community forums, which I found to be a good source of
information as I felt my way through the product.
Another snag I encountered came with using the OpenJDK
Java runtime environment that ships with most Linux distributions. I had to
install and use the sun-java6 JDK to get my applications running properly. For
my Ubuntu 10.04 deployment server, this package was available in the
disabled-by-default "partner repository."
For this test, I stuck with the H2 database that comes
bundled with BOS with data persistence when I deployed my application
to Tomcat, but I could have swapped out H2 for MySQL, Postgresql, Oracle or SQL
Server to serve this role. Also, I did not test integration with Active
Directory or another LDAP service for my application's authentication needs. I
stuck instead with the basic authentication controls that are accessible to
administrators from the product's Web-based user experience console.
As Editor in Chief of eWEEK Labs, Jason Brooks manages the Labs team and is responsible for eWEEK's print edition. Brooks joined eWEEK in 1999, and has covered wireless networking, office productivity suites, mobile devices, Windows, virtualization, and desktops and notebooks. Jason's coverage is currently focused on Linux and Unix operating systems, open-source software and licensing, cloud computing and Software as a Service. Follow Jason on Twitter at jasonbrooks, or reach him by email at jbrooks@eweek.com.