Thursday, December 12, 2013

JBoss BPM Suite - examining the migrated Customer Evaluation demo

Customer Evaluation

This Customer Evaluation demo project has been around some time now, originally setup to get you up and running quickly with the JBoss BRMS product.

The project was originally developed and designed to show you how to integrate rules with a BPM process. It contained all the elements that you needed to setup, run, and demo the project in both the products web tooling and JBoss Developer Studio IDE.

We spent some time digging into how to migrate this from the JBoss BRMS product over to the newer early releases of JBoss BPM Suite product. An extensive look at the process, the touch points, and what it looks like in a direct comparison between the old project and the new was published previously.

Feel free to review to get the complete picture of how we arrived where we are now.

Introduction

With the coming release of the JBoss BPM Suite product, currently in Beta phase and available on the Customer Portal if you have a subscription, it was time to migrate this over to the new product. In this article we will walk you through the results, how it all works, and get you up and running with this
demo project.
Data Modeler

This article will not be diving into the migration details as this was covered in a previous article. We will start here at the point that you are just interested in how this particular demo works with the new JBoss BPM Suite product.

The installation of the demo project has been covered in the projects documentation directory and readme file which you can obtain from the github site, https://github.com/eschabell/bpms-customer-evaluation-demo. You can retrieve this with a simple 'git clone git://github.com/eschabell/bpms-customer-evaluation-demo.git' after which you can follow the step-by-step guide found in the Quick Start Guide. This is provided in both ODT and PDF formats. It is all kicked off by the init.sh script you will find in the project, which is quite verbose and points you to the various steps you might need to take should you have chosen not to read the provided Quick Start Guide.

Architecture

The new project setup deploys JBoss BPM Suite deployable EAP 6 war's into the JBoss EAP 6 application platform. The project has been updated completely to facilitate this install. You just need to get a copy of the project, provide copies of the products as described in the installs/README files, and run the provided init.sh script.
Process Designer

A target directory will be created, installing JBoss EAP 6.1.1, deploying JBoss BPM Suite components, copying over default configuration setting through the support/* files, and you are ready to rumble!

Deploying project

The initial setup to be demonstrated has two distinct parts. 

The first is the demo project that is supplied in a git repository that the installation has placed such that when you start the JBoss BPM Suite for the first time and login, you will be confronted with the project ready to go.

At this point you can wander around the various components and inspect the project artifacts as detailed in the Quick Start Guide. This project contains a rule, a process, and the data model in the form of two objects, a Person and Request. The data model you can view in the Data Modeler component.

To create the project maven artifact, you will need to Build & Deploy the project, see the Quick Start Guide for details. This is necessary to provide the rule, process, and data model for the development usage in the second part of this demo.

Japanese translation (日本語訳)
Running mvn install

Project integration

The second part of the project can be run after you have completed the Build & Deploy as described above. You will then be able to import the project you will find in projects/customer-evaluation-demo directory into your JBoss Development Studio and run the unit test that you find there.

This unit test is a demonstration of interaction based on the maven dependency you will find in the root pom file of the project. It states that it needs version 1.0 of the customer evaluation project. To pull this into your project you will need to run 'mvn install' from your JBoss Developer Studio with the JBoss BPM Suite running, giving you access to the maven artifact you built previously.

Once this artifact has been pulled into your local maven repository, the project unit test shows direct integration of your code with the artifact, running four tests over the demo process. Application development would now use the project maven artifact in this same fashion to call rules, interact with the process, and make use of the data model it provides.

Running unit tests

Feedback welcome

This is a quick dive into the details resulting from migration of an existing application to the new JBoss BPM Suite and can also be viewed as a standalone demonstration of rules integration with a BPM process. 

Please feel free to provide feedback and suggestions for this demo. We will take any and all pull requests that can improve the demo experience. We hope you enjoy this demo experience.