InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Nova Bonita - Bonita 4.0 Released.

Posted by Gavin Terrill on Oct 06, 2008

Sections
Architecture & Design,
Development,
Enterprise Architecture
Topics
Architecture ,
Workflow / BPM ,
SOA ,
Java
Tags
BPMN ,
BPEL ,
BPEL4People ,
Bonita

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.

  • This article is part of a featured topic series on SOA
About Human Workflow, BPMN, and BPEL by Ismael Ghalimi Posted
Re: About Human Workflow, BPMN, and BPEL by Miguel Valdes Faura Posted
  1. Back to top

    About Human Workflow, BPMN, and BPEL

    by Ismael Ghalimi

    Miguel,



    Thanks for the feedback. I agree with you that the definition of human workflow tasks in Intalio|Designer is more complex than it should be. It is mainly due to the fact that we wanted to support all 4 patterns of workflow tasks that are usually found in the enterprise (user initiated or process initiated, synchronous or asynchronous). In order to support these in a generic manner, we broke them down into atomic steps. The new draft for BPEL4People is coming up with a simplified model for these, and we're working hard to support it with Intalio 6.1. I think you'll like it.



    Best regards
    -Ismael

  2. Back to top

    Re: About Human Workflow, BPMN, and BPEL

    by Miguel Valdes Faura

    Thanks for info Ismael,

    In the following article you will find some other topics we don't like about Intalio: www.infoq.com/articles/bpelbpm

    Most of them are related to the BPMN - BPEL transformation

    regards,
    Miguel Valdes

Educational Content

Beauty Is in the Eye of the Beholder

Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.

Architecting Visa for Massive Scale and Continuous Innovation

John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.

Max Protect: Scalability and Caching at ESPN.com

Sean Comerford unveils ESPN.com’s architecture, what components are used and why, and the current changes the website goes through.

The Seven Deadly Sins of Enterprise Agile Adoption

Are there repeated patterns of failure on Enterprise Agile Enablement efforts? Sanjiv and Arlen discuss Seven Deadly Sins to avoid when adopting Agile in an enterprise.

Questions for an Enterprise Architect

Erik Dörnenburg answers: What is Enterprise and Evolutionary Architecture?, discussing 4 issues: Turning strategy into execution, Ensuring conformance, Where do the architects sit? Buying or building?

Wrap Your SQL Head Around Riak MapReduce

Sean Cribbs explains what Map-Reduce and Riak are, why and how to use Map-Reduce with Riak, and how to convert SQL queries into their Map-Reduce equivalents.

Polyglot Persistence for Java Developers - Moving Out of the Relational Comfort Zone

Chris Richardson shows how he ported a relational database to three NoSQL data stores: Redis, Cassandra and MongoDB.

The Golden Circle – Why How What

Jean Tabaka challenges the audience to reflect on what Agile practices they are employing, how they are using them, ending with the questions “Why have their organization chosen to go Agile?