此内容没有您所选择的语言版本。
Chapter 7. Configuring an embedded decision engine in IBM WebSphere Application Server
A decision engine is a light-weight rule engine that enables you to execute your decisions and business processes. A decision engine can be part of a Red Hat Decision Manager application or it can be deployed as a service through OpenShift, Kubernetes, and Docker. You can embed a decision engine in a Red Hat Decision Manager application through the API or as a set of contexts and dependency injection (CDI) services.
If you intend to use an embedded engine with your Red Hat Decision Manager application, you must add Maven dependencies to your project by adding the Red Hat Business Automation bill of materials (BOM) files to the project’s pom.xml
file. The Red Hat Business Automation BOM applies to a Red Hat Decision Manager. For more information about the Red Hat Business Automation BOM, see What is the mapping between Red Hat Decision Manager and the Maven library version?.
Procedure
Declare the Red Hat Business Automation BOM in the
pom.xml
file:<dependencyManagement> <dependencies> <dependency> <groupId>com.redhat.ba</groupId> <artifactId>ba-platform-bom</artifactId> <version>7.3.0.GA-redhat-00002</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <!-- Your dependencies --> </dependencies>
Declare dependencies required for your project in the
<dependencies>
tag. After you import the product BOM into your project, the versions of the user-facing product dependencies are defined so you do not need to specify the<version>
sub-element of these<dependency>
elements. However, you must use the<dependency>
element to declare dependencies which you want to use in your project.For a basic Red Hat Decision Manager project, declare the following dependencies, depending on the features that you want to use:
Embedded decision engine dependencies
<dependency> <groupId>org.drools</groupId> <artifactId>drools-compiler</artifactId> </dependency> <!-- Dependency for persistence support. --> <dependency> <groupId>org.drools</groupId> <artifactId>drools-persistence-jpa</artifactId> </dependency> <!-- Dependencies for decision tables, templates, and scorecards. For other assets, declare org.drools:business-central-models-* dependencies. --> <dependency> <groupId>org.drools</groupId> <artifactId>drools-decisiontables</artifactId> </dependency> <dependency> <groupId>org.drools</groupId> <artifactId>drools-templates</artifactId> </dependency> <dependency> <groupId>org.drools</groupId> <artifactId>drools-scorecards</artifactId> </dependency> <!-- Dependency for loading KJARs from a Maven repository using KieScanner. --> <dependency> <groupId>org.kie</groupId> <artifactId>kie-ci</artifactId> </dependency>
To use the Decision Server, declare the following dependencies:
Client application Decision Server dependencies
<dependency> <groupId>org.kie.server</groupId> <artifactId>kie-server-client</artifactId> </dependency>
To create a remote client for Red Hat Decision Manager, declare the following dependency:
Client dependency
<dependency> <groupId>org.uberfire</groupId> <artifactId>uberfire-rest-client</artifactId> </dependency>
When creating a JAR file that includes assets, such as rules and process definitions, specify the packaging type for your Maven project as
kjar
and useorg.kie:kie-maven-plugin
to process thekjar
packaging type located under the<project>
element. In the following example,${kie.version}
is the Maven library version listed in What is the mapping between Red Hat Decision Manager and the Maven library version?:<packaging>kjar</packaging> <build> <plugins> <plugin> <groupId>org.kie</groupId> <artifactId>kie-maven-plugin</artifactId> <version>${kie.version}</version> <extensions>true</extensions> </plugin> </plugins> </build>
If you use a decision engine with persistence support in your project, you must declare the following hibernate dependencies in the
dependencyManagement
secion of yourpom.xml
file by copying theversion.org.hibernate-4ee7
property from the Red Hat Business Automation BOM file:Hibernate dependencies in decision engine with persistence
<!-- hibernate dependencies --> <dependencyManagement> <dependencies> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>${version.org.hibernate-4ee7}</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>${version.org.hibernate-4ee7}</version> </dependency> </dependencies> </dependencyManagement>