Red Hat Decision Manager 7: Part 3-2 A DMN Demo

In the last video, I gave a short introduction to Decision Model and Notation or DMN. It contains sufficient info to understand this demo.

This demo includes:

  • Enabling the Decision Central DMN Editor
  • Using the Decision Central DMN Editor
  • Writing a Test Scenario
  • Deploying a DMN Project on the Execution Server
  • Interacting with the deployed DMN Model using REST API

I am going to show you how to create a DMN Decision model from start to finish.

The Decision Requirement Diagram is shown at the top of the page (above).

Notice that I put the decision table in the Business Knowledge Model (BKM). And the use of FEEL (Friendly Enough Expression Language) in the “age” column.

DMN Business Knowledge Model
DMN Business Knowledge Model

One can also put the decision table directly in the Decision Node itself. The difference is that by putting the decision table in the BKM, it can be reused in another Decision node. There is no advantage in doing it this way in such a simple demo but imagine the reuse value in a large decision model.

The diagram below shows how the decision node invokes the decision table in the BKM. It maps the data to the variable (Age) used in the decision table. This is like a subroutine call in a programming language.

DMN Decision Node
DMN Decision Node

Here is the video:

Red Hat Decision Manager 7: Part 3-1 A DMN Introduction

In this video, I am going to give a short introduction to DMN. I shall describe what its capabilities are and why is it important. To fully describe how DMN works will require a much longer video than this one. You can find more details on DMN using the links provided in the description of this video.

Here is a brief description of DMN, by no means comprehensive but sufficient for you to know why it exists and help you understand the demo in the next video.

DMN is an OMD standard. OMG or the Object Management Group is the same organisation that brought you BPMN2, the Business Process Model Notation V2 standard. DMN is to decision modelling what BPMN2 is to business process modelling.

When you create a DMN model, you are creating a DRD or Decision Requirement Diagram. It is a visual representation of your DMN model. FEEL or Friendly Enough Expression Language is used to evaluate expressions eg, in a decision table. It has been said that: If you can use Microsoft Excel formulas, you will have no problem learning and using FEEL. There is a meta model interchange meaning that you can export your model as XML and import your model to another DMN tool.

To make model interchange possible, the DMN specs defines 3 conformance levels ranging from level 1 to 3 where level 3 is the highest.

The DMN Technology Compatibility Kit shows the compatibility and conformance level of DMN products available on the market, Red Hat Decision Manager included.

To learn more, please watch the video:


Red Hat Decision Manager 7: Part 2 Low Code Workbench

In this video, I am going to demo Decision Central which is Decision Manager’s low code workbench.

The intention of the demo is to show you the new Decision Central web-based workbench which is based on the web UI framework PatternFly making it having a consistent look-and-feel with other Red Hat web consoles such as Openshift, 3scale API Management Platform, etc. I shall show you what it looks like and how to navigate the UI but I am not going to describe everything in detail. If you are familiar with the JBoss BRMS web UI, you may want to contrast what I am about to show you with what you already know.

Her is the video:

Red Hat Decision Manager 7: Part 1 Introduction

I started a multi-part video series on Red Hat Decision Manager 7 on youtube. It covers 5 main topics seen in the above slide. In Part 1, I describe what the series is all about and outline what each topic will cover. Certain topics may include more than 1 video as I do not want to make each video too long.

Here is the first video.

A Simple Demo that Illustrates Loads of BPMS Features


This is a simple demo but it covers many BPMS features including:

  • Use of business rules in a task for input validation: siteName can’t be empty and siteProjectId must be one of: ‘NA’ followed by exactly 6 digits or ‘SN’ followed by exactly 5 digits
  • Use of business rules in the form of a decision table
  • Calling external application via a SOAP web service
  • Role-based access control
  • Escalation
  • Dynamic task assignment
  • Parallel tasks
  • Using signals (events that trigger actions in a business process)
  • Business Central UI to manage business process
  • Use of REST API to find out where process instances are at

Continue reading A Simple Demo that Illustrates Loads of BPMS Features

Enhancing JBoss BPMS’ Documentation and Searching Capabilities

Some users want to use JBoss Business Process Management Suite (BPMS), or its upstream jBPM Open Source Business Process Management solution, as a documentation tool as well as an executing engine for business processes and business rules, but…

  • BPMS is not designed as a documentation tool
  • BPMS has some metadata search capability but not sufficient for the scenario customers have in mind
  • Customers want a much more powerful search capability
  • Customers want a single source of truth for all business assets for both documentation and execution purposes


I created a couple of youtube videos suggesting how this could be done:

The first video defines the mission and discusses 2 approaches to achieve the mission.

The second video describes how I created a prototype and how it looks like and works. The searching capabilities is on a different level from that of BPMS’.

However, more work needs to be done to realise a proper solution for the problem. I shall be adding more videos when new ideas come to mind. Stay tuned!

Building Optaplanner Applications using the BRMS Business Central GUI: The Missing Guide

1 Introduction

A potential customer is interested in seeing how BRMS Business Central can help him build an Optaplanner (also known as Business Resource Planner) application using the GUI alone after I demonstrated to him the Optometrist rostering app based on the Nurse Rostering sample application.

Optometrist Rostering App
Optometrist Rostering App

I wanted to create a simple Optaplanner app so I picked cloud balancing. The problem statement for cloud balancing can be found here:

A sample implementation can be downloaded here:

However, the rules in the sample implementation are in native .DRL syntax. The customer wants to see everything created using Business Central GUI tools, if possible. This is the reason why I wanted to re-create this example using Business Central.

Please note that you have to add the “plannermgmt” and “kie-server” roles to you user login to Business Central in order to see the Optaplaner-specific GUI and manage the execution server. Continue reading Building Optaplanner Applications using the BRMS Business Central GUI: The Missing Guide

Making JBoss Fuse, Data Virtualisation and BPMS Work Together – Part 1


Red Hat has been using the phrase “Accelerate, Integrate and Automate”, for sometime now, to explain its comprehensive middleware portfolio to its customers. Red Hat middleware does not work in isolation. It is imperative that these different middleware products can work together to achieve a business outcome.

In this article, I am going to show you how to make the 2 “Integrate” products: JBoss Fuse (Fuse), JBoss Data Virtualisation (JDV) and the “Automate” products: JBoss Business Process Management Suite (BPMS)/JBoss Business Rules Management System (BRMS) work together. Since BPMS/BRMS and JDV run on JBoss Application Server (EAP), I can even claim that this example involves middleware products of all 3 categories ie, Accelerate, Integrate and Automate. Continue reading Making JBoss Fuse, Data Virtualisation and BPMS Work Together – Part 1

BPMS/BRMS 6.3: An Intelligent Process Server Odyssey

The Journey Begins

With the release of BPMS/BRMS 6.3 back in May, I think it is time for me to embark on a journey to explore its new features. What better to do than migrate an existing business rules application which I deployed on the Realtime Decision Server in BPMS 6.1 to 6.3’s new Intelligent Process Server. A piece of cake, so I thought… Continue reading BPMS/BRMS 6.3: An Intelligent Process Server Odyssey

A Load Generation Framework for CEP Application Testing and Demos


1 Introduction

Have you ever lamented over how difficult it is to test a CEP application, let alone doing a demo? Common challenges include:

  • How to generate events for testing a CEP application?
  • How to demo a CEP application?
  • Cannot be real-time, it takes too long
  • Lack of infrastructure during demo
  • Need repeatable outcome

In this article, I am going to show you a framework that I developed which allows you to define external events in a CSV file, play them back to your CEP application in demonstrations in accelerated time. This framework can also be used to generate a large volume of events based on event arrival distribution either in realtime or accelerated time to load test your CEP application. It is such a versatile tool that you can even use it to perform discrete event simulation (not described in this article).

The framework solves all the problems listed earlier by allowing you to:

  • Configure load to drive your CEP application
  • Run your CEP application in accelerated time
  • See the results quickly
  • Use it as a reusable infrastructure for CEP application testing and demos
  • Achieve repeatable outcome

Examples will be provided to showcase the capabilities of the framework including playing back configured events for a CEP application and realtime load generation using JBoss Fuse/A-MQ and event arrival patterns (distributions).

This article is divided into the following main sections:

  • The Optometrist CEP Application – this CEP application shows how to configure individual events to drive the CEP application in a CSV file.
  • The Stock Price CEP Application – this is a simple CEP Application which illustrates the event generation capability based on event arrival distribution.
  • Realtime Load Generation via Fuse and A-MQ integration – this section illustrates how realtime load generation can be achieved running multiple instances of the load generator to feed the Stock Price application via Fuse and A-MQ by applying software design patterns to loosely couple the load generator and the CEP application.
  • How it works – shows the UML class diagram containing the load testing framework classes, their attributes, operations and relationships. It also describes how the framework works including how the load generator is loosely coupled to your CEP application using the Observer design pattern.

The first few sections give you an overview of the capabilities of the framework. The “How it works” section outlines how the framework works. Continue reading A Load Generation Framework for CEP Application Testing and Demos