Getting Started Guide

Red Hat JBoss BRMS 6.0

The Getting Started Guide for Red Hat JBoss BRMS

Kanchan Desai

Doug Hoffman

Eva Kopalova

Red Hat Content Services

Abstract

This guide is to help users install and set up Red Hat JBoss BRMS for the first time.

Chapter 1. Introduction

1.1. About Red Hat JBoss BRMS

Red Hat JBoss BRMS is an open source decision management platform that combines Business Rules Management and Complex Event Processing. It automates business decisions and makes that logic available to the entire business.
Red Hat JBoss BRMS uses a centralized repository where all resources are stored. This ensures consistency, transparency, and the ability to audit across the business. Business users can modify business logic without requiring assistance from IT personnel.
Business Resource Planner is included as a technical preview with this release.

1.2. Use Case: Business Decision Management in the Insurance Industry with JBoss BRMS

BRMS comprises a high-performance rule engine from the Drools project, a rule repository and easy to use rule authoring tools from the Drools Guvnor project, and Complex Event Processing rule engine extensions from the Drools Fusion project. It also includes Business Resource Planner, a solver for complex planning problems, as a technology preview.
The consumer insurance market is extremely competitive, and it is imperative that customers receive efficient, competitive, and comprehensive services when visiting an online insurance quotation solution. An insurance provider increased revenue from their online quotation solution by upselling to the visitors of the solution relevant, additional products during the quotation process.
JBoss BRMS was integrated with the insurance providers's infrastructure so that when a request for insurance was processed, BRMS was consulted and appropriate additional products were presented with the insurance quotation:
BRMS Use Case: Insurance Industry Decision Making

Figure 1.1. BRMS Use Case: Insurance Industry Decision Making

BRMS provided the decision management functionality, i.e. the automatic determination of the products to present to the applicant based on the rules defined by business analysts. The rules were implemented as decision tables, so they could be easily understood and modified without requiring additional support from IT.

Chapter 2. Quick start with Red Hat JBoss BRMS

In this section we download, install and run Red Hat JBoss BRMS with the minimum number of instructions. For more detailed steps and alternate methods of installation, skip this section and continue reading the rest of this guide.
These instructions assume that you have the minimum supported Java version installed on your system. An existing Red Hat JBoss EAP server is not required as the installer installs one if one cannot be detected.

Procedure 2.1. BRMS Quick Start

  1. Download BRMS installer from access.redhat.com.
  2. Run installer by executing the following command:
    java -jar jboss-brms-installer-VERSION.GA-redhat-MINOR.jar
  3. Step through the GUI installer steps making note of the username/password for accessing the BRMS application after installation.
  4. After successful installation, in a command prompt, navigate to the EAP home folder where you have installed BRMS.
  5. Start the BRMS server by issuing the following command.
    bin/standalone.sh
  6. Open a web browser and login to Business Central by navigating to http://localhost:8080/business-central/. Login using the username/password combination for accessing the BRMS application that you created at installation time.
You have successfully installed and run BRMS. You can now do the following:
Learn more about roles: Section 3.3, “Defining Roles”
Create additional users: Section 3.4, “Creating users”
Create a Hello World Rule: Chapter 5, Hello World rule example
Look up detailed installation instructions for using the installer: Installation Guide

Chapter 3. Installation

3.1. Downloading Red Hat JBoss BRMS for JBoss EAP

  1. Go to the Red Hat Customer Portal and log in.
  2. Click DownloadsProducts Downloads.
  3. In the Product Downloads page that opens, click Red Hat JBoss BRMS.
  4. From the Version drop-down menu, select version 6.0.3.
  5. Select Red Hat JBoss BRMS 6.0.3 Deployable for EAP 6.1.1 and then click Download.

3.2. Installing Red Hat JBoss BRMS for Red Hat JBoss Enterprise Application Platform

Red Hat JBoss BRMS can be installed on JBoss Enterprise Application Platform 6.1.1.

Installation on a fresh EAP instance

To install the deployable package for a Red Hat JBoss Enterprise Application Platform that has yet to be configured, do the following:
  1. Move the downloaded zip archive to the parent directory of the Red Hat JBoss Enterprise Application Platform home directory (EAP_HOME; the jboss-eap-6.1 directory).
  2. Unzip the downloaded zip archive: make sure it is merged into the EAP_HOME directory (jboss-eap-6.1).

    Warning

    This step must be performed by the same user account that was used to install EAP. This account must not be a superuser account.
  3. It is necessary to overwrite the files that already exist in the EAP_HOME directory with their versions from the downloaded zip archive. When prompted to do so, accept overwriting the original files.

Installation on an existing EAP configuration

To install the deployable package for a previously configured Red Hat JBoss Enterprise Application Platform, do the following:
  1. Download the zip archive and prepare to manually merge files into the Red Hat JBoss Enterprise Application Platform home directory (EAP_HOME; the jboss-eap-6.1 directory).
  2. Unzip the downloaded zip archive; however, do not overwrite all of the files. Manually merge the following files into the EAP_HOME directory (jboss-eap-6.1):
    • jboss-eap-6.1/domain/configuration/*
    • jboss-eap-6.1/standalone/configuration/*
    • jboss-eap-6.1/modules/layers.conf
    • jboss-eap-6.1/bin/product.conf

    Warning

    Make sure this step is performed by the same user account that was used to install EAP. This account must not be a superuser account.
  3. Ensure the target EAP does not include a deployment with a colliding name. Copy the folder jboss-eap-6.1/standalone/deployments into the EAP_HOME directory from the BRMS distribution.
  4. Make sure no EAP module layer is already called BRMS and copy the folder jboss-eap-6.1/modules/system/layers/brms into the EAP 6.1.1 folder.

3.3. Defining Roles

Before starting the server and logging onto Business Central, you will need to create some user accounts. This section describes the different user roles that are used in Red Hat JBoss BRMS:
  • admin: The users with admin role are the administrators of the application. Administrators can manage users, manage the repositories (create and clone) and have full access to make the required changes in the application. Admins have access to all areas within the system.
  • analyst: An analyst role has access to all high-level features to model projects. However, AuthoringAdministration access is unavailable to users with the analyst role. Certain lower-level features targeted towards developers, like the DeploymentArtifact Repository view are not accessible for this role. However, the Build & Deploy button is available for the analyst role while using the Project Editor.

Note

Enter the above mentioned roles during the user creation process.

3.4. Creating users

To start adding new users, you will need to run the add-user.sh script on a Unix system or the add-user.bat file on a Windows system from the EAP bin directory.
  1. Run ./add-user.sh on a Unix system or add-user.bat on a Windows system from the bin directory.
  2. Enter b to select an Application User at the type of user prompt and press Enter.
  3. Accept the default Realm (ApplicationRealm): by pressing Enter.
  4. At the username prompt, enter a user name and confirm. For example: helloworlduser.
  5. Create the user's password at the password prompt and reenter the password. For example: Helloworld@123.

    Note

    The password should be at least 8 characters in length and should contain upper and lower case alphabetic characters (e.g. A-Z, a-z), at least one numerical character (e.g. 0-9) and at least one special character (e.g. ~ ! @ # $ % ^ * ( ) - _ + =).
  6. Enter a comma separate list of roles the user will need at the roles prompt (refer to Section 3.3, “Defining Roles”).
    Business Central users need to have the analyst or the admin role.
  7. Confirm you want to add the user.
  8. Enter yes at the next prompt (this is to enable clustering in the future if required).

3.5. Installing Red Hat JBoss BRMS on Red Hat JBoss Web Server

The generic deployable package is provided for customers to install Red Hat JBoss BRMS 6 to an existing application server. The following procedure provides instructions for installation on an existing Red Hat JBoss Web Server 2.0.1 instance.

Procedure 3.1. Installing the Generic Deployable Package

  1. To download the generic deployable package zip file from the Red Hat Customer Support Portal, go to https://access.redhat.com and log in.
  2. Click DownloadsProducts Downloads.
  3. In the Product Downloads page that opens, click Red Hat JBoss BRMS.
  4. From the Version drop-down menu, select version 6.0.3
  5. Select Red Hat JBoss BRMS 6.0.3 Deployable for All Supported Containers package and then click Download.
  6. Extracting the downloaded archive creates the following zip archives:
    • jboss-brms-engine.zip
    • jboss-brms-manager.zip
  7. Extract business-central.war from the jboss-brms-manager.zip archive and copy to tomcat7/webapps/.
  8. Remove the .war extension from the business-central.war so that directory is now called business-central.
  9. Define the users and the roles in tomcat7/conf/tomcat-users.xml as shown below:
      <role rolename="admin"/>
      <role rolename="analyst"/>
      <user username="user" password="password" roles="admin,analyst"/>
  10. Edit the web.xml file in the tomcat7/webapps/business-central/WEB-INF directory by uncommenting all entries that are marked with TOMCAT-JEE-SECURITY. For example:
    <!-- TOMCAT-JEE-SECURITY -->
        <!--
        <init-param>
          <param-name>org.uberfire.auth.scheme</param-name>
          <param-value>org.uberfire.security.server.auth.JACCAuthenticationScheme</param-value>
        </init-param>
        -->
    
    
    Should be uncommented like the following:
    <!-- TOMCAT-JEE-SECURITY -->
    
        <init-param>
          <param-name>org.uberfire.auth.scheme</param-name>
          <param-value>org.uberfire.security.server.auth.JACCAuthenticationScheme</param-value>
        </init-param>
    
    
  11. Copy the kie-tomcat-integration-VERSION.jar file from business-central/WEB-INF/lib in BRMS distribution to tomcat7/lib.
  12. Copy the slf4j-api-VERSION.jar file and the slf4j-ext-VERSION.jar file from business-central/WEB-INF/lib in BRMS distribution to tomcat7/lib.
  13. Download the file below and place it in the tomcat7/lib directory.
  14. Add the below Tomcat Valve declaration into tomcat7/conf/server.xml (inside the relevant <host> element):
    <Valve className="org.kie.integration.tomcat.JACCValve"/>
  15. Rename org.uberfire.security.auth.AuthenticationSource to org.uberfire.security.auth.AuthenticationSource-ORIGIN and org.uberfire.security.auth.AuthenticationSource-TOMCAT-JEE-SECURITY to org.uberfire.security.auth.AuthenticationSource inside the business-central/WEB-INF/classes/META-INF/services
  16. Start JBoss Web Server by running startup.sh in the tomcat7/bin directory.
    ./startup.sh
  17. Navigate to http://localhost:8080/business-central in a web browser.
  18. Login with the correct username/password as given in the tomcat-users.xml file where you defined user roles.

3.6. Starting the server

If you have installed BRMS using either the Installer or via the EAP6 bundle install, you can now start your server in one of two modes.

Note

If you installed BRMS using the generic deployable version on Red Hat Java Web Server, the instructions for download and install also contain the instructions for starting the server. You can ignore the following discussion.
The default startup script, standalone.sh that Red Hat JBoss BRMS ships with is optimized for performance. To run your server in the performance mode, do the following:
  1. On the command line, move into the $SERVER_HOME/bin/ directory.
  2. In a Unix environment run:
    ./standalone.sh
    In a Windows environment run:
    ./standalone.bat
Red Hat JBoss BRMS also ships with a separate script, standalone-secure.sh that is optimized for security. This script applies a security policy by default that protects against a known security vulnerability.

Note

It is recommended that production environments use standalone-secure.sh script.

Warning

The use of a security manager imposes a significant performance penalty that you should be aware of. The tradeoff between security and performance must be made by taking into consideration individual circumstances. See Section 3.7, “Java Security Manager and performance management”.
To run your server in the secure mode with this script, do the following:
  1. On the command line, move into the $SERVER_HOME/bin/ directory.
  2. In a Unix environment run:
    ./standalone-secure.sh
    In a Windows environment run:
    ./standalone-secure.bat

3.7. Java Security Manager and performance management

As noted earlier, enabling the Java Security Manager (JSM) to sandbox the evaluation of MVEL scripts in BRMS introduces a performance hit in high load environments. Environments and performance markers must be kept in mind when deploying a BRMS application. Use the following guidelines to deploy secure and high performance BRMS applications.
  • In high load environments where performance is critical it is recommended to only deploy applications that have been developed on other systems and properly reviewed. It is also recommended not to create any users with Analyst role on such systems. If these safeguards are followed, it is safe to leave JSM disabled on these systems so it does not introduce any performance degradation.
  • In testing and development environments without high loads, or in environments where rule and process authoring is exposed to external networks, it is recommended to have JSM enabled in order to achieve security benefits of properly sandboxed evaluation of MVEL.
Allowing users with Analyst role to log in to the Business Central console with JSM disabled is not secure and not recommended.

Chapter 4. Logging on to Business Central

Log into Business Central after the server has successfully started.
  1. Navigate to http://localhost:8080/business-central in a web browser. If the user interface has been configured to run from a domain name, substitute localhost for the domain name. For example http://www.example.com:8080/business-central.
  2. Log in with the user credentials that were created during installation. For example: User = helloworlduser and password = Helloworld@123.

Chapter 5. Hello World rule example

To demonstrate basic features of JBoss BRMS, this example will instruct you on how to set up the Hello World project with a Hello World business rule.
You will be instructed to do the following:
  1. Create a Hello World repository in the Artifact repository.
  2. Create the Hello World Project.
  3. Create the Hello World rule.
  4. Build and deploy the project.

5.1. Creating repository structure

All business assets live in repositories that live in Organizational Units, which are directories in the Artifact repository. By default, the Artifact repository does not contain any organizational units. Therefore to be able to create your own business assets, you need to create an organizational unit in the Artifact repository and a (Git) repository in it. The repository can then contain your Project. A project can contain an arbitrary package structure, which allows you to structure its content into logical "directory" structure. Any package can contain your business assets (for more information on the Artifact repository, refer to the Red Hat JBoss BRMS User Guide).
To create the repository structure, do the following:
  1. Open Business Central in your web browser (if running locally http://localhost:8080/business-central) and log in as a user with the admin role (helloworlduser).
  2. Create an organizational unit in the Artifact repository:
    1. Go to AuthoringAdministration.
    2. On the perspective menu, click Organizational UnitsManage Organizational Units.
    3. In the displayed Organizational Unit Manager view, click Add.
      In the displayed Add New Organizational Unit dialog box, define the unit properties and click OK:
      • Name: helloworld
      • Owner: helloworlduser
  3. Create a new repository in the helloworld organizational unit:
    1. Go to AuthoringAdministration.
    2. On the perspective menu, click RepositoriesNew repository.
    3. In the displayed Create Repository dialog box, define the repository properties:
      • Repository Name: helloworldrepo
      • Organizational Unit: helloworld
  4. Go to AuthoringProject Authoring.
  5. In the Project Explorer in the organizational unit drop-down box, select helloworld, and in the repository drop-down box select helloworldrepo.
    Selecting the helloworldrepo repository in the helloworld organizational unit in Project Explorer

    Figure 5.1. Selecting the helloworldrepo repository in the helloworld organizational unit in Project Explorer

  6. Create a project in the helloworld repository:
    1. On the perspective menu, go to New ItemProject
    2. In the displayed Create new dialog box, define your Project properties:
      • Resource Name (project name): HelloWorld
      • Path: default://master@helloworldrepo/
    3. In the New Project Wizard dialog, define the maven properties of the Project. Press Enter after making each entry:
      • Group ID: org.brms
      • Artifact ID: HelloWorld
      • Version ID: 1.0
    4. Click Finish.

5.2. Creating the business rule

Business rules are defined as when-then statements: when something is true, then something happens (for example, when the person is older than 18, they can access the particular content). Business rules are stored in DRL files.
To define the helloworldrule business rule in the HelloWorld project, do the following:
  1. In Project Explorer, select the helloworld organizational unit, the helloworldrepo repository, the HelloWorld project, and the default package.

    Note

    Make sure to select the default package. Selection of an incorrect package causes the deployment to fail.
  2. Create the DRL file:
    1. On the perspective menu, click New ItemDRL file.
    2. In the Create new dialog box, define the resource name as helloworldrule and check that the destination path is default://master@helloworldrepo/HelloWorld/src/main/resources.
    3. Click OK.
  3. In the displayed DRL editor with the helloworldrule.drl file, define the rule:
    rule "helloworldrule"
    ruleflow-group "helloworldgroup"
    when 
    then
    	System.out.println("Hello World!");
    end
    
    This rule does not define any when condition, that is, it will always be true when fired (called to execute) and the Hello World! phrase will be printed.
  4. Click Save.
  5. A Save this item prompt is displayed. Enter the Check-in comment and click Save.

    Note

    The check-in comment would be a short description of the kind of change you made and has to be entered every time an asset is saved.

5.3. Building and deploying

Build the entire Project and deploy it to the Execution Server:
  1. On the main menu of Business Central, go to AuthoringProject Authoring.
  2. In the Project Explorer, locate the Hello World project.
  3. Open the Project in the Project editor: on the perspective menu, click ToolsProject Editor.
  4. Check that the correct Project details are displayed on the Project Screen and click the Build & Deploy button in the upper right hand corner of the Project Screen view.
    The Build & Deploy button located in the upper left corner of the editor view

    Figure 5.2. Project editor with the helloWorld project properties

A green notification appears in the upper part of the screen informing you that the project has been built and is available for instantiation. Note that the previous version of the helloWorld deployment is substituted with the new version with the Business Rule Task. To keep both deployments, change the version number of the Project in the Project editor.

Chapter 6. Red Hat JBoss Developer Studio

Red Hat JBoss Developer Studio is the JBoss integrated development environment (IDE) based on Eclipse and available from the Red Hat customer support portal at https://access.redhat.com. JBoss Developer Studio provides plug-ins with tools and interfaces for Red Hat JBoss BRMS and Red Hat JBoss BPM Suite. These plugins are based on the community version of these products. So, the BRMS plugin is called the Drools plugin and the BPM Suite plugin is called the jBPM plugin.
Refer to the Red Hat JBoss Developer Studio documentation for installation and set-up instructions.

6.1. Installing the JBoss Developer Studio Plug-ins

The Drools plug-ins for JBoss Developer Studio are available via the update site.

Procedure 6.1. Install the Drools JBoss Developer Studio Plug-in

  1. Start JBoss Developer Studio.
  2. Select HelpInstall New Software.
  3. Click Add to enter the Add Repository menu.
  4. Give the software site a name next to Name field and add the following url in the Location field: https://devstudio.jboss.com/updates/7.0/integration-stack/
  5. Click OK
  6. Select the JBoss Business Process and Rule Development feature from the available options and click Next and then Next again.
  7. Read the license and accept it by selecting the appropriate radio button, and click Finish.
  8. After installation of the plug-ins has completed, restart JBoss Developer Studio.

6.2. Setting the Drools runtime

In order to use the JBoss BRMS plug-in with Red Hat JBoss Developer Studio, it is necessary to set up the runtime.
A runtime is a collection of jar files that represent a specific release of the software and provides libraries needed for compilation and running of your business assets.
Extract the runtime jar files located in the jboss-brms-engine.zip archive of the JBoss BRMS Generic Deployable zip archive (not the EAP6 deployable zip archive) (available from Red Hat Customer Portal).

Procedure 6.2. Configure BRMS Runtime

  1. From the JBoss Developer Studio menu, select Window and click Preferences.
  2. Select DroolsInstalled Drools Runtimes.
  3. Click Add...; provide a name for the new runtime, and click Browse to navigate to the directory where the runtime is located. Click OK to register the selected runtime in JBDS.
  4. Mark the runtime you have created as the default Drools runtime by clicking on the check box next to it.
  5. Click OK. If you have existing projects, a dialog box will indicate that you have to restart JBoss Developer Studio to update the Runtime.

6.3. Configuring the JBoss BRMS Server

JBoss Developer Studio can be configured to run the Red Hat JBoss BRMS Server.

Procedure 6.3. Configure the Server

  1. Open the Drools view by selecting WindowOpen PerspectiveOther and select Drools and click OK.
  2. Add the server view by selecting WindowShow ViewOther... and select ServerServers.
  3. Open the server menu by right clicking the Servers panel and select NewServer.
  4. Define the server by selecting JBoss Enterprise MiddlewareJBoss Enterprise Application Platform 6.1+ and clicking Next.
  5. Set the home directory by clicking the Browse button. Navigate to and select the installation directory for JBoss EAP 6.1.1 which has JBoss BRMS installed.
  6. Provide a name for the server in the Name field, make sure that the configuration file is set, and click Finish.

6.4. Importing Projects from a Git Repository into JBoss Developer Studio

JBoss Developer Studio can be configured to connect to a central Git asset repository. The repository is the space where versions of rules, models, functions and processes are stored. This Git repository must already be defined by the KIE Workbench.
Users can either clone a remote Git repository or import a local Git repository.

Procedure 6.4. Cloning a Remote Git Repository

  1. Start the Red Hat JBoss BRMS server (if not already running) by selecting the server from the server tab and click the start icon.
  2. Simultaneously, start the Secure Shell server, if not running already, by using the following command. The command is Linux and Mac specific only. On these platforms, if sshd has already been started, this command will fail and you may safely ignore this step.
    /sbin/service sshd start
  3. In JBoss Developer Studio, select FileImport... and navigate to the Git folder. Open the Git folder to select Projects from Git and click Next.
  4. Select the repository source as Clone URI and click Next.
  5. Enter the details of the Git repository in the next window and click Next.
    Git Repository Details

    Figure 6.1. Git Repository Details

  6. Select which branch you want to import in the following window and click Next.
  7. You will be presented with the option to define the local storage for this project. Enter (or select) a non-empty directory, make any configuration changes and click Next.
  8. Import the project as a general project in the following window and click Next. Name the project and click Finish.

Procedure 6.5. Importing a Local Git Repository

  1. Start the Red Hat JBoss BRMS server (if not already running) by selecting the server from the server tab and click the start icon.
  2. In JBoss Developer Studio, select FileImport... and navigate to the Git folder. Open the Git folder to select Projects from Git and click Next.
  3. Select the repository source as Existing local repository and click Next.
    Git Repository Details

    Figure 6.2. Git Repository Details

  4. Select the repository that is to be configured from the list of available repositories and click Next.
  5. In the dialog that opens, select the radio button Import as general project from the Wizard for project import group and click Next. Name the project and click Finish.
    Wizard for Project Import

    Figure 6.3. Wizard for Project Import

6.5. Creating a Drools Project

Procedure 6.6. Creating a New Red Hat JBoss Developer Studio Project

  1. From the main menu, select FileNewProject.
    Select DroolsDrools Project and click Next.
  2. Enter a name for the project into the Project name: text box and click Next.

    Note

    JBoss Developer Studio provides the option to add a sample HelloWorld Rule file to the project. Accept this default by clicking Next to test the sample project in the following steps.
  3. Select the Drools runtime (or use the default).
  4. Select code compatible with Drools 6.0.x. Enter a GroupID, an ArtifactID, and Version, and click Finish.
  5. To test the project, right click the Java file that contains the main method and select Runrun asJava Application.
    The output will be displayed on the console tab.

Chapter 7. Business Resource Planner

Business Resource Planner is available as a technical preview with Red Hat JBoss BRMS. Business Resource Planner is a lightweight, embeddable planning engine that optimizes planning problems. It helps normal Java TM programmers solve planning problems efficiently, and it combines optimization heuristics and metaheuristics with very efficient score calculations.
Planner helps solve various use cases like the following:
  • Employee/Patient Rosters. Planner helps create timetables for nurses and keeps track of patient bed management.
  • Educational Timetables. Planner helps schedule lessons, courses, exams, and conference presentations.
  • Shop Schedules: Planner tracks car assembly lines, machine queue planning, and workforce task planning.
  • Cutting Stock: Planner minimizes waste by reducing the consumption of resources such as paper and steel.

7.1. Installing Business Resource Planner

  1. Navigate to the Red Hat Customer Portal and log in with your user credentials.
  2. Select DownloadsRed Hat JBoss MiddlewareDownload Software.
  3. From the Products drop-down menu, select BPM Suite.
  4. From the Version drop-down menu, select the product version 6.0.2.
  5. Select Red Hat JBoss BPM Suite 6.0.2 Business Resource Planner and then click Download.

7.2. Running the Business Resource Planner Examples

  1. On the command line, move into the examples/ directory.
  2. In a Unix environment, run the following command:
    ./runExamples.sh
    In a Windows environment, run the following command:
    ./runExamples.bat
  3. Pick an example from the Examples GUI application that opens and run it in your favorite IDE.

Appendix A. Revision History

Revision History
Revision 1.0.0-21Mon Sep 22 2014Vikram Goyal
Built from Content Specification: 22694, Revision: 711686 by vigoyal

Legal Notice

Copyright © 2014 Red Hat, Inc.
This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.