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