Red Hat Decision Manager 用のデシジョン管理アーキテクチャーの設計
概要
はじめに リンクのコピーリンクがクリップボードにコピーされました!
ビジネスの自動化環境のニーズによって、ビジネスアナリスト、システム管理者、またはビジネスルール開発者が開発する Red Hat Decision Manager のビジネスアセットのタイプや、作成したビジネスアセットを開発/保存/実行/デプロイする方法は異なります。アセット開発用に Business Central または外部統合開発環境 (IDE)、ストレージおよびバージョン管理用に組み込み型または外部の Git リポジトリー、デプロイメント用に KIE Server または埋め込み型アプリケーション、またはその他の実装の組み合わせを使用するデシジョン管理アーキテクチャーを設計できます。Red Hat Decision Manager を Red Hat OpenShift Container Platform 環境にデプロイして、コンテナー実装を強化することもできます。
このドキュメントでは、デシジョン管理アーキテクチャーの設計時に考慮する必要のある、Red Hat Decision Manager の実装に関する基本的な概念とオプションを説明します。環境に最適な実装を確認するには、Red Hat テクニカルアカウントマネージャーまたはソリューションアーキテクトにお問い合わせください。
多様性を受け入れるオープンソースの強化 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みにより、これらの変更は今後の複数のリリースに対して段階的に実施されます。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。
第1章 Red Hat Decision Manager のインストール環境オプション リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Process Automation Manager を使用して、ビジネスアプリケーションを開発する開発環境、デシジョンをサポートするアプリケーションを実行するランタイム環境、またはその両方を設定できます。
- 開発環境: 通常、1 つの Business Central インストールと 1 つ以上の KIE Server インストールで構成されます。開発者は Business Central を使用して、デシジョンやその他のアーティファクトを作成できるほか、KIE Server を使用して、作成したアーティファクトをテストできます。
- ランタイム環境: Business Central の有無にかかわらず、1 つ以上の KIE Server インスタンスで構成されます。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.4 および Red Hat OpenShift Container Platform でのみサポートされています。
第2章 Red Hat Decision Manager におけるデシジョン作成アセット リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Decision Manager は、デシジョンサービスにビジネスデシジョンを定義するのに使用可能なアセットを複数サポートします。デシジョン作成アセットはそれぞれ長所が異なるため、目的やニーズに合わせて、アセットを 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 エディター |
ビジネスデシジョンを定義する場合は、クラウドネイティブなデシジョンサービス用に Red Hat build of Kogito の利用を検討することもできます。Red Hat Decision Manager で Red Hat build of Kogito マイクロサービスを初めて使用する場合は、Red Hat Decision Manager で Red Hat build of Kogito を使用するためのスタートガイド を参照してください。
第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 プロジェクトのバージョン管理、ストレージ、ビルドの主な方法です。
| バージョン管理オプション | 説明 | ドキュメント |
|---|---|---|
| Business Central の Git VFS | Business Central には、ビルトインの Git Virtual File System (VFS) が含まれており、ここにオーサリング環境で作成したプロセス、ルール、その他のアーティファクトをすべて保存します。Git は、リビジョンをコミットオブジェクトとして実装する分散バージョン管理システムです。変更をリポジトリーにコミットすると、Git リポジトリーに新規コミットオブジェクトが作成されます。Business Central にプロジェクトを作成すると、そのプロジェクトは Business Central に接続される Git リポジトリーに追加されます。 | 該当なし |
| 外部 Git リポジトリー | Business Central 外の Git リポジトリーに Red Hat Decision Manager プロジェクトがある場合は、このプロジェクトを Red Hat Decision Manager スペースにインポートし、Git フックを使用して内部と外部の Git リポジトリーを同期できます。 |
| 管理オプション | 説明 | ドキュメント |
|---|---|---|
| Business Central Maven リポジトリー | Business Central には、オーサリング環境で作成したプロジェクトアセットを整理およびビルドするビルトイン Maven リポジトリーが含まれています。Maven は、リポジトリーを使用して Java ライブラリー、プラグイン、およびその他のビルドアーティファクトを格納する分散ビルド自動化ツールです。プロジェクトとアーキタイプをビルドする場合、Maven はローカルリポジトリーまたはリモートリポジトリーから Java ライブラリーと Maven プラグインを動的に取得して、プロジェクト間の共有依存関係をプロモートします。 注記 実稼働環境では、Business Central で設定した外部 Maven リポジトリーの使用を検討してください。 | 該当なし |
| 外部 Maven リポジトリー |
Nexus や Artifactory などの外部 Maven リポジトリーに Red Hat Decision Manager プロジェクトがある場合は、接続情報を使用して |
| ビルドオプション | 説明 | ドキュメント |
|---|---|---|
| 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 ファイルとしてパッケージ化およびビルドされていることを確認してください。 | 該当なし |
| OpenShift の S2I (コンテナーイメージ) | Red Hat OpenShift Container Platform で Red Hat Decision Manager を使用する場合は、Red Hat Decision Manager プロジェクトを通常の方法で KJAR ファイルとしてビルドするか、Source-to-Image (S2I) を使用してプロジェクトをコンテナーイメージとしてビルドできます。S2I は、アプリケーションのソースコードを入力として使用するイメージを記述して、アセンブルされたアプリケーションを実行する新規イメージを出力として作成できるフレームワークおよびツールです。開発者が簡単に再現可能なコンテナーイメージをビルドできる点が、S2I ツールを使用する主な利点です。 Red Hat Decision Manager イメージは、指定できる Git リポジトリーのソースを使用して、KJAR ファイルを S2I として自動的にビルドします。スクリプトを作成したり、S2I ビルドを管理したりする必要はありません。 | S2I コンセプトの場合: Red Hat OpenShift Container Platform 製品ドキュメントの イメージ。 Operator ベースのデプロイメントプロセスの場合: Operator を使用して Red Hat OpenShift Container Platform 4 に Red Hat Decision Manager 環境をデプロイします。KIE Server 設定で、KIE Server インスタンスを追加し、Set Immutable server configuration をクリックして、S2I デプロイメント用のソース Git リポジトリーを設定します。 |
第4章 Red Hat Decision Manager を使用したプロジェクトデプロイメントオプション リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Decision Manager プロジェクトの開発、テスト、ビルド後に、プロジェクトをデプロイして、作成したビジネスアセットの使用を開始できます。Red Hat Decision Manager プロジェクトは、コンテナー実装を強化するために、設定済みの KIE Server、埋め込み型 Java アプリケーション、または Red Hat OpenShift Container Platform 環境にデプロイできます。
次のオプションは、Red Hat Decision Manager プロジェクトのデプロイメントの主な方法です。
| デプロイメントオプション | 説明 | ドキュメント |
|---|---|---|
| OpenShift 環境へのデプロイメント | Red Hat OpenShift Container Platform は、Docker と Kubernetes を組み合わせて、コンテナーの作成と管理を可能にします。OpenShift には、Business Central と KIE Server の両方をインストールできます。Red Hat Decision Manager は、Red Hat Decision Manager オーサリング環境、管理サーバー環境、イミュータブルサーバー環境、または試用環境を OpenShift にデプロイするために使用できるテンプレートを提供します。OpenShift では、Red Hat Decision Manager のコンポーネントは、個別の OpenShift Pod としてデプロイされます。各 Pod のスケールアップとダウンを個別に行い、特定のコンポーネントに必要な数だけコンテナーを提供できます。標準の OpenShift の手法を使用して Pod を管理し、負荷を分散できます。 | Operator を使用した Red Hat OpenShift Container Platform 4 への Red Hat Decision Manager 環境のデプロイメント テンプレートを使用した Red Hat OpenShift Container Platform 3 への Red Hat Decision Manager 環境のデプロイメント |
| KIE Server へのデプロイメント | KIE Server は、Red Hat Decision Manager に同梱されるサーバーで、パッケージ化およびデプロイされた Red Hat Decision Manager プロジェクト (KJAR ファイル) からデシジョンサービス、プロセスアプリケーション、およびその他のデプロイ可能なアセットを実行します。このサービスは、ランタイム時に、インスタンス化した KIE コンテナー、または デプロイメントユニット を介して使用されます。デプロイメントユニットは、Business Central を使用するか、関連する REST API を備えた (マネージド KIE Server インスタンスと見なされる) ヘッドレス Process Automation Manager コントローラーを使用して、KIE Server でデプロイおよび保守できます。また、デプロイメントユニットは、スタンドアロン Maven プロジェクト、埋め込み型 Java アプリケーション、またはその他のカスタム環境 (アンマネージド の KIE Server インスタンスと見なされる) から KIE Server または Java クライアント API を使用して、デプロイおよび保守することもできます。 | Red Hat Decision Manager プロジェクトのパッケージ化およびデプロイ |
| 埋め込み型 Java アプリケーションへのデプロイメント | Red Hat Decision Manager プロジェクトを独自の Java 仮想マシン (JVM) 環境、マイクロサービス、またはアプリケーションサーバーにデプロイする場合は、プロジェクト WAR ファイルにアプリケーションリソースをバンドルして、KIE コンテナーに似たデプロイメントユニットを作成できます。また、(KIE Server API ではなく) コア KIE API を使用して、KIE コンテナーを定期的に更新するように KIE スキャナーを設定することもできます。 |
第5章 Red Hat Decision Manager を使用したアセット実行オプション リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Decision Manager プロジェクトをビルドして KIE Server または他の環境にデプロイした後に、デプロイされたアセットを実行してテストまたはランタイムで使用できます。デプロイメント後のアセットの実行に加え、または実行の代わりに、ローカルでアセットを実行することもできます。
次のオプションは、Red Hat Decision Manager アセット実行の主な方法です。
| 実行オプション | 説明 | ドキュメント |
|---|---|---|
| KIE Server での実行 | Red Hat Decision Manager プロジェクトアセットを KIE Server にデプロイした場合に、KIE Server REST API または Java クライアント API を使用して、デプロイされたアセットを実行および操作できます。また、Business Central や、Business Central の外部にあるヘッドレス Process Automation Manager コントローラーを使用して、デプロイされたアセットに関連付けられた KIE Server インスタンスの設定と KIE コンテナーを管理することもできます。 | |
| 埋め込み型 Java アプリケーションでの実行 | 独自の Java 仮想マシン (JVM) 環境、マイクロサービス、またはアプリケーションサーバーに Red Hat Decision Manager プロジェクトアセットをデプロイした場合は、カスタム API またはアプリケーションを使用して (KIE Server API ではなく) コア KIE API を操作することで、埋め込みエンジンでアセットを実行できます。 | |
| ローカル環境で実行して拡張テストを行う方法 | 開発サイクルの一部として、アセットをローカルで実行して、Red Hat Decision Manager 機能で作成したアセットが想定どおりに機能することを確認できます。デプロイメント後のアセット実行に加え、または実行の代わりに、ローカル実行を使用できます。 |
第6章 Red Hat Decision Manager を使用したデシジョン管理アーキテクチャーの例 リンクのコピーリンクがクリップボードにコピーされました!
以下のシナリオは、デシジョン管理アーキテクチャーにおける Red Hat Decision Manager のインストール、アセットオーサリング、プロジェクトストレージ、プロジェクトデプロイメント、およびアセット実行の一般的なバリエーションを示しています。各セクションでは、使用方法とツール、および特定のアーキテクチャーの利点をまとめています。これらの例は基本的なものであり、Red Hat Decision Manager の具体的な目的やニーズに応じて検討できる組み合わせのごく一部です。
- Business Central と KIE Server を備えた OpenShift での Red Hat Decision Manager 環境
-
インストール環境: Red Hat OpenShift Container Platform 上の Red Hat Decision Manager。Operator を使用して、必要に応じて
rhpam-authoring環境およびその他のタイプの環境をデプロイします。 - プロジェクトのストレージおよびビルド環境: Git フックを使用して Business Central の Git リポジトリーと同期するプロジェクトバージョン管理用の外部 Git リポジトリー、および KIE Server で設定されたプロジェクト管理およびビルド用の外部 Maven リポジトリー
- アセットオーサリングツール: Business Central
- 主なアセットタイプ: デシジョンのための Decision Model and Notation (DMN) モデル
- プロジェクトデプロイメントおよび実行環境: Red Hat OpenShift Container Platform の KIE Server
シナリオの利点:
- クラウドベースのデプロイメント環境での Red Hat Decision Manager のコンテナー化された実装。Red Hat Decision Manager のコンポーネントは、別の OpenShift Pod としてデプロイされます。各 Pod を個別にスケールアップおよびスケールダウンして、特定のコンポーネントに必要な数だけコンテナーを提供できます。標準の OpenShift の手法を使用して Pod を管理し、負荷を分散できます。
- Business Central のリポジトリー、アセット、アセットデザイナー、およびプロジェクトビルドオプションへのアクセス。
- 統合と安定性の最適化を図るために DMN を使用する、標準化されたアセットオーサリングアプローチ。
- アセットのデプロイメントと実行に関する KIE Server 機能と KIE API へのアクセス。
図6.1 Business Central と KIE Server を備えた OpenShift での Red Hat Decision Manager
-
インストール環境: Red Hat OpenShift Container Platform 上の Red Hat Decision Manager。Operator を使用して、必要に応じて
- Business Central と KIE Server を備えた Red Hat JBoss EAP での Red Hat Decision Manager
- インストール環境: Red Hat JBoss Enterprise Application Platform の Red Hat Decision Manager
- プロジェクトのストレージおよびビルド環境: Git フックを使用して Business Central の Git リポジトリーと同期するプロジェクトバージョン管理用の外部 Git リポジトリー、および KIE Server で設定されたプロジェクト管理およびビルド用の外部 Maven リポジトリー
- アセットオーサリングツール: Business Central
- 主なアセットタイプ: デシジョンのための Decision Model and Notation (DMN) モデル
- プロジェクトデプロイメントおよび実行環境: KIE Server
シナリオの利点:
- オンプレミス開発環境での Red Hat Decision Manager の安定した実装
- Business Central のリポジトリー、アセット、アセットデザイナー、およびプロジェクトビルドオプションへのアクセス
- 統合と安定性の最適化を図るために DMN を使用する、標準化されたアセットオーサリングアプローチ
- アセットのデプロイメントと実行に関する KIE Server 機能と KIE API へのアクセス
図6.2 Business Central と KIE Server を備えた Red Hat JBoss EAP での Red Hat Decision Manager
- IDE と KIE Server を備えた Red Hat JBoss EAP での Red Hat Decision Manager
- インストール環境: Red Hat JBoss Enterprise Application Platform の Red Hat Decision Manager
- プロジェクトのストレージおよびビルド環境: プロジェクトバージョン管理用の外部 Git リポジトリー (Business Central と非同期)、および KIE Server で設定されたプロジェクト管理とビルド用の外部 Maven リポジトリー
- アセットオーサリングツール: VSCode などの統合開発環境 (IDE)、および他のデシジョン形式のスプレッドシートエディターまたは Decision Model and Notation (DMN) モデリングツール
- 主なアセットタイプ: Drools ルール言語 (DRL) ルール、スプレッドシートデシジョンテーブル、デシジョン用の DMN (Decision Model and Notation) モデル
- プロジェクトデプロイメントおよび実行環境: KIE Server
シナリオの利点:
- オンプレミス開発環境での Red Hat Decision Manager の柔軟な実装
- 外部 IDE およびその他のアセットオーサリングツールを使用してビジネスアセットを定義する機能
- アセットのデプロイメントと実行に関する KIE Server 機能と KIE API へのアクセス
図6.3 IDE と KIE Server を備えた Red Hat JBoss EAP での Red Hat Decision Manager
- IDE および埋め込み型 Java アプリケーションを使用する Red Hat Decision Manager
- インストール環境: カスタムアプリケーション内に埋め込まれた Red Hat Decision Manager ライブラリー
- プロジェクトのストレージおよびビルド環境: プロジェクトバージョン管理用の外部 Git リポジトリー (Business Central と非同期)、および埋め込み型 Java アプリケーションで設定されたプロジェクト管理 (KIE Server で未設定) とビルド用の外部 Maven リポジトリー
- アセットオーサリングツール: VSCode などの統合開発環境 (IDE)、および他のデシジョン形式のスプレッドシートエディターまたは Decision Model and Notation (DMN) モデリングツール
- 主なアセットタイプ: Drools ルール言語 (DRL) ルール、スプレッドシートデシジョンテーブル、デシジョン用の DMN (Decision Model and Notation) モデル
- プロジェクトデプロイメントおよび実行環境: Java 仮想マシン (JVM) 環境、マイクロサービス、カスタムアプリケーションサーバーなどにある埋め込み型 Java アプリケーション
シナリオの利点:
- 埋め込み型 Java アプリケーションを使用したオンプレミス開発環境での Red Hat Decision Manager のカスタム実装
- 外部 IDE およびその他のアセットオーサリングツールを使用してビジネスアセットを定義する機能
- カスタム API を使用した (KIE Server API ではなく) コア KIE API の対話と、埋め込みエンジンでのアセット実行
図6.4 IDE および埋め込み型 Java アプリケーションを使用する Red Hat Decision Manager
第7章 関連情報 リンクのコピーリンクがクリップボードにコピーされました!
付録A バージョン情報 リンクのコピーリンクがクリップボードにコピーされました!
このドキュメントの最終更新日: 2023 年 9 月 5 日 (火)
付録B お問い合わせ先 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Decision Manager ドキュメントチーム: brms-docs@redhat.com