Eric D. Schabell

Thursday, May 15, 2014

Red Hat JBoss BPM Suite - Online Workshop Building a Rewards Demo (Lab 12 Creating Rewards Project)

We are back with this weeks episode in the JBoss Business Rules Management System (BRMS) & Business Process Management (BPM) Suite online workshop series.

In this workshop we will be introducing you to the possibilities that abound for your business when leveraging these two new and exciting products.

Each week we will push out the next installment of this workshop that will lead you through building an employee rewards approval application, leveraging a business process with human tasks.

This project will be available as a completed project called the Rewards Demo, but we thought it would be interesting to help you build this human resource application from scratch.

The second half of the workshop will be taking you through the same type of exercise, but with the JBoss BPM Suite, where you will put together an application that leverages a process, leverages human tasks, allows you to design your own forms, and much more.

Create new project
Last week we installed JBoss BPM Suite.

This week we will start by creating our rewards project.

The weeks following will feed you a new set of exercises to help you to the next stage of development as you watch your very own BPM project march towards completion.

All of the workshop materials will be hosted online with the help of OpenShift, so all you need is a browser to follow along.

You do not need to be a Java developer, as this workshop focuses on only the online product web dashboard experience as an analyst would interact with the product. The only technical deviation from this will be the initial installation of the product, but we have detailed instructions and it is a three step process that should not take you more than a few minutes.

So what are you waiting for?

Get started by creating our employee rewards project:



If you missed previous episodes of this workshop, you can backtrack to catch up.

Series Table of Contents:
  1. The introduction and installation of JBoss BRMS 
  2. Creating a new project
  3. Creating a domain model
  4. Creating a Domain Specific Language (DSL)
  5. Creating Guided Rules
  6. Creating Technical Rules (DRL)
  7. Creating Guided Decision Tables
  8. Create RuleFlow Process
  9. Create Test Scenarios
  10. Running the Cool Store
  11. Installing JBoss BPM Suite
  12. Creating Rewards Project
  13. Create Domain Model
  14. Create Rewards Process
  15. Complete Process Details
  16. Creating User Task Forms
  17. Running Rewards Demo
  18. Automated Task Reassignment
Be sure to keep an eye out for next weeks release of the following article which will bring you a step closer to completing your very own BPM project.

Note: if for some reason the online materials are not available, feel free to contact me.


Monday, May 12, 2014

Red Hat JBoss BRMS & JBoss BPM Suite - building the kjar from maven command line



The new JBoss BRMS & JBoss BPM Suite 6 has been out for a few months now and there is a fantastic integrated dashboard experience allowing for the business users or analysts to design, govern, test, and run rules, events, and process projects.

On the developer side there is the integration with JBoss Developer Studio (a.k.a. Eclipse with JBoss tooling) where the resulting project that is built and deployed into the local maven infrastructure can be added as a dependency for their development activities.

What about an organization or team that decides to rely only on the developer tooling to create their rules, events and eventual processes in JBoss BRMS & JBoss BPM Suite products?

How does one build and deploy these project artifacts as a typical kjar into their development infrastructure?

What if you want to generate maven artifacts and eventually deploy through existing continuous integration frameworks such as Jenkins?

Thomas Qvarnstrom originally described this setup on github.

If you try to build the project after cloning it from the business-central maven repository, then you will find that there is a missing dependency to org.jbpm:jbpm-bmpn2. This dependency is automatically added when you build the project inside business-central, but you will need to adjust your projects pom.xml and add the following:
<plugins>
  <plugin>
    <groupId>org.kie</groupId>
    <artifactId>kie-maven-plugin</artifactId>
    <version>6.0.2-redhat-6</version>
    <extensions>true</extensions>
    <dependencies>
       <dependency>
         <groupId>org.jbpm</groupId>
         <artifactId>jbpm-bpmn2</artifactId>
         <version>6.0.2-redhat-6</version>
       </dependency>
    </dependencies>
  </plugin>
</plugins>
You will also need to ensure you have configured the JBoss Maven repository as outlined in this previous Tips & Tricks article.

After you adjust as described above, mvn clean package will work fine even though packaging type is kjar.

Enjoy!


Friday, May 9, 2014

APAC Tech Exchange 2014 in Bangkok

This year the Asian Pacific Tech Exchange conference will be held in the city of Bangkok, Thailand from June 9 - 13.

There will be lots of great talks around the various JBoss Middleware technologies and I will be presenting a few talks and labs.

Please join us if you are in the area, the price is right, the weather is fantastic, the location nothing short of breath taking, and you will be entertained by world class speakers / experts on all kinds of Red Hat technologies.


The following sessions will be posted soon, so stay tuned to the conference site for the exact agenda when posted.


Rule the World - Practical Rules & BPM Development, Ready to rule the world?
With this workshop you get a chance to do just that, unlock the power of business rules engines and business processing for your development projects. We will take you through it all step-by-step, building rules, domain specific languages, using the wizards and editors that the JBoss BRMS & BPM Suite provide to piece together an online web shopping cart experience. You too can see what building an online web shop entails, the rules to guide shipping costs, promotional offers that need to be taken into account on each purchase, and monitoring live events as customers shop in the store so you can react to their activities.

This is a hands on experience that takes you from nothing to a fully working online retail shopping experience with JBoss open source software. No experience in rules or processes is required, you will be guided by the experienced speaker and go home ready to apply what you have learned in your own projects.

Duration: 2 hours
Prerequisites:
Need to have downloaded on your machine the following; JBoss BRMS 6.0.1.GA (jboss-brms-6.0.1.GA-redhat-4-deployable-eap6.x.zip), JBoss BPM Suite 6.0.1.GA (jboss-bpms-6.0.1.GA-redhat-4-deployable-eap6.x.zip), JBoss EAP 6.1.1.GA (jboss-eap-6.1.1.zip), clone the brms-install-demo (eschabell/brms-install-demo · GitHub), and clone the bpms-install-demo (eschabell/bpms-install-demo · GitHub).


The JBoss Cloud Guide to all things xPaaS
Whether your business applications are based on Java EE 6, PHP, or Ruby, cloud environments are turning out to be perfect for business development. There are plenty of cloud and Platform-as-a-Service (PaaS) options to choose from, but where do you start?

In this session, Eric Schabell will provide examples, demos, and practical tips for ratcheting up your knowledge of open source, middleware-based xPaaS functionality. Not only will you be able to set up diverse PaaS solutions, you’ll also learn how to use your existing application with the product of your choice. Using OpenShift by Red Hat, our PaaS, we’ll show examples with Red Hat ‘s BPM and mobile solutions, SwitchYard, Opta Planner, and Red Hat JBoss Portal, in just minutes. Join us to learn more about the practicality of Red Hat’s xPaaS vision and the role Red Hat JBoss Middleware can play.

Duration: 1 hour
Prerequisites:
Bring a laptop if you want to play along, but not mandatory.


OpenShift Primer - time to launch your project into the Cloud
Ever wondered about all the new Cloud offerings out there? What is a PaaS? What is this thing called OpenShift? Whether your business is running on applications based on Java EE6, PHP or Ruby, the cloud is turning out to be the perfect environment for developing your business. There are plenty of clouds and platform-as-a-services to choose from, but where to start?

Join us for action-packed hour(s) of power where we'll show you how to deploy your existing application leveraging the xPaaS power of Openshift and JBoss. with the OpenShift PaaS in just minutes. All this and without having to rewrite your app to get it to work the way the cloud provider thinks your app should work. 

If you want to learn about OpenShift PaaS and see how investing just a morning of your time can change everything you thought you knew about putting your business applications in the cloud, this session is for you!

Duration: 1 hour
Prerequisites:
Bring a laptop if you want to play along, but not mandatory.

Thursday, May 8, 2014

Red Hat OpenShift bpmPaaS - Generic Loan Demo now available in the Cloud



Are you ready for BPM in the Cloud?

The fully cloud enabled JBoss BPM Suite is now available on OpenShift as a bpmPaaS cartridge.

We have not been idle in the background as this was developed and have put together some automated cartridge installation projects that kick start you with pre-loaded demo projects.

First you need to have an account on OpenShift Origin, which you then can upgrade for free to the Bronze level.

Generic loan process
This gives you access to the creation of MEDIUM sized gears which you will need for the bpmPaaS instances you create.

After that you can then create a new application via the online web administration console, where at the bottom of the page you will find a text box labeled Code Anything.

Paste cartridge URI, easy peasy!
This is a field where you can paste in one of the cartridge definitions we provide in the projects listed below. Just follow each projects readme file instructions and you will be up and running a full bpmPaaS based on JBoss BPM Suite in a matter of minutes.

The projects now available for you in bpmPaaS:
Here we provide a video walk through covering the creation of your bpmPaaS instance on OpenShift and quick tour of how to run the Generic Loan demo project, all in just over 6 minutes:

Wednesday, May 7, 2014

Red Hat JBoss BPM Suite - Online Workshop Building a Rewards Demo (Lab 11 Installing BPM Suite)

We are back with this weeks episode in the JBoss Business Rules Management System (BRMS) & Business Process Management (BPM) Suite online workshop series.

In this workshop we will be introducing you to the possibilities that abound for your business when leveraging these two new and exciting products.

Each week we will push out the next installment of this workshop that will lead you through building an employee rewards approval application, leveraging a bpm process with human tasks.

This project will be available as a completed project called the Rewards Demo, but we thought it would be interesting to help you build this human resource application from scratch.

The second half of the workshop will be taking you through the same type of exercise, but with the JBoss BPM Suite, where you will put together an application that leverages a process, leverages human tasks, allows you to design your own forms, and much more.
Install JBoss BPM Suite

Last week we finished up the JBoss BRMS portion of this workshop by showing you how to run the Cool Store you created.

This week we will embark on the next phase of this workshop where we create a JBoss BPM Suite demo project. We start with installation of the JBoss BPM Suite.

The weeks following will feed you a new set of exercises to help you to the next stage of development as you watch your very own BPM project march towards completion.

All of the workshop materials will be hosted online with the help of OpenShift, so all you need is a browser to follow along.

You do not need to be a Java developer, as this workshop focuses on only the online product web dashboard experience as an analyst would interact with the product. The only technical deviation from this will be the initial installation of the product, but we have detailed instructions and it is a three step process that should not take you more than a few minutes.

So what are you waiting for?

Get started by installing the JBoss BPM Suite:



If you missed previous episodes of this workshop, you can backtrack to catch up.

Series Table of Contents:
  1. The introduction and installation of JBoss BRMS 
  2. Creating a new project
  3. Creating a domain model
  4. Creating a Domain Specific Language (DSL)
  5. Creating Guided Rules
  6. Creating Technical Rules (DRL)
  7. Creating Guided Decision Tables
  8. Create RuleFlow Process
  9. Create Test Scenarios
  10. Running the Cool Store
  11. Installing JBoss BPM Suite
  12. Creating Rewards Project
  13. Create Domain Model
  14. Create Rewards Process
  15. Complete Process Details
  16. Creating User Task Forms
  17. Running Rewards Demo
  18. Automated Task Reassignment
Be sure to keep an eye out for next weeks release of the following article which will bring you a step closer to completing your very own BPM project.

Note: if for some reason the online materials are not available, feel free to contact me.


Monday, May 5, 2014

Red Hat JBoss BPM Suite - Generic Loan Demo with Signal Event

Red Hat JBoss BPM Suite Generic Loan Demo


Previously we brought you the Generic Loan demo project, but there was a small problem with the initial process design.

The initial setup was such that the user task Approval was completed and on exit it would signal a separate process 'chunk' (for lack of a better word) that visualized a database audit.

This DB audit was started by a signal event, which is not compliant with the BPMN2 specification as it needs an incoming transition element. It is supposed to reach this point and wait for some external signal to trigger it to take the exit transition.
In progress with signal event

We spent this week redesigning this process, updated the documentation, and bring you the results.

This process now has a parallel gateway that splits out to the signal event that is then waiting for an external trigger. The other path from the parallel gateway takes us onwards to the Approval user task. Once this user task is completed it has a signal set in the on exit portion of the user task node definition.

This signal will be caught by the CC Event (which stands for a customer contact event) which then proceeds to simulate registering a customer contact moment in a marketing database for future usage by the company to target marketing activities to its customers.
Completed and signal event triggered

This new version of the Generic Loan demo has been tagged here:

https://github.com/eschabell/bpms-generic-loan-demo/tree/v1.3

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 6.0.1 product and JBoss EAP 6.1.1 product.

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

Running the init script
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.

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.
Process started

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.


Friday, May 2, 2014

Red Hat JBoss BRMS 6 - Demo Cool Store Dynamic Rule Updates

Cool Store web shop


We previously updated the JBoss Business Rules Management System (BRMS) Cool Store Demo to use the newest JBoss BRMS 6 product.

This has been expanded with a weekly workshop series of online labs that walk you through the creation of this demo, allowing you to build it from the ground up.

Today we posted the workshop lab that lets you run the accumulation of your work. We have included a video that walks you through the demonstration of one of the most powerful features of the JBoss BRMS product, dynamic rule updates.
Shipping price decision table

You will be walked through installation and running the basic project, then shown how you can change shipping price rules in a decision table that are dynamically picked up by the web application without rebuilding any code.

The project is in the same template you are used to getting from JBoss Technology Evangelists, providing you with the 3-step setup you expect:
  1. clone the project.
  2. download the products (JBoss EAP + BRMS)
  3. run the init script for automated setup.

We can't make it any easier, so hope you enjoy!



Red Hat JBoss BRMS - Online Workshop Building The Cool Store (Lab 10 Running the Cool Store)

We are back with this weeks episode in the JBoss Business Rules Management System (BRMS) & Business Process Management (BPM) Suite online workshop series.

In this workshop we will be introducing you to the possibilities that abound for your business when leveraging these two new and exciting products.

Each week we will push out the next installment of this workshop that will lead you through building an online retail web shopping cart application, leveraging rules, events, and a rule-flow.

This project is available as a completed project called the Cool Store Demo, but we thought it would be interesting to help you build this application from scratch.

The second half of the workshop will be taking you through the same type of exercise, but with the JBoss BPM Suite, where you will put together an application that leverages a process, integrates rules, leverages human tasks, allows you to design your own forms, and much more.

Run the Cool Store Demo
Last week we worked on testing the rules with test scenarios.

This week we will put it all together, give you a web application that integrates with the various rules, events, and ruleflow process you have created. You will then learn to run through the Cool Store demo as a customer session might take place to showcase this JBoss BRMS product.

The weeks following will feed you a new set of exercises to help you to the next stage of development as you watch your very own Cool Store rise from the ground up.

All of the workshop materials will be hosted online with the help of OpenShift, so all you need is a browser to follow along.

You do not need to be a Java developer, as this workshop focuses on only the online product web dashboard experience as an analyst would interact with the product. The only technical deviation from this will be the initial installation of the product, but we have detailed instructions and it is a three step process that should not take you more than a few minutes.

So what are you waiting for?

Get started running the Cool Store demo:



If you missed previous episodes of this workshop, you can backtrack to catch up.

Series Table of Contents:
  1. The introduction and installation of JBoss BRMS 
  2. Creating a new project
  3. Creating a domain model
  4. Creating a Domain Specific Language (DSL)
  5. Creating Guided Rules
  6. Creating Technical Rules (DRL)
  7. Creating Guided Decision Tables
  8. Create RuleFlow Process
  9. Create Test Scenarios
  10. Running the Cool Store
  11. Installing JBoss BPM Suite
  12. Creating Rewards Project
  13. Create Domain Model
  14. Create Rewards Process
  15. Complete Process Details
  16. Creating User Task Forms
  17. Running Rewards Demo
  18. Automated Task Reassignment
Be sure to keep an eye out for next weeks release of the following article which will bring you a step closer to completing your very own Cool Store.

Note: if for some reason the online materials are not available, feel free to contact me.