Eric D. Schabell: May 2014

Friday, May 30, 2014

OpenShift Primer revision 2 - new slides available

With the publication of the OpenShift Primer revision 2 I thought it was time to polish up a bit of the original talk that I have been giving around the world based on this work.

It was born from a need to get the general developer public up and running with Red Hat's OpenShift Platform as a Service (Paas) project. Not just up and running as in getting it installed, but actually getting started coding with real projects.

It is not just about real development projects, but about focusing on JBoss related projects. You will find a lot of examples and quick-starts related to JBoss projects in the Java section as this might be my favorite open source software community to demonstrate enterprise ready solutions.

I took some time to polish it up in reveal.js, so without further delay, here is what I have for you to enjoy along with the book:


Thursday, May 29, 2014

Red Hat JBoss BRMS 6 - Online Workshop Setup Fully Automated for Openshift

Anyone that has been following along with this site has seen over the last 11 weeks a series of articles around the JBoss Business Rules Management Suite (BRMS) version 6 workshop.

This workshop walks you step-by-step from nothing through to a complete and working Cool Store retail web shop project.

Along the way you learn about how to design guided rules, make a DSL, a decision table, technical rules, and a ruleflow.
Build the Cool Store all by yourself!

Now that we have moved on into the JBoss BPM Suite version 6 part of the workshop we thought it might be nice to bundle this online free JBoss BRMS 6 workshop for you in a single place.

We also made it a simple one-liner to get it installed into your user account on OpenShift as one of your free instances.

How much easier is it than that to get yourself up and learning with slides and lab work online in the Cloud?

Well, if you need easier then just follow the readme instruction, yes just one instruction, to get this up in your OpenShift Cloud:


No more excuses now, time to get your rules a rockin' and build yourself a Cool Store! 



Tuesday, May 27, 2014

Red Hat JBoss BPM Suite - Understanding User Role Access

When using the JBoss BPM Suite or JBoss BRMS products, you have a choice of roles available to assign users.

These roles will determine what aspects of the provided workbench will become accessible to your users.

For example, you might not want your business analyst to be able to perform administrative functions on the project as a whole and remove assets or critical parts of your business rules projects?

Can you imagine that a user of the financial project you are designing to sell bonds could maybe adjust the rules so that a friend would get 80% interest on her newly purchased savings bond?

Not to worry, the products provide out of the box access roles predefined for ease of use.

Admin role
This role is meant to provide any user given it with full and complete access to all areas of the product.

Developer role
This role provides full access, except to the Administration perspective where you manage project and organizational setup.

Analyst role
This role provides the same access as the Developer role, except for no access to the asset repository and deployments.

User role
This is the role designed for the user of your system who is only allowed to manage processes, tasks that are generated for them, and view the created or provided reporting dashboards.

Manger role
This is the most restrictive role where we allow the user to view Business Activity Monitoring data in the form of provided or created reporting dashboards.

It should be noted that you can create other roles that are usually related to the assignment of user tasks, but these should be used in conjunction with one of the above defined access roles and do not supersede them.

We hope this overview gives you a better idea of what you can expect to find when you login using one of the above roles with the JBoss BPM Suite.


Monday, May 26, 2014

bpmPaas Generic Loan Demo - Red Hat Office Digital Sign

If you are visiting a Red Hat office anytime in the next few months, look around for the digital signs that false through some of the interesting events and product advertisements.

If you wait long enough, you should see this sign pop up which you can then scan for the QR code to get started with your very own OpenShift hosted bpmPaaS project based on the Generic Loan Demo.

There will be more of these based on the JBoss BRMS & BPM Suite products, so watch for them as you enjoy a nice coffee or tea while waiting for your meeting(s) to start.


Friday, May 23, 2014

W-JAX 2014 - OpenShift and JBoss BPM Suite Workshops

The W-JAX 2014 conference will be located in Munich, Germany from 4-8 November.

I have submitted a few workshops this time instead of sessions as I have been accumulating some good content based on my OpenShift Primer series and around the JBoss BPM Suite that I would love to share with you.

They are both hands on and will get you up and coding in the fantastic world of cloud computing, PaaS, rules, events, and BPM.

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 three action-packed hours of power where we'll show you how to deploy your existing application written in the language of your choice - Java, Ruby, PHP, Perl or Python, with the JBoss project of your choice - jBPM, Ceylon, Switchyard, Drools Planner, Aerogear, GateIn, Drools (Rules / BPM) and more deployed into 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!

(Speaker is author of e-book: OpenShift Primer, will be giving away copies in this session)

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 webshop 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 session that takes you from nothing to a fully working online retail shopping experience with JBoss open source software. No expertise in rules or processes is required, you will be guided by the speaker and be sent home ready to apply what you have learned in your own projects.

Thursday, May 22, 2014

Red Hat JBoss BRMS - taking a closer look at BRMS 5 vs BRMS 6

This year the JBoss Business Rules Management System (BRMS) product has undergone many changes as it moved from the version 5 series into the future with version 6.

We thought it might be interesting to take a short tour through the various elements you were familiar with in JBoss BRMS 5 after logging into the Govnor versus what you will find when logging into the JBoss BRMS 6 Business Central dashboard.

This article will have some of the more common features and components passing review, but may not contain the specific feature you are looking for. In such case, please put your request into the comments below.

The initial feature or component will title the section below in bold letters, followed by a section outlining what the differences are and what the matching feature or component is in JBoss BRMS 5 vs JBoss BRMS 6.

Repository mechanism

JBoss BRMS 5 is backed by a JCR data source.

JBoss BRMS 6 is backed by a GIT based repository, which is very much in line with how the mainstream enterprises are storing and working to deploy their projects. For more information see the product documentation (Installation Guide, Chapter 3).

Importing packages and the global area

JBoss BRMS 5 Guvnor provides a mechanism to export your projects into a zip file that you could then import into another instance.

Another option is to use the JBoss Developer Studio (JBDS) tooling that provided a Guvnor connection to the JCR data source that allows round tripping of your project assets into Guvnor.

JBoss BRMS 6 uses the concept of cloning (GIT) your project assets into the Business Central component in the Administration perspective. The option to use JBDS is also available as in version 5 but by using the git repository.

Globals are named objects that are made visible to the rule engine, but in a way that is fundamentally different from the one for facts: changes in the object backing a global do not trigger reevaluation of rules. These are still available in version 6. For more information see the product documentation (Development Guide, Chapter 5).

Dependency management on packages and facts

JBoss BRMS 5 needs dependencies for packages and facts to be put on the rule projects containers classpath, usually resulting in adding dependencies to the JBoss EAP server. For facts you could add a model JAR file to the Guvnor that was packaged with your project for deployment.

JBoss BRMS 6 uses Maven as the deployment and dependency management infrastructure allowing enterprises to leverage existing strategies for managing their projects dependencies. Business Central project will have a POM file for managing dependencies. A data model (fact) dependencies can be managed in this same maven practice.

Building and deploying packages

JBoss BRMS 6 is very strongly tied to the maven build mechanism, using a 'Build&Deploy' button in the Project Authoring a maven artifact is generated (a JAR file, often referred to as a knowledge archive KJAR). This artifact is then deployed by default into the local maven repository where it is available for any development project that has access to that local maven repository.

Managing process instances

In JBoss BRMS 5 you had process management capabilities along with rules and events. This is not the case with JBoss BRMS 6 which has rules and events, while JBoss BPM Suite product is used for rules, events, and processes.

This feature is part of the JBoss BPM Suite and not available in JBoss BRMS 6.

Task lists

In JBoss BRMS 5 you had process management capabilities along with rules and events. This is not the case with JBoss BRMS 6 which has rules and events, while JBoss BPM Suite product is used for rules, events, and processes.

This feature is part of the JBoss BPM Suite and not available in JBoss BRMS 6.

Registering service handlers

The need to design and add service handlers (aka task nodes in BPMN2) is a concept around domain specific nodes. In JBoss BRMS 5 you had process management capabilities along with rules and events. This is not the case with JBoss BRMS 6 which has rules and events, while JBoss BPM Suite product is used for rules, events, and processes. If you need or desire to create your own domain specific tasks and registering these with the BPM engine, then you will need to use the JBoss BPM Suite product.
Rule tasks only...

JBoss BRMS 6 does have a process designer to develop rule flows, which are processes that contain only rule tasks.

Adding user task forms

In JBoss BRMS 5 you had process management capabilities along with rules and events. This is not the case with JBoss BRMS 6 which has rules and events, while JBoss BPM Suite product is used for rules, events, and processes.

This feature is part of the JBoss BPM Suite and not available in JBoss BRMS 6.

REST interface

If you are instead using the REST API in BRMS 5, note that this has changed as there has been a certain evolution to the JBoss BRMS REST interface. For more details see JBoss BRMS 6 documentation (User Guide, Chapter 9).

Monitoring and BAM

In JBoss BRMS 5 you had process monitoring and BAM capabilities that could be added in along with rules and events. This is not the case with JBoss BRMS 6 which has rules and events, while JBoss BPM Suite product is used for rules, events, and processes.

This feature is part of the JBoss BPM Suite and not available in JBoss BRMS 6.

Persistence management

Persistence management as gone through a bit of an evolution from JBoss BRMS 5 to JBoss BRMS 6, but it still remains grounded in the same principles of JPA and JTA. For more details on configuration and usage with the new Knowledge Is Everything (KIE) API, see product documentation (Developer Guide, Chapter 5).

Integrating rules - knowledge agent - JBDS integration

Rules integration is facilitated in JBoss BRMS 5 by the Knowledge Base (KB) and Knowledge Session (KS). This has been moved to a KIE Base and KIE Session in JBoss BRMS 6. There is backwards compatibility for users that wish to remain on the deprecated KB/KS facilitated by adding in the knowledge-api dependency from the product to your projects. This will be removed at some future time so plans should be made to migrate to the newer KIE API.

The knowledge agent has been replaced with a KIE Scanner, for an example of how to use this see the Cool Store demo where a web application has been created that uses the KIE Scanner to watch for new releases of a project from Business Center by scanning the maven repository for the latest builds. You can find an example of how to setup the KIE Scanner in the github project.

As mentioned above, JBDS integration continues to facilitate round trip development. The major difference is only in the backends for the products having been JCR for JBoss BRMS 5 and now GIT for JBoss BRMS 6.

Accessing editors / modelers

With the JBoss BRMS 5 product hosting rules, events, and process capabilities, there were many editors and modelers available. These will not all map to JBoss BRMS 6 as the full arsenal of BPM is only available in the JBoss BPM Suite product as mentioned above.

JBoss BRMS 6 continues to offer the following editors and modelers embedded in a single dashboard experience:

  • Administration perspective
    • organizational units editor
    • repository editor
    • asset explorer
  • Project Authoring perspective
    • rule flow process modeler
    • decision table modeler
    • DRL editor
    • data modeler
    • guided rule wizards
    • test designers
    • categories editor
    • artifact repository


Categories

Categories remain available in JBoss BRMS 6 and have their very own dashboard editor.
Categories editor

Versions

Asset versioning
Looking specifically at rule asset versions within the product you will find the various editors and modelers have a Metadata tab at the bottom that provide insights and ability to select older versions of an asset.











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.