Planning a Red Hat Decision Manager installation
As a system administrator, you have several options for installing Red Hat Decision Manager.
Chapter 1. Red Hat Decision Manager versioning
Red Hat Decision Manager versions are designated with a numerical
Major.Minor.Patch format, such as
7.5.1. In this example, the major release is
7.x.x, the minor release is
7.5.x, and the patch release is
7.5.1. Major releases often require data migration, while minor release upgrades and patch updates are typically managed with update tools provided with the Red Hat Decision Manager release artifacts.
The following are the general types of releases for Red Hat Decision Manager:
- Major release migrations
Major releases of Red Hat Decision Manager include substantial enhancements, security updates, bug fixes, and possibly redesigned features and functions. Data migration is typically required when an application is moved from one major release to another major release, such as from Red Hat JBoss BRMS 6.4.x to Red Hat Decision Manager 7.0. Automated migration tools are often provided with new major versions of Red Hat Decision Manager to facilitate migration, but some manual effort is likely required for certain data and configurations. The supported migration paths are specified in product announcements and documentation.
For example migration instructions, see Migrating from Red Hat JBoss BRMS 6.4 to Red Hat Decision Manager 7.0.
- Minor release upgrades
Minor releases of Red Hat Decision Manager include enhancements, security updates, and bug fixes. Data migration may be required when an application is moved from one minor release to another minor release, such as from Red Hat Decision Manager 7.5.x to 7.6. Automated update tools are often provided with both patch updates and new minor versions of Red Hat Decision Manager to facilitate updating certain components of Red Hat Decision Manager, such as Business Central, Decision Server, and the headless Decision Manager controller. Other Red Hat Decision Manager artifacts, such as the decision engine and standalone Business Central, are released as new artifacts with each minor release and you must re-install them to apply the update.
Before you upgrade to a new minor release, apply the latest patch update to your current version of Red Hat Decision Manager to ensure that the minor release upgrade is successful.
- Patch updates
Patch updates of Red Hat Decision Manager include the latest security updates and bug fixes. Scheduled patch updates contain all previously released patch updates for that minor version of the product, so you do not need to apply each patch update incrementally in order to apply the latest update. For example, you can update Red Hat Decision Manager 7.5.0 or 7.5.1 to Red Hat Decision Manager 7.5.2. However, for optimal Red Hat Decision Manager performance, apply product updates as they become available. Occasionally, unscheduled patch updates may be released outside the normal update cycle of the existing product. These may include security or other updates provided by Red Hat Global Support Services (GSS) to fix specific issues, and may not be cumulative updates.
Automated update tools are often provided with both patch updates and new minor versions of Red Hat Decision Manager to facilitate updating certain components of Red Hat Decision Manager, such as Business Central, Decision Server, and the headless Decision Manager controller. Other Red Hat Decision Manager artifacts, such as the decision engine and standalone Business Central, are released as new artifacts with each minor release and you must re-install them to apply the update.
To ensure optimal transition between releases and to keep your Red Hat Decision Manager distribution current with the latest enhancements and fixes, apply new product releases and updates to Red Hat Decision Manager as they become available in the Red Hat Customer Portal. Consider also enabling product notifications in the Red Hat Customer Portal.
Chapter 2. Red Hat Decision Manager components
Red Hat Decision Manager is made up of Business Central and Decision Server.
Business Central is the graphical user interface where you create and manage business rules. You can install Business Central in a Red Hat JBoss EAP instance or on the Red Hat OpenShift Container Platform (OpenShift).
Business Central is also available as a standalone JAR file. You can use the Business Central standalone JAR file to run Business Central without needing to deploy it to an application server.
Decision Server is the server where rules and other artifacts are executed. It is used to instantiate and execute rules and solve planning problems. You can install Decision Server in a Red Hat JBoss EAP instance, on OpenShift, in an Oracle WebLogic server instance, in an IBM WebSphere Application Server instance, or as a part of Spring Boot application.
You can configure Decision Server to run in managed or unmanaged mode. If Decision Server is unmanaged, you must manually create and maintain KIE containers (deployment units). A KIE container is a specific version of a project. If Decision Server is managed, the Decision Manager controller manages the Decision Server configuration and you interact with the Decision Manager controller to create and maintain KIE containers.
The Decision Manager controller is integrated with Business Central. If you install Business Central on Red Hat JBoss EAP, use the Execution Server page to create and maintain KIE containers. However, if you do not install Business Central, you can install the headless Decision Manager controller and use the REST API or the Decision Server Java Client API to interact with it.
- Red Hat Business Optimizer is integrated in Business Central and Decision Server. It is a lightweight, embeddable planning engine that optimizes planning problems. Red Hat Business Optimizer helps Java programmers solve planning problems efficiently, and it combines optimization heuristics and metaheuristics with efficient score calculations.
Chapter 3. Available installation platforms
Every Red Hat Decision Manager release is certified on a variety of operating systems, JVMs, web browsers, and database combinations. Red Hat provides both production and development support for supported and tested configurations in both physical and virtual environments, according to your subscription agreement. See the following pages for information about supported configurations and version numbers:
Red Hat Decision Manager 7.6 is available for the following application platforms:
- Red Hat JBoss EAP
- Red Hat JBoss Web Server
- Red Hat OpenShift Container Platform
- Oracle WebLogic Server
- IBM WebSphere Application Server
3.1. Red Hat JBoss EAP 7.2
Red Hat JBoss Enterprise Application Platform (Red Hat JBoss EAP) 7.2 is a certified implementation of the Java Enterprise Edition 7 (Java EE 7) full and web profile specifications. Red Hat JBoss EAP provides preconfigured options for features such as high availability, clustering, messaging, and distributed caching. It also enables users to write, deploy, and run applications using the various APIs and services that Red Hat JBoss EAP provides.
You can install both Business Central and Decision Server in a single Red Hat JBoss EAP instance. However, in production environments you should install them in separate instances.
3.2. Red Hat JBoss Web Server
Red Hat JBoss Web Server is an enterprise-ready web server designed for medium and large applications, based on Tomcat. Red Hat JBoss Web Server provides organizations with a single deployment platform for Java Server Pages (JSP) and Java Servlet technologies, PHP, and CGI.
You can install Decision Server and the headless Decision Manager controller on Red Hat JBoss Web Server 5.2.
3.3. Red Hat OpenShift Container Platform
Red Hat OpenShift Container Platform (OpenShift) combines Docker and Kubernetes, and provides an API to manage these services. Openshift enables you to create and manage containers.
In this solution, components of Red Hat Decision Manager are deployed as separate OpenShift pods. You can scale each of the pods up and down individually, providing as few or as many containers as necessary for a particular component. You can use standard OpenShift methods to manage the pods and balance the load.
You can install both Business Central and Decision Server on OpenShift.
3.4. Oracle WebLogic Server
Oracle WebLogic Server is a Java EE application server that provides a standard set of APIs for creating distributed Java applications that can access a wide variety of services, such as databases, messaging services, and connections to external enterprise systems. Users access these applications using web browser clients or Java clients.
You can install Decision Server in an Oracle WebLogic Server instance and then use the headless Decision Manager controller and the REST API or the Decision Server Java Client API to interact with Decision Server. You can also use standalone Business Central to interact with Decision Server.
3.5. IBM WebSphere Application Server
IBM WebSphere Application Server is a flexible and secure web application server that hosts Java-based web applications and provides Java EE-certified run time environments. IBM WebSphere 9.0 supports Java SE 8 and is fully compliant with Java EE 7 since version 22.214.171.124.
You can install Decision Server in an IBM WebSphere Application Server instance and then use the headless Decision Manager controller to interact with Decision Server. You can also use standalone Business Central to interact with Decision Server.
3.6. Development options
Developers can develop assets in Red Hat Decision Manager. However, you can optionally integrate Red Hat CodeReady Studio with Red Hat Decision Manager to enable developers to write complex applications and leverage code auto-completion.
Red Hat CodeReady Studio is an integrated development environment (IDE) based on Eclipse. It integrates tooling and runtime components by combining Eclipse, Eclipse Tooling, and Red Hat JBoss EAP. Red Hat CodeReady Studio provides plug-ins with tools and interfaces for Red Hat Decision Manager. These plug-ins are based on the community version of these products. For this reason, the Red Hat Decision Manager plug-in is called the Drools plug-in.
Chapter 4. Supported repositories
4.1. Git repositories
Git repositories are used internally within Business Central to store all processes, rules, and other artifacts that are created in the authoring environment. Git is a distributed version control system. It implements revisions as commit objects. When you commit your changes into a repository, a new commit object in the Git repository is created. When you create a project in Business Central it is added to the Git repository connected to Business Central.
If you have projects in other Git repositories, you can import them into Business Central spaces. You can use Git hooks to synchronize the internal Git repositories with external repositories.
4.2. Apache Maven
Apache Maven is a distributed build automation tool used in Java application development to build and manage software projects. You can use Maven to build, publish, and deploy your Red Hat Decision Manager projects. Maven provides the following benefits:
- The build process is easy and a uniform build system is implemented across projects.
- All of the required JAR files for a project are made available at compile time.
- A proper project structure is configured.
- Dependencies and versions are well managed.
- There is no need for additional build processing because Maven builds output into a number of predefined types, such as JAR and WAR.
Maven uses repositories to store Java libraries, plug-ins, and other build artifacts. These repositories can be local or remote. Red Hat Decision Manager maintains local and remote maven repositories that you can add to your project for accessing the rules, processes, events, and other project dependencies. When building projects and archetypes, Maven dynamically retrieves Java libraries and Maven plug-ins from local or remote repositories. Doing this promotes sharing and reuse of dependencies across projects.
Chapter 5. Installation environment options for Red Hat Decision Manager
With Red Hat Decision Manager, you can set up a development environment to develop business applications, a runtime environment to run those applications to support decisions, or both.
- Development environment: Typically consists of one Business Central installation and at least one Decision Server installation. You can use Business Central to design decisions and other artifacts, and you can use Decision Server to execute and test the artifacts that you created.
- Runtime environment: Consists of one or more Decision Server instances with or without Business Central. Business Central has an embedded Decision Manager controller. If you install Business Central, use the Menu → Deploy → Execution servers page to create and maintain containers. If you want to automate Decision Server management without Business Central, you can use the headless Decision Manager controller.
You can also cluster both development and runtime environments. A clustered development or runtime environment consists of a unified group or "cluster" of two or more servers. The primary benefit of clustering Red Hat Decision Manager development environments is high availability and enhanced collaboration, while the primary benefit of clustering Red Hat Decision Manager runtime environments is high availability and load balancing. High availability decreases the chance of a loss of data when a single server fails. When a server fails, another server fills the gap by providing a copy of the data that was on the failed server. When the failed server comes online again, it resumes its place in the cluster. Load balancing shares the computing load across the nodes of the cluster to improve the overall performance.
Clustering of the runtime environment is currently supported on Red Hat JBoss EAP 7.2 and Red Hat OpenShift Container Platform only. Clustering of Business Central is currently a Technology Preview feature that is not yet intended for production use. For more information about Red Hat Technology Preview support, see Technology Preview Features Support Scope.
Chapter 6. Red Hat Decision Manager roles and users
To access Business Central or Decision Server, you must create users and assign them appropriate roles before the servers are started. This section describes available Red Hat Decision Manager user roles.
rest-all roles are reserved for Business Central. The
kie-server role is reserved for Decision Server. For this reason, the available roles can differ depending on whether Business Central, Decision Server, or both are installed.
admin: Users with the
adminrole are the Business Central administrators. They can manage users and create, clone, and manage the repositories. They have full access to make required changes in the application. Users with the
adminrole have access to all areas within Red Hat Decision Manager.
analyst: Users with the
analystrole have access to all high-level features. They can model projects. However, these users cannot add contributors to spaces or delete spaces in the Design → Projects view. Access to the Deploy → Execution Servers view, which is intended for administrators, is not available to users with the
analystrole. However, the Deploy button is available to these users when they access the Library perspective.
rest-all: Users with the
rest-allrole can access Business Central REST capabilities.
kie-server: Users with the
kie-serverrole can access Decision Server (KIE Server) REST capabilities.
Chapter 7. Available reference implementations
Three reference implementations are available that you can use as starter applications. They are provided in the Red Hat Decision Manager 7.6.0 Reference Implementations download, available on the Red Hat Decision Manager Software Downloads page in the Red Hat Customer Portal.
Employee Rostering reference implementation
The employee rostering reference implementation enables you to create an application that assigns employees to shifts on various positions in an organization. For example, you can use the application to distribute shifts in a hospital between nurses, guard duty shifts across a number of locations, or shifts on an assembly line between workers.
High available event-driven decisioning reference implementation
A reference implementation for high available event-driven decisioning on Red Hat OpenShift Container Platform is available. You can customize this reference implementation to deploy Drools engine code that requires stateful processing, including rules developed with complex event processing, in an OpenShift environment. Doing this enables the decision engine to process complex event series with high availability.
Vehicle route planning reference implementation
The vehicle route planning reference implementation enables you to create an application that solves a vehicle route planning problem with real-world maps, roads, and vehicles delivering goods to locations, each with a specific capacity. For more information, see the README file in the vehicle routing ZIP file, included in the reference implementation download.
Chapter 8. Integrating with Red Hat Single Sign-On
Red Hat Single Sign-On (RH-SSO) is a single sign-on solution that you can use to secure your browser applications with your REST web services and Git access.
When you integrate Red Hat Decision Manager with RH-SSO, you create an SSO and identity management (IDM) environment for Red Hat Decision Manager. The session management feature of RH-SSO enables you to use a single authentication for different Red Hat Decision Manager environments on the internet.
RH-SSO 7.3 is supported with Red Hat Decision Manager on Red Hat JBoss EAP 7.2.
Chapter 9. Additional resources
- Installing and configuring Red Hat Decision Manager on Red Hat JBoss EAP 7.2
- Installing and configuring Red Hat Decision Manager in a Red Hat JBoss EAP clustered environment
- Installing and configuring Red Hat Decision Manager on Red Hat JBoss Web Server
- Installing and configuring Decision Server on IBM WebSphere Application Server
- Installing and configuring Decision Server on Oracle WebLogic Server
- Deploying a Red Hat Decision Manager immutable server environment on Red Hat OpenShift Container Platform
- Deploying a Red Hat Decision Manager authoring or managed server environment on Red Hat OpenShift Container Platform
- Deploying a Red Hat Decision Manager environment on Red Hat OpenShift Container Platform using Operators
Appendix A. Versioning information
Documentation last updated on Friday, May 22, 2020.