Wednesday, September 10, 2014

jBPM 6.1.0.Final available

The bits have been out for a few weeks now (as we wanted to wait on the new website for the public announcement), but we are now glad to announce that jBPM 6.1 is available and you can find all information about it on our new website.

Some useful links:

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

jBPM 6.1 comes with a ton of smaller improvements and bug fixes (done over the last few months on top of 6.0.1.Final), and also includes some important new features, adding to the foundation delivered as part of jBPM 6.0.

Embedding forms in external applications

Now you can embed and run process/task forms that live inside the Kie-Workbench just adding a JavaScript library to your webapps. Look at the Using forms on client applications section to see the full functionality and usage examples.

Attaching documents to forms

Added new file type to manage upload documents on forms and store them on process variables. Using the Pluggable Variable Persistence you'll be able to create your own Marshalling Strategy and store the document contents on different systems (Database, Alfresco, Google Docs...) or use the default implementation and store them in your File System.

Web Service (SOAP) interface for remote API

The execution server, that is part of the jbpm-console web tooling, now also comes with a Web Service interface (in addition to the existing REST, JMS and Java client interfaces).

Deployment descriptors

Deployment descriptors have been added as an optional, yet powerful way of configuring deployment units - kjars. Deployment descriptors allow to configure (among others)

  • persistence unit names
  • work item handlers
  • event listeners (process, agenda, task)
  • roles (for authorizarion - see section 1.5)

Deployment descriptors can be configured on various levels for enhanced flexibility to allow simple override functionality. Detailed definition of deployment descriptor can be found in the Deployment descriptors section.

Role-based authorization at runtime for process definitions and process instances

The process definition and process instance view in the jbpm console now also take the role-based access control restrictions into account that can be defined on the project the process is defined in. You can limit the visibility of a project (or repository as a whole) by associating some roles with it that are required to be able to see the project (or repository). This can be done when creating the repository, or bu using the command line interface to connect to the execution server. The deployment descriptor (see previous section) also allows you to further customize these roles at deployment time. At runtime, the views will check if the current logged in user has one of the necessary roles to be able to see that process. If not, the user will not see this process or process instance in the process definition or process instance list respectively.

jBPM installer updates

The installer is updated to support:
  • Wildfly 8.1 as application server
  • Eclipse BPMN2 Modeler 1.0.2
  • Eclipse Kepler SR2

jBPM Spring integration

Spring integration has been improved to allow complete configuration of jBPM runtime using Spring XML. That essentially means there are number of factory beans provided as part of droolsjbpm-integration module that significanlty simplifies configuration of jBPM. Moreover it allows various configuration options such as:

  • reply on JTA and entity manager factory
  • rely on JTA and shared entity manager
  • rely on local transactions and entity manager factory
  • rely on local transactions and shared entity manager

Details about spring configuration can be found in this article.


Smaller enhancements also include:
  • Task service (query) improvements, significantly speeding up queries when you have a large numbers of tasks in the database.
  • Various improvements to the asynchronous job executor so it can handle larger loads more easily and can be configured (number of parallel threads executing the jobs, retries, etc.).
  • Ability to configure task administrator groups in a UserTask (similar to how you already could configure individual task administrators).
  • Removed limitation on custom implementations of work item handler, event listeners that had to be placed on global classpath - usually in jbpm-console.war/WEB-INF/lib. With that custom classes can be added as maven dependencies into the project and will be registered on underlying components (ksession).

Data Modeler - round trip and source code preservation

Full round trip between Data modeler and Java source code is now supported. No matter where the Java code was generated (e.g. Eclipse, Data modeller), data modeler will only update the necessary code blocks to maintain the model updated.

 Standardization of the display of tabular data

We have standardized the display of tabular data with a new table widget.
The new table supports the following features:
  • Selection of visible columns
  • Resizable columns
  • Moveable columns

Tuesday, September 9, 2014

jBPM6 Developer Guide

My twitter is exploding with references to this new book for a few days now, so I thought I'd share it with others as well: 

Mariano, Maurcio and Esteban have published a new version of their book a few weeks ago, jBPM6 Developer Guide.  Mariano gives some more information about what to expect from this book on his blog, including an overview of the chapters.

(click on the image to go to the Packt Publishing website)

While I haven't read the book myself yet, I consider Mariano, Mauricio and Esteban all experts in this area !

Monday, September 8, 2014

Interview with Jim Whitehurst on JBoss BPM Suite

Jim Whitehurst, CEO of Red Hat, has given an interview related to BPM in general and Red Hat JBoss BPM Suite more specifically in the run up to BPM Open House 2014.  Red Hat JBoss BPM Suite is the supported Business Process Management platform based on jBPM6.  For more information related to this, check out one of my earlier blogs.

In the interview, Jim talks about why Red Hat is interested in the BPM market, what open source means in this context, and a lot more.  You can listen to the podcast or read the text transcript.

Thursday, September 4, 2014

Contributor dashboards coming

The dashboard-builder is used in the jBPM project to offer customizable reports regarding overall status of your processes (using predefined process reports integrated into the jBPM console), but can also be customized by users to define custom, domain-specific reports on whatever data you have available.

David has created a great video on how to use the dashbuilder for example to get insight in changes people are doing to git repositories, and published this video showing for example the activity on various jBPM-related source code repositories over the past few years:

Internally, the workbench is also using a git repository underneath to keep track of the various changes users are doing to their processes etc. in their projects.  jBPM 6.2 will include a similar page that can be used to get an overview of who is changing which repositories / projects and drill down into the details, a short video can be found here.

New activity pages can also be used to get an overview of recent changes.  Activity pages, that provides insight into projects.

The first Activity page captures events and publishes them as timelines, as a sort of social activities system - which was previous blogged in detail here. This allows events such as "new repository" or "file edited" to be captured, indexed and filtered to be displayed in custom user dashboards. It will come with a number of out of the box filters, but should be user extensible over time.

 (click to enlarge)
Early versions of both features should be ready to test drive in the up coming 6.2.0.Beta2 release, end of next week.