Monday, March 30, 2015

Red Hat JBoss BPM Suite - Online Workshop Building a Rewards Demo (Lab 19 Automated e-mail task notifications)

We are back with this a new episode in the continuing 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 last lab we used automated task reassignment to fix the problem of users claiming a task from the group and then not completing them in a timely manner.

This week we tackle another issue where new tasks are arriving for the group to process, but without a notification no one in the group is aware of waiting tasks.
Adding e-mail notifications for user tasks.

To fix this new issue, we can setup automatic e-mail task notifications for the group.

Every time a new Approve Rewards task arrives, someone from the group will have a set time limit to claim the task or an e-mail notification will be sent.

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 automating e-mail task notification:



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
  19. Automated E-mail Task Notification
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.

Friday, March 27, 2015

Red Hat Taste of Training - Introduction to Task Forms in JBoss BPM Suite

There are often questions asked of me around JBoss BRMS & JBoss BPM Suite when people run into me at conferences, events or online.

I have taken many of these questions home with me and they get answered in the form of an article around Tips&Tricks label or maybe a demo project gets created.

I am a teacher, I have a story to tell and you out there are a big part of the path this story takes.

Sometimes a student is just looking for a learning experience that mirrors the classroom, so with that in mind Red Hat has provided a series of free videos that give you a Taste of Training.

This just over 11 minute video will take you through the JBoss BPM Suite form designer component and show you a bit around designing user forms for the user tasks in your process projects.

It is based on the course JB427, Developing Workflow Applications with Red Hat JBoss BPM Suite.

Enjoy and be sure to check out the other offerings brought to you by Red Hat Training.



Wednesday, March 25, 2015

JBoss BPM Suite Quick Guide: Automating Email User Task Notifications (part 1)

Previously we went through a project where there was a bit of trouble around the completion of user tasks in a timely manner.

We showed you how to setup automated task reassignment for any task that was claimed from the group and then not completed in a timely manner.

We had the task reassigned back into the group for others to work on.

Little did we know this would not be enough to make this process project run smoothly for our users, so read on in this first part one of two articles that will lead you through setting up email notifications for your processes.

The problem

After putting this into production we noticed that it was not enough to just assume that users from a group would claim and complete tasks in a timely manner.

The issue that arose was that these users had no idea when a task was waiting for them as there were no alerts.

We need to setup an email alert to be sent to the group and/or users when a new user task is added to the group and sits unattended for a specified period of time.

The configuration

Before we can actually use the JBoss BPM Suite process designer to setup our desired email notifications, we need to make sure our server is configured to process email notifications, knows our users and knows our groups.

Within the JBoss BPM Suite we have a standard JBoss EAP server which for our purposes we will leverage with the default setup, making as few changes as possible to get you started.

Looking closer at this setup we have to make a few adjustments to the configuration we run (standalone), provide the business central component with user and group information.

There is also the issue of setting up a mail server to process the email notifications being sent by the JBoss BPM Suite. This is outside the scope of this article, but do not worry, we provide a simple SMTP java server component (covered in part 2) that can be started to test your project that will listen on the proper ports to capture sent emails.

Note that this setup will not block the process from running normally if you have no email server setup to process these notifications, you will just find errors in the JBoss BPM Suite server logs.

The changes

There are two files we will need to adjust to get the email notifications working:

  • JBoss EAP servers standalone.xml
  • JBoss BPM Suite business central components userinfo.properties

The standard standalone.xml delivered with our demo projects* have just a few system properties added to clarify for you how things are setup. There is a standard email setup already in place, it is just missing two things:

  1.  a from field with a valid email address for all sent mail from JBoss BPM Suite
  2. a system property to define what mail subsystem to use for sending mail

If you open the existing standalone.xml found and search for the mail subsystem you will need to adjust this code to look like this:

<subsystem xmlns="urn:jboss:domain:mail:1.1">
    <mail-session jndi-name="java:jboss/mail/Default" from="info@redhat.com">
        <smtp-server outbound-socket-binding-ref="mail-smtp"/>
    </mail-session>
</subsystem>

The line with jndi-name="java:jboss/mail/Default" will be missing the from=info@redhat.com", so you need to make sure this is added to allow mails to be sent.

Next you need to add a system property to let JBoss BPM Suite know which subsystem to use to send mails, so we add in the mail jndi-name for the org.kie.mail.session property. There may be other system properties in your standalone.xml file, just make sure the one here is added:

<system-properties>
    <property name="org.kie.mail.session" value="java:jboss/mail/Default"/>
</system-properties>

The second file is found inside the deployments directory of the JBoss BPM Suite server:

# The users and groups need to be made available to the business central component
# that is found inside the deployments directory, in our case we are running it in
# standalone mode, so this is the file we need to update.
#
jboss-eap-6.1/standalone/deployments/business-central.war/WEB-INF/classes/userinfo.properties

The default userinfo.properties file might or might not contain some or all of these entries here below, but you need to make sure at the very least these are in there for the example project* we are dealing with:

erics=erics@domain.com:en-UK:erics
manager=manager@domain.com:en-UK:manager:[erics]
Administrator=administrator@domain.com:en-UK:Administrator           
Administrators=administrators@domain.com:en-UK:Administrators:[Administrator]

The user is erics and the group that is assigned the tasks we want to monitor and send notifications to is manager. You must have the user Administrator and group Administrators too.

Once you have both of these files updated you are ready to start the JBoss BPM Suite and add email notifications to your user tasks.


[*In this article we will use the HR Employee Rewards demo project as a baseline, which you can also build from scratch by following the JBoss BPM Suite online workshop. If you obtain this project, follow the install instructions you will find a completed solution of what is described here.]

Monday, March 23, 2015

JBoss BPM Suite Quick Guide: Automating User Task Reassignments

You have a process project completed successfully, with several user tasks that need to be assigned to a role so that some group in your organization can process them in a timely fashion.

The project launches into testing phases, passes with flying colors and heads into production.

Then a problem surfaces that was not accounted for in your requirements and did not surface during project testing.

Some of the members of a group that processes the user tasks assigned to them are taking too long to complete their claimed tasks.

After some initial investigations you discover that the BPM process is working just fine, the user tasks are being setup in task lists for the group assigned during development.

Task claimed from group, but not being completed
while user on sick leave...
A closer look unearths that the problem is in the users, not the BPM project.

The problem

Users get sick, take time off and basically can become suddenly unavailable for a variety of reasons.

All of these might be valid reasons, but it means for the process that it has to wait until the task claimed by the unavailable user to be released or completed upon their (hopefully) eventual return to work.

The solution

The best way to deal with this problem you decide is to be able to put a timer on any claimed task so that if the deadline to complete the task is missed, it will be dropped back into the group for another user to process.

There is a task feature in JBoss BPM Suite that allows you to set a reassignment for any task and it is very easy to use from the  process designer.

For this article we reference an HR Employee Rewards project that can be built in the JBoss BPM online workshop.*
Automate approve reward task reassignment.

After lab 17 in the workshop, we have a completed process project as described above, with a user task that has caused our company problems due to unforeseen user behavior.

Within the process designer we can edit the Approve Reward task by clicking on it, opening the right side panel to view the user task properties.

Scroll down the task properties and you will find Reassignment field, which you open to view the Reassignment Editor. Here you can add a reassignment and enter the details around our user ERICS and manager group to set a time limit for tasks that get claimed by this user but are not  completed within one minute.

Adding reassignment for user erics and manager group.
Fill in the following reassignment fields:

  • Users:  erics
  • Groups: manager
  • Expires At: 1m
  • Type: not-completed
Note you can set the time to be seconds (s), minutes (m), days (d) or weeks (w) as needed but to make it testable in our demo we choose to set this to one minute (1m).

Close this editor by clicking on the OK button and save the process.

Task claimed into personal list and out of the group.

The results

Now you need to open the Project Editor, build & deploy the project and you can test your automated reassignment.

Testing is achieved by starting a process, submitting a reward, claiming the task waiting for a manager in the task list and waiting one minute to see if it is automatically reassigned back to the group.
After one minute, the task is reassigned to the group
and no longer in the personal list!

It worked, right?

If not, you can try it step-by-step online in our workshop, lab18 shows you how to do it from scratch.

[*In this article we will use the HR Employee Rewards demo project as a baseline, which you can also build from scratch by following the JBoss BPM Suite online workshop. If you obtain this project, follow the install instructions you will find a completed solution of what is described here.]

Friday, March 20, 2015

Red Hat JBoss BPM Suite - Online Workshop Building a Rewards Demo (Lab 18 Automate Task Reassignment)

We are back with this a new episode in the continuing 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 last lab we ran our completed rewards project and examined the BAM dashboard reporting.

Automate task reassignment.
This week we will take a closer look at the user task after our users complained that the Approve Reward task was being claimed by members of the Manager group, but not being completed in a timely manner (due to illness, lazy or whatever reason). We will look at how to correct this by setting a period of time that a user is allowed to claim a task. When this time expires the task will automatically be put back into the group for other users to claim and complete.

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 automating task reassignment:



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.

Wednesday, March 18, 2015

3 Things You Learn at a JBoss BPM Masterclass

Masterclass in action.
Last week there was a two day JBoss BPM Masterclass in the Nordic country of Sweden for a select group of partners.

This was a chance to spend two days covering the entire spectrum of rules, events, planning and processes.

Not only did we have the introduction of the materials, but as much time as possible was set aside for hands on working with the products to build an online web shopping experience and a replication of the Red Hat employee rewards process.

Lets see what the 3 things were that you learn by attending a JBoss BPM Masterclass:

  1. Complete introduction - we kicked off with the promise of attendees being able to hold a discussion and explaining what rules, events and processes were to anyone they might run into inside of 10 minutes. We then delivered on this promise
  2. Starter kits - the course also introduced the JBoss BRMS and JBoss BPM Suite starter kits to the attendees as a starting point for anyone looking to kick off into the world of rules, events and processes.
  3. Ruling the world!
  4. Getting hands-on in the Cloud - finally we spent time looking at how the attendees could make use of xPaaS, OpenShift and bpmPaaS to leverage rules, events and processes in the Cloud.
All of this was done by following the online workshop (see below), which you too can now participate in by following the link.

Red Hat JBoss BPM Suite Masterclass

We invite you to spend two days with Red Hat expert and learn about JBoss BPM Suite. 

This two-day master class will prime you with the knowledge you need to understand the capabilities, components and basic concepts involved as you start leveraging process and rule-driven solutions. 


(click slide to view masterclass)
We will focus on business process management (BPM) concepts, explain how to capture your enterprise's logic in business rules (BRMS & BPMS), and cover what complex events can bring to your customer experiences. All attendees will be left with an understanding of how rules and events are handled in a project , where to position business logic and understand the value BPM can bring to their organization.

Keep your eyes open for the next stop on the JBoss BPM workshop tour in a town or country near you.

Monday, March 16, 2015

Denmark partner & JBug tour exciting the masses with JBoss Integration & BPM

Denmark JBug in Aarhus
Last month I wrote about touring the Nordics with a first stop in Denmark this week.

I spent some time with a partner in Aarhus last week where we entertained a room full of integration and BPM enthusiasts.

It started with an overview of the potential of Open Source middleware as Red Hat provides their stack and introduced my session where I took them through rules, event and processes.

We had a good time with this and for the attendees they got the chance to take home a Red Hat remote control airplane that sure put some smiles on their faces when departing the event.

That same evening I then did a full on JBoss BPM workshop for the local Aarhus JBug, located in a neat little back room of a restaurant in the oldest part of town. As you can see in the picture above I had to be careful not to bump my head on the beam running through the ceiling.
Red Hat planes

The next day was another partner event in Copenhagen where we hosted a more intimate version with a very select group of customers that are actively working on integration and BPM solutions with Red Hat technologies.

It was fun to chat and interact with these customers, gaining insights into their usage scenarios and providing some feedback into the coming product features.

That evening I had the honor of launching the inaugural Copenhagen JBug event, which was hosted at the National Museum!

What a location to host a talk, with art, sculptures and thousands of years of history about the Danish culture all around us.

The group was very enthusiastic and left with a good appreciation for the uses of rules, events and processes.

Inaugural Copenhagen JBug in museum!
I also spent time on the Business Resource Planner workshop that is in the works, providing the attendees with some direction on how to get up to speed on this technology too.

We covered the following in both locations.

Rule the World - Practical Rules & BPM Development

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. 

Full rooms in Denmark!
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 create your own rules or process project. You have a choice in this workshop between an online web shop project or an HR employee rewards process project.

Bring your laptop as this is a hands on experience that takes you from nothing to a fully working rules or process 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.

Where will be the next place where we can provide you with all the tools you need to get started with JBoss rules, events, planning and processes?

Just contact me if you are interested in hosting a JBug session in your area.

Wednesday, March 11, 2015

Beginners Guide to Creating a One-Click Button to Launch into OpenShift Cloud

So if you have not had your head buried in the sand over the last few months you might have noticed that all of the JBoss BRMS & JBoss BPM Suite demo projects you know and love have been given a new button.

It is time to give you the ultimate beginners guide to launching any project you have into the OpenShift Cloud with just one-click.

This button is the product of a really great project called launch-service and was created by Ryan Jarvinen.

Launch service site helps you generate a button.
Not only did he create the tooling to allow you to define a project to be automatically provisioned into the OpenShift Cloud, but he put together a website to facilitate the generation of your projects button so you can embed this in your projects.

So how does this work?

We will walk you through how to put together a button based on the JBoss BPM workshop, showing you how to setup this in projects one-click button step by step:

  1. go to the Launcher site: http://launch-shifter.rhcloud.com
  2. fill in form:
    • service name: bpmworkshop
    • source URL: https://github.com/eschabell/openshift-bpmsuite-workshop.git
    • cartridge runtime: php-5.4
    • choose a light or dark button type, up to you...
    • button text: change to Click to install, watch button preview change
  3. use embed code from either Markdown or HTML, depending on your needs, but for github readme files you can use the Markdown directly.
Click to get started!
This is all you need to generate a button for any of your projects that you want to install into the OpenShift Cloud with just one-click.

How easy is that?


Monday, March 9, 2015

JBUG Scotland - JBoss BPM workshop rocked Edinburgh and Glasgow

Last week I spent the better part of my time with some fantastic people that run a JBoss User Group (JBug) in Scotland.

Up to now they have been pushing it pretty hard in Edinburgh, Scotland and with some success as I found out when I showed up with my JBoss BPM workshop.

We had a room full of attendees, a lot of beer and pizza and some great technical hands-on content around JBoss rules, events and processes.

What more could you want?

They got more than their moneys worth as we introduced the concepts, loaded up their machines with JBoss BRMS & JBoss BPM Suite and started building the Cool Store / Rewards projects from scratch.

Most of the event was filmed so expect them to post this soon and will link it back in here when they do.

Edinburgh JBug was packed.
The workshop they followed is available online, so feel free to enjoy the same hands-on experience they did.

After this fine evening I jumped a train to the next major town, Glasgow.

Here we launched the inaugural Glasgow based JBug which was a pretty good event with another full room, showing that they are more than ready to have their very own JBug in Glasgow.

We covered the following in both locations.

Rule the World - Practical Rules & BPM Development

Glasgow JBug on BPM
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 create your own rules or process project. You have a choice in this workshop between an online web shop project or an HR employee rewards process project.

Bring your laptop as this is a hands on experience that takes you from nothing to a fully working rules or process 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.


Some good reactions from the participants and a very fun bunch to hang out with afterwards at the local pub, so would recommend giving it a try next time you are around Scotland.

If you are a speaker that has something interesting to tell around JBoss technologies, reach out to them, you won't regret it!

Here are a few impressions of the events.














Wednesday, March 4, 2015

Red Hat JBoss Webinar - Business resource planning for Java developers

Getting more and more interested in developing smart planning solutions for your Java solutions?

We have a great webinar in the planning for you on March 18th, hosted by Red Hat and your speaker is none other than Geoffrey de Smet, founder and lead of OptaPlanner, an open source Java planning engine.

You will need to register for this webinar, which will get you an invite email with connection details.

You don't want to miss this as it is the perfect background for getting starting with the Business Resource Planner online workshop.

Business resource planning for Java developers

The world is full of planning problems: scheduling employees to shifts, delivery routes to vehicles, course exams to classroom time slots, and manufacturing tasks to machines, just to name a few. Solving these problems optimally is often key to a businesses’ success. The technology and knowledge needed to do so has been out of reach to all but the largest enterprises. Until now.

Register to learn about an innovative new technology soon to be released with version 6.1 of Red Hat JBoss BRMS, the business resource planner. Java developers can build powerful “solvers” without deep knowledge of optimization techniques.

In this session we'll cover the basics of solver construction with planner including:

  • Planning concepts.
  • Example problems.
  • Optimization algorithms.
  • Specifying constraints and scoring functions.

Through a series of live demos and problem scenarios you will learn how to tackle your own optimization problems with ease.


See you there?

Monday, March 2, 2015

JBoss BPM Baggage Delivery Helping Travelers with Lost Bags

Today we launch a brand new Red Hat JBoss BPM Suite demo project called JBoss BPM Baggage Delivery.

Anyone who has travel with airlines has at one point or another arrived at a destination only to discover that their bags did not.

We shamble over to the lost luggage counter, fill out forms, supply our address, describe the bags lost and head homeward empty handed.

Hopefully within a day or two the airline will find the missing bags and deliver them to the address supplied.

In this demo we capture this experience and solve some of the (fictitious) problems in rules, tasks and process with JBoss BPM Suite.

The goal of this demo was to showcase some of the features of the product:

  • integration of rules in a process
  • integration of a decision table in a process
  • integration of an external spreadsheet (containing rules) in a process
  • integration of a web service in a process
JBoss BPM Baggage Delivery process
The JBoss BPM Baggage Delivery project is quite easy to get up and running, just a few steps and off you go.


 Install on your machine

  1. Add products to installs directory. For example download and add BPMS installer jar into the installs directory.
  2. Run 'init.sh' or 'init.bat' file. 'init.bat' must be run with Administrative privileges.
  3. Start JBoss BPMS Server by running 'standalone.sh' or 'standalone.bat' in the /target/jboss-eap-6.1/bin directory.
  4.  - login for admin and other roles (u:erics / p:bpmsuite1!)
    

If you prefer you can also setup in the cloud on any OpenShift Container Platform, all options are detailed in the projects readme file.

The project simulates a traveler submitting their name, frequent flyer status, and shipping information in the short form of just your Country and zipcode if you providing the USA as your home.

Filling out the form.
The submission form provides textual help to give you zipcodes that the lookup service in the process uses to discover your home state if country provides was the USA.

Rules are used to determine if there is a surcharge (we dreamed that up for you) to have your bags delivered to remote locations like Hawaii and Alaska.

If you are not in the USA, then there is a path take to check the surcharge on the external spreadsheet based decision table, which you can verify in the spreadsheet provided.

Your exact address is leveraged from the fact that you are a frequent flyer and if you have gold status or above you never have surcharges on baggage delivery.

We hope you enjoy this extension to our travel theme projects.