第2章 Business Central でのプロジェクトデプロイメント

Business Central を使用してビジネスアセットおよびサービスを開発し、プロジェクトデプロイメントに設定した KIE Server を管理できます。プロジェクトを開発する際に、Business Central にプロジェクトをビルドして、KIE Server に自動的にデプロイできます。自動デプロイメントを有効にするために、Business Central には Maven リポジトリーが組み込まれています。Business Central から、ビルドしてデプロイしておいたサービスおよびプロジェクトバージョンを含むデプロイメントユニット (KIE コンテナー) を起動、停止、または削除できます。

(MenuDeployExecution Servers で) 複数の KIE Server を同じ Business Central インスタンスに接続して、複数のサーバー設定にグループ分けすることもできます。同じサーバー設定に属するサーバーは同じサービスを実行しますが、別のサーバー設定の別のプロジェクト、または別のバージョンのプロジェクトをデプロイすることもできます。

たとえば、Test 設定のテストサーバーと、Production 設定の実稼働サーバーを使用できます。ビジネスアセットとサービスをプロジェクトに開発し、Test サーバー設定にプロジェクトをデプロイしてから、十分にテストしたプロジェクトのバージョンを Production サーバー設定にデプロイできます。このとき、プロジェクトの開発を継続するには、プロジェクト設定でバージョンを変更します。これにより、組み込み Maven リポジトリーで、新しいバージョンと古いバージョンが別のアーティファクトと見なされるため、Test サーバー設定に新しいバージョンをデプロイし、Production サーバー設定で古いバージョンを実行し続けることができます。このデプロイメントプロセスは単純ですが、重要な制約があります。とりわけ、アクセス制御は十分ではなく、プロジェクトを実稼働環境に直接デプロイできてしまいます。

重要

Business Central を使用して、KIE Server を別のサーバー設定に移動することはできません。サーバーの設定名を変更するには、サーバーの設定ファイルを変更する必要があります。

2.1. Business Central に接続する KIE Server の設定

KIE Server を Red Hat Process Automation Manager 環境に設定していない場合、または Red Hat Process Automation Manager 環境に KIE Server を追加する必要がある場合は、KIE Server を設定して Business Central に接続する必要があります。

注記

Red Hat OpenShift Container Platform に KIE Server をデプロイする場合は、『Red Hat OpenShift Container Platform への Red Hat Process Automation Manager freeform 管理サーバー環境のデプロイメント』で、Business Central に接続する設定手順を参照してください。

前提条件

手順

  1. Red Hat Process Automation Manager インストールディレクトリーで、standalone-full.xml ファイルに移動します。たとえば、Red Hat Process Automation Manager に Red Hat JBoss EAP インストールを使用する場合は $EAP_HOME/standalone/configuration/standalone-full.xml に移動します。
  2. standalone-full.xml を開き、<system-properties> タグの下に、以下のプロパティーを設定します。

    • org.kie.server.controller.user: Business Central にログインするユーザーのユーザー名。
    • org.kie.server.controller.pwd: Business Central にログインするユーザーのパスワード。
    • org.kie.server.controller: Business Central の API に接続する URL。通常、URL は http://<centralhost>:<centralport>/business-central/rest/controller です。<centralhost><centralport> はそれぞれ Business Central のホスト名とポートになります。Business Central を OpenShift にデプロイしている場合は、URL から business-central/ を削除します。
    • org.kie.server.location: KIE Server の API に接続する URL。通常、URL は http://<serverhost>:<serverport>/kie-server/services/rest/server (<serverhost> および <serverport> はそれぞれ KIE Server のホスト名およびポート) になります。
    • org.kie.server.id: サーバー設定の名前。このサーバー設定が Business Central に存在しない場合は、KIE Server が Business Central に接続する時に自動的に作成されます。

    例:

    <property name="org.kie.server.controller.user" value="central_user"/>
    <property name="org.kie.server.controller.pwd" value="central_password"/>
    <property name="org.kie.server.controller" value="http://central.example.com:8080/business-central/rest/controller"/>
    <property name="org.kie.server.location" value="http://kieserver.example.com:8080/kie-server/services/rest/server"/>
    <property name="org.kie.server.id" value="production-servers"/>
  3. KIE Server を起動または再起動します。

2.2. KIE Server および Business Central での環境モードの設定

KIE Server は、production (実稼働) モードと development (開発) モードでの実行が設定可能です。開発モードでは、柔軟な開発ポリシーが提供され、小規模な変更の場合はアクティブなプロセスインスタンスを維持しながら、既存のデプロイメントユニット (KIE コンテナー) を更新できます。また、大規模な変更の場合には、アクティブなプロセスインスタンスを更新する前に、デプロイメントユニットの状態をリセットすることも可能です。実稼働モードは、各デプロイメントで新規デプロイメントユニットが作成される実稼働環境に最適です。

開発環境では、Business Central で Deploy をクリックすると、(該当する場合) 実行中のインスタンスを中止することなくビルドした KJAR ファイルを KIE Server にデプロイすることができます。または Redeploy をクリックして、ビルドした KJAR ファイルをデプロイして全インスタンスを置き換えることもできます。ビルドした KJAR ファイルを次回にデプロイまたは再デプロイすると、以前のデプロイメントユニット (KIE コンテナー) が同じターゲット KIE Server で自動的に更新されます。

実稼働環境では、Business Central の Redeploy オプションは無効になり、Deploy をクリックして、ビルドした KJAR ファイルを KIE Server 上の新規デプロイメントユニット (KIE コンテナー) にデプロイすることのみが可能です。

手順

  1. KIE Server 環境モードを設定するには、org.kie.server.mode システムプロパティーを org.kie.server.mode=development または org.kie.server.mode=production に設定します。
  2. Business Central のプロジェクトにデプロイメントの動作を設定するには、プロジェクトの SettingsGeneral SettingsVersion に移動して、Development Mode オプションを切り替えます。

    注記

    デフォルトでは、KIE Server と Business Central の新規プロジェクトはすべて、開発モードになっています。

    Development Mode がオンのプロジェクトや、実稼働モードの KIE Server に手動で SNAPSHOT バージョンの接尾辞を追加したプロジェクトをデプロイすることはできません。

2.3. Business Central および KIE Server への外部 Maven リポジトリーの設定

Business Central および KIE Server が、内部のリポジトリーではなく、Nexus や Artifactory などの外部の Maven リポジトリーを使用するように設定できます。このように設定することで、Business Central と KIE Server は外部の Maven リポジトリーで管理されているアーティファクトにアクセスしてダウンロードできます。

注記

Red Hat OpenShift Container Platform のオーサリング環境向けに外部の Maven リポジトリーを設定する方法については、以下のドキュメントを参照してください。

前提条件

手順

  1. 外部リポジトリーの接続およびアクセスの詳細が含まれる Maven settings.xml ファイルを作成します。settings.xml ファイルの詳細は Maven の 『Settings Reference』を参照してください。
  2. 既知の場所 (例: /opt/custom-config/settings.xml) にファイルを保存します。
  3. Red Hat Process Automation Manager インストールディレクトリーで、standalone-full.xml ファイルに移動します。たとえば、Red Hat Process Automation Manager に Red Hat JBoss EAP インストールを使用する場合は $EAP_HOME/standalone/configuration/standalone-full.xml に移動します。
  4. standalone-full.xml<system-properties> タグで、kie.maven.settings.custom プロパティーに settings.xml ファイルのフルパス名を設定します。

    以下は例を示しています。

    <property name="kie.maven.settings.custom" value="/opt/custom-config/settings.xml"/>
  5. Business Central と KIE Server を起動または再起動します。

次のステップ

外部の Maven リポジトリーに KJAR アーティファクトとしてエクスポートまたはプッシュする Business Central プロジェクトごとに、プロジェクトの pom.xml ファイルにリポジトリーの情報を追加する必要があります。詳細は、「Business Central プロジェクトの外部 Maven リポジトリーへのエクスポート」を参照してください。

2.4. Business Central プロジェクトの外部 Maven リポジトリーへのエクスポート

Business Central および KIE Server 向けの外部 Maven リポジトリーを設定した場合には、外部のリポジトリーに KJAR アーティファクトとしてエクスポートまたはプッシュする Business Central プロジェクトごとに、リポジトリー情報を pom.xml ファイルに追加する必要があります。こうすることで、必要に応じてプロジェクトの KJAR ファイルをリポジトリーに移動して統合プロセスを実装し、Business Central または KIE Server REST API を使用して KJAR ファイルをデプロイできます。

前提条件

手順

  1. Business Central で MenuDesignProjects に移動して、プロジェクト名をクリックし、プロジェクト内の任意のアセットを選択します。
  2. 画面左側の Project Explorer メニューで Customize View ギアアイコンをクリックし、Repository Viewpom.xml を選択します。
  3. プロジェクトの pom.xml ファイルの最後 (</project> の終了タグの前) に以下の設定を追加します。値は、settings.xml ファイルに定義した設定に対応する必要があります。

    <distributionManagement>
    <repository>
    <id>${maven-repo-id}</id>
    <url>${maven-repo-url}</url>
    <layout>default</layout>
    </repository>
    </distributionManagement>
  4. Save をクリックして pom.xml ファイルの変更を保存します。

外部の Maven リポジトリーに KJAR アーティファクトとしてエクスポートまたはプッシュする Business Central プロジェクトごとに、この手順を繰り返してください。

2.5. Business Central へのプロジェクトのビルドおよびデプロイメント

プロジェクトを作成したら、Business Central でプロジェクトをビルドして、設定した KIE Server にデプロイできます。プロジェクトをビルドしてデプロイする際に、Business Central のプロジェクトは、必要なすべてのコンポーネントとともに KJAR として自動的にパッケージ化されます。

手順

  1. Business Central で、MenuDesignProjects に移動して、プロジェクト名をクリックします。
  2. 右上隅で Deploy をクリックしてプロジェクトをビルドし、KIE Server にデプロイします。KIE Server にデプロイせずにプロジェクトをコンパイルするには、Build をクリックします。

    注記

    Build & Install オプションを選択してプロジェクトをビルドし、KJAR ファイルを KIE Server にデプロイせずに設定済みの Maven リポジトリーに公開することもできます。開発環境では、Deploy をクリックすると、ビルドされた KJAR ファイルを KIE Server に、(該当する場合) 実行中のインスタンスを停止せずにデプロイできます。または Redeploy をクリックして、ビルドされた KJAR ファイルをデプロイしてすべてのインスタンスを置き換えることもできます。ビルドされた KJAR ファイルを次回にデプロイまたは再デプロイすると、以前のデプロイメントユニット (KIE コンテナー) が同じターゲット KIE Server で自動的に更新されます。実稼働環境では Redeploy オプションは無効になっており、Deploy をクリックして、ビルドされた KJAR ファイルを KIE Server 上の新規デプロイメントユニット (KIE コンテナー) にデプロイすることのみが可能です。

    KIE Server の環境モードを設定するには、org.kie.server.mode システムプロパティーを org.kie.server.mode=development または org.kie.server.mode=production に設定します。Business Central でそれぞれのプロジェクトのデプロイメント動作を設定するには、プロジェクトの SettingsGeneral SettingsVersion に移動し、Development Mode オプションを選択します。デフォルトでは、KIE Server および Business Central のすべての新規プロジェクトは開発モードになっています。Development Mode をオンにしたプロジェクトをデプロイしたり、実稼働モードになっている KIE Server に手動で SNAPSHOT バージョンの接尾辞を追加したプロジェクトをデプロイしたりすることはできません。

    Business Central に KIE Server を 1 つだけ接続する場合、または接続したすべての KIE Server が同じサーバー設定にある場合は、デプロイメントユニット (KIE コンテナー) にあるプロジェクトのサービスが自動的に起動します。

    複数のサーバー設定が利用できる場合は、サーバーとデプロイメントの詳細の入力を求めるデプロイメントダイアログが Business Central に表示されます。

  3. デプロイメントダイアログが表示されたら、以下の値を確認または設定します。

    • Deployment Unit Id / Deployment Unit Alias: KIE Server でサービスを実行しているデプロイメントユニット (KIE コンテナー) の名前およびエイリアスを確認します。通常は、この設定を変更する必要はありません。KIE コンテナーのエイリアスの詳細は、「KIE コンテナーのエイリアス」を参照してください。
    • Server Configuration: このプロジェクトをデプロイするサーバー設定を選択します。後で、プロジェクトを再ビルドしなくても、設定したその他のサーバーにデプロイできます。
    • Start Deployment Unit?: このボックスを選択してデプロイメントユニット (KIE コンテナー) を起動するか、選択を解除して、サービスがサーバーにデプロイしても起動しないようにします。

    プロジェクトのデプロイメントに関する詳細を確認するには、画面の上部にあるデプロイメントバナーの View deployment details か、Deploy のドロップダウンメニューをクリックします。このオプションを使用すると、MenuDeployExecution Servers ページに移動します。

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 にビルドされている。

手順

  1. Business Central で MenuDeployExecution servers に移動します。
  2. Server Configurations の下で既存の設定を選択するか、New Server Configuration をクリックして設定を作成します。
  3. Deployment Units の下で Add Deployment Unit をクリックします。
  4. 必要に応じて、Alias フィールドにエイリアスを追加します。
  5. ウィンドウのテーブルで GAV を選択し、GAV の横にある Select を選択して、デプロイメントユニットのデータフィールドを追加します。
  6. Start Deployment Unit? ボックスを選択してサービスを直ちに起動するか、選択を解除して後で起動します。
  7. Finish をクリックします。

    サービスに新しいデプロイメントユニットが作成され、このサーバー設定で指定した KIE Server に配置されました。Start Deployment Unit? を選択した場合は、サービスが起動します。

2.6.2. Business Central のデプロイメントユニットの起動、停止、および削除

デプロイメントユニットを起動したら、デプロイメントユニットのサービスが利用できるようになります。Business Central に KIE Server を 1 つだけ接続する場合、または接続したすべての KIE Server が同じサーバー設定にある場合は、デプロイメントユニットでサービスが自動的に起動します。複数のサーバー設定が利用可能な場合は、デプロイメント時に、サーバーとデプロイメントの詳細を指定して、デプロイメントユニットを起動するように求められます。ただし、必要に応じていつでも手動で Business Central でデプロイメントユニットを起動、停止、または削除して、デプロイしたサービスを管理できます。

手順

  1. Business Central で MenuDeployExecution servers に移動します。
  2. Server Configurations の下で、設定を選択します。
  3. Deployment Units の下で、デプロイメントユニットを選択します。
  4. 右上の StartStop、または 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 は以前のバージョンを参照しているので、containerIDmy-project2 に更新する必要があります。

注記

プロジェクトバージョンはすべて、containerID 名前が含まれます。関連付けられたクライアントアプリケーションでは、対話するプロジェクトの全バージョンを認識しておく必要があります。

コンテナーエイリアスを使用すると、KIE コンテナーを管理しやすくなります。コンテナーの作成時にコンテナーのエイリアスを明示的に設定することも、関連付けられた ArtifactId 名をもとに暗黙的に設定することもできます。必要に応じて、複数のコンテナーにエイリアスを 1 つ追加できます。コンテナーエイリアスを指定しない場合には、プロジェクトの ArtifactId はデフォルトで、コンテナーエイリアスとして設定されます。

GroupIdArtifactId の名前を含む複数のコンテナーにエイリアスを設定する場合には、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 から新しいプロセスインスタンスを起動します。org.jbpm:my-project:1.0 の中で my-project はコンテナーのエイリアスとして定義しています。後に、プロジェクトのバージョン 2.0 をデプロイする場合に、同じ要求を送信すると、新規インスタンスが org.jbpm:my-project:2.0 から起動します。containerID 名を追加せずに、プロセスの最新バージョンをデプロイできます。

2.7. Business Central プロジェクトの GAV 値の編集

GroupIdArtifactId、および Version (GAV) 値は、Maven リポジトリーのプロジェクトを識別します。Business Central と KIE Server が同じファイルシステムにあり、同じ Maven リポジトリーを使用する場合は、新しいバージョンのプロジェクトをビルドするたびに、リポジトリーでプロジェクトが自動的に更新されます。ただし、Business Central と KIE Server が別のファイルシステムにあり、ローカルの Maven リポジトリーをそれぞれ使用している場合は、新しいバージョンのプロジェクトでプロジェクトの GAV 値 (通常はバージョン) を更新し、古いバージョンと新しいバージョンのプロジェクトが別のアーティファクトとして表示されるようにします。

注記

開発目的でのみ、プロジェクトの SettingsGeneral SettingsVersionDevelopment Mode オプションを切り替えて、プロジェクトバージョンに SNAPSHOT のサフィックスを追加できます。このサフィックスで、Maven に対して、Maven ポリシーに従い、新しいスナップショットの更新を取得するように指示します。開発モード を使用したり、手動で実稼働環境に SNAPSHOT バージョンのサフィックスを追加しないでください。

プロジェクトの Settings 画面に GAV 値を設定できます。

手順

  1. Business Central で、MenuDesignProjects に移動して、プロジェクト名をクリックします。
  2. プロジェクトの Settings タブをクリックします。
  3. 必要に応じて、General SettingsGroup ID フィールド、 Artifact IDフィールド、Version フィールドを修正します。プロジェクトをデプロイし、新しいバージョンを開発中の場合は、通常はバージョン番号を変更する必要があります。

    注記

    開発目的でのみ、プロジェクトの SettingsGeneral SettingsVersionDevelopment Mode オプションを切り替えて、プロジェクトバージョンに SNAPSHOT のサフィックスを追加できます。このサフィックスで、Maven に対して、Maven ポリシーに従い、新しいスナップショットの更新を取得するように指示します。開発モード を使用したり、手動で実稼働環境に SNAPSHOT バージョンのサフィックスを追加しないでください。

  4. Save をクリックして終了します。

2.8. Business Central における重複した GAV の検出

Business Central のすべての Maven リポジトリーで、GroupIdArtifactIdVersion (GAV) の各値が重複しているかどうかが確認されます。GAV が重複していると、実行された操作が取り消されます。

注記

重複する GAV の検出は、Development Mode のプロジェクトでは無効になっています。Business Central で重複する GAV 検出を有効にするには、 プロジェクトの SettingsGeneral SettingsVersion に移動して、Development Mode オプションを OFF (該当する場合) に切り替えます。

重複した GAV の検出は、以下の操作を実行するたびに実行されます。

  • プロジェクトのプロジェクト定義の保存。
  • pom.xml ファイルの保存。
  • プロジェクトのインストール、ビルド、またはデプロイメント。

以下の Maven リポジトリーで重複の GAV が確認されます。

  • pom.xml ファイルの <repositories> 要素および <distributionManagement> 要素で指定されたリポジトリー。
  • Maven の settings.xml 設定ファイルに指定されたリポジトリー。

2.8.1. Business Central における重複した GAV 検出設定の管理

admin ロールを持つ Business Central ユーザーは、プロジェクトで GroupId 値、ArtifactId 値、Version 値 (GAV) が重複しているかどうかを確認するリポジトリーの一覧を修正できます。

注記

重複する GAV の検出は、Development Mode のプロジェクトでは無効になっています。Business Central で重複する GAV 検出を有効にするには、 プロジェクトの SettingsGeneral SettingsVersion に移動して、Development Mode オプションを OFF (該当する場合) に切り替えます。

手順

  1. Business Central で、MenuDesignProjects に移動して、プロジェクト名をクリックします。
  2. プロジェクトの Settings タブをクリックし、Validation をクリックしてリポジトリーの一覧を開きます。
  3. 一覧表示したリポジトリーオプションの中から選択するか選択を解除して、重複した GAV の検出を有効または無効にします。

    今後、重複した GAV の報告は、検証を有効にしたリポジトリーに対してのみ行われます。

    注記

    この機能を無効にするには、システムの起動時に Business Central のorg.guvnor.project.gav.check.disabled システムプロパティーを true に設定します。

    $ ~/EAP_HOME/bin/standalone.sh -c standalone-full.xml
    -Dorg.guvnor.project.gav.check.disabled=true