Eric D. Schabell: Red Hat JBoss BPM Suite - get rocking with the all new Mortgage Demo

Tuesday, October 29, 2013

Red Hat JBoss BPM Suite - get rocking with the all new Mortgage Demo


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

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 mortgage demo project out of the box.

This project is setup like all my previous JBoss BRMS 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 walkthrough to get you on your way, starting with the Github hosted project bpms-mortgage-demo:

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

With this project still based on the Beta releases, the final documentation has not been added, therefore I provide the walkthrough 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
# Running the installation script gives the following output.
#
$ ./init.sh 

#################################################################
##                                                             ##
##  Setting up the Mortgage Demo                               ##
##                                                             ##
##                                                             ##
##     ####  ####   #   #      ### #   # ##### ##### #####     ##
##     #   # #   # # # # #    #    #   #   #     #   #         ##
##     ####  ####  #  #  #     ##  #   #   #     #   ###       ##
##     #   # #     #     #       # #   #   #     #   #         ##
##     ####  #     #     #    ###  ##### #####   #   #####     ##
##                                                             ##
##                                                             ##
##  brought to you by,                                         ##
##             Babak Mozaffari, Eric D. Schabell               ##
##                                                             ##
##  git@github.com:eschabell/bpms-mortgage-demo.git            ##
##                                                             ##
#################################################################

EAP sources are present...

  - detected target directory, moving on...

  - existing JBoss Enterprise EAP 6 detected...

  - moving existing JBoss Enterprise EAP 6 aside...

Unpacking new JBoss Enterprise EAP 6...

Unpacking JBoss BPM Suite 6.0.0.Beta...

  - enabling demo accounts logins in application-users.properties file...

  - enabling demo accounts role setup in application-roles.properties file...

  - setting up demo projects...

  - setting up standalone.xml configuration adjustments...

  - making sure standalone.sh for server is executable...

Deploying web service that pulls out credit report of customer based on SSN...

You can now start the JBoss BPM Suite with ./target/jboss-eap-6.1/bin/standalone.sh

JBoss BPM Suite 6.0.0.Beta Mortgage Demo Setup Complete.

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 mortgage 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. You will
# see a 'repository/' directory.
#
$ ./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 several roles defined and configured for the various possible human task that are part of the mortgage demo.

User roles for demo
  • User erics with password bpmsuite, has all roles and admin rights.
  • User alan with password bpmsuite, has appraiser role.
  • User bob with password bpmsuite, has broker role.
  • User mary with password bpmsuite, has manager role.
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 mortgage 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.

We will go straight to the mortgage 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 mortgage project pre-selected in the right hand menus. You need to select the Package drop down menu and select the last entry.

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
Project screen
you can expect to encounter.

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 MortgageApplication and you can inspect it by clicking on the search spy-glass icon on the right, which provides process details.

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 mortgage application.

Process view
The following data can be filled in to have the application pass through to the Appraiser review task.

Submit form
  • Name: erics
  • Address: somewhere
  • SSN: 123456789
  • Income: 80000
  • Property Sale Price: 50000
  • Down Payment: 30000
  • Amorization: 10
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.

Pre-loading JBoss BPM Suite with processes
A more interesting option has been provided to get you up and running with 16 process instances being pre-loaded into the JBoss BPM Suite in various states of completion, also giving a populated Business Activity Monitoring (BAM) with the Process & Task Dashboard. 

# Once you have JBoss BPM Suite running, have built and deployed 
# the mortgage project, you can pre-fill the product with 16 
# instances in various states by running the following command.
#
$ java -jar support/jboss-mortgage-demo-client.jar erics bpmsuite

You will then find 16 processes in your Process Management -> Process Instances view, also in the Tasks -> Tasks List views.

Task list, with task being worked on

You can also view a process instance, and drill down into the variables and their values.

View the process variables of an instance

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



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.