BonitaSoft's Bonita Open Solution 5.2: An Essential Toolkit for BPM
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.