Planning a Red Hat Decision Manager installation
Abstract
Preface
As a system administrator, you have several options for installing Red Hat Decision Manager.
Chapter 1. About Red Hat Decision Manager
Red Hat Decision Manager is an open source decision management platform that combines business rules management, complex event processing, Decision Model & Notation (DMN) execution, and Red Hat Business Optimizer for solving planning problems. It automates business decisions and makes that logic available to the entire business.
Business assets such as rules, decision tables, and DMN models are stored in a central repository. This ensures consistency, transparency, and the ability to audit across the business. Business users can modify business logic without requiring assistance from IT personnel.
Red Hat Decision Manager is fully supported on OpenShift and can be installed on various platforms.
Chapter 2. Red Hat Decision Manager components
Red Hat Decision Manager is made up of Decision Central and Decision Server.
Decision Central is the graphical user interface where you create and manage business rules. You can install Decision Central in a Red Hat JBoss EAP instance or on the Red Hat OpenShift Container Platform (OpenShift).
Decision Central is also available as a standalone JAR file. You can use the Decision Central standalone JAR file to run Decision Central without needing to deploy it to an application server.
Decision Server is the server where processes, rules, and other artifacts are executed. It is used to instantiate and execute processes and 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 Decision Central. If you install Decision Central on Red Hat JBoss EAP, use the Execution Server page to create and maintain KIE containers. However, if you do not install Decision 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 Decision 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 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.2 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 Decision 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 Web Server 5.0.1 and higher.
3.3. Red Hat OpenShift Container Platform
Red Hat OpenShift Container Platform (OpenShift) brings together Docker and Kubernetes, and provides an API to manage these services. OpenShift Container Platform 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 Decision 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 Decision 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 8.5.5.6.
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 Decision 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 JBoss Developer Studio with Red Hat Decision Manager to enable developers to write complex applications and leverage code auto-completion.
Red Hat JBoss Developer 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 JBoss Developer 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 Decision 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 Decision Central it is added to the Git repository connected to Decision Central.
If you have projects in other Git repositories, you can import them into Decision 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.
- The 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
With Red Hat Decision Manager, you can set up a development environment to develop process-driven applications, a runtime environment to run those applications to support decisions, or both.
A development environment typically consists of one Decision Central installation and at least one Decision Server installation. Decision Central enables developers to create decision processes, rules, and other artifacts. They use Decision Server to test the artifacts that they created.
A runtime environment consists of one or more Decision Server instances with or without Decision Central. Decision Central has an embedded Decision Manager controller. If you install Decision Central, use the Execution Server page to create and maintain containers. If you want to automate Decision Server management without Decision Central, you can use the headless Decision Manager controller.
Clustered environments
By clustering two or more computers, you have the benefits of high availability, enhanced collaboration, and load balancing. High availability decreases the chance of a loss of data when a single computer fails. When a computer fails, another computer fills the gap by providing a copy of the data that was on the failed computer. When the failed computer comes online again, it resumes its place in the cluster. Load balancing shares the computing load across the nodes of the cluster. Doing this improves the overall performance.
You can cluster both development and runtime environments. The primary benefit of clustering Red Hat Decision Manager development environments is high availability and enhanced collaboration. The primary benefit of clustering a runtime environment is load balancing and high availability. If activity on one node of the cluster increases, that activity can be shared among the other nodes of the cluster to improve performance.
Clustering of the run time environment is supported on Red Hat JBoss EAP 7.2 and OpenShift, however clustering of Decision Central is currently in technology preview.
Chapter 6. Roles and users
To access Decision 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.
The admin
, analyst
, and rest-all
roles are reserved for Decision Central. The kie-server
role is reserved for Decision Server. For this reason, the available roles can differ depending on whether Decision Central, Decision Server, or both are installed.
-
admin
: Users with theadmin
role are the Decision 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 theadmin
role have access to all areas within Red Hat Decision Manager. -
analyst
: Users with theanalyst
role 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 theanalyst
role. However, the Deploy button is available to these users when they access the Library perspective. -
rest-all
: Users with therest-all
role can access Decision Central REST capabilities. -
kie-server
: Users with thekie-server
role can access Decision Server (KIE Server) REST capabilities. This role is mandatory for users to have access to Manage and Track views in Decision Central.
Chapter 7. 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.2 is supported with Red Hat Decision Manager on Red Hat JBoss EAP 7.2.
Chapter 8. Additional resources
- Installing and configuring Red Hat Decision Manager on Red Hat JBoss EAP
- Installing and configuring Decision Server on IBM WebSphere Application Server
- Installing and configuring Decision Server on Oracle WebLogic Server
- Installing and configuring Red Hat Decision Manager in a Red Hat JBoss EAP clustered environment
- Integrating Red Hat Developer Studio with Red Hat Decision Manager
- Integrating Red Hat Decision Manager with Red Hat Single Sign-On
- Deploying a Red Hat Decision Manager immutable server environment on Red Hat OpenShift Container Platform
- Deploying a Red Hat Decision Manager managed server environment on Red Hat OpenShift Container Platform
Appendix A. Versioning information
Documentation last updated on Tuesday, May 28, 2019.