Friday, November 15, 2013

Red Hat JBoss BPM Suite - Automated Lending with a Generic Loan Demo

Red Hat JBoss BPM Suite Generic Loan Demo

This article is brought to you by an example of our strong links to our partners, people who understand and leverage the Red Hat JBoss middleware products for their customers.

Last week for current Red Hat customers we have made the Red Hat JBoss BPM Suite Beta1 available. This is a milestone release on the way to a final version 6 release.

This demo originated from Dan-Grigore Pupaza who works for a Red Hat partner.

Without going into details that will be presented upon a final Beta release announcement soon, I wanted to give customers with access to the Beta1 release a head start by providing a completely automated setup of the JBoss BPM Suite, with a pre-configured generic loan demo project out of the box.

This project is setup like all my previous JBoss demos and therefore should be a snap for you to get started with. You just need to obtain the project, download the products from the Customer Portal, and push the start button.

Easy as can be!

For more details here is a bit of a walk through to get you on your way, starting with the Github hosted project bpms-generic-loan-demo.

Get project
# You will want to clone the project as follows.
#
$ git clone https://github.com/eschabell/bpms-generic-loan-demo.git

With this project still based on the Beta releases, the final documentation has not been added, therefore I provide the walk through in this article instead. This will be replaced with details quickstart documentation in the project you cloned above in the future, including a slide overview of the project architecture.

For now lets look at the directories and files provided.

Project structure
README.md - contains instructions and details to get started.
init.sh - the script to install and configure products and demo.
installs/ - directory to put the products for this demo, see README file there.
projects/ - directory containing the developer demo project for JBDS import.
docs/ - directory containing eventual demo documentation.
support/ - directory with all supporting files and configurations for installing project.

Once you have cloned this to your machine, you can then go to the Customer Portal and download the JBoss BPM Suite Beta1 product.
Download the last entry for JBoss EAP 6

The file you have downloaded will be called jboss-bpms-6.0.0.Beta1-deployable-eap6.x.zip, you will also need to download JBoss EAP 6.1.0, which can be found in the Customer Portal also.

Install products
# Download & copy to the installs directory. 
# Ensure that this file is executable by running:
#
$ chmod +x installs/jboss-bpms-6.0.0.Beta1-deployable-eap6.x.zip
$ chmod +x installs/jboss-eap-6.1.0.zip

Now you can execute in the project root directory the provided init.sh (or init.bat) file.

Installation output

You will now note that you have a new directory, target/ that contains the JBoss EAP server, an installation of JBoss BPM Suite, and a pre-configured generic loan demo project which you can start as follows.

Start JBoss BPM Suite
# The will run with this startup, installing a maven repository from
# the JBoss BPM Suite in the directory you start it from. 
#
$ ./target/jboss-eap-6.1/bin/standalone.sh
JBoss BPM Suite login

Once the product is started you can open a browser window to login to Business Central of the JBoss BPM Suite.

http://localhost:8080/business-central

There are a few roles defined and configured for the human task that is part of the generic loan demo.

User roles for demo
  • User erics with password bpmsuite, has all roles and admin rights.
  • User alan with password bpmsuite, has Loan Officer role.
    Select Project Authoring
For ease of initial use, login as the first user with full rights to use all functionality in the product, which will be shown in the screenshots used for the rest of this post.

After login you will see the initial screen with links to various parts and components of the JBoss BPM Suite. It has been pre-loaded with the generic loan demo so no need to use the Authoring -> Administration menu where you would start to either create a new repository and project, or import an existing one from some Git repository.

Project Explorer
We will go straight to the generic loan demo to inspect, build, and deploy our first instance of the process by selecting Project Authoring from the listing on the left of the screen. This will take you to the empty Project Explorer view with the generic loan project pre-selected in the right hand menus. This will then load all the existing project artifacts into the Project Explorer business user browser on the left hand side.

You can explore the various assets at your leisure and we leave that exercise to the reader. Please try to remember, this is an early Beta access version and there are issues to be fixed, see the project README.md for more details on what you can expect to encounter.

Project Editor
Now we want to build and deploy the project, so that we can start our very first instance to run through the demo. To do this we need to open the Tools -> Project Editor which will give you the Project Screen that has a Build & Deploy button at the top right corner.

Hitting that button will give a green bar pop-up that says Build successful if all goes well.

Build & deploy project
Now you can open the Process Management -> Process Definitions at the top to get to view your deployed project. You will see a single entry for the LoanApp and you can inspect it by clicking on the search spy-glass icon on the right, which provides process details.
Process started

The button New Instance at the top can be pressed to deploy a new process, which pops-up with your first form to submit a loan application.

The following data can be filled in to initiate the process.

Submit form
  • Name: erics
  • Age: 30
  • Income: 3000
  • Amount: 10010  (auto approval if under 10k, no human task)
  • Period (in months): 24
Hit the submit arrow at the bottom of the form and then you can then inspect the process progress, view the task list, and complete tasks as needed.

Monitoring (BAM)
For monitoring you can view the Process & Task Dashboard, especially as you claim and complete tasks from the Tasks List.
Monitoring dashboard (BAM), 1 completed

This completes the quick overview, which gets you started on working with the JBoss BPM Suite product.

One final note, the entire demo is running in memory, so if you restart your JBoss BPM Suite, you will lose your process data, instances, etc. Just re-run the jar tooling discussed above to reset your installation.