Red Hat Process Automation Manager 用のデシジョン管理アーキテクチャーの設計
Red Hat Customer Content Services
brms-docs@redhat.com
概要
前書き
ビジネスアナリスト、システム管理者、またはビジネスルール開発者は、作成する Red Hat Process Automation Manager のビジネスアセットのタイプと、これらのアセットの開発、保存、実行、デプロイの方法は、ビジネス自動化環境のニーズにより異なります。アセット開発には Business Central または外部統合開発環境 (IDE)、ストレージおよびバージョン管理にはビルトインまたは外部 Git リポジトリー、デプロイメントには KIE Server または埋め込み型アプリケーション、またはその他の実装の組み合わせを使用するデシジョン管理アーキテクチャーを設計できます。Red Hat Process Automation Manager を Red Hat OpenShift Container Platform 環境にデプロイして、コンテナー実装を強化することもできます。
このドキュメントでは、デシジョン管理アーキテクチャーを設計時に考慮する Red Hat Process Automation Manager の実装の基本的な概念とオプションについて説明します。環境に最適な実装を確認するには、Red Hat テクニカルアカウントマネージャーまたはソリューションアーキテクトにお問い合わせください。
第1章 Red Hat Process Automation Manager のインストール環境オプション
Red Hat Process Automation Manager を使用して、ビジネスアプリケーションを開発する開発環境、デシジョンをサポートするアプリケーションを実行するランタイム環境、またはその両方を設定できます。
- 開発環境: 通常、Business Central インストール 1 つと KIE Server インストール 1 つ以上で構成されます。開発者は Business Central を使用して、デシジョンやその他のアーティファクトを作成できるほか、KIE Server を使用して、作成したアーティファクトをテストできます。
- ランタイム環境: 1 つ以上の KIE Server インスタンスに Business Central があり、または、なしの形で構成されます。Business Central には Process Automation Manager コントローラーが組み込まれています。Business Central をインストールしている場合は、Menu → Deploy → Execution Server ページを使用してコンテナーを作成および維持します。Business Central なしで KIE Server の管理を自動化するには、ヘッドレス Process Automation Manager コントローラーを使用することで可能になります。
また、開発環境およびランタイム環境の両方をクラスター化することが可能です。クラスター化した開発環境またはランタイム環境は、統合グループまたは 2 台以上のサーバーのクラスターで構成されます。Red Hat Process Automation Manager の開発環境をクラスター化すると、高可用性やコラボレーションの強化などの利点が、また、Red Hat Process Automation Manager のランタイム環境をクラスター化すると、高可用性と負荷分散の利点が得られます。高可用性により、1 台のサーバーで障害が発生したときにデータが損失する可能性を減らすことができます。障害が発生したサーバーにあるデータのコピーを提供することで、サーバーに障害が発生したときに、別のサーバーが不足を補います。障害が発生したサーバーが再度オンラインになったら、クラスターに戻ります。負荷分散はクラスターのノード間でコンピューティング負荷を共有します。これにより、パフォーマンスが改善します。
ランタイム環境のクラスター化は、Red Hat JBoss EAP 7.3 および Red Hat OpenShift Container Platform でのみサポートされています。Business Central のクラスタリングは現在テクノロジープレビューとなっており、実稼働での使用はまだ想定されていません。Red Hat のテクノロジープレビューの詳しい情報は「テクノロジプレビュー機能のサポート範囲」を参照してください。
第2章 Red Hat Process Automation Manager におけるデシジョン作成アセット
Red Hat Process Automation Manager は、デシジョンサービスにビジネスデシジョンを定義するのに使用可能なアセットを複数サポートします。デシジョン作成アセットはそれぞれ長所が異なるため、ゴールおよびニーズに合わせて、アセットを 1 つ、または複数を組み合わせて使用できます。
以下の表では、デシジョンサービスでデシジョンを定義する最適な方法を選択できるように、Red Hat Process Automation Manager プロジェクトでサポートされている主要なデシジョン作成アセットを紹介します。
表2.1 Red Hat Process Automation Manager でサポートされるデシジョン作成アセット
アセット | 主な特徴 | オーサリングツール | ドキュメンテーション |
---|---|---|---|
DMN (Decision Model and Notation) モデル |
|
Business Central または DMN 準拠のエディター | |
ガイド付きデシジョンテーブル |
|
Business Central | |
スプレッドシートのデシジョンテーブル |
|
スプレッドシートエディター | |
ガイド付きルール |
|
Business Central | |
ガイド付きルールテンプレート |
|
Business Central | |
DRL ルール |
|
Business Central または統合開発環境 (IDE) | |
予測モデルマークアップ言語 (PMML: Predictive Model Markup Language) モデル |
|
PMML または XML エディター |
第3章 Red Hat Process Automation Manager を使用したプロジェクトストレージとビルドオプション
Red Hat Process Automation Manager プロジェクトの開発時には、バージョン管理されたリポジトリーを使用してプロジェクトのバージョンを追跡し、安定した環境でプロジェクトアセットを管理し、テストおよびデプロイメント用にプロジェクトをビルドできる必要があります。このようなタスクすべてに対して、Business Central を使用するか、Business Central と外部ツールおよびリポジトリーの組み合わせを使用できます。Red Hat Process Automation Manager は、Java ベースのビルドオプション、またはカスタムツールベースのビルドオプションに加え、プロジェクトバージョン管理に Git リポジトリー、プロジェクト管理に Apache Maven をサポートしています。
次のオプションは、Red Hat Process Automation Manager プロジェクトのバージョン管理、ストレージ、ビルドの主な方法です。
表3.1 プロジェクトのバージョン管理オプション (Git)
バージョン管理オプション | 説明 | ドキュメンテーション |
---|---|---|
Business Central の Git VFS |
Business Central には、ビルトインの Git Virtual File System (VFS) が含まれており、ここにオーサリング環境で作成したプロセス、ルール、その他のアーティファクトをすべて保存します。Git は、リビジョンをコミットオブジェクトとして実装する分散バージョン管理システムです。変更をリポジトリーにコミットすると、Git リポジトリーに新規コミットオブジェクトが作成され、Business Central でプロジェクトを作成すると、Business Central に接続された Git リポジトリーにそのプロジェクトが追加されます。 |
NA |
外部 Git リポジトリー |
Business Central の外部の Git リポジトリーに Red Hat Process Automation Manager プロジェクトがある場合には、このプロジェクトを Red Hat Process Automation Manager スペースにインポートし、Git フックを使用して内部と外部の Git リポジトリーを同期できます。 |
表3.2 プロジェクト管理オプション (Maven)
管理オプション | 説明 | ドキュメンテーション |
---|---|---|
Business Central Maven リポジトリー |
Business Central には、オーサリング環境で作成したプロジェクトアセットを整理およびビルドする埋め込み型の Maven リポジトリーが含まれています。Maven は、リポジトリーを使用して Java ライブラリー、プラグイン、およびその他のビルドアーティファクトを格納する分散ビルド自動化ツールです。プロジェクトとアーキタイプをビルドする場合には、Maven はローカルまたはリモートリポジトリーから Java ライブラリーと Maven プラグインを動的に取得して、プロジェクト間の共有依存関係をプロモートします。 注記 実稼働環境では、Business Central で設定した外部 Maven リポジトリーの使用を検討してください。 |
NA |
外部 Maven リポジトリー |
Nexus や Artifactory などの外部 Maven リポジトリーに Red Hat Process Automation Manager プロジェクトがある場合は、接続情報を使用して |
表3.3 プロジェクトビルドオプション
ビルドオプション | 説明 | ドキュメンテーション |
---|---|---|
Business Central (KJAR) |
Business Central は、ビルトイン Maven リポジトリーまたは設定した外部 Maven リポジトリーのいずれかに保存されている Red Hat Process Automation Manager プロジェクトをビルドします。Business Central のプロジェクトは、プロジェクトのビルド時に、デプロイメントに必要な全コンポーネントが含まれるナレッジ JAR (KJAR) ファイルとして自動的にパッケージ化されます。 | |
スタンドアロン Maven プロジェクト (KJAR) |
Business Central 外にスタンドアロンの Red Hat Process Automation Manager Maven プロジェクトがある場合には、プロジェクトの | |
埋め込み型 Java アプリケーション (KJAR) |
埋め込み型 Java アプリケーションをもとに Red Hat Process Automation Manager プロジェクトをビルドする場合には、 | |
CI/CD ツール (KJAR) |
継続的インテグレーションと継続的デリバリー (CI/CD) にツールを使用する場合には、Red Hat Process Automation Manager Git リポジトリーと統合して、指定されたプロジェクトをビルドするようにツールセットを設定できます。デプロイメントの最適化を図るため、プロジェクトが KJAR ファイルとしてパッケージ化およびビルドされていることを確認してください。 |
NA |
OpenShift の S2I (コンテナーイメージ) |
Red Hat OpenShift Container Platform で Red Hat Process Automation Manager を使用する場合には、Red Hat Process Automation Manager プロジェクトを通常の方法で KJAR ファイルとしてビルドするか、Source-to-Image (S2I) を使用してプロジェクトをコンテナーイメージとしてビルドできます。S2I は、アプリケーションのソースコードをインプットとして使用するイメージを記述して、アセンブルされたアプリケーションを実行する新規イメージをアウトプットとして作成できるフレームワークおよびツールです。開発者が簡単に再現可能なコンテナーイメージをビルドできるの点が、 S2I ツールを使用する主な利点です。 |
第4章 Red Hat Process Automation Manager を使用したプロジェクトのデプロイメントオプション
Red Hat Process Automation Manager プロジェクトの開発、テスト、ビルド後に、プロジェクトをデプロイして、作成したビジネスアセットの使用を開始できます。Red Hat Process Automation Manager プロジェクトは、コンテナー実装を強化するために、構成済みの KIE Server、埋め込み型 Java アプリケーション、または Red Hat OpenShift Container Platform 環境にデプロイできます。
次のオプションは、Red Hat Process Automation Manager プロジェクトのデプロイメントの主な方法です。
表4.1 プロジェクトデプロイメントオプション
デプロイメントオプション | 説明 | ドキュメンテーション |
---|---|---|
OpenShift 環境へのデプロイメント |
Red Hat OpenShift Container Platform は、Docker と Kubernetes を組み合わせて、コンテナーの作成と管理を可能にします。OpenShift には、Business Central と KIE Server の両方をインストールできます。Red Hat Process Automation Manager は、Red Hat Process Automation Manager オーサリング環境、管理サーバー環境、イミュータブルサーバー環境、または試用環境を OpenShift にデプロイするために使用できるテンプレートを提供します。OpenShift では、Red Hat Process Automation Manager のコンポーネントは、個別の OpenShift Pod としてデプロイされます。各 Pod のスケールアップおよびスケールダウンを個別に行い、特定のコンポーネントに必要な数だけコンテナーを提供できます。標準の OpenShift メソッドを使用して Pod を管理し、負荷を分散できます。 |
『Red Hat OpenShift Container Platform への Red Hat Process Automation Manager イミュータブルサーバー環境のデプロイ』 『Red Hat OpenShift Container Platform への Red Hat Process Automation Manager オーサリング環境のデプロイ』 『Red Hat OpenShift Container Platform への Red Hat Process Automation Manager フリーフォーム管理サーバー環境のデプロイ』 『Operator を使用した Red Hat OpenShift Container Platform への Red Hat Process Automation Manager 環境のデプロイ』 『Red Hat OpenShift Container Platform への Red Hat Process Automation Manager 試用環境のデプロイ』 |
KIE Server へのデプロイメント |
KIE Server は、Red Hat Process Automation Manager に含まれるサーバーで、パッケージ化およびデプロイされた Red Hat Process Automation Manager プロジェクト (KJAR ファイル) からデシジョンサービス、プロセスアプリケーション、およびその他のデプロイ可能なアセットを実行します。これらのサービスは、インスタンス化された KIE コンテナー、または デプロイメントユニット を介してランタイムで消費されます。Business Central を使用するか、関連する REST API (管理対象の KIE Server インスタンスと見なされる) を備えたヘッドレス Decision Manager コントローラーを使用して、KIE Server でデプロイメントユニットをデプロイおよび保守できます。また、スタンドアロン Maven プロジェクト、埋め込み型 Java アプリケーション、またはその他のカスタム環境 (管理対象外の KIE Server インスタンスと見なされる) から Decision Server REST API または Java クライアント API を使用して、デプロイメントユニットをデプロイおよび管理できます。 |
『Red Hat Process Automation Manager プロジェクトのパッケージ化およびデプロイ』 |
埋め込み型 Java アプリケーションへのデプロイメント |
Red Hat Process Automation Manager プロジェクトを独自の Java 仮想マシン (JVM) 環境、マイクロサービス、またはアプリケーションサーバーにデプロイする場合には、プロジェクト WAR ファイルにアプリケーションリソースをバンドルして、KIE コンテナーに似たデプロイメントユニットを作成できます。また、コア KIE API (KIE Server API ではない) を使用して、KIE コンテナーを定期的に更新するように KIE スキャナーを設定することもできます。 |
第5章 Red Hat Process Automation Manager を使用したプロジェクトのアセット実行オプション
Red Hat Process Automation Manager プロジェクトをビルドして KIE Server または他の環境にデプロイした後に、デプロイされたアセットを実行してテストまたはランタイムで使用できます。デプロイメント後のアセットの実行以外に、またはその代わりに、ローカルでアセットを実行することもできます。
次のオプションは、Red Hat Process Automation Manager アセット実行の主な方法です。
表5.1 アセット実行オプション
実行オプション | 説明 | ドキュメンテーション |
---|---|---|
KIE Server での実行 |
Red Hat Process Automation Manager プロジェクトアセットを KIE Server にデプロイした場合に、KIE Server REST API または Java クライアント API を使用して、デプロイされたアセットを実行および操作できます。また、Business Central または Business Central の外部にあるヘッドレス Process Automation Manager コントローラーを使用して、デプロイされたアセットに関連付けられた KIE Server インスタンスの構成と KIE コンテナーを管理することもできます。プロセスの定義については、Business Central を使用して直接プロセスインスタンスを実行できます。 | |
埋め込み型 Java アプリケーションでの実行 |
独自の Java 仮想マシン (JVM) 環境、マイクロサービス、またはアプリケーションサーバーに Red Hat Process Automation Manager プロジェクトアセットをデプロイした場合は、カスタム API またはアプリケーションとコア KIE API (KIE Server API ではない) との対話により、埋め込みエンジンでアセットを実行できます。 | |
ローカル環境で実行して拡張テストを行う方法 |
開発サイクルの一部として、アセットをローカルで実行して、Red Hat Process Automation Manager 機能で作成したアセットが想定通りに機能することを確認できます。デプロイメント後のアセット実行に加え、またはその代わりに、ローカル実行を使用できます。 |
『DRL ルールを使用したデシジョンサービスの作成』の「ルールの実行」 |
デプロイメントおよび実行環境に応じて、Smart Router を使用して、複数の独立した KIE Server インスタンスを単一のサーバーであるかのように集約できます。Smart Router は、クライアントアプリケーションから任意のサービスへの呼び出しを受信し、サービスを実行する KIE Server に各呼び出しを自動的にルーティングできる単一のエンドポイントです。Smart Router の詳細については、「Smart Router を使用した Process Server のクラスタリング」を参照してください。
第6章 Red Hat Process Automation Manager を使用したデシジョン管理アーキテクチャーの例
以下のシナリオは、デシジョン管理アーキテクチャーにおける Red Hat Process Automation Manager のインストール、アセットオーサリング、プロジェクトストレージ、プロジェクトデプロイメント、およびアセット実行の一般的なバリエーションを示しています。各セクションでは、使用方法とツール、および特定のアーキテクチャーの利点をまとめています。これらの例は基本的なものであり、Red Hat Process Automation Manager の具体的な目的やニーズに応じて検討できる組み合わせのごく一部です。
- Business Central および KIE Server を備えた OpenShift 上の Red Hat Process Automation Manager オーサリングおよび管理サーバー環境
-
インストール環境:
rhpam78-authoring.yaml
およびrhpam78-kieserver.yaml
テンプレートファイルを使用した Red Hat OpenShift Container Platform の Red Hat Process Automation Manager - プロジェクトストレージとビルド環境: Git フックを使用して Business Central Git リポジトリーと同期するプロジェクトバージョン管理用の外部 Git リポジトリー、および KIE Server で構成されたプロジェクト管理とビルド用の外部 Maven リポジトリー
- アセットオーサリングツール: Business Central
- 主なアセットタイプ: デシジョン向けの Decision Model and Notation (DMN) モデルおよびプロセス向けの Business Process Model and Notation (BPMN) モデル
- プロジェクトデプロイメントおよび実行環境: Red Hat OpenShift Container Platform の KIE Server
シナリオの利点:
- クラウドベースのデプロイメント環境での Red Hat Process Automation Manager のコンテナー化された実装。Red Hat Process Automation Manager のコンポーネントは、別の OpenShift Pod としてデプロイされます。各 Pod のスケールアップおよびスケールダウンを個別に行い、特定のコンポーネントに必要な数だけコンテナーを提供できます。標準の OpenShift メソッドを使用して Pod を管理し、負荷を分散できます。
- Business Central のリポジトリー、アセット、アセットデザイナー、およびプロジェクトビルドオプションへのアクセス。
- 統合と安定性の最適化を図るために DMN および BPMN を使用する、標準化されたアセットオーサリングアプローチ
- アセットのデプロイメントと実行のための KIE Server 機能と KIE API へのアクセス
図6.1 Business Central および KIE Server を備えた OpenShift での Red Hat Process Automation Manager
-
インストール環境:
- Business Central および KIE Server を備えた Red Hat JBoss EAP での Red Hat Process Automation Manager
- インストール環境: Red Hat JBoss Enterprise Application Platform での Red Hat Process Automation Manager
- プロジェクトストレージとビルド環境: Git フックを使用して Business Central Git リポジトリーと同期するプロジェクトバージョン管理用の外部 Git リポジトリー、および KIE Server で構成されたプロジェクト管理とビルド用の外部 Maven リポジトリー
- アセットオーサリングツール: Business Central
- 主なアセットタイプ: デシジョン向けの Decision Model and Notation (DMN) モデルおよびプロセス向けの Business Process Model and Notation (BPMN) モデル
- プロジェクトデプロイメントおよび実行環境: KIE Server
シナリオの利点:
- オンプレミス開発環境での Red Hat Process Automation Manager の安定した実装
- Business Central のリポジトリー、アセット、アセットデザイナー、およびプロジェクトビルドオプションへのアクセス
- 統合と安定性の最適化を図るために DMN および BPMN を使用する、標準化されたアセットオーサリングアプローチ
- アセットのデプロイメントと実行のための KIE Server 機能と KIE API へのアクセス
図6.2 Business Central および KIE Server を備えた Red Hat JBoss EAP での Red Hat Process Automation Manager
- IDE および KIE Server を備えた Red Hat JBoss EAP での Red Hat Process Automation Manager
- インストール環境: Red Hat JBoss Enterprise Application Platform での Red Hat Process Automation Manager
- プロジェクトストレージとビルド環境: プロジェクトバージョン管理用の外部 Git リポジトリー (Business Central と同期されない)、および KIE Server で構成されたプロジェクト管理とビルド用の外部 Maven リポジトリー
- アセットオーサリングツール: Red Hat CodeReady Studio などの統合開発環境 (IDE)、および他のデシジョン形式のスプレッドシートエディターまたは Decision Model and Notation (DMN) モデリングツール
- 主なアセットタイプ: Drools ルール言語 (DRL) ルール、スプレッドシートデシジョンテーブル、デシジョン用の Decision Model and Notation (DMN) モデルおよびプロセス用の Business Process Model and Notation (BPMN) モデル
- プロジェクトデプロイメントおよび実行環境: KIE Server
シナリオの利点:
- オンプレミス開発環境での Red Hat Process Automation Manager の柔軟な実装
- 外部 IDE およびその他のアセットオーサリングツールを使用してビジネスアセットを定義する機能
- アセットのデプロイメントと実行のための KIE Server 機能と KIE API へのアクセス
図6.3 IDE および KIE Server を備えた Red Hat JBoss EAP での Red Hat Process Automation Manager
- IDE および埋め込み型 Java アプリケーションを使用する Red Hat Process Automation Manager
- インストール環境: カスタムアプリケーション内に埋め込まれた Red Hat Process Automation Manager ライブラリー
- プロジェクトストレージとビルド環境: プロジェクトバージョン管理用の外部 Git リポジトリー (Business Central と同期されない)、および埋め込み型 Java アプリケーションで構成されたプロジェクト管理 (KIE Server で構成されていない) とビルド用の外部 Maven リポジトリー
- アセットオーサリングツール: Red Hat CodeReady Studio などの統合開発環境 (IDE)、および他のデシジョン形式のスプレッドシートエディターまたは Decision Model and Notation (DMN) モデリングツール
- 主なアセットタイプ: Drools ルール言語 (DRL) ルール、スプレッドシートデシジョンテーブル、デシジョン用の Decision Model and Notation (DMN) モデルおよびプロセス用の Business Process Model and Notation (BPMN) モデル
- プロジェクトデプロイメントおよび実行環境: Java 仮想マシン (JVM) 環境、マイクロサービス、またはカスタムアプリケーションサーバーなどにある埋め込み型 Java アプリケーション
シナリオの利点:
- 埋め込み型 Java アプリケーションを使用したオンプレミス開発環境での Red Hat Process Automation Manager のカスタム実装
- 外部 IDE およびその他のアセットオーサリングツールを使用してビジネスアセットを定義する機能
- カスタム API を使用した (KIE Server API ではなく) コア KIE API の対話と、埋め込みエンジンでのアセット実行
図6.4 IDE および埋め込み型 Java アプリケーションを使用する Red Hat Process Automation Manager
第7章 関連資料
付録A バージョン情報
本書の最終更新日: 2020 年 9 月 8 日 (木)