Friday, August 7, 2015

First Steps with jBPM and BPMN 2.0 Modelization Tools

In this post, I would like to share my initial experience with jBPM and BPMN 2.0 modelization tools in general. jBPM is an open-source workflow engine written in Java that can execute business processes described in BPMN 2.0.

Business Process Model and Notation (BPMN) is a graphical representation for specifying business processes in a business process model. As an architect, I have been using BPMN as a language for business process modeling (e.g. for the functional breakdown of complex processing pipelines for genomics systems).

They are different ways to install jBPM. The quickest installations options include:
  1. downloading a zip file and install it on a PC or
  2. downloading and using a docker image (particularly suitable for Mac OS)
In this post, I will describe option #1 (basic zip based install). In this case, what you obtain is a zip file - e.g. - latest version as of 8/7/2015.

  • First make sure you have installed Apache Ant and it is on your Windows Path.
  • To install type the following command at the prompt in the jbpm-installer folder:
    • $ ant install.demo

After few minutes, all dependencies are fully downloaded and jBPM is installed.

     You are now ready to start the web-based Knowledge Is Everything KIE workbench (there is also an Eclipse IDE plugin available with the download that you can use).
  • $ ant start.demo
  • Alternatively you can also download and start the demo without eclipse
    • $ ant install.demo.noeclipse
    • $ ant start.demo.noeclipse

    Issues deploying jbpm-console.war
  • if jbpm-console.war cannot be deployed in JBoss wildfly application server (former JBoss AS).
  • see folder: ...\jBPM\jbpm-installer\wildfly-8.1.0.Final\standalone\deployments 
  • and check log file: ...\jBPM\jbpm-installer\wildfly-8.1.0.Final\standalone\log\server.log
  • You might have encounter an issue with your proxy!!!
  • There are several ways to fix this, including 
    • installing KIE outside your firewall/proxy server influence (not from our office!)
    • modify your file ...\jBPM\jbpm-installer\build.xml file:
                 <exec executable="${}" spawn="yes" osfamily="windows">
                      <env key="JAVA_OPTS" value="-XX:MaxPermSize=256m -Xms256m -Xmx512m" />
                      <arg value="-b" />
                      <arg value="${jboss.bind.address}" />
                      <arg value="--server-config=standalone-full.xml" />
                      <arg value="-Dorg.kie.demo=true" />
                      <arg value="-Dorg.kie.example=false" />
                      <arg value="-Dhttp.proxyHost=...." />
                      <arg value="-Dhttp.proxyPort=8999" />
                      <arg value="c standalone-full.xml"/>

     Using KIE
  •  If successfully deployed, go to your browser (use Chrome for better experience!) and enter
    • http://localhost:8080/jbpm-console/kie-wb.html
     You should have access to the jBPM KIE console (see also video demo here and look at jBPM6 Developer Guide).


      The default user name and password are 'admin'.


To have access to the business process demos click Authoring/Project and choose async-examples.

Then Business Processes/check weather (one of the demos - this one is very simple and fun!).

 This displays a very simple business process where the user can enter a zip code and obtain the weather forecast associated to the zip code in question:

Open the properties pane  if not displayed by clicking the double arrow on the top right side of the application.

You can initially do a copy of the demo in case you want to make some modifications to the demo process. You will need to modify the ID and the Version of the business process and save a copy.

Enter a new name and optionally some comments for the new version of the process:

    The copy should now appear in the list of business processes:

Deployment of a Process is done by opening the Project and select Build/Build & Deploy:

 To run the demo process, select Process Management/Process Definitions then select your process and click on the start Action icon:


  Enter the user name ('admin') and a US zip code - Here I am using 94036 (Palo Alto, CA).

No comments: