Friday, October 24, 2014

Red Hat Job Opening - Software Sustaining Engineer

We are looking to hire someone to help improve the quality of BRMS and BPM Suite platforms. These are the productised versions of the Drools and jBPM open source projects.

The role will involve improving our test coverage, diagnosis problems, creating reproducers for problems as well as helping fix them. You’ll also be responsible for helping to setup and maintain our continuous integration environment to help streamline the various aspects involved in getting timely high quality releases out.

So if you love Drools and jBPM, and want to help make them even better and even more robust - then this is the job for you :)

The role is remote, so you can be based almost anywhere.

URL to apply now http://jobs.redhat.com/jobs/descriptions/software-engineer-brno-jihomoravsky-kraj-czech-republic-job-1-4759718

Tuesday, October 14, 2014

Partner Workshops in Madrid and London in October

Red Hat is organizing two 3-day workshop for partners about various technologies, including JBoss BPM Suite, FSW and xPaas.  Both will take place in the next few weeks, one in Madrid and one in London, and I'll be attending both.

Important: this event is for Red Hat Channel Partners***, not end users or customers. 

Come spend three days with Red Hat experts and learn about JBoss BPM Suite, Fuse Service Works, and OpenShift Platform-as-a-Service. This three-day master class will include product presentations, roadmaps, industrial use cases, panel discussions, and hands-on lab sessions, as well as the opportunity to talk one-on-one with the experts.
The speakers of the events are: middleware product leaders, principal architects and partner enablement experts. Many of them work as commiters in many open source communities. This is a great chance to meet the worldwide experts!

Madrid:  Tuesday, Oct 21 - Thursday Oct 23 2014
London: Monday, Oct 27 - Wednesday, Oct 29 2014

This is pretty last minute, but if you're interested and (would like to) qualify as Red Hat Partner, ask for an invitation from emea-partner-team@redhat.com


*** Red Hat Partners create an eco-system where they are building solutions or offering services based on existing Red Hat products.  For example, they might be delivering service projects or IT product as ISV partners, or delivering solutions based on Red Hat products as system integrators.  For more info, check out http://www.redhat.com/en/partners

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.

Other

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.

Thursday, June 19, 2014

Get ready for jBPM 6.1 with a first release candidate

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.

Now is the time to give some of these new features a try and let us know if you find some issues or have some recommendations!  6.1.0.Final will be released in the next couple of weeks.

Download here:
Documentation here:
Getting started? Use jBPM installer:

From the release notes, here's a short overview of some of the changes:

Embedding forms in external applications

Now you can embed and run process/task forms in your own web application, that live inside the jBPM console, by just adding a JavaScript library to your webapps. Look at theUsing forms on client applications section in the documentation to see the full functionality and usage examples.

Attaching documents to forms

Added a new widget to forms to manage upload documents 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, a content management system, ...) or use the default demo implementation and store them in your file system.

Web Service (SOAP) interface for remote AP

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 section Deployment descriptors of the documentation.

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 (note that CR1 still uses AS7 by default but more recently dashbuilder has also added support for WildFly so for the Final release we will switch to WildFly by default)
  • 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.

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.

Other

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).