After 2 years of development, the Bonita project team have announced the release of Bonita 4.0 (also known as Nova Bonita). Bonita 4.0 is based on top of the PVM technology, and can be deployed as a lightweight BPM product that runs on the Standard (JSE) and Enterprise (JEE) Java platforms. Nova Bonita provides an integrated graphical environment for BPM development and execution environments, and comprises three modules:
- Nova Bonita runtime: the Nova Bonita process engine. Processes can be deployed, executed and monitored through a rich API providing BPM services.
- Nova Bonita console: a web 2.0 graphical interface fostering the user experience during BPM deployment, execution and monitoring phases.
- Nova Bonita designer: a BPM development environment allowing graphical definition of processes, as well as BPM connectors for integration with existing system.
From the final release notes:
This 4.0 version adds minor features enhancements to the 4.0RC3 runtime (deploy of single xpdl files, activities multi-instantiation clean up, log levels harmonization, iterations and subprocesses refactoring, versioning at both package and process levels...) and adds major improvements and new features to both Designer and Console applications.
InfoQ took the opportunity to ask Miguel Valdes, BPM Manager at Bull, some questions about the latest release and Bonita's thoughts on the BPM market.
InfoQ: Tom Baeyens (JBoss jBPM), has described the process virtual machine as being ideal for applications that need embedded workflow - is this something you also see for Bonita users?
Definitely yes, this is why we decided to build up the Process Virtual Machine technology two years ago. Bonita 4.0 can now be embedded (as a BPM library) in any existing application or be deployed remotely as a traditional BPM server.
In that sense, Bonita 4.0 comes with an Eclipse plug-in that allows easy development of BPM processes and related Java connectors. This plug-in can be easily added to developers Eclipse environment to speed up the development of BPM applications. Bonita 4.0 also meets Web 2.0 with a powerful BPM console that improves the user experience so it’s not only targeted for developers and technical architects.
InfoQ: Have you evaluated how Bonita 4.0 supports the various perspectives of the workflow patterns initiative?
We have not yet re-evaluated the workflow pattern support in Bonita 4.0, but I would say that we have improved on that point in this version. Bonita 4.0 has been rebuild from scratch but the main concepts and functionalities available in v3 have been implemented in 4.0. In addition to that, we have added support for new features and patterns (i.e activities multi-instantiation).
InfoQ: The authors of the "Patterns-based Evaluation of Open Source BPM Systems" report (previously covered by InfoQ) mentioned that open source workflow offerings are generally more suited to developers than end users. What are your thoughts on this? Do you think the new designer and console in Bonita 4.0 make it more accessible to business analysts?
As Gartner point out in their latest BPM Magic Quadrant review, different users and so different profiles should be involved in a successful BPM deployment. That includes, among other profiles, business analysts. The idea with the new technology behind Bonita 4.0 is to enhance the collaboration between those different profiles. The first target of the Bonita 4.0 release is developers and technical architects, but analyst tools will follow in subsequent releases.
Our next move is going to be the development of a BPM Studio for end users (covering both non-technical and technical profiles). A kind of simple BPM editor (“a la Visio/PowerPoint”) with specialized views allowing “iterations” between users. Those views will not be specialized on a “per user profile” basis (analyst vs architect vs developer) but on a “per features” one (modelling vs execution). The main view (modelling) will be based on a simple “box” and “arrows” palette allowing “box” descriptions and documentation generation.
InfoQ: Can you tell us about the new process and package versioning feature in Bonita 4.0?
In 4.0 we have provided a lot of flexibility for users regarding process versioning. Two or more versions of the same process can be deployed and leveraged by end users. As soon as a new version gets deployed, new instances will take over but ongoing instances will finish their execution with previous versions.
In future releases we will allow automatic migration of running instances from one version to another. This feature will be added at the Process Virtual Machine level and will always require administration approval to apply. Automatic migration could not cover 100% of uses cases but we are confident that it will be useful in at least 70 % of them (most of updates between two versions concerns activities and transitions adds/remove operations).
In addition to the process level versioning, Bonita 4.0 is also providing versioning support at repository/package level. A repository or a package can contain one or more processes definitions and so it can also be versioned.
InfoQ. Bonita continues to provide strong XPDL support. What is the state of XPDL, and are you seeing a lot of demand for this from the market?
Good question. XPDL has been the standard supported by Bonita from its early days. The standard has been evolving over the last few years to cover missing features such process to process communication or events support, and especially it has become the grammar to map the BPMN notation. Note that 7 of top 10 commercial BPM vendors are supporting XPDL.
I will not enter in the debate of what is the best BPM standard because I really think that this is not what the users are concerned about. Users look for features, performance, deployment, stability… and sometimes some vendors forgot about it :-) For sure standards are important and, as a vendor, you must be compliant to them but this is not a main differentiator.
This is one of the reasons why we decided to create the Process Virtual Machine (PVM) technology. Among others key features, the PVM allows multiple standards support. We have already added support for XPDL with Bonita 4.0, we will soon release the BPEL 2.0 extension in Orchestra 4.0 (also developed by the Bonita team) and Jboss is currently adding support for JPDL as well.
The PVM technology is so language agnostic which I think is great, specially if new standards appear in the coming years!
InfoQ: The commercial vendor Intalio recently wrote that BPEL has "won the war of standards". What are your thoughts on this?
This is just another “sensationalist” post. I always thought that if there are different process languages out there that probably mean that each one of them is targeting a particular requirement. That said, I don’t think BPEL is the best one to improve collaboration between business guys and technical ones when working on BPM, basically because it was not created with that in mind but to orchestrate web services.
Intalio, as other vendors do, push BPMN + BPEL as “the solution” for BPM. They spend a lot of time and money on complex transformations that never satisfy 100% of the use cases (just try to define an unstructured graph with the Intalio BPMN designer and take a look to the generated BPEL file :-)
Another clear example is the complexity to handle human interactions using BPMN with BPEL and BPEL4People extension. Do you think is clear for end users to define a user interaction step (aka task) in a process by splitting this functional step into multiple technical steps?
This is what is happening if you use the Intalio editor, you have to split one functional step in a process (a task) into 4 different steps: two of them defined in an “executable pool” (the one that will generate BPEL code) and the others two in a “non-executable pool” ? Do you think this is a user friendly approach? Come on guys !
InfoQ: What role do you see for BPM in SOA?
This is when BPEL makes more sense to me. In a SOA based architecture services orchestration can be handled by BPEL processes by leveraging a standalone BPEL engine or in the context of an ESB solution. This is going to be our first target with Orchestra 4.0.
BPM is much more than just one of the key pieces of SOA. There are still a lot of applications in which a pure BPM approach is still very useful than just write code in your applications and this is the main target of Bonita 4.0.
InfoQ: Are there any plans to integrate rules engine capability in Bonita in the future?
Yes there are. A rules engine can already be plugged to Bonita 4.0. Mappings between roles/groups (Bonita Mappers) and users and IS connectors (Hooks) could interact with a rules engine. In the next version we will provide this feature out of the box with the integration of rules engine.
Rules support will also be useful in transitions condition. Bonita 4.0 is currently using scripting languages for that and provides a transition conditions graphical editor but we plan to also add support for rules.
Bonita 4.0 can be downloaded here, and is released under the LGPL license.