Red Hat Process Automation Manager 用のデシジョン管理アーキテクチャーの設計
概要
はじめに
ビジネスアナリスト、システム管理者、またはビジネスルール開発者は、作成する 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 テクニカルアカウントマネージャーまたはソリューションアーキテクトにお問い合わせください。
多様性を受け入れるオープンソースの強化
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みにより、これらの変更は今後の複数のリリースに対して段階的に実施されます。詳細は、弊社の CTO である Chris Wright のメッセージ を参照してください。
第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 でのみサポートされています。
第2章 Red Hat Process Automation Manager におけるデシジョン作成アセット
Red Hat Process Automation Manager は、デシジョンサービスにビジネスデシジョンを定義するのに使用可能なアセットを複数サポートします。デシジョン作成アセットはそれぞれ長所が異なるため、目的やニーズに合わせて、アセットを 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 は、Maven ベース、Java ベース、またはカスタムツールベースのビルドオプションに加え、プロジェクトバージョン管理に Git リポジトリーをサポートし、プロジェクト管理に Apache Maven をサポートします。
次のオプションは、Red Hat Process Automation Manager プロジェクトのバージョン管理、ストレージ、およびビルドの主な方法です。
バージョン管理オプション | 説明 | ドキュメント |
---|---|---|
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 リポジトリーを同期できます。 |
管理オプション | 説明 | ドキュメント |
---|---|---|
Business Central Maven リポジトリー | Business Central には、オーサリング環境で作成したプロジェクトアセットを整理およびビルドする組み込み型の Maven リポジトリーが含まれています。Maven は、リポジトリーを使用して Java ライブラリー、プラグイン、およびその他のビルドアーティファクトを格納する分散ビルド自動化ツールです。プロジェクトとアーキタイプをビルドする場合、Maven はローカルリポジトリーまたはリモートリポジトリーから Java ライブラリーと Maven プラグインを動的に取得して、プロジェクト間の共有依存関係をプロモートします。 注記 実稼働環境では、Business Central で設定した外部 Maven リポジトリーの使用を検討してください。 | NA |
外部 Maven リポジトリー |
Nexus や Artifactory などの外部 Maven リポジトリーに Red Hat Process Automation Manager プロジェクトがある場合は、接続情報を使用して |
ビルドオプション | 説明 | ドキュメント |
---|---|---|
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 プロジェクトのデプロイメントの主な方法です。
デプロイメントオプション | 説明 | ドキュメント |
---|---|---|
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 3 への 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 インスタンスと見なされる) から KIE Server または 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 アセット実行の主な方法です。
実行オプション | 説明 | ドキュメント |
---|---|---|
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 機能で作成したアセットが想定通りに機能することを確認できます。デプロイメント後のアセット実行に加え、またはその代わりに、ローカル実行を使用できます。 |
デプロイメントおよび実行環境に応じて、Smart Router を使用して、複数の独立した KIE Server インスタンスを単一のサーバーであるかのように集約できます。Smart Router は、クライアントアプリケーションから任意のサービスへの呼び出しを受け取り、サービスを実行する KIE Server に各呼び出しを自動的にルーティングできる単一のエンドポイントです。Smart Router の詳細は、Red Hat JBoss EAP クラスター環境への Red Hat Process Automation Manager のインストールおよび設定 を参照してください。
第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 オーサリングおよび管理サーバー環境
-
インストール環境:
rhpam711-authoring.yaml
およびrhpam711-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 バージョン情報
本書の最終更新日: 2022 年 3 月 8 日 (火)
付録B お問い合わせ先
Red Hat Process Automation Manager のドキュメントチーム: brms-docs@redhat.com