Friday, March 6, 2015

jBPM 6.2.0.Final released

The bits for the jBPM 6.2 release are now available for you to download and try out!  

Version 6.2 comes with a few new features and a lot of bug fixes !  New features include a.o. EJB, (improved) OSGi and Camel endpoints support, a new asset management feature (to introduce a development and release branch and promote assets between both), social profiles and feeds and the ability to extend the workbench with your own plugins!

More details below, but if you want to jump right in:

Downloads
Documentation
Release Notes

Ready to give it a try but not sure how to start?  Take a look at the jbpm-installer chapter.

jBPM 6.2 is released alongside Drools (for business rules) and Optaplanner (for planning and constraint solving), check out the new features in the Drools release blog, including a brand new rules execution server and the Optaplanner release blog as well.

A big thank you to everyone who contributed to this release!

Some highlights from the release notes.

Core services

  • EJB: the jBPM execution server (that is for example embedded in our web-based workbench) now also comes with an EJB interface.  A refactoring of the underlying jbpm-services now makes the execution services accessible using pure Java, CDI, EJB and Spring. Remote interfaces using REST and JMS are still available as well of course !  A lot more details are described in Maciej's blog here.
  • Deployments (defining which versions of which projects are currently active in the execution server) are now by default stored in the database.  This greatly simplifies the architecture in a clustered environment in case you are only using our runtime side of our web tooling (for example by having dedicated execution servers in production).
  • Our asynchronous job executor has improved support for requeuing failed jobs and for recurring jobs (e.g. daily tasks).
  • OSGi: Full core engine functionality is now available on top of OSGi.  A significant number of additional jars (including for example the human task service, the runtime managers, full persistence, etc.) were "OSGi-fied". Specific extensions and tests showing it in action are available for Apache Karaf and Aries Blueprint (in the droolsjbpm-integration repository).
  • Camel endpoint URIs: A new out-of-the-box service task has been implemented for using Apache Camel to connect a process to the outside world using some of the numerous Camel endpoint URIs. The service task allows you to for example specify how to pass data to an FTP endpoint by configuring properties such as hostname, port, username, payload, etc. for some common endpoints like (S)FTP, File, JMS, XSLT, etc. but you can use virtually any of the available endpoints by defining the URI yourself (http://camel.apache.org/uris.html).

Workbench
  • Form Modeler comes with improved support for adding custom logic to your forms using JavaScript on changes, and support for configurable ComboBox and RadioGroup fields, and simple List types.
  • Asset management: It is now possible to make a repository a "managed repository".  This allows you to split up a repository in multiple branches, one for doing development and on for releasing.  Users can then request various assets to be promoted to the resource branch when ready.  This promotion process, and the linked build and deploy processes, are defined using a BPMN2 process as well and include approval and build tasks.  Check the documentation for more details.

  • Social features, like user profiles (including gravatar pictures), and various event feeds like the most recent assets you worked on, on recent changes by other users.


  • Contributors perspective is a new out-of-the-box report (using the new dashbuilder technology) that gives high-level insight in who is changing what in your repositories.
  • Pluggable workbench:  you can now extend the workbench with your own views, menus, etc. using workbench plugins. Available features includes creation of perspectives via a programmable or a drag and drop interface, create new screens, editors, splashscreens and dynamic menus. 

6 comments:

  1. Kris ,

    Can you please list out the advantages of JBPM over Activiti BPM

    ReplyDelete
  2. Kris,

    I downloaded the jbpm-installer (jbpm-6.2.0.Final-installer-full)

    When I create the simplest Guided Score Card the deployment fails with the following exception:
    Deployment of unit ... failed: java.lang.IllegalArgumentException: Class org.drools.pmml.pmml_4_2.CodeScore not found in the project

    Looking at the generated source of that Score Card I found that org.drools.pmml.pmml_4_2.CodeScore is one of the local types that are declared in the .drl file.
    This exception can points to any of the other local types from the generated .drl file.

    I tried to see if the is an issue with the .drl files and added a simple rule that uses its own declared type and got the same exception for that rule and type.

    I found two unanswered bug report for GUVNOR Workbench (on which I think the KIE Workbench is based):
    https://issues.jboss.org/browse/GUVNOR-2135
    https://issues.jboss.org/browse/GUVNOR-2129

    Plus, looking at the sources I found this comment in the code:
    org.kie.workbench.common.services.backend.builder.Builder
    public BuildResults build() {
    ...
    //Record RTEs from KieBuilder - that can fail if a rule uses an inaccessible class
    final BuildResults results = new BuildResults( projectGAV );

    which may or may not be related to this issue.
    In any case I saw in the code that the builder is looking the .drl declared types in the class loader (as if they were java classes).

    Can you please confirm whether this is an issue or whether I misuse the workbench in any way?

    I need to decide whether the project we're starting in my company will use this technology and the Score-Cards play a significant role in this decision.

    I thank you in advance for any reply.
    -Avi

    ReplyDelete

  3. is what the version JBPM 6.2.0 Final is stable enough to use ? , we want to migrate from version 5.4 to JBPM 6.2.0 Final ?
    Could we have problems in this case?
    Thanks a lot ...

    ReplyDelete
  4. 6.2.0.Final is the latest stable release, so recommended to upgrade to that.

    When migrating, it depends on what you want to migrate. Process definitions should migrate just fine, even runtime state of process instances. If you want to start taking advantage of some of the new features in jBPM6 (runtime engine, execution server, etc.) you might want to migrate to use the new jBPM6 api though.

    If you were using the guvnor repository in jBPM5, a migration tool can help you migrating that repo to the new format using in jBPM6.

    ReplyDelete
  5. thank you for the reply.
    In fact , we need to use Camel integration in the future, so this is the main purpose for the migration.

    ReplyDelete