Getting Started with Red Hat Decision Manager 7
The all new and shiny Red Hat Decision Manager 7 has been recently released. Decision Manager 7 is the successor to Red Hat JBoss BRMS, our business rules and decision management platform. In this post we will have a look at the primary new features and provide instructions on how to get started with the new platform, either on your local machine or in an OpenShift Container Platform.
Red Hat Decision Manager 7 focuses on four main themes: Fit & Finish, Cloud-Native, Decision Model and Notation (DMN), and Business Optimizer.
Fit and Finish
A lot of work has been done in the area of usability and business user friendliness of the platform. Being a platform that targets both IT users and business users, this should appeal to a variety of personas. In Decision Manager 7 we’ve focused on abstracting a lot of the underlying technical details of the platform. At the same time the user interface has been made more context-aware. This makes it easier for the user to focus on the task they’re performing. For example, creating decision tables, writing rules, and deploying to and managing the rules runtime platform.
An example is the new project view (shown here), which now focuses solely on project artifacts (rules, decision tables, and rule flows) and hides the underlying technical concepts like package names and directory structures. The new view makes it easier to add, find, and manage artifacts. Technical details like package names no longer influence the UI. Being context aware, the new UI focuses on the task that a user needs to perform. For example, when a user’s workspace is empty, the user is now presented with a screen that asks the user whether they want to create or import a new project, rather than showing an empty project explorer view. This concept is implemented throughout the entire platform.
Another area of usability improvement is the new Decision Table editor. It is easier to use, more performant (you can now add thousands of rows to your table without a performance impact to the editor), and provides a new way to show dependencies between Decision Tables using the new table graph.
The Decision Table UI now includes a wizard that guides the user through the creation of a Decision Table, including the definitions of the constraint and action columns. This makes it both easier and faster to create new Decision Tables.
Cloud-Native (Containers & Microservices)
The new platform puts a great deal of emphasis on cloud-native deployments. First of all, the DM7 workbench (Decision Central) is now available and fully supported on OpenShift. This means that the user can now run the workbench in a managed container in any cloud environment that supports OpenShift. This enables the Decision Manager platform to utilize all of the benefits of hybrid cloud environments that OpenShift brings.
The runtime server (called Decision Server) is also available as a container image on OpenShift. This light weight engine provides an out-of-the-box RESTful API to execute decisions and business rules. As such, it’s the ideal platform on which to build and deploy microservices that implement decisions and business rules. Or as we like to call them, Micro-rules.
Decision Manager utilizes an open and de-facto standard for building management (Maven) and rules packaging (JAR files). As such, the life-cycle management process for decision services that are built and managed in Decision Manager 7 can be integrated with common continuous integration and continuous delivery (CI/CD) platforms and tools (for example, Jenkins and SonarQube).
Combinations of these features enable business and IT to easily define, build, and deploy cloud-native decision and rules microservices in a managed and controlled hybrid cloud environment.
DMN stands for Decision Model and Notation. It is a relatively new standard by the Object Management Group (OMG), the organization behind Business Process Modeling Notation (BPMN). DMN is trying to do for Business Decision Management what BPMN did for Business Process Management a decade ago: empower the business to take charge of the logic that drives its operations, though a vendor-independent diagramming language.  DMN provides a powerful graphical modeling language combined with a business user-friendly scripting language called FEEL (Friendly Enough Expression Language).
Red Hat DM7 is the first (open-source) runtime engine that implements the full DMN v1.1 FEEL Conformance Level 3 specification. This means that all DMN constructs (including FEEL expressions) are fully supported in Decision Manager 7. A DMN editor is not yet included in the Decision Central workbench. This editor will be introduced in a later minor release of the platform. For DMN editing the platform can utilize 3rd party DMN editors (for example, Trisotech and Signavio).
In Decision Manager 7 the DMN Runtime can be used as both an embedded engine inside your application, and as a DMN decision service running on the Decision Server. This allows the user to create microservices that are implemented with DMN models. As shown in the image, the Decision Server’s new Swagger RESTful API description provides an easy way to explore and test this powerful DMN capability.
Business Optimizer is the productized version of the OptaPlanner community project and is included with Red Hat Decision Manager 7. In this new release, Business Optimizer is improved in the areas of ease-of-use, scalability, and insight.
Version 7 of Business Optimizer introduces many usability improvements. The API and annotations have been enhanced to make it easier and more intuitive to define and configure your domain model. Creating and running the benchmarker, a key component to implement a successful Optimizer project, has been reduced to a single line of code.
Business Optimizer has always scaled very well, allowing you to solve problems with 10,000 or more planning entities. In version 7, scalability has been even further improved with the introduction of Paritioned Search. This feature enables partitioning a very large problem into multiple partitions which can be solved in separate threads, after which they can be merged to create the full solution. This allows Optimizer to scale to problems with hundreds of thousands of planning entities and very large solution spaces.
Another big improvement in Business Optimizer is the ability to provide insight in which constraints have been broken. This allows the user of the platform to explain the planning score of a given solution. This can give the user insight into the planning problem itself, and possible missing resources that prevent a better solution score. For example, in an exam scheduling use case, explaining the planning score can show that we don’t have enough large rooms to accommodate exams with a large number of students. The Business Optimizer examples (found in the Decision Manager 7 Add-Ons component) utilize this new feature in the heatmaps that have been implemented in the “Course Timetabling”, “Employee Rostering”, “Exam Timetabling”, and “Traveling Tournament” examples.
How to Get Started
We understand that you are excited about this new release and want to get the new product in your hands to take it for a test drive. Therefore we’ve created a number of demos that are easy to install and use. These demos can run standalone, in a Linux container, or on OpenShift. Installations are automated and fully scripted for Linux, macOS, and Windows.
- Install Demo: demonstrates the installation of Red Hat Decision Manager 7.
- Loan Application Demo: shows the execution of decisions defined in a decision table for a loan approval system.
- Insurance Pricing DMN Demo: a demo that determines the price of insurance using a DMN model.
The distribution of the platform, the maven repository, and the add-on components can be downloaded from the Decision Manager download page on this Red Hat Developer Program site.
With Decision Manager 7, Red Hat has released a next generation decision management platform. This new platform is targeted at both business and IT users. Major improvements in key areas like user management and cloud-native features allow users of the platform to design, develop, and deploy sophisticated decision logic as microservices (or micro-rules) on modern container runtimes running in hybrid cloud environments.
: Bruce Silve, http://methodandstyle.com/what-is-dmn