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 '' or 'init.bat' file. 'init.bat' must be run with Administrative privileges.
  3. Start JBoss BPMS Server by running '' 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 with just one-click or use the optional generation of a Docker installation, 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.

Friday, February 27, 2015

Insights into performance & sizing Business Resource Planner (part I)

(Article guest authored together with Maggie Hu, Senior Middleware Solutions Architect at Red Hat in North America and Geoffrey de Smet, Senior Software Engineer at Red Hat in Europe)

Two of the biggest questions anyone has when looking at using or adding a new component into an existing solution architecture is that of performance and sizing.

The first question is always hard to correlate from a document produced by a product vendor in comparison to your own specific solution or problem space, which makes almost any look at performance measurements an exercise in "guesstimation." After all, the producer of the performance numbers is using a setup or implementation that tends to deviate just enough from your own to raise a bit of doubt in the direct application of the results.

The second question follows closely with the first, as it is often performance that leads to a sizing estimation. One can often improve the performance by increasing resources in the deployment infrastructure and base hardware improvements can go a long ways to improving your solutions performance without changing a single line of code.

This article will tackle both questions in a linear fashion, presenting an example solution scoping of the underlying hardware as a baseline with several use cases to try and give you the widest possible coverage of numbers to evaluate for your sizing needs.

Business Resource Planner is part
of both JBoss BPM Suite and
JBoss BRMS products.
It is possible for you to employ the same techniques on your own Business Resource Planner project solutions to gather even more accurate feedback as to your performance and sizing needs.


Business Resource Planner is a lightweight, embeddable constraint satisfaction engine which optimizes resource and planning problems.

This component can be found as part of the Red Hat JBoss BRMS and Red Hat JBoss BPM Suite products. It is based on the upstream project, OptaPlanner, and is currently available as a technical preview. In the follow release of these products it will be given fully supported status, so we thought it was perfect timing to introduce you to some performance and sizing information.

An overview and further details of the product can be found on Red Hat’s Customer Portal - Business Resource Planner Guide.

This article will set the stage by outlining the three example use cases to be used for performance and sizing runs and explain our setup to evaluate as a baseline.

In follow on articles in this series we will show you how we set all this up and then detail some of the terminology involved in these types of solutions. It will entail using the Business Resource Planner component along with its benchmark tooling to present each case results.

Case examples

The following three examples have been chosen from the set of documented examples so that you have a good explanation around each one. You can explore these and quite a few more on the Customer Portal.

In each example below we will detail what the problem is, the domain size and how it is modeled along with the data sets used.

1. Cloud balancing

Suppose your company owns a number of cloud computers and needs to run a number of processes on those computers. The problem to be solved is how to assign each process to a computer under the given constraints to minimize the total maintenance cost.

The data sets to be run in our benchmark will be:
  • 100 computers with 300 processors
  • 400 computers with 1200 processors
A simple to understand problem with just one entity, one variable and data sets that scale up nicely to show both performance and sizing.

2. Curriculum course scheduling

Need to schedule each lecture into a time slot and into a room. The following constraints apply to this use case.

A hard constraint can not be broken or the solution found is not feasible.

  • Teacher conflict: A teacher must not have 2 lectures in the same period.
  • Curriculum conflict: A curriculum must not have 2 lectures in the same period.
  • Room occupancy: 2 lectures must not be in the same room in the same period.
  • Unavailable period (specified per dataset): A specific lecture must not be assigned to a specific period.

Soft constraints can be broken but have a penalty in a solution, making them undesirable but sometimes unavoidable.

  • Room capacity: A room's capacity should not be less than the number of students in its lecture.
  • Minimum working days: Lectures of the same course should be spread into a minimum number of days.
  • Curriculum compactness: Lectures belonging to the same curriculum should be adjacent to each other (so in consecutive periods).
  • Room stability: Lectures of the same course should be assigned the same room.

A more complex problems space with a single entity and two variables, the data sets run in this benchmark are found within the example project:

  • comp01.ctt
  • comp02.ctt

3. Nurse rostering

An advanced example case where we are solving a roster where for each shift, we assign a nurse from the staff to work that shift. The following constraints apply to this use case.

There are three types of nurses and eight nurses to be scheduled:
  • Maternity nurses
    • Ann, Beth, Cory
  • Emergency nurses
    • Dan, Elin, Greg
  • Basic nurses
    • Hue, Ilse
A hard constraint can not be broken or the solution found is not feasible.
  • Shifts: all required shifts must be assigned.
  • Amount: only one shift per day per nurse.
Soft constraints can be broken but have a penalty in a solution, making them undesirable but sometimes unavoidable.
  • Ann: maximum consecutive working days is 5
  • Beth: minimum consecutive free days is 2
  • Carla: has a days-off wish for Sundays
  • All: after night shift sequence a nurse gets 2 days-off
  • and a few more... 
This is another complex solution space with a single entity and single variable, but has variable data set types with time limits being assigned for finding a solution set (sprint as in seconds, medium as in minutes and long as in hours). We will be using the first two types as found within the example project:
  • sprint_01.xml
  • medium01.xml

The bench

The hardware and software used to run this performance and sizing benchmark exercise are listed for your reference.
  • Processor: Intel Core i7
    • Speed: 2.3 GHz
    • Number: 1
    • Cores: 4
    • L2 Cache (per Core): 256 KB
    • L3 Cache: 6 MB
  • Memory: 16 GB
  • OS: osX 10.10.2
  • Java (JDK): 1.7.0_71

In the following articles in this series we will walk through the setup and start running the above use cases and present our results.

Tuesday, February 24, 2015

Slides from webinar - How to excite the travel industry with a BPM story

As mentioned previously, today I presented a JBoss BPM Suite based webinar to show you everything you would want to know about our JBoss BPM Travel Agency solution.

The session was well attended and if you have any questions you will be presented a pop-up in the slides below from the session to contact me directly.

Happy to answer any questions you might have or to listen to any comments or feedback you might have, so don't be shy.

How to excite the travel industry with a BPM story

One of the most interesting branches for talking about processes is the travel industry. 

All across the Internet you will find references to solutions, offerings, and products that try to align with the travel industry business process management (BPM) solutions. Whether you are talking to an airline, a baggage handler, a bookings agency or anyone in between, they all have one thing in common. They are dealing with complex business processes that often need to combine rules, events, resource planning, and processes.

In this webinar, we’ll take a deep look into a sample solution for this industry, simulating a travel agency booking system with:

  • Service integration
  • Multiple tasks
  • Complex BPM elements
  • Rule-based fraud detection for payment processing
You will leave with an advanced overview of the capabilities of Red Hat JBoss BPM Suite and can dive in deeper with the showcased project, the JBoss BPM Travel Agency.

As always, thank you for your time and interest.

Japanese translation (日本語訳)

Monday, February 23, 2015

Business Resource Planner Online Workshop (Lab 1 & 2)

Today we kick off a brand new free online workshop centered around the Business Resource Planner.

This is a new component available as a tech preview in JBoss Business Rules Management System (BRMS) & Business Process Management (BPM) Suite products.

It will soon be fully supported so it's a great time to start providing some structured and real life examples to get you up and running with a minimum of fuss.

In this workshop we will be introducing you to the possibilities that abound for your business when leveraging the Business Resource Planner for all you complex resourcing and planning tasks.

Business Resource Planner component
is available in both
JBoss BRMS & JBoss BPM Suite products.
Each installment of this workshop will lead you through the various aspects based on solutions for a wide array of problems that can be tackled simply and effectively with the Business Resource

This week we kick it off with an introduction to the products, then get you started by installing the Business Resource Planner (not provided, but available online), and setting up the JBoss Developer Studio IDE.

The upcoming articles will supply new exercises to help you better understand the capabilities and strengths that using a planning engine used together with a rules engine can provide.

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 need a basic understanding of Java, as this workshop will be run using an IDE and code examples of planning solutions.

So what are you waiting for?

The workshop starts here:

We start with the introduction to the two products, JBoss BRMS & JBoss BPM Suite. We will present a simple overview of the capabilities and show the Business Resource Planner component in the overall product architectures:

Then we will guide you through the installation of Business Resource Planner project:

At which time you are ready for the last lab of this article, installing JBoss Developer Studio and tooling:

Be sure to keep an eye out here for the next article in this series in which our goal will be to arrange a planning for a department of angry nurses so that everyone is happy with their work roster.

Can it be done?

Series Table of Contents:
  1. The introduction and installation of Business Resource Planner project
  2. Installing JBoss Developer Studio and tooling.
  3. Customizing score functions - Schedule angry nurses (coming soon...)

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

Wednesday, February 18, 2015

Kicking Off a Nordics Rules, Events, Planning & BPM Tour

Aarhus & Copenhagen JBug's in March 2013
The new year will start with a few stops in the Nordics as I bring you rules, events, planning and BPM all rolled into a single hands on workshop series.

In March I am invited to speak for a partner conference in Denmark and will be hosting two workshops for the local JBug.

The first will be in Aarhus and the second in Copenhagen, so don't forget to RSVP on the site invitations.

(click slide to preview workshop)

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

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. (Depending on connectivity, potential to work on a bpmPaaS instance where you create your workshop project on an OpenShift hosted product.)

Host and presenter will be Eric D. Schabell

See you there!

Monday, February 16, 2015

Calling all Nordic Partners for JBoss BPM Masterclass

Next month, after touring Denmark for a couple of partner events and JBug workshops, we will be landing in Stockholm, Sweden for some more JBoss BPM fun!

March 12-13th we willl be spending two days digging into the details of JBoss BRMS & JBoss BPM Suite products with partners that want to get hands on with these flexible technologies.

To join us for two days of getting down and dirty (be sure to bring your laptop), you will need to register here before Wednesday, 6th March midnight:

JBoss BPM Masterclass

The exact details are here below and can be found on the registration site along with a detailed agenda.

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 preview workshop)
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.

Host and presenter will be Eric D. Schabell

Register and hope to see you there!