Bonita Open Source (BOS) is a system to allow an organization that is local or across the globe to work a process from start to it’s finish and know where in the process one is. You can start one or dozens of the same one or different ones. As a friend of mine said – you are really programming people – project management without the overhead of training or making costly mistakes – this system leads them through the whole thing.
If you leave process sitting at your desk for the weekend – it will be waiting there on Monday morning. If the process is stale, it could kick off another process to alert others that there is a hold up. Since I had the pleasure of sharing my first Bonita experience with a good friend of mine, I will redirect you to his site for a more business level discussion of what Bonita OS is. I was the implementer of most of the processes.
Platform independant
It is web based and therefore platform independent and simply connect human processes and be an alert mechanism between people or it can complete complex processes that are already in place. It is programmed using Java and Groovy and can connect ANYTHING it seems together in an automated fashion
Setup of the system and users
It is not the easiest too to get under way but when it comes to getting processes kicked off, getting snibbets of info from person 1, then moving on to person 2 to get more info and keeping track of where a process is in the grand flow, I have never seen anything more complete.
Setting up users, roles, hand-off and moving processes forward in a managed way is quite easy with Bonita Open Source (BOS) from Bonitasoft. They seemed to have thought of it all as real people get stuck, make mistakes, go on holidays etc. and the show must go on. Bonita accounts for all that.
We started with BOS 5.9 and it includes a designer suite and published modules get uploaded to a server version in a VERY controlled manner. There will be no cowboy programming techniques allowed with this system which is EXCELLENT for you customers or end users.
Programming
The basic flow is programmed with standard BPMN notation but with a programming flair. This article by a colleague is clearer than I can tell you so click here. Communicating design with the customer is therefore a breeze since the flow can easily be seen visually.
The documentation is perhaps complete but the whole picture is only complete with the documentation at Bonitasoft, their forums some videos, and lastly trying to get it to work yourself with small experiments. I was fortunate enough to have a friend at geekinc.ca to share the learning curve with and we could share ideas. I would get good at integrating custom extensions while he proceeded to get good at making once process flow talk to another thereby keeping things modular.
Their source code is available and published documentation of all the api’s (classes) available. The answers are there – there is just no examples of how one feature interacts with another. This is better than one company I worked for which had an api as big as this and there was no documentation except walking into the 17 year old veteran’s office and he and I would step through the code and get an explanation of the features. If there was only someone who wrote a book … oh that is the eventual intent of this blog is to cover that gap in the meantime.
Integrate just about anything
At first, you can cobble together a process with just human pseudo tasks that bounce to the correct people. Then one by one, you replace one human task with a sub-process which contains tasks that in of themselves are programming but could also be what is called a connector or plug in. Since the system is based upon Java and Groovy, download Netbeans and start creating classes. Connectors are themselves classes that can calll custom classes. We have integrated a system automatic PDF generation using PDF-tk which is a command like tool by interfacing it with a simple piece of Java code packaged as a jar. Other simple examples is an “Excel” database lookup. A matrix was provided to a Java jar which processed an excel file and gave back a list of strings from that Excel file. Anything can be integrated together since Java is cross platform AND works across machines quite easily. The hard part about Bonita is finding out all it can do since the possibilities seem endless like Sharepoint, Microsoft, MySQL, Oracle, groovy, google and hundreds of other connectors already exist let alone the ones you dream up.
Moving from design to production
The final implementation for end use is on a server installed version of Bonita. Integrating design iterations in must be done in a version controlled way which is slower, but better for the customer’s expectations and the end users experience.
How far does the Open Source take us – what if we want to pay?
This all depends on who is paying for things. The open source has its limitations like inter-webform validations and document uploading into the process. Many things are made easier with a paid subscription and there are 3 levels you can purchase from Bonitasoft. You get a few sample templates to ease Bonitasoft’s very sparse documentation.
Use cases for BonitaSoft mirror those of many larger BPM providers, and include end-to-end process management, case management, task management and document management, McConnell said.