2.6. Business Central のデプロイメントユニット
設定した KIE Server 上のインスタンス化された KIE コンテナー、または デプロイメントユニット を介して、プロジェクト内のサービスはランタイム時に使用されます。Business Central にプロジェクトをビルドおよびデプロイすると、設定されたサーバーにデプロイメントユニットが自動的に作成されます。必要に応じて、Business Central にデプロイメントユニットを起動、停止、または削除できます。ビルドされているプロジェクトから追加デプロイメントユニットを作成したり、Business Central に設定した既存または新しい KIE Server のデプロイメントユニットを起動したりすることもできます。
2.6.1. Business Central でのデプロイメントユニットの作成
お使いの Red Hat Process Automation Manager にはすでにデプロイメントユニットが 1 つ以上あるはずですが、ない場合は、Business Central にビルドされているプロジェクトからデプロイメントユニットを作成できます。
前提条件
- 新しいデプロイメントユニットを作成するプロジェクトが Business Central にビルドされている。
手順
-
Business Central で Menu
Deploy Execution servers に移動します。 - Server Configurations の下で既存の設定を選択するか、New Server Configuration をクリックして設定を作成します。
- Deployment Units の下で Add Deployment Unit をクリックします。
- 必要に応じて、Alias フィールドにエイリアスを追加します。
- ウィンドウのテーブルで GAV を選択し、GAV の横にある Select を選択して、デプロイメントユニットのデータフィールドを追加します。
- Start Deployment Unit? ボックスを選択してサービスを直ちに起動するか、選択を解除して後で起動します。
Finish をクリックします。
サービスに新しいデプロイメントユニットが作成され、このサーバー設定で指定した KIE Server に配置されました。Start Deployment Unit? を選択した場合は、サービスが起動します。
2.6.2. Business Central のデプロイメントユニットの起動、停止、および削除
デプロイメントユニットを起動したら、デプロイメントユニットのサービスが利用できるようになります。Business Central に KIE Server を 1 つだけ接続する場合、または接続したすべての KIE Server が同じサーバー設定にある場合は、プロジェクトのデプロイ時に、デプロイメントユニットでサービスが自動的に起動します。複数のサーバー設定が利用可能な場合は、デプロイメント時に、サーバーとデプロイメントの詳細を指定して、デプロイメントユニットを起動するように求められます。ただし、必要に応じていつでも手動で Business Central でデプロイメントユニットを起動、停止、または削除して、デプロイしたサービスを管理できます。
手順
-
Business Central で Menu
Deploy Execution servers に移動します。 - Server Configurations の下で、設定を選択します。
- Deployment Units の下で、デプロイメントユニットを選択します。
- 右上の Start、Stop、または Remove をクリックします。実行中のデプロイメントユニットを削除する場合は、停止してから削除します。
2.6.3. KIE コンテナーのエイリアス
KIE コンテナー (デプロイメントユニット) のエイリアスは、KIE Server インスタンスのプロキシーとして、同じコンテナーをデプロイする場合に異なるバージョンを処理しやすくします。単一のエイリアスを異なるバージョンのコンテナーにリンクできます。コンテナーをアップグレードすると、リンクされたエイリアスはコンテナーの新規バージョンを自動的に参照します。KIE コンテナーエイリアスの作成に関する詳細は、「Business Central でのデプロイメントユニットの作成」 を参照してください。
たとえば、新しいバージョンのコンテナーをデプロイするたびにクライアントアプリケーションが変わる場合は、クライアントアプリケーションがコンテナーのエイリアスを参照するようにできます。新しいコンテナーのバージョンがデプロイされると、関連付けられたエイリアスが自動的に更新され、クライアントアプリケーションを変更しなくても、全要求が自動的に新規コンテナーにルーティングされるようになります。
プロセスを 1 つ持ち、以下のプロパティーを使用するプロジェクト例を見ていきます。
-
GroupId
: org.jbpm -
ArtifactId
: my-project -
Version
: 1.0 -
containerID
: my-project
上記のプロジェクトを更新、ビルド、デプロイする場合に、関連付けられたプロジェクトは KIE Server 内で最新のバージョンに更新され、以下のプロパティーが含まれます。
-
GroupId
: org.jbpm -
ArtifactId
: my-project -
Version
: 2.0
プロジェクトの最新バージョンをデプロイする場合、my-project
は以前のバージョンを参照しているため、containerID
を my-project2
に更新する必要があります。
すべてのプロジェクトバージョンには、異なる containerID
名が含まれます。関連付けられたクライアントアプリケーションでは、対話するプロジェクトの全バージョンを認識しておく必要があります。
コンテナーエイリアスを使用すると、KIE コンテナーを管理しやすくなります。コンテナーの作成時にコンテナーのエイリアスを明示的に設定することも、関連付けられた ArtifactId
名をもとに暗黙的に設定することもできます。必要に応じて、複数のコンテナーにエイリアスを 1 つ追加できます。コンテナーエイリアスを指定しない場合は、プロジェクトの ArtifactId
が、デフォルトでコンテナーエイリアスとして設定されます。
GroupId
と ArtifactId
の名前を含む複数のコンテナーにエイリアスを設定する場合、KIE Server と対話するたびに同じエイリアスを使用できます。
通常、コンテナーエイリアスは以下のユースケースで使用します。
- プロセスバージョンが最新のクライアントアプリケーションで、新しいプロセスインスタンスを起動する
- 特定のバージョンの 既存のプロセスを操作する
- プロセス内の 既存のタスクを操作する
- プロセス定義の イメージやフォームを操作する
たとえば、プロジェクトのバージョン 1.0 をデプロイしたら、POST 要求を以下の KIE Server REST API エンドポイントに送信してプロジェクトのプロセスを開始します。
/http://localhost:8230/kie-server/services/rest/server/containers/my-project/processes/evaluation/instances
送信要求は、org.jbpm:my-project:1.0
から新しいプロセスインスタンスを起動します。ここで、my-project
はコンテナーのエイリアスとして定義しています。後に、プロジェクトのバージョン 2.0 をデプロイする場合に、同じ要求を送信すると、新規インスタンスが org.jbpm:my-project:2.0
から起動します。containerID
名を追加せずに、プロセスの最新バージョンをデプロイできます。