Red Hat Training

A Red Hat training course is available for Red Hat Fuse

Chapter 2. kie-eap-distribution-bpms-layer package

The Integration Pack contains a .zip file which contains JBoss EAP modules for Red Hat JBoss BPM Suite (JBoss BPM Suite) and Red Hat JBoss BRMS (JBoss BRMS) integration.
Warning
JBoss BPM Suite and JBoss BRMS are separate products. The integration package can only be used if you have a subscription to the product you want to integrate with.

Apply the package

The package will be applied by the SwitchYard/BRMS Integration Pack installer jar.

Contents of the JBoss BPM Suite layer integration package

The following table shows the relationships between different components in JBoss BPM Suite and JBoss BRMS, and JBoss Fuse. Expansion of the table entries can be found below the table.

Table 2.1. Relationship Between JBoss BPM Suite/JBoss BRMS components and Fuse components

Camel SwitchYard
JBoss BPM Suite
JBoss BPM can invoke Camel
JBoss BPM Suite can orchestrate SwitchYard services
Camel can invoke JBoss BPM Suite SwitchYard can invoke JBoss BPM Suite
Rules
Rules does not use Camel.
Rules does not use SwitchYard
Camel can use Rules SwitchYard can call Rules

JBoss BPM Suite can invoke Camel

JBoss BPM Suite has a Camel WorkItemHandler. See JBoss BPM Suite Development Guide for more information.

Camel can invoke JBoss BPM Suite

There are three interfaces that can be used to invoke JBoss BPM Suite from Camel:

JBoss BPM Suite can orchestrate SwitchYard services

The JBoss BPM Suite process definition must be embedded in the SwitchYard application, not on a remote JBoss BPM Suite server.
JBoss BPM Suite will not execute on a remote JBoss BPM Suite server. It will only run via jars provided in the integration pack.
See the provided quickstart EAP_HOME/quickstarts/fuse-integration/switchyard-bpm-service for an example.

SwitchYard can invoke JBoss BPM Suite

The following scenarios have are supported:
  • Invoke/signal local JBoss BPM Suite process defined as a SwitchYard service.
  • Invoke/signal remote JBoss BPM Suite process defined as a SwitchYard service.
  • Invoke/signal a remote JBoss BPM Suite process and insert/execute rules locally as a SwitchYard service using rules definitions resolved as KIE artifacts using Maven.
JBoss BPM Suite process can be embedded in the SwitchYard application or it can be on a JBoss BPM Suite server on a different JVM.
If the process is embedded, the engine used must be the .jar file that is installed as part of the Integration pack. If the JBoss BPM Suite engine is running locally in the JBoss Fuse JVM, then it can only be used to orchestrate SwitchYard services and can not be used to perform other tasks.
If the JBoss BPM Suite process is not embedded, the invocation must occur via the SwitchYard JBoss BPM Suite component. In this case, the user does not need to manage the interaction.

Camel can use Rules

You can insert facts and execute rules locally in JBoss Fuse using a Camel route. Rule definitions are resolved as KIE artifacts using Maven.
Camel can invoke Business Rules when the Karaf container is used. This functionality is not available on JBoss Fuse on JBoss EAP. It will be made available in a future release.
For use by JBoss BPM Suite, the Rules must be in a Maven repository where the Kie scanner can find them. The Maven repository can be on the same machine or a remote machine. If the repository is on a remote machine, the rules will be added to the local repository during rules resolution process.
The Rules engine can be placed on the same machine as Camel is installed on, or on a remote JBoss BRMS execution server. For the local engine, binaries are provided by the Integration Pack. For the remote engine, the rules can be invoked using a mechanism such as the REST interface provided by JBoss BRMS.

SwitchYard can use Rules

You can insert facts and execute rules locally as a SwitchYard service using rules definitions deployed with the application. This makes the rules static and will require a rebuild to change them.
Alternatively you can insert facts and execute rules locally as a SwitchYard service using rules definitions resolved as KIE artifacts using Maven.. This repository can be either on the same machine as JBoss Fuse, or on a remote machine. Rules stored in a Maven repository can be updated at runtime using Kie scanning.
The Rules engine is installed on the JBoss Fuse server as part of the integration pack installation.

Overview

Kie-Camel is an Apache Camel component (endpoint) that integrates with KIE (Drools). It allows you to specify a KIE module (using maven GAV) which you can pull into the route and execute. Also, It enables you to specify portions of the message body as facts. For more details about the kie-camel component, see Apache Camel Integration