Business Automation Manager Open Edition メモ - (2) KIE Server, Business Central 構成

# はじめに
BAM OEの方向性としては、ランタイム環境としてはクラウド・ネイティブなKogitoベースで、開発環境としてはVS Code辺りを使って、git, maven, Jenkinsあたりを使ってDevOpsを回すみたいな使い方が主流になっていきそうではありますが、一旦トラディショナルなやり方で試してみようと思います。
ということで、ここでは、KIE ServerとBusiness CentralをJBoss EAP上に構築して使ってみようと思います。

## 関連記事
[Business Automation Manager Open Edition メモ - (1) 概要](https://qiita.com/tomotagwork/items/31f5ad04b0efa193809e)
[Business Automation Manager Open Edition メモ - (2) KIE Server, Business Central 構成](https://qiita.com/tomotagwork/items/92362b8a2d9f4cfd3219)
[Business Automation Manager Open Edition メモ - (3) Business Centralを使用したルール開発](https://qiita.com/tomotagwork/items/e0a680f62baf2900f7a1)
[Business Automation Manager Open Edition メモ - (4) KIEサーバー上のルール呼び出し](https://qiita.com/tomotagwork/items/092f221dd3a84214102b)
[Business Automation Manager Open Edition メモ - (5) Embedded形態でのルール開発(DRL編)](https://qiita.com/tomotagwork/items/c0a670845b499c6e2de3)
[Business Automation Manager Open Edition メモ - (6) Embedded形態でのルール開発(DMN編)](https://qiita.com/tomotagwork/items/c7d2ff45d102484a1df9)
[Business Automation Manager Open Edition メモ - (7) kogitoでのルール開発(スタンドアローン)](https://qiita.com/tomotagwork/items/1a16377d882e3886f69f)
[Business Automation Manager Open Edition メモ - (8) kogitoでのルール開発(OpenShiftへのデプロイ)](https://qiita.com/tomotagwork/items/8b23cf90d25505edf45a)

# 全体像

以下のドキュメントに構成例があります。
[Chapter 6. Example decision management architectures with IBM Business Automation Manager Open Editions](https://access.redhat.com/documentation/en-us/ibm_business_automation_manager_open_editions/8.0/html/designing_your_decision_management_architecture_for_ibm_business_automation_manager_open_editions/architecture-scenarios-ref_decision-management-architecture)

このFigure6.2で示されている構成をベースに環境を作ってみたいと思います。このドキュメントではDatabaseも図に含まれていますが、Databaseの必要性についてはこのドキュメント内では明確な記載がありません。ただ、基本的なルール開発/実行を行う場合Databaseは必須ではないようなので、Database無しで構成を行います。

今回構築する環境の全体像はこちら
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/32f89170-a50f-4bd9-baba-c27959a1f296.png)

RHEL V8.5上にJBoss EAP V7.4を構築し、そこにBusiness CentralとKIE Serverを立てます(Business Central、KIE Serverは、JavaEEサーバー上で稼働するのWebアプリケーションの形態で提供されています)。
実稼働環境の場合Business CentralとKIE Serverは分けることが推奨のようですが、今回はテスト環境なので同じJBossインスタンス上に構成します。


# 環境構築

## Javaのセットアップ
参考: [Red Hat JBoss Enterprise Application Platform (EAP) 7 でサポートされる構成 ](https://access.redhat.com/ja/articles/2489611)

yumにて以下のOpenJDK11のパッケージをインストールします。
java-11-openjdk.x86_64
java-11-openjdk-devel.x86_64

<details><summary><font color="blue">インストール・ログ</font></summary><div>

```
[root@test14 ~]# yum install java-11-openjdk.x86_64
サブスクリプション管理リポジトリーを更新しています。
コンシューマー識別子を読み込めません

このシステムは、エンタイトルメントサーバーに登録されていません。subscription-manager で登録できます。

メタデータの期限切れの最終確認: 0:02:17 時間前の 2022年08月21日 13時39分38秒 に実施しました。
依存関係が解決しました。
=================================================================================================================================================================================================================
 パッケージ                                               アーキテクチャー                       バージョン                                             リポジトリー                                       サイズ
=================================================================================================================================================================================================================
インストール:
 java-11-openjdk                                          x86_64                                 1:11.0.12.0.7-4.el8                                    rhel-dvd-AppStream                                 264 k
依存関係のインストール:
 java-11-openjdk-headless                                 x86_64                                 1:11.0.12.0.7-4.el8                                    rhel-dvd-AppStream                                  39 M
 ttmkfdir                                                 x86_64                                 3.0.9-54.el8                                           rhel-dvd-AppStream                                  62 k
 xorg-x11-fonts-Type1                                     noarch                                 7.5-19.el8                                             rhel-dvd-AppStream                                 522 k

トランザクションの概要
=================================================================================================================================================================================================================
インストール  4 パッケージ

合計サイズ: 40 M
インストール後のサイズ: 173 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  scriptletの実行中: java-11-openjdk-headless-1:11.0.12.0.7-4.el8.x86_64                                                                                                                                     1/1
  準備             :                                                                                                                                                                                         1/1
  インストール中   : ttmkfdir-3.0.9-54.el8.x86_64                                                                                                                                                            1/4
  インストール中   : xorg-x11-fonts-Type1-7.5-19.el8.noarch                                                                                                                                                  2/4
  scriptletの実行中: xorg-x11-fonts-Type1-7.5-19.el8.noarch                                                                                                                                                  2/4
  インストール中   : java-11-openjdk-headless-1:11.0.12.0.7-4.el8.x86_64                                                                                                                                     3/4
  scriptletの実行中: java-11-openjdk-headless-1:11.0.12.0.7-4.el8.x86_64                                                                                                                                     3/4
  インストール中   : java-11-openjdk-1:11.0.12.0.7-4.el8.x86_64                                                                                                                                              4/4
  scriptletの実行中: java-11-openjdk-1:11.0.12.0.7-4.el8.x86_64                                                                                                                                              4/4
  検証             : java-11-openjdk-1:11.0.12.0.7-4.el8.x86_64                                                                                                                                              1/4
  検証             : java-11-openjdk-headless-1:11.0.12.0.7-4.el8.x86_64                                                                                                                                     2/4
  検証             : ttmkfdir-3.0.9-54.el8.x86_64                                                                                                                                                            3/4
  検証             : xorg-x11-fonts-Type1-7.5-19.el8.noarch                                                                                                                                                  4/4
インストール済みの製品が更新されています。

インストール済み:
  java-11-openjdk-1:11.0.12.0.7-4.el8.x86_64            java-11-openjdk-headless-1:11.0.12.0.7-4.el8.x86_64            ttmkfdir-3.0.9-54.el8.x86_64            xorg-x11-fonts-Type1-7.5-19.el8.noarch

完了しました!

[root@test14 ~]# yum install java-11-openjdk-devel.x86_64
サブスクリプション管理リポジトリーを更新しています。
コンシューマー識別子を読み込めません

このシステムは、エンタイトルメントサーバーに登録されていません。subscription-manager で登録できます。

メタデータの期限切れの最終確認: 0:08:06 時間前の 2022年08月21日 13時39分38秒 に実施しました。
依存関係が解決しました。
=================================================================================================================================================================================================================
 パッケージ                                             アーキテクチャー                        バージョン                                             リポジトリー                                        サイズ
=================================================================================================================================================================================================================
インストール:
 java-11-openjdk-devel                                  x86_64                                  1:11.0.12.0.7-4.el8                                    rhel-dvd-AppStream                                  3.4 M

トランザクションの概要
=================================================================================================================================================================================================================
インストール  1 パッケージ

合計サイズ: 3.4 M
インストール後のサイズ: 5.2 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                                                                                                                                                         1/1
  インストール中   : java-11-openjdk-devel-1:11.0.12.0.7-4.el8.x86_64                                                                                                                                        1/1
  scriptletの実行中: java-11-openjdk-devel-1:11.0.12.0.7-4.el8.x86_64                                                                                                                                        1/1
  検証             : java-11-openjdk-devel-1:11.0.12.0.7-4.el8.x86_64                                                                                                                                        1/1
インストール済みの製品が更新されています。

インストール済み:
  java-11-openjdk-devel-1:11.0.12.0.7-4.el8.x86_64

完了しました!

```

</div></details>


## JBoss EAPのセットアップ
参考:
[Red Hat JBoss Enterprise Application Platform 7.4 - インストールガイド - 第3章 JBoss EAP インストーラー](https://access.redhat.com/documentation/ja-jp/red_hat_jboss_enterprise_application_platform/7.4/html/installation_guide/assembly-jboss-eap-installer_default)
[Red Hat JBoss Enterprise Application Platform 7.4 - 入門ガイド](https://access.redhat.com/documentation/ja-jp/red_hat_jboss_enterprise_application_platform/7.4/html-single/getting_started_guide/index)
[RHEL8.5にJBoss EAP7.4をインストールしてみる](https://mat0401.info/blog/rhel-jbosseap7-4-install/)

### インストーラーのダウンロード
以下のサイトにアカウントを作成してログイン
[Red Hat Developer](https://developers.redhat.com/)

Products & Technologies のメニューからJboss Enterprise Application PlatformのDownloadサイトを辿る
[Download Red Hat JBoss Enterprise Application Platform ](https://developers.redhat.com/products/eap/download)

InstallerのDownloadボタンをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/c3cb5a1d-da3b-4abc-3aed-fe6f5c305d12.png)

jboss-eap-7.4.0-installer.jar(約240MB) がダウンロードされるので、ターゲットのLinuxにコピーします。

### インストール
ダウンロードしたjarを実行してインストーラーを起動し、指示に従ってインストールを行います。

```
インストーラーの実行
[root@test14 JBossEAP]# java -jar jboss-eap-7.4.0-installer.jar
以下で言語を選択してください。 :
0: English
1: 中文
2: Deutsch
3: francais
4: 日本語
5: portugues
6: espanol
選択してください。 [4] :
4
END USER LICENSE AGREEMENT
 RED HAT JBOSS(r) MIDDLEWARE(tm)
PLEASE READ THIS END USER LICENSE AGREEMENT CAREFULLY BEFORE USING SOFTWARE FROM RED HAT. BY USING RED HAT SOFTWARE, YOU SIGNIFY YOUR ASSENT TO AND ACCEPTANCE OF THIS END USER LICENSE AGREEMENT AND ACKNOWLEDGE YOU HAVE READ AND UNDERSTAND THE TERMS. AN INDIVIDUAL ACTING ON BEHALF OF AN ENTITY REPRESENTS THAT HE OR SHE HAS THE AUTHORITY TO ENTER INTO THIS END USER LICENSE AGREEMENT ON BEHALF OF THAT ENTITY. IF YOU DO NOT ACCEPT THE TERMS OF THIS AGREEMENT, THEN YOU MUST NOT USE THE RED HAT SOFTWARE. THIS END USER LICENSE AGREEMENT DOES NOT PROVIDE ANY RIGHTS TO RED HAT SERVICES SUCH AS SOFTWARE MAINTENANCE, UPGRADES OR SUPPORT. PLEASE REVIEW YOUR SERVICE OR SUBSCRIPTION AGREEMENT(S) THAT YOU MAY HAVE WITH RED HAT OR OTHER AUTHORIZED RED HAT SERVICE PROVIDERS REGARDING SERVICES AND ASSOCIATED PAYMENTS.
…
Copyright (c) 2013 Red Hat, Inc. All rights reserved. Red Hat, JBoss and the JBoss logo are registered trademarks of Red Hat, Inc. All other trademarks are the property of their respective owners.
継続するには 1 を、終了するには 2 を、再表示するには 3 を押してください。
1

インストールパスの選択: [/root/EAP-7.4.0]
/opt/EAP-7.4.0

継続するには 1 を、終了するには 2 を、再表示するには 3 を押してください。
1

インストールしたいパッケージを選択してください:
1    [x] [必須]            [Red Hat JBoss Enterprise Application Platform] (33.15 MB)
2    [x]                 [AppClient] (31.93 KB)
3    [x]                 [Docs] (19.94 MB)
4    [x] [必須]            [モジュール] (195.61 MB)
5    [x] [必須]            [Welcome コンテンツ] (2.1 MB)
Total Size Required: 250.83 MB
0 を押して選択を確認
インストールしたいパックを選択してください
0
パックの選択完了
継続するには 1 を、終了するには 2 を、再表示するには 3 を押してください。
1

管理ユーザーの作成
このユーザーは、管理上の目的でホストコンテナの管理レルムに追加されます。このユーザーを使用して、管理コンソール、管理 CLI、またはこのレルムでセキュア化された他のアプリケーションにアクセスできます。

最小限のセキュリティーを確保するために、パスワードは 8 文字以上である必要があり、アルファベット、数字、および & を除く英数字以外の文字がそれぞれ 1 文字以上含まれている必要があります。

管理ユーザー名: [admin]

管理パスワード: []
**********
管理パスワードを再入力:  [**********]
**********
継続するには 1 を、終了するには 2 を、再表示するには 3 を押してください。
1

[ アンパックを開始中 ]
[ パッケージの処理中: Red Hat JBoss Enterprise Application Platform (1/5) ]
[ パッケージの処理中: AppClient (2/5) ]
[ パッケージの処理中: Docs (3/5) ]
[ パッケージの処理中: モジュール (4/5) ]
[ パッケージの処理中: Welcome コンテンツ (5/5) ]
[ アンパックが終了しました。 ]

ランタイム環境の設定
サーバーがインストールされたため、Red Hat JBoss Enterprise Application Platform に複数の設定オプションが追加されました。オプションは個別に選択でき、「次へ」を押すと表示順に設定されます。ここで設定を行いますか?
0  [x] デフォルト設定の実行
1  [ ] 詳細設定の実行
入力事項の選択:
0

継続するには 1 を、終了するには 2 を、再表示するには 3 を押してください。
1

[ 処理開始 ]
プロセス開始 インストール情報をログに記録中 (1/3)
IzPack 変数の状態が次に書き込まれました: /opt/EAP-7.4.0/installation/InstallationLog.txt
プロセス開始 管理ユーザーの追加中 (2/3)
プロセス開始 無関係なフォルダーおよび一時ファイルのクリーンアップ (3/3)
インストールが正常に完了しました。
アプリケーションがインストールされました。 /opt/EAP-7.4.0

自動インストールスクリプトとプロパティーファイルを生成しますか? (y/n) [n]:

[ Console installation done ]
```

インストールが完了すると、指定したインストール・パス以下に以下のようなファイルが生成されているのが確認できます。

```
[root@test14 /opt/EAP-7.4.0]# ls -la
合計 532
drwxr-xr-x. 14 root root   4096  8月 12 17:28 .
drwxr-xr-x.  4 root root     56  8月 12 17:28 ..
drwxr-xr-x.  2 root root      6  8月 12 17:28 .installation
drwxr-xr-x.  3 root root     28  8月 12 17:28 .well-known
-rw-r--r--.  1 root root    419  6月 23  2021 JBossEULA.txt
-rw-r--r--.  1 root root  26530  6月 23  2021 LICENSE.txt
drwxr-xr-x.  3 root root     27  8月 12 17:28 appclient
drwxr-xr-x.  4 root root   4096  8月 12 17:28 bin
drwxr-xr-x.  5 root root     52  8月 12 17:28 docs
drwxr-xr-x.  4 root root     38  8月 12 17:28 domain
drwxr-xr-x.  2 root root     60  8月 12 17:30 installation
-rw-r--r--.  1 root root 496975  6月 23  2021 jboss-modules.jar
drwxr-xr-x.  3 root root     44  8月 12 17:28 migration
drwxr-xr-x.  3 root root     20  8月 12 17:28 modules
drwxr-xr-x.  6 root root     68  8月 12 17:28 standalone
drwxr-xr-x.  2 root root     29  8月 12 17:28 uninstaller
-rw-r--r--.  1 root root     65  6月 23  2021 version.txt
drwxr-xr-x.  4 root root    158  8月 12 17:28 welcome-content
```

### カスタマイズ

デフォルトでは`/opt/EAP-7.4.0/standalone/configuration/standalone.xml`が構成ファイルとして使われるため、このファイルを編集してみます。
<font color="red">※注意</font>: 後続のBAM OEのセットアップでは別の構成ファイルを使用します。今回はJBossの簡易的な稼働確認のためにこちらのファイルをカスタマイズしてみます。

デフォルトでは ListenするポートがIPアドレス"127.0.0.1"にバインドされていて、リモートからアクセスできないので、リモートからアクセスできるようにバインド・アドレスを0.0.0.0に変更しておきます(有効な全てのIPアドレスにバインド)。

```xml:standalone.xml
…
        <subsystem xmlns="urn:jboss:domain:webservices:2.0" statistics-enabled="${wildfly.webservices.statistics-enabled:${wildfly.statistics-enabled:false}}">
            <wsdl-host>${jboss.bind.address:0.0.0.0}</wsdl-host>
            <endpoint-config name="Standard-Endpoint-Config"/>
            <endpoint-config name="Recording-Endpoint-Config">
                <pre-handler-chain name="recording-handlers" protocol-bindings="##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM">
                    <handler name="RecordingHandler" class="org.jboss.ws.common.invocation.RecordingServerHandler"/>
                </pre-handler-chain>
            </endpoint-config>
            <client-config name="Standard-Client-Config"/>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:weld:4.0"/>
    </profile>
    <interfaces>
        <interface name="management">
            <inet-address value="${jboss.bind.address.management:0.0.0.0}"/>
        </interface>
        <interface name="public">
            <inet-address value="${jboss.bind.address:0.0.0.0}"/>
        </interface>
    </interfaces>
…
```

### 起動

提供されている起動用のスクリプト`standalone.sh`を使用して起動してみます。

```
[root@test14 /opt/EAP-7.4.0/bin]# ./standalone.sh
=========================================================================

  JBoss Bootstrap Environment

  JBOSS_HOME: /opt/EAP-7.4.0

  JAVA: java

  JAVA_OPTS:  -server -verbose:gc -Xloggc:"/opt/EAP-7.4.0/standalone/log/gc.log" -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=3M -XX:-TraceClassUnloading -Xms1303m -Xmx1303m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true

=========================================================================

11:16:56,313 INFO  [org.jboss.modules] (main) JBoss Modules version 1.11.0.Final-redhat-00001
11:16:57,403 INFO  [org.jboss.msc] (main) JBoss MSC version 1.4.12.Final-redhat-00001
11:16:57,417 INFO  [org.jboss.threads] (main) JBoss Threads version 2.4.0.Final-redhat-00001
11:16:57,601 INFO  [org.jboss.as] (MSC service thread 1-2) WFLYSRV0049: JBoss EAP 7.4.0.GA (WildFly Core 15.0.2.Final-redhat-00001) が起動しています。
11:16:59,702 INFO  [org.wildfly.security] (ServerService Thread Pool -- 26) ELY00001: WildFly Elytron version 1.15.3.Final-redhat-00001
11:17:00,237 INFO  [org.jboss.as.controller.management-deprecated] (ServerService Thread Pool -- 17) WFLYCTL0033: 拡張子 'security' は廃止されたため、今後のバージョ ンでサポートされない可能性があります。
11:17:00,789 INFO  [org.jboss.as.controller.management-deprecated] (Controller Boot Thread) WFLYCTL0028: アドレス '/core-service=management/management-interface=http-interface' にあるリソースの 'security-realm' は非推奨となり、今後のバージョンで削除される可能性があります。read-resource-description 操作で出力される属性の説明を読 み、非推奨に関する詳細を確認してください。
11:17:00,941 INFO  [org.jboss.as.controller.management-deprecated] (ServerService Thread Pool -- 34) WFLYCTL0028: アドレス '/subsystem=undertow/server=default-server/https-listener=https' にあるリソースの 'security-realm' は非推奨となり、今後のバージョンで削除される可能性があります。read-resource-description 操作で出力される属性の説明を読み、非推奨に関する詳細を確認してください。
11:17:00,981 INFO  [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0039: socket-binding (management-http) を使い http 管理サービスを作成しています。
11:17:01,019 INFO  [org.xnio] (MSC service thread 1-3) XNIO version 3.8.4.Final-redhat-00001
11:17:01,026 INFO  [org.xnio.nio] (MSC service thread 1-3) XNIO NIO Implementation Version 3.8.4.Final-redhat-00001
11:17:01,153 INFO  [org.jboss.remoting] (MSC service thread 1-1) JBoss Remoting version 5.0.20.SP1-redhat-00001
11:17:01,272 INFO  [org.wildfly.extension.health] (ServerService Thread Pool -- 49) WFLYHEALTH0001: ベースヘルスサブシステムのアクティブ化
11:17:01,292 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 50) WFLYCLINF0001: Infinispan サブシステムを有効化しています。
11:17:01,346 INFO  [org.wildfly.extension.metrics] (ServerService Thread Pool -- 59) WFLYMETRICS0001: ベースメトリクスサブシステムのアクティブ化
11:17:01,408 INFO  [org.jboss.as.webservices] (ServerService Thread Pool -- 70) WFLYWS0002: WebServices Extension を有効にしています。
11:17:01,422 INFO  [org.jboss.as.naming] (ServerService Thread Pool -- 60) WFLYNAM0001: ネーミングサブシステムを有効にしています。
11:17:01,441 INFO  [org.jboss.as.security] (ServerService Thread Pool -- 66) WFLYSEC0002: セキュリティサブシステムを有効にしています。
11:17:01,410 WARN  [org.jboss.as.txn] (ServerService Thread Pool -- 68) WFLYTX0013: /subsystem=transactions の node-identifier 属性はデフォルト値に設定されています。これは、複数のサーバーを実行する環境では危険です。属性の値が一意になるようにしてください。
11:17:01,462 INFO  [org.jboss.as.jsf] (ServerService Thread Pool -- 57) WFLYJSF0007: 以下の Jakarta Server Faces 実装をアクティベートしました。[main]
11:17:01,642 INFO  [org.jboss.as.security] (MSC service thread 1-1) WFLYSEC0001: 現在のPicketBox バージョン=5.0.3.Final-redhat-00007
11:17:01,642 INFO  [org.wildfly.extension.io] (ServerService Thread Pool -- 51) WFLYIO001: 2 個の利用可能なプロセッサーを基にして、ワーカー 'default' は 32 個の最大 タスクスレッドを持つ 4 個の IO スレッドに自動設定しました
11:17:01,716 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-3) WFLYUT0003: Undertow 2.2.5.Final-redhat-00001 の起動中
11:17:01,596 INFO  [org.jboss.as.jaxrs] (ServerService Thread Pool -- 52) WFLYRS0016: RESTEasy バージョン 3.15.1.Final-redhat-00001
11:17:01,727 INFO  [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 41) WFLYJCA0004: JDBC 準拠のドライバー class org.h2.Driver (バージョン 1.4) をデプロイしています
11:17:01,744 INFO  [org.jboss.as.connector] (MSC service thread 1-4) WFLYJCA0009: Jakarta Connectors サブシステム (WildFly/IronJacamar 1.4.30.Final-redhat-00001) を 開始しています
11:17:01,802 INFO  [org.jboss.as.naming] (MSC service thread 1-2) WFLYNAM0003: ネーミングサービスを開始しています。
11:17:01,916 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 69) WFLYUT0014: オプション [directory-listing: 'false', follow-symlink: 'false', case-sensitive: 'true', safe-symlink-paths: '[]'] でパス '/opt/EAP-7.4.0/welcome-content' のファイルハンドラーを作成します
11:17:01,976 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-2) WFLYJCA0018: driver-name = h2 でドライバーサービスを開始しました
11:17:02,035 INFO  [org.jboss.as.mail.extension] (MSC service thread 1-1) WFLYMAIL0001: メールセッション [java:jboss/mail/Default] をバインドしました。
11:17:02,311 WARN  [org.wildfly.extension.elytron] (MSC service thread 1-3) WFLYELY00023: KeyStore ファイル '/opt/EAP-7.4.0/standalone/configuration/application.keystore' は存在しません。空白を使用しました。
11:17:02,383 INFO  [org.jboss.as.ejb3] (MSC service thread 1-2) WFLYEJB0482: 厳格なプール mdb-strict-max-pool は、このホストの CPU 数から派生された 8 の最大インスタ ンスサイズ (クラスごと) を使用しています。
11:17:02,386 INFO  [org.jboss.as.ejb3] (MSC service thread 1-4) WFLYEJB0481: 厳格なプール slsb-strict-max-pool は、スレッドワーカープールのサイズから派生された 32 の最大インスタンスサイズ (クラスごと) を使用しています。
11:17:02,401 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-4) WFLYUT0012: サーバー default-server を起動しました。
11:17:02,407 WARN  [org.wildfly.extension.elytron] (MSC service thread 1-4) WFLYELY01084: キーストア /opt/EAP-7.4.0/standalone/configuration/application.keystore が 見つかりません。これは初回使用時にホスト localhost の自己署名証明書を使用して自動生成されます
11:17:02,500 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-2) Queuing requests.
11:17:02,501 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-2) WFLYUT0018: ホスト default-host が起動しています
11:17:02,582 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-4) WFLYUT0006: Undertow HTTP リスナー default が 0.0.0.0:8080 でリッスンしています
11:17:02,812 INFO  [org.jboss.as.ejb3] (MSC service thread 1-2) WFLYEJB0493: Jakarta Enterprise Beans サブシステムの一時停止が完了しました
11:17:02,940 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-4) WFLYJCA0001: データソース [java:jboss/datasources/ExampleDS] をバインドしました
11:17:03,552 INFO  [org.jboss.as.patching] (MSC service thread 1-4) WFLYPAT0050: JBoss EAP 累積パッチ ID: base。 1 回限りのパッチ: none
11:17:03,568 WARN  [org.jboss.as.domain.management.security] (MSC service thread 1-2) WFLYDM0111: キーストア /opt/EAP-7.4.0/standalone/configuration/application.keystore が見つかりません。これは初回使用時にホスト localhost の自己署名証明書を使用して自動生成されます。
11:17:03,630 INFO  [org.jboss.as.server.deployment.scanner] (MSC service thread 1-1) WFLYDS0013: ディレクトリー /opt/EAP-7.4.0/standalone/deployments の FileSystemDeploymentService が起動しました。
11:17:03,682 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-3) WFLYUT0006: Undertow HTTPS リスナー https が 0.0.0.0:8443 でリッスンしています
11:17:03,865 INFO  [org.jboss.ws.common.management] (MSC service thread 1-2) JBWS022052: Starting JBossWS 5.4.2.Final-redhat-00001 (Apache CXF 3.3.9.redhat-00001)
11:17:04,015 INFO  [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0212: サーバーを再開しています
11:17:04,023 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: JBoss EAP 7.4.0.GA (WildFly Core 15.0.2.Final-redhat-00001) は 8851 ミリ秒で開始しました - サービス 556 個のうち 317 個を開始しました (343 のサービスはレイジー、パッシブ、またはオンデマンドです)。
11:17:04,029 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: http://0.0.0.0:9990/management 上でリッスンする HTTP 管理インターフェース
11:17:04,029 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: 管理コンソールは http://0.0.0.0:9990 をリッスンしています。
```

firewalldを使用している場合、ポート番号 8080, 8443, 9990を使用できるようにしておきます。

```
[root@test14 ~]# firewall-cmd --zone=public --add-port=8080/tcp --permanent
success
[root@test14 ~]# firewall-cmd --zone=public --add-port=8443/tcp --permanent
success
[root@test14 ~]# firewall-cmd --zone=public --add-port=9990/tcp --permanent
success
[root@test14 ~]# firewall-cmd --reload
success
[root@test14 ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp0s3
  sources:
  services: cockpit dhcpv6-client ssh
  ports: 8080/tcp 9990/tcp 8443/tcp
  protocols:
  forward: no
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
```

### 管理コンソールへのアクセス
ブラウザから`http://127.0.0.1:9990/console/index.html`にアクセスしてみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/d841f894-7d3d-268b-8c97-80d9a8ce6ff2.png)
管理コンソールにアクセスできました。

### 停止

forgroundで実行している場合: 
コンソールでCtrl + C

backgroundで実行している場合: 

```
[root@test14 /opt/EAP-7.4.0/bin]# ./jboss-cli.sh --connect
[standalone@localhost:9990 /] shutdown
[disconnected /] exit
```

## BAM OEのセットアップ
参考: [Installing and configuring IBM Business Automation Manager Open Editions - Part II. Installing and configuring IBM Business Automation Manager Open Editions on Red Hat JBoss EAP 7.4](https://access.redhat.com/documentation/en-us/ibm_business_automation_manager_open_editions/8.0/html-single/installing_and_configuring_ibm_business_automation_manager_open_editions/index#assembly-install-on-eap)


### 製品の入手

BAM OEは有償製品のため契約に基づきPassport Advantageのサイトからインストーラーを入手します。

### インストール

IBAMOE-8.0-INS.jarを実行してインストーラーを起動(要X-Server環境)

```
[root@test14 /Inst_Image/BAMOE80]# java -jar IBAMOE-8.0-INS.jar
```

ライセンスの内容を確認して同意してNext
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/bffe0354-5bac-12f6-539f-7d770bb552f2.png)

インストール先のパスを指定してNext
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/d59887df-ce1e-db0e-31db-46ced6d183e7.png)

インストールするコンポーネントとして、Business Central, KIE Serverを選択してNext
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/0ab1d8c7-32ad-0e0c-575b-e3144def8a78.png)

管理用のユーザーID、パスワードを設定してNext
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/5b93910e-8f6d-10fb-5c82-f4f5f6f168d5.png)

内容を確認してNext
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/72070c7e-dbe3-ba82-5c0b-891f7e0b9391.png)

内容を確認してNext
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/7ee1ea72-8789-b675-2076-f5c544c2f901.png)

"Perform default configuration"を選択してNext
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/436e7a5e-90a0-e80f-b9e5-5649cd7b1465.png)

`/opt/EAP-7.4.0/installation/InstallationLog.txt` にログが出力される。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/0c94e9c6-8863-2ebc-a3a5-20438f54d2c6.png)

インストール完了
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/6bdd7561-9715-8841-1ab7-cac06940ccb7.png)

### JBoss構成ファイルカスタマイズ

JBossの構成ファイルとしては、Java EE Full-Profile用の`standalone-full.xml`を使用する必要があるため、そちらをカスタマイズします。リモートからアクセスできるようにバインド・アドレスを127.0.01から0.0.0.0に変更しておきます。

```xml:/opt/EAP-7.4.0/standalone/configuration/standalone-full.xml
…
        <subsystem xmlns="urn:jboss:domain:webservices:2.0" statistics-enabled="${wildfly.webservices.statistics-enabled:${wildfly.statistics-enabled:false}}">
            <wsdl-host>${jboss.bind.address:0.0.0.0}</wsdl-host>
            <endpoint-config name="Standard-Endpoint-Config"/>
            <endpoint-config name="Recording-Endpoint-Config">
                <pre-handler-chain name="recording-handlers" protocol-bindings="##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM">
                    <handler name="RecordingHandler" class="org.jboss.ws.common.invocation.RecordingServerHandler"/>
                </pre-handler-chain>
            </endpoint-config>
            <client-config name="Standard-Client-Config"/>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:weld:4.0"/>
    </profile>
    <interfaces>
        <interface name="management">
            <inet-address value="${jboss.bind.address.management:0.0.0.0}"/>
        </interface>
        <interface name="public">
            <inet-address value="${jboss.bind.address:0.0.0.0}"/>
        </interface>
        <interface name="unsecure">
            <inet-address value="${jboss.bind.address.unsecure:0.0.0.0}"/>
        </interface>
    </interfaces>
    <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
        <socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>
        <socket-binding name="http" port="${jboss.http.port:8080}"/>
        <socket-binding name="https" port="${jboss.https.port:8443}"/>
        <socket-binding name="iiop" interface="unsecure" port="3528"/>
        <socket-binding name="iiop-ssl" interface="unsecure" port="3529"/>
        <socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/>
        <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9993}"/>
        <socket-binding name="txn-recovery-environment" port="4712"/>
        <socket-binding name="txn-status-manager" port="4713"/>
        <outbound-socket-binding name="mail-smtp">
            <remote-destination host="${jboss.mail.server.host:localhost}" port="${jboss.mail.server.port:25}"/>
        </outbound-socket-binding>
    </socket-binding-group>
...
```

### JBoss起動

上でカスタマイズしたstandalone-full.xmlを指定してJBossを起動します。

```
[root@test14 /opt/EAP-7.4.0/bin]# ./standalone.sh -c standalone-full.xml
=========================================================================

  JBoss Bootstrap Environment

  JBOSS_HOME: /opt/EAP-7.4.0

  JAVA: java

  JAVA_OPTS:  -server -Xlog:gc*:file="/opt/EAP-7.4.0/standalone/log/gc.log":time,uptimemillis:filecount=5,filesize=3M -Xms1303m -Xmx1303m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=1024m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true  --add-exports=java.base/sun.nio.ch=ALL-UNNAMED --add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED --add-exports=jdk.unsupported/sun.reflect=ALL-UNNAMED

=========================================================================

14:20:34,905 INFO  [org.jboss.modules] (main) JBoss Modules version 1.11.0.Final-redhat-00001
14:20:35,160 INFO  [org.jboss.msc] (main) JBoss MSC version 1.4.12.Final-redhat-00001
14:20:35,166 INFO  [org.jboss.threads] (main) JBoss Threads version 2.4.0.Final-redhat-00001
14:20:35,260 INFO  [org.jboss.as] (MSC service thread 1-2) WFLYSRV0049: JBoss EAP 7.4.0.GA (WildFly Core 15.0.2.Final-redhat-00001) が起動しています。
14:20:36,442 INFO  [org.wildfly.security] (ServerService Thread Pool -- 26) ELY00001: WildFly Elytron version 1.15.3.Final-redhat-00001
14:20:36,696 INFO  [org.jboss.as.controller.management-deprecated] (ServerService Thread Pool -- 20) WFLYCTL0033: 拡張子 'security' は廃止されたため、今後のバージョンでサポートされない可能性があります。
14:20:36,994 INFO  [org.jboss.as.controller.management-deprecated] (Controller Boot Thread) WFLYCTL0028: アドレス '/core-service=management/management-interface=http-interface' にあるリソースの 'security-realm' は非推奨となり、今後のバージョンで削除される可能性があります。read-resource-description 操作で出力される属性の説明を読み、非推奨に関する詳細を確認してください。
14:20:37,089 INFO  [org.jboss.as.controller.management-deprecated] (ServerService Thread Pool -- 11) WFLYCTL0028: アドレス '/subsystem=undertow/server=default-server/https-listener=https' にあるリソースの 'security-realm' は非推奨となり、今後のバージョンで削除される可能性があります。read-resource-description 操作で出力される属性の説明を読み、非推奨に関する詳細を確認してください。
14:20:37,118 INFO  [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) WFLYDS0015: 問題のあったデプロイメント kie-server.war を再試行中
14:20:37,120 WARN  [org.wildfly.iiop.openjdk] (ServerService Thread Pool -- 29) WFLYIIOP0111: SSL は設定されていませんが ssl-port プロパティーは指定されています - 接続はクリアテキストプロトコルを使用します。
14:20:37,145 INFO  [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) WFLYDS0004: deployment ディレクトリーに kie-server.war がありました。デプロイメントをトリガーするには、kie-server.war.dodeploy というファイルを作成してください。
14:20:37,152 INFO  [org.jboss.as.controller.management-deprecated] (ServerService Thread Pool -- 14) WFLYCTL0028: アドレス '/subsystem=elytron/credential-store=kie-credential-store' にあるリソースの 'location' は非推奨となり、今後のバージョンで削除される可能性があります。read-resource-description 操作で出力される属性の説明を読み、非推奨に関する詳細を確認してください。
14:20:37,145 INFO  [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) WFLYDS0004: deployment ディレクトリーに business-central.war がありました。デプロイメントをトリガーするには、business-central.war.dodeploy というファイルを作成してください。
14:20:37,318 INFO  [org.jboss.security] (Controller Boot Thread) PBOX00361: Default Security Vault Implementation Initialized and Ready
14:20:37,334 INFO  [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0039: socket-binding (management-http) を使い http 管理サービスを作成しています。
14:20:37,355 INFO  [org.xnio] (MSC service thread 1-3) XNIO version 3.8.4.Final-redhat-00001
14:20:37,360 INFO  [org.xnio.nio] (MSC service thread 1-3) XNIO NIO Implementation Version 3.8.4.Final-redhat-00001
14:20:37,419 INFO  [org.jboss.remoting] (MSC service thread 1-1) JBoss Remoting version 5.0.20.SP1-redhat-00001
14:20:37,452 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 54) WFLYCLINF0001: Infinispan サブシステムを有効化しています。
14:20:37,474 INFO  [org.jboss.as.naming] (ServerService Thread Pool -- 66) WFLYNAM0001: ネーミングサブシステムを有効にしています。
14:20:37,444 INFO  [org.wildfly.iiop.openjdk] (ServerService Thread Pool -- 53) WFLYIIOP0001: IIOP サブシステムの有効化
14:20:37,461 INFO  [org.jboss.as.jaxrs] (ServerService Thread Pool -- 56) WFLYRS0016: RESTEasy バージョン 3.15.1.Final-redhat-00001
14:20:37,494 INFO  [org.jboss.as.jsf] (ServerService Thread Pool -- 61) WFLYJSF0007: 以下の Jakarta Server Faces 実装をアクティベートしました。[main]
14:20:37,510 INFO  [org.wildfly.extension.health] (ServerService Thread Pool -- 52) WFLYHEALTH0001: ベースヘルスサブシステムのアクティブ化
14:20:37,536 INFO  [org.wildfly.extension.metrics] (ServerService Thread Pool -- 65) WFLYMETRICS0001: ベースメトリクスサブシステムのアクティブ化
14:20:37,544 INFO  [org.jboss.as.naming] (MSC service thread 1-2) WFLYNAM0003: ネーミングサービスを開始しています。
14:20:37,545 INFO  [org.jboss.as.connector] (MSC service thread 1-3) WFLYJCA0009: Jakarta Connectors サブシステム (WildFly/IronJacamar 1.4.30.Final-redhat-00001) を開始しています
14:20:37,564 INFO  [org.jboss.as.security] (ServerService Thread Pool -- 72) WFLYSEC0002: セキュリティサブシステムを有効にしています。
14:20:37,579 WARN  [org.jboss.as.txn] (ServerService Thread Pool -- 74) WFLYTX0013: /subsystem=transactions の node-identifier 属性はデフォルト値に設定されています。これは、複数のサーバーを実行する環境では危険です。属性の値が一意になるようにしてください。
14:20:37,592 INFO  [org.jboss.as.webservices] (ServerService Thread Pool -- 76) WFLYWS0002: WebServices Extension を有効にしています。
14:20:37,623 INFO  [org.wildfly.extension.io] (ServerService Thread Pool -- 55) WFLYIO001: 2 個の利用可能なプロセッサーを基にして、ワーカー 'default' は 32 個の最大タスクスレッドを持つ 4 個の IO スレッドに自動設定しました
14:20:37,656 INFO  [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 44) WFLYJCA0004: JDBC 準拠のドライバー class org.h2.Driver (バージョン 1.4) をデプロイしています
14:20:37,786 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-2) WFLYUT0003: Undertow 2.2.5.Final-redhat-00001 の起動中
14:20:37,774 INFO  [org.jboss.as.security] (MSC service thread 1-1) WFLYSEC0001: 現在のPicketBox バージョン=5.0.3.Final-redhat-00007
14:20:37,919 INFO  [org.jboss.as.mail.extension] (MSC service thread 1-3) WFLYMAIL0001: メールセッション [java:jboss/mail/Default] をバインドしました。
14:20:37,914 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 75) WFLYUT0014: オプション [directory-listing: 'false', follow-symlink: 'false', case-sensitive: 'true', safe-symlink-paths: '[]'] でパス '/opt/EAP-7.4.0/welcome-content' のファイルハンドラーを作成します
14:20:37,962 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-4) WFLYJCA0018: driver-name = h2 でドライバーサービスを開始しました
14:20:38,011 INFO  [org.jboss.as.ejb3] (MSC service thread 1-2) WFLYEJB0481: 厳格なプール slsb-strict-max-pool は、スレッドワーカープールのサイズから派生された 32 の最大インスタンスサイズ (クラスごと) を使用しています。
14:20:38,012 INFO  [org.jboss.as.ejb3] (MSC service thread 1-2) WFLYEJB0482: 厳格なプール mdb-strict-max-pool は、このホストの CPU 数から派生された 8 の最大インスタンスサイズ (クラスごと) を使用しています。
14:20:38,219 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-2) WFLYUT0012: サーバー default-server を起動しました。
14:20:38,306 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-4) Queuing requests.
14:20:38,307 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-4) WFLYUT0018: ホスト default-host が起動しています
14:20:38,355 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-4) WFLYUT0006: Undertow HTTP リスナー default が 0.0.0.0:8080 でリッスンしています
...
14:21:43,702 INFO  [org.kie.workbench.common.screens.datasource.management.backend.DataSourceManagementBootstrap] (pool-21-thread-1) Initialize deployments task finished successfully.
```

### Business Centralへのアクセス
ブラウザから`http://localhost:8080/business-central` にアクセス。
インストール時に設定したユーザー/パスワードを指定してサインインします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/f7df9c47-890f-1d7e-cb49-e807a4ed5bbd.png)

Business Centralにアクセスできました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/9e2754ee-ecf6-f8da-2ebc-7d321a57c071.png)

### KIE Serverへのアクセス
ブラウザから`http://localhost:8080/kie-server/services/rest/server`にアクセス(KIE Serverの情報を取得するためのRESTのリクエスト発行)。
ユーザーID/パスワードを聞かれるので、インストール時に設定したユーザーで認証します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/d520d0d6-b49d-dadd-afc6-f30b4ad53803.png)
上のようにKIE Serverの情報が取得できればOKです。

# おわりに
ほぼデフォルト構成ですが、これでお試し環境は作れました。
次の記事では実際にルールを作って動かすところをやっていきます。