此内容没有您所选择的语言版本。
Integrating Red Hat Fuse with Red Hat Decision Manager
Abstract
Preface 复制链接链接已复制到粘贴板!
As a system administrator, you can integrate Red Hat Decision Manager with Red Hat Fuse on Apache Karaf and Red Hat JBoss Enterprise Application Platform to facilitate communication between integrated services.
Red Hat Decision Manager does not support integration with Red Hat Fuse on Spring Boot.
Chapter 1. Red Hat Fuse and Red Hat Decision Manager 复制链接链接已复制到粘贴板!
Red Hat Fuse is a distributed, cloud-native integration platform that is part of an agile integration solution. Its distributed approach enables teams to deploy integrated services where required. Fuse has the flexibility to service diverse users, including integration experts, application developers, and business users, each with their own choice of deployment, architecture, and tooling. The API-centric, container-based architecture decouples services so they can be created, extended, and deployed independently. The result is an integration solution that supports collaboration across the enterprise.
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 organized in projects and stored in the Business 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.
You can install Red Hat Fuse on the Apache Karaf container platform or Red Hat JBoss Enterprise Application Platform and then install and configure Red Hat Decision Manager in that container.
For the version of Red Hat Fuse that Red Hat Decision Manager 7.6 supports, see Red Hat Process Automation Manager 7 Supported Configurations.
1.1. Red Hat Decision Manager Karaf features 复制链接链接已复制到粘贴板!
The following table lists Red Hat Decision Manager Karaf features.
| Feature | Description |
|---|---|
|
| Contains the core and compiler of Drools, used to create KIE bases and KIE sessions from plain DRL. It also contains the implementation of the executable model. Uses Drools for rules evaluation, without requiring persistence, processes, or decision tables. |
|
| Contains the Drools templates. |
|
|
Uses Drools for rules evaluation with persistence and transactions, but without requiring processes or decision tables. The |
|
| Uses Drools with decision tables. |
|
Core engine JARs and |
Uses Red Hat Decision Manager with the KIE scanner ( |
|
|
Provides the |
|
|
Installs the |
Apache Karaf is a standalone open-source runtime environment. It is based on the OSGi standard from the OSGi Alliance. Karaf provides support for modularisation through OSGi bundles with sophisticated class-loading support. You can deploy multiple versions of a dependency side by side in a Karaf container. You can use hot code swapping to upgrade or replace a module without shutting down the container.
Red Hat Decision Manager integration with Fuse on Karaf is provided through Karaf features. You can install individual components of Red Hat Decision Manager for Fuse on Karaf using these features.
Features files are XML files that specify which OSGI bundles are installed for a particular feature. The following features XML files facilitate Red Hat Decision Manager and Fuse on Karaf integration:
rhba-features-<FUSE-VERSION>-features.xmlThis file is part of Fuse installed in Karaf where
<FUSE-VERSION>is the version of Fuse. This file is stored in the Karaf system repository, in thesystem/org/jboss/fuse/features/rhba-featuresdirectory. This file contains prerequisites for installing Red Hat Decision Manager features.kie-karaf-features-7.30.0.Final-redhat-00003-features-fuse.xmlThis file is part of Red Hat Decision Manager and provides Red Hat Decision Manager features, which define the OSGi features that can be deployed into Red Hat Fuse. OSGi users can install features from this file to install Red Hat Decision Manager into Fuse and use it in their applications. You can find this features file in the online and offline Maven repository that is distributed with Red Hat Decision Manager. The group ID, artifact ID, and version (GAV) identifier of this file is
org.kie:kie-karaf-features:7.30.0.Final-redhat-00003.
If your installation contains older versions of the Red Hat Decision Manager features XML files (for example, kie-karaf-features-<VERSION>-features.xml), you must remove these files and all associated files before installing the most recent features XML files.
Prerequisites
- Obsolete features XML files exist in your Apache Karaf installation.
Procedure
Enter the following commands to determine whether your installation contains obsolete Red Hat Decision Manager features XML files:
JBossFuse:karaf@root> feature:repo-list JBossFuse:karaf@root> feature:list
$ JBossFuse:karaf@root> feature:repo-list $ JBossFuse:karaf@root> feature:listCopy to Clipboard Copied! Toggle word wrap Toggle overflow Enter the following command, where
<FUSE_HOME>is the Fuse installation directory, to start the Red Hat Fuse console:./<FUSE_HOME>/bin/fuse
$ ./<FUSE_HOME>/bin/fuseCopy to Clipboard Copied! Toggle word wrap Toggle overflow Enter the following command, where
<FEATURE_NAME>is the name of the feature that you want to uninstall, to uninstall features or applications that use obsolete features XML files:JBossFuse:karaf@root> features:uninstall <FEATURE_NAME>
JBossFuse:karaf@root> features:uninstall <FEATURE_NAME>Copy to Clipboard Copied! Toggle word wrap Toggle overflow The following example shows how to remove features:
JBossFuse:karaf@root> features:uninstall drools-module JBossFuse:karaf@root> features:uninstall jbpm JBossFuse:karaf@root> features:uninstall kie-ci
JBossFuse:karaf@root> features:uninstall drools-module JBossFuse:karaf@root> features:uninstall jbpm JBossFuse:karaf@root> features:uninstall kie-ciCopy to Clipboard Copied! Toggle word wrap Toggle overflow Search Karaf home for references to bundles that use
drools,kie, orjbpm. The following example shows how to usegrepto search for these components:karaf@root> list -t 0 -s | grep drools karaf@root> list -t 0 -s | grep kie karaf@root> list -t 0 -s | grep jbpm
karaf@root> list -t 0 -s | grep drools karaf@root> list -t 0 -s | grep kie karaf@root> list -t 0 -s | grep jbpmCopy to Clipboard Copied! Toggle word wrap Toggle overflow The example shows output from these commands:
250 │ Active │ 80 │ 7.19.0.201902201522 │ org.drools.canonical-model 251 │ Active │ 80 │ 7.19.0.201902201522 │ org.drools.cdi 252 │ Active │ 80 │ 7.19.0.201902201522 │ org.drools.compiler
250 │ Active │ 80 │ 7.19.0.201902201522 │ org.drools.canonical-model 251 │ Active │ 80 │ 7.19.0.201902201522 │ org.drools.cdi 252 │ Active │ 80 │ 7.19.0.201902201522 │ org.drools.compilerCopy to Clipboard Copied! Toggle word wrap Toggle overflow Enter the following command, where
BUNDLE_IDis a bundle ID returned in the search, to remove the bundles found in the previous step:karaf@root> osgi:uninstall BUNDLE_ID
karaf@root> osgi:uninstall BUNDLE_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow Enter the following command to remove the obsolete
drools-karaf-featuresURL:karaf@root> features:removeurl mvn:org.kie/kie-karaf-features/VERSION.Final-redhat-VERSION/xml/features
karaf@root> features:removeurl mvn:org.kie/kie-karaf-features/VERSION.Final-redhat-VERSION/xml/featuresCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Restart Fuse.
Install Red Hat Decision Manager features on Karaf to create a dynamic runtime environment for your Red Hat Decision Manager processes.
Prerequisites
- A Red Hat Fuse installation in an Apache Karaf container is available. For information about installing Fuse in Apache Karaf, see Installing Red Hat Fuse on the Apache Karaf container.
- You have removed any obsolete Red Hat Decision Manager features XML files as described in Section 2.1, “Uninstalling obsolete Red Hat Decision Manager features XML files on Karaf”.
Procedure
To install Red Hat Decision Manager features, enter the following command:
JBossFuse:karaf@root> feature:install <FEATURE_NAME>
$ JBossFuse:karaf@root> feature:install <FEATURE_NAME>
Use org.drools.osgi.spring.OsgiKModuleBeanFactoryPostProcessor instead of org.kie.spring.KModuleBeanFactoryPostProcessor to postprocess KIE elements in an OSGi environment.
Do not install the drools-module feature before the kie-spring feature. If you do, the drools-compiler bundle will not detect packages exported by kie-spring.
If you install the features in the incorrect order, run osgi:refresh drools-compiler_bundle_ID to force the drools-compiler to rebuild its Import-Package metadata.
In this command, <FEATURE_NAME> is one of the features listed in Section 1.1, “Red Hat Decision Manager Karaf features”.
Install Red Hat Decision Manager with Fuse on Apache Karaf to deploy integrated services where required.
Prerequisites
- A Red Hat Fuse 7.3 or 7.4 on Apache Karaf installation exists. For installation instructions, see Installing Red Hat Fuse on the Apache Karaf container .
- Any obsolete features XML files have been removed, as described in Section 2.1, “Uninstalling obsolete Red Hat Decision Manager features XML files on Karaf”.
Procedure
-
To configure the Maven repository, open the
FUSE_HOME/etc/org.ops4j.pax.url.mvn.cfgfile in a text editor. Make sure that the
https://maven.repository.redhat.com/ga/repository is present in theorg.ops4j.pax.url.mvn.repositoriesvariable and add it if necessary.NoteEntries are separated by a comma, space, and backslash (, \). The backslash forces a new line.
To start Fuse, enter the following command, where
FUSE_HOMEis the Fuse installation directory:./FUSE_HOME/bin/fuse
$ ./FUSE_HOME/bin/fuseCopy to Clipboard Copied! Toggle word wrap Toggle overflow To add a reference to the features file that contains installation prerequisites, enter the following command, where
<FUSE_VERSIONis the version of Fuse that you are installing:feature:repo-add mvn:org.jboss.fuse.features/rhba-features/<FUSE-VERSION>/xml/features
$ feature:repo-add mvn:org.jboss.fuse.features/rhba-features/<FUSE-VERSION>/xml/featuresCopy to Clipboard Copied! Toggle word wrap Toggle overflow Enter the following command to add a reference to the Red Hat Decision Manager features XML file:
JBossFuse:karaf@root> features:addurl mvn:org.kie/kie-karaf-features/VERSION/xml/features-fuse
$ JBossFuse:karaf@root> features:addurl mvn:org.kie/kie-karaf-features/VERSION/xml/features-fuseCopy to Clipboard Copied! Toggle word wrap Toggle overflow To see the current
drools-karaf-featuresversion, see the Red Hat Process Automation Manager 7 Supported Configurations page.Enter the following command to install a feature provided by Red Hat Decision Manager features XML file. In this command,
<FEATURE_NAME>is one of the features listed in Section 1.1, “Red Hat Decision Manager Karaf features”.JBossFuse:karaf@root> features:install <FEATURE_NAME>
JBossFuse:karaf@root> features:install <FEATURE_NAME>Copy to Clipboard Copied! Toggle word wrap Toggle overflow Enter the following command to verify the installation:
JBossFuse:karaf@root>feature:list
$ JBossFuse:karaf@root>feature:listCopy to Clipboard Copied! Toggle word wrap Toggle overflow Successfully installed features have the status
started.
Install Fuse in Red Hat JBoss EAP with Red Hat Decision Manager to deploy integrated services where required.
Prerequisites
- A Red Hat Decision Manager installation on Red Hat JBoss Enterprise Application Platform 7.2 is available. For installation instructions, see Installing and configuring Red Hat Decision Manager on Red Hat JBoss EAP 7.2.
Procedure
- Install Red Hat Fuse in the Red Hat JBoss Enterprise Application Platform 7.2 container where you installed Red Hat Decision Manager. For installation instructions, see the Install Fuse 7.3 on JBoss EAP 7.2.
-
Open the
pom.xmlfile in the Fuse home directory in a text editor. Create the integration project with a dependency on the
kie-camelcomponent by editing thepom.xmlfile as shown in the following example:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Chapter 4. The kie-camel component 复制链接链接已复制到粘贴板!
The kie-camel component is an Apache Camel endpoint provided by Red Hat Fuse that integrates Fuse with Red Hat Decision Manager. It enables you to specify a Red Hat Decision Manager module by using a Maven group ID, artifact ID, and version (GAV) identifier which you can pull into the route and execute. It also enables you to specify portions of the message body as facts.You can use the kie-camel component with embedded engines or with Decision Server.
Embedded engines
In this scenario, KIE engines run in the same container as the Fuse integration project and you can communicate with engines using KIE commands. To create the Camel producer, use the following URI:
kie-local:kie-session-name?action=execute
kie-local:kie-session-name?action=execute
For example, enter the following command to initialize a Camel route in Spring:
<from uri="direct:runCommand" /> <to uri="kie-local:kie-session1?action=execute"/>
<from uri="direct:runCommand" />
<to uri="kie-local:kie-session1?action=execute"/>
Decision Server
In this scenario, the kie-camel component connects to Decision Server using the Decision Server REST API. This enables users to communicate with the Decision Server using the Decision Server API. To create a producer, use the following URI:
kie:http://username:password@kie-server-url`
kie:http://username:password@kie-server-url`
For example, enter the following command to initialize a Camel route in Spring:
<from uri="direct:runCommand" /> <to uri="kie:http://user:psswd@localhost:8080/kie-server-services/services/rest/server"/>
<from uri="direct:runCommand" />
<to uri="kie:http://user:psswd@localhost:8080/kie-server-services/services/rest/server"/>
The message has the following headers:
| Header | Description |
|---|---|
|
| Decision Server client (mandatory) |
|
| Decision Server client (mandatory) |
|
| The value of the client method parameter (optional) |
|
| The method parameter where the message body is stored (optional) |
Appendix A. Versioning information 复制链接链接已复制到粘贴板!
Documentation last updated on Monday, December 21, 2020.