I recently had my first briefing with BonitaSoft about their open source BPM product. Although the project has been going on for some time, with the first release in 2001, the company is only just over a year old; much of the development has been done as part of BPM projects at Bull. Their business model, like many open source companies, is to sell services, support and training around the software, while the software is available as a free download and supported by a broader community. They partner with a number of other open source companies – Alfresco for content management, SugarCRM for CRM, Jaspersoft for BI – in order to provide integrated functionality without having to build it themselves. They’ve obviously hit some critical mass point in terms of functionality and market, since their download numbers have increased significantly in the past year and have just hit a half million.
A French company, they have a strong European customer base, and a growing US customer base, mostly comprising medium and large customers. They’ve just announced the opening of two US offices, and the co-founder/CEO Miguel Valdés Faura is moving to the San Francisco area to run the company from there; that’s the second European company that I’ve heard of lately where the top executives are moving to the Bay area, indicating that the “work from anywhere” mantra doesn’t necessarily pan out in practice. They’ve hired Dave Cloyd away from open source content management company Nuxeo as a key person in the building the US market; he was VP of sales at Staffware prior to the TIBCO acquisition, so knows both the open source and BPM side.
Open source BPM solutions have been around for a while, but the challenges are the same as with any open source project: typically, it takes greater technical skills to get up and running with open source, especially if it doesn’t do everything that you need and has to be integrated with other (open source or not) products. In many cases, open source BPM provides the process engine embedded inside a larger solution created by a systems integrator or business process outsourcing firm; in other words, it’s more like a toolkit for adding process capabilities into another application or environment. BonitaSoft considers jBPM, Activiti and ProcessMaker to be in this “custom BPM development” camp, as opposed to the usual commercial players in the “standalone BPM suites” category; they see themselves as being able to play on both sides of that divide.
Taking a look (finally, after 35 minutes of PowerPoint) at a product demo, I saw their four main components of process modeling, process development, process execution, and process administration and monitoring.
The modeler is a desktop Eclipse-based application providing BPMN 2.0 modeling, including importing of BPMN models from other tools. There is starting to be less distinction between these tools, as all the vendors start to pick up the user interface tricks that make process modeling work better: auto-alignment, automatic connector creation, and tool tips with the most likely next element to add. The distinguishing characteristics start to become how the non-standard modeling aspects are handled: data modeling and integration with other systems using proprietary connectors that go beyond the capabilities of a simple web services call, for example.
I like what they’ve done with some of the out-of-the-box connectors: the Sharepoint and Alfresco connectors allows you to browse and select a specific document repository event (such as check in a file) directly from within the process designer, and associate it with an activity in the process model. I saw a fairly comprehensive database connector that allowed for graphical query creation, and this connection can be used to transfer a data model from a database to the process model to build out the process instance data. There’s a wizard to create your own connectors, or browse the BonitaSoft community to find connectors created by others – a free marketplace for incremental functionality.
You can create a web form for a particular step in the process, which will auto-generate based on the defined data model, then allow new fields to be added based on external database calls, and reformatted in a graphical editor. Effectively, this capability allows a quick process-based application to be created with a minimum of code, just using the forms designer and connectors to databases and other systems.
Key performance indicators (KPIs) can be defined in process modeler; these are effectively data objects that can be populated by any step of the process, then reported on via a BI engine such as the integrated Jaspersoft.
Although they describe their modeling as collaborative, it’s asynchronous collaboration, where the model and associated forms are saved to the Bonita repository model, where they are property versioned and can be checked out by another user.
The end-user experience uses an inbox metaphor in a portal, with the forms displayed as the user interacts with the process. Individual process instances (or entire processes) can be tagged with private labels by a user – similar to labels applied to conversations in Gmail – and categories can be applied to processes so that every instance of that process has the same category, visible to all users. Love the instance and process tagging: this is a capability that I’ve been predicting for years, and just starting to see it emerge.
I was surprised by the lack of flexibility in runtime environment: the only change that a user can make to a process at runtime is to reassign a task, although they are working on other features to handle more dynamic situations.
The big product announcements from last month, with the release of version 5.3, included process simulation and support for cloud environments with multi-tenancy and REST APIs. However, by this time we were getting to the end of our time and I didn’t get all the details; that will have to wait for another day, or you can check out the brief videos on their site.
(Cross-posted @ Column 2)