Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BXMSDOC-3677 BA/Fuse integration story (master only) #1593

Merged
merged 4 commits into from
May 17, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions _artifacts/document-attributes.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@ endif::OP[]
:EAP_LONG: Red Hat JBoss Enterprise Application Platform
:EAP_VERSION: 7.2
:EAP_VERSION_LONG: 7.2.0
:FUSE: FUSE
:FUSE_LONG: Red Hat Fuse
:JWS: Red Hat JBoss Web Server
:JWS_VERSION: 5.0
:JWS_VERSION_LONG: 5.0.1
Expand Down
1 change: 1 addition & 0 deletions assemblies/assembly_integrating-fuse/dm/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
build
8 changes: 8 additions & 0 deletions assemblies/assembly_integrating-fuse/dm/master-docinfo.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<productname>{PRODUCT}</productname>
<productnumber>{PRODUCT_VERSION}</productnumber>
<subtitle>
</subtitle>
<abstract>
<para>This document describes how to integrate {PRODUCT} {PRODUCT_VERSION} with {FUSE_LONG} on Apache Karaf.</para>
</abstract>
<xi:include href="Common_Content/Legal_Notice.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
4 changes: 4 additions & 0 deletions assemblies/assembly_integrating-fuse/dm/master.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@

:DM:

include::topics/main.adoc[]
1 change: 1 addition & 0 deletions assemblies/assembly_integrating-fuse/drools/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
build
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<productname>{PRODUCT}</productname>
<productnumber>{PRODUCT_VERSION}</productnumber>
<subtitle>
</subtitle>
<abstract>
<para>This document describes how to design a decision service using guided rules in {PRODUCT} {PRODUCT_VERSION}.</para>
</abstract>
<xi:include href="Common_Content/Legal_Notice.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
4 changes: 4 additions & 0 deletions assemblies/assembly_integrating-fuse/drools/master.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@

:DROOLS:

include::topics/main.adoc[]
1 change: 1 addition & 0 deletions assemblies/assembly_integrating-fuse/jbpm/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
build
8 changes: 8 additions & 0 deletions assemblies/assembly_integrating-fuse/jbpm/master-docinfo.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<productname>{PRODUCT}</productname>
<productnumber>{PRODUCT_VERSION}</productnumber>
<subtitle>
</subtitle>
<abstract>
<para>This document describes how to design a decision service using guided rules in {PRODUCT} {PRODUCT_VERSION}.</para>
</abstract>
<xi:include href="Common_Content/Legal_Notice.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
4 changes: 4 additions & 0 deletions assemblies/assembly_integrating-fuse/jbpm/master.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@

:JBPM:

include::topics/main.adoc[]
37 changes: 37 additions & 0 deletions assemblies/assembly_integrating-fuse/main.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
[id='assembly_integrating-fuse']

include::_artifacts/document-attributes.adoc[]

= Integrating {FUSE_LONG} with {PRODUCT}
// Context attribute is assembly specific and enables module reuse between assemblies.
:doctype: book
:imagesdir: _images
:context: fuse
include::_artifacts/author-group.adoc[]

// Purpose statement for the assembly
As a system administrator, you can integrate {PRODUCT} with {FUSE_LONG} on Apache Karaf to facilitate communication between integrated services.


// Modules - concepts, procedures, refs, etc.

include::{enterprise-dir}/fuse/fuse-con.adoc[leveloffset=+1]

include::{enterprise-dir}/fuse/ba-fuse-karaf-con.adoc[leveloffset=+1]

include::{enterprise-dir}/fuse/ba-fuse-karaf-features-xml-con.adoc[leveloffset=+2]

include::{enterprise-dir}/fuse/ba-karaf-features-con.adoc[leveloffset=+2]

include::{enterprise-dir}/fuse/features-xml-removing-proc.adoc[leveloffset=+2]

include::{enterprise-dir}/fuse/installing-on-fuse-karaf-proc.adoc[leveloffset=+2]

//include::{enterprise-dir}/fuse/installing-on-fuse-eap-proc.adoc[leveloffset=+1]

//== Next steps
//* {URL_TESTING_DECISION_SERVICE}[_{TESTING_DECISION_SERVICE}_]
//* {URL_PACKAGING_DEPLOYING_PROJECT}[_{PACKAGING_DEPLOYING_PROJECT}_]

// Versioning info
include::_artifacts/versioning-information.adoc[]
1 change: 1 addition & 0 deletions assemblies/assembly_integrating-fuse/pam/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
build
9 changes: 9 additions & 0 deletions assemblies/assembly_integrating-fuse/pam/master-docinfo.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<productname>{PRODUCT}</productname>
<productnumber>{PRODUCT_VERSION}</productnumber>
<subtitle>
</subtitle>
<abstract>
<para>This document describes how to integrate {PRODUCT} {PRODUCT_VERSION} with {FUSE_LONG} on Apache Karaf.
.</para>
</abstract>
<xi:include href="Common_Content/Legal_Notice.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
4 changes: 4 additions & 0 deletions assemblies/assembly_integrating-fuse/pam/master.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@

:PAM:

include::topics/main.adoc[]
5 changes: 5 additions & 0 deletions doc-content/enterprise-only/fuse/ba-fuse-karaf-con.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[id='ba-fuse-karaf']
= {PRODUCT} on {FUSE} with Apache Karaf
Apache Karaf is a polymorphic standalone open-source container. 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.

Install {PRODUCT} on {FUSE} with Karaf to deploy integrated services where required.
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
[id='ba-fuse-karaf-features-xml']
= {PRODUCT} and {FUSE} on Karaf features XML files

The following features XML files facilitate {PRODUCT} and {FUSE} on Karaf integration:

* `rhba-features-<FUSE-VERSION>-features.xml`
+
This file is part of {FUSE} installed in Karaf where `<FUSE-VERSION>` is the version of Fuse. It is stored in the Karaf system repository, in the `system/org/jboss/fuse/features/rhba-features` directory. This file contains prerequisites for installing of{PRODUCT} features.

* `kie-karaf-features-<VERSION>-features-fuse.xml`
+
COMMENT: What is the version?
This file is part of {PRODUCT} and provides {PRODUCT} features, which define the OSGi features that can be deployed into {FUSE_LONG}. OSGi users can install features from this file to install {PRODUCT} 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 {PRODUCT}. The group ID, artifact, and version (GAV) of this file is `org.kie:kie-karaf-features:VERSION`.



72 changes: 72 additions & 0 deletions doc-content/enterprise-only/fuse/ba-karaf-features-con.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
[id='ba-karaf-features']
= {PRODUCT} and {FUSE} on Karaf features XML files

{PRODUCT} integration with {FUSE} on Karaf is provided through Karaf features. You can install individual components of {PRODUCT} in {FUSE} on Karaf using these features. To install feature use following command:

[source]
----
$ feature:install <FEATURE_NAME>
----

In this command, `<FEATURE_NAME>` is one of the following features:

* drools-common
* drools-module
* drools-templates
* drools-decisiontable
* drools-jpa
* kie
* kie-ci
* kie-spring
* kie-aries-blueprint
* jbpm-commons
* jbpm-human-task
* jbpm
* droolsjbpm-hibernate
* h2
* kie-camel
* jbpm-workitems-camel

The following table provides example of use cases for some of the features listed above.

.Features and Use Case Examples
[cols="1,1", frame="all", options="header"]
|===
| Feature
| Use Case
ifdef::DM[]
|`drools-module`
| Uses {PRODUCT} for rules evaluation, without requiring persistence, processes, or decision tables.

|``drools-jpa``
| Uses {PRODUCT} for rules evaluation with persistence and transactions, but without requiring processes or decision tables. The `drools-jpa` feature includes the ``drools-module``, however you might also need to install the `droolsjbpm-hibernate` feature, or ensure that a compatible hibernate bundle is installed.

|``drools-decisiontable``
| Uses {PRODUCT} with decision tables.
endif::[]
ifdef::PAM[]
|``jbpm``
| Uses {PRODUCT}. The `jbpm` feature includes the `drools-module` and ``drools-jpa``. You might need to install the `droolsjbpm-hibernate` feature, or ensure that a compatible hibernate bundle is installed.

|``jbpm`` and `jbpm-human-task`
| Uses {PRODUCT} with human tasks.
endif::[]

| core engine JARs and `kie-ci`
| Uses {PRODUCT} with `KieScanner` (`kie-ci`) to download kJARs from a Maven repository.

|``kie-spring``
| Uses KIE-Spring integration. See Spring for more information.

|``kie-spring`` and `kie-aries-blueprint`
| Uses KIE-Aries-Blueprint integration.

|``kie-kamel``
| Provides the `kie-kamel` component.

|``jbpm-workitems-camel``
| Provides the `jbpm-workitems-camel` component.

|===


54 changes: 54 additions & 0 deletions doc-content/enterprise-only/fuse/features-xml-removing-proc.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
[id='features-xml-removing']
= Removing features XML files
If your installation contains an older version of the {PRODUCT} 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 installation.
COMMENT: How do I know if I have obsolete files? How do I know what features use the obsolete files?

.Procedure
. Enter the following command to start the {FUSE_LONG} console where COMMENT: What is INSTALLATION_DIRECTORY? The Fuse home? The Karaf home?
+
[source]
----
$ ./INSTALLATION_DIRECTORY/bin/fuse
----
. Enter the following command to uninstall features or applications that use obsolete features XML files, where `<FEATURE_NAME>` is the name of the feature that you want to uninstall.
+
[source]
----
JBossFuse:karaf@root> features:uninstall <FEATURE_NAME>
----
+
The following examples demonstrate how to remove features:
+
[source]
----
JBossFuse:karaf@root> features:uninstall drools-module
JBossFuse:karaf@root> features:uninstall jbpm
JBossFuse:karaf@root> features:uninstall kie-ci
----
. Search Karaf home for references to bundles that use `drools`, `kie`, or `jbpm`. The following example show how to use `grep` to search for these components.
+
[source]
----
karaf@root> list -t 0 -s | grep drools
karaf@root> list -t 0 -s | grep kie
karaf@root> list -t 0 -s | grep jbpm
----
COMMENT: Can you give an example of what one of these commands returns?
. Enter the following command to remove the bundles found in the previous step,where `BUNDLE_ID` is a bundle ID returned in the search.
+
[source]
----
karaf@root> osgi:uninstall BUNDLE_ID
----

. Enter the following command to remove the obsolete `drools-karaf-features` URL:
+
[source]
----
karaf@root> features:removeurl
mvn:org.kie/kie-karaf-features/VERSION.Final-redhat-VERSION/xml/features
----
. Restart {FUSE}.
17 changes: 17 additions & 0 deletions doc-content/enterprise-only/fuse/fuse-con.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
[id='fuse-con']
= {FUSE_LONG} and {PRODUCT}

{FUSE_LONG} is a distributed, cloud-native integration platform that is part of 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.

ifdef::PAM[]
{PRODUCT} is the Red Hat middleware platform for creating business automation applications and microservices. It enables enterprise business and IT users to document, simulate, manage, automate, and monitor business processes and policies. It is designed to empower business and IT users to collaborate more effectively, so business applications can be changed easily and quickly.

endif::[]
ifdef::DM[]
{PRODUCT} is an open source decision management platform that combines business rules management, complex event processing, Decision Model & Notation (DMN) execution, and {PLANNER} 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 {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.
endif::[]

You can install {FUSE_LONG} on the Apache Karaf container platform and then install and configure {PRODUCT} in that container.

Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[id='installing-on-fuse-eap']
= Installing {PRODUCT} on {EAP} with {FUSE}
Install {PRODUCT} on {EAP} with {FUSE} to deploy integrated services where required.

.Procedure
. Install {EAP_LONG} 7.2. For installation instructions, see the https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.2/html-single/installation_guide/[_{EAP_LONG} 7.2 installation guide_].
. Install {FUSE_LONG} in {EAP_LONG} 7.2. For installation instructions, see the https://access.redhat.com/documentation/en-us/red_hat_fuse/7.2/html-single/installing_on_jboss_eap/[_Install Fuse 7.2 on JBoss EAP 7.1_]. COMMENT: Doc issue.
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
[id='installing-on-fuse-karaf']
= Installing {PRODUCT} on Apache Karaf with {FUSE}
Install {PRODUCT} on Apache Karaf with {FUSE} to deploy integrated services where required.

.Prerequisites
* A {FUSE_LONG} 7.2 on Apache Karaf installation exists. For installation instructions, see https://access.redhat.com/documentation/en-us/red_hat_fuse/7.2/html-single/installing_on_apache_karaf/[_Installing Red Hat Fuse on the Apache Karaf container_] .
* Any obsolete features XML files have been removed, as described in <<features-xml-removing>>.

.Procedure
. To configure the Maven repository, open the `FUSE_HOME/etc/org.ops4j.pax.url.mvn.cfg` file in a text editor and then add the following entry to the `org.ops4j.pax.url.mvn.repositories` variable:
+
----
[source]
`https://maven.repository.redhat.com/ga/`
----
+
[NOTE]
====
Entries are separated by a comma, space, and back slash (, \).
====
. Enter the following command to start {FUSE}:
+
[source]
----
$ ./INSTALLATION_DIRECTORY/bin/fuse
----
COMMENT: Is Installation Direction the FUSE HOME?

. Enter the following command to add a reference to the features file that contains installation prerequisites:
+
[source]
----
$ feature:repo-add mvn:org.jboss.fuse.features/rhba-features/FUSE-VERSION/xml/features
----

. Enter the following command to add a reference to the {PRODUCT} features XML file:
+
[source]
----
$ JBossFuse:karaf@root> features:addurl mvn:org.kie/kie-karaf-features/VERSION/xml/features-fuse
----
+
To see the current `drools-karaf-features` version, see the https://access.redhat.com/articles/3405381#supported_comps[Red Hat Process Automation Manager 7 Supported Configurations] page.COMMENT: Note to MW.
. Enter the following command to install the features provided by {PRODUCT} features XML file:
+
ifdef::PAM[]
[source]
----
JBossFuse:karaf@root> features:install jbpm
----
endif::PAM[]

ifdef::DM[]
[source]
----
JBossFuse:karaf@root> features:install drools-module
----
endif::DM[]
COMMENT: Can we add instructions about how to verify the installation/integration?