Red Hat JBoss BRMS 6.4 から Red Hat Decision Manager 7.1 への移行


Red Hat Decision Manager 7.1

Red Hat Customer Content Services

概要

本書では、プロジェクトデータを Red Hat JBoss BRMS 6.4 から Red Hat Decision Manager 7.1 に移行する方法を説明します。

前書き

システム管理者またはビジネスルールの開発者は、Red Hat JBoss BPMS 6.4 のプロジェクトデータを Red Hat Decision Manager 7.1 に移行できます。Red Hat は、移行を容易にするための移行ツールを提供しますが、状況によっては、手動による移行や、アセットの再作成が必要になる場合もあります。

前提条件/事前作業

  • Red Hat BRMS 6.4 システムがインストールされており、そのシステムに Red Hat Decision Manager 7.1 に移行するアーティファクトが含まれる。
  • Red Hat JBoss BPMS 6.4 とは別のインスタンス (Red Hat JBoss EAP またはその他のインスタンス) に Red Hat Decision Manager 7.1 がインストールされている。インストールオプションは『Planning a Red Hat Process Automation Manager installation』を参照してください。
重要

Red Hat Decision Manager 7.0 に移行済みで Red Hat Decision Manager 7.1 に移行する場合には、『Migrating from Red Hat Decision Manager 7.0 to Red Hat Decision Manager 7.1』の移行手順に従うようにしてください。

第1章 移行の概要

Red Hat JBoss BRMS 6.4 を使用しており、Red Hat Decision Manager 7.1 をインストールする場合は、Red Hat JBoss BRMS 6.4 で作成したアプリケーションを新しい製品に移行する必要があります。Red Hat はできる限り移行がスムーズに進むように、移行およびアップグレードツールを提供しています。

Red Hat Decision Manager 7.1 での主な変更で製品の移行に影響があるのは、Decision Central プロジェクトデータの新しいリポジトリー構造です。Red Hat JBoss BRMS 6.4 で Decision Central に作成したビジネスアセットは、本リリースで提供される Decision Central 移行ツールを使用して移行し、新しいデータ構造に対応させる必要があります。プロジェクトデータは Red Hat Decision Manager 7.1 で再構築され、各スペース (以前は組織単位と呼ばれていました) には、個々のプロジェクトに対応するリポジトリーが含まれます (Red Hat JBoss BPMS 6.4 では、1 つのリポジトリーに複数のプロジェクトが含まれていました)。構造がこのように改善されたことで、新しい Decision Central でリポジトリーを作成および管理する必要はなくなり、ビジネスアセットの開発に集中できるようになりました。

Red Hat Decision Manager 7.1 に移行する Decision Central ディストリビューションや、Java プロジェクトの環境では、移行パスが各種提供されています。

重要

Red Hat JBoss BRMS 6.4 より古いバージョンを使用している場合は、プロジェクトをバージョン 6.4 に移行してから Red Hat Decision Manager 7.1 に移行してください。詳細は『Red Hat JBoss BPM Suite 6.4 Migration Guide』を参照してください。

このリリースの更新および新機能の詳細は『Red Hat Decision Manager 7.1 リリースノート』を参照してください。

第2章 Decision Central のデータ移行

このリリースで提供されている Decision Central 移行ツールを使用して Red Hat JBoss BRMS 6.4 から Red Hat Decision Manager 7.1 に Decision Central データを移行して、Red Hat Decision Manager 7.1 の新しいデータ構造に対応する必要があります。さらに、お使いのアプリケーションのいずれかが、ナレッジストア REST API コール (/business-central/rest/) を介して Decision Central のスペース (以前のバージョンでは組織単位と呼ばれていました)、リポジトリー、プロジェクトと対話する場合は、Red Hat Decision Manager 7.1 でサポートされている新規エンドポイントに従い、これらの API 参照を更新する必要があります。

前提条件/事前作業

  • Red Hat JBoss BPMS 6.4 とは別のインスタンス (Red Hat JBoss EAP またはその他のインスタンス) に Red Hat Decision Manager 7.1 がインストールされている。インストールオプションは『Planning a Red Hat Process Automation Manager installation』を参照してください。
  • Red Hat JBoss BRMS 6.4 の全 Decision Central データ (該当する場合はそれに使用するデータベースも含む) の完全バックアップを作成している。これは、移行時に問題が発生した場合の予防措置です。

2.1. Decision Central 移行ツールの使用

Red Hat Decision Manager 7.1 には、修正されたデータ構造と、Red Hat JBoss BRMS 6.4 からの直接のデータ移行をサポートしないその他の機能変更が含まれています。したがって、Red Hat は、Red Hat JBoss BRMS 6.4 から Red Hat Decision Manager 7.1 にプロジェクトデータと設定を移行できる移行ツールを提供します。Decision Central ディストリビューションの .niogit ディレクトリー、または外部の Git リポジトリーで移行ツールを実行できます。移行ツールを使用して、Red Hat Decision Manager 7.1 でサポートされる新しいデータ構造と機能用に Decision Central データを準備します。

2.1.1. .niogit ディレクトリーでの移行ツールの使用

Decision Central ディストリビューションの .niogit ディレクトリーには Decision Central の全データが含まれています。.niogit ディレクトリーで Decision Central の移行ツールを使用して、Red Hat Decision Manager 7.1 への移行に向けてプロジェクトデータおよびシステム設定を準備できます。

前提条件/事前作業

  • Decision Central は Red Hat JBoss BRMS 6.4 でも Red Hat Decision Manager 7.1 でも実行されません。
  • Java 8 がインストールされていて、プロジェクトの移行ツールをインストールするパスが利用可能になっている。

手順

  1. Red Hat JBoss BPM Suite 6.4 に対する現在の Decision Central ディストリビューションにある bin/.niogit ディレクトリーの位置を特定し、新しい Red Hat Decision Manager 7.1 インストールで同じディレクトリーを見つけます。

    例:

    $ ~/$JBOSS_HOME/bin/.niogit
    $ ~/$RHDM_HOME/bin/.niogit
  2. 端末で、Red Hat JBoss BRMS 6.4 の 現在の Decision Central ディストリビューションから、新しい Red Hat Decision Manager 7.1 インストールディレクトリーの bin ディレクトリーに、.niogit ディレクトリーをコピーします。

    cp -r /$JBOSS_HOME/bin/.niogit  /$RHDM_HOME/bin/

    コピーした .niogit ディレクトリーは、移行ツールが Red Hat Decision Manager 7.1 に用意するディレクトリーで、オリジナルの .niogit ディレクトリーは Red Hat JBoss BRMS 6.4 インストールに残り、この手順で使用する移行ツールでは修正されません。

  3. Red Hat Decision Manager 7.1 の bin ディレクトリーにある .index ディレクトリーを削除します。Red Hat Decision Manager 7.1 には、Red Hat JBoss BRMS 6.4 に準拠していない特定の更新が含まれるため、このディレクトリーは削除する必要があります。bin ディレクトリーのインデックスは、移行してから Red Hat Decision Manager 7.1 を起動するときに再作成されます。
  4. Red Hat で Decision Manager 7.1 にコピーした .niogit ディレクトリーのパスを書き留めます。このパスは、移行ツールを実行する際に必要になります。
  5. プロジェクトの移行時に追加、削除、または更新する特定の dependenciesrepositories、または pluginRepositories がある場合は、これらの要素を含む pom-migration.json ファイルを作成します。移行ツールを実行すると、移行にこのファイルを含めるかどうかを尋ねるプロンプトが表示されます。

    pom-migration.json ファイルには以下のセクションが必要です。

    • "dependencies":[]
    • "repositories-add":[]
    • "repositories-remove":[]
    • "repositories-update-urls":[]
    • "pluginRepositories-add":[]
    • "pluginRepositories-remove":[]
    • "pluginRepositories-update-urls":[]

    この中の要素のいずれかがプロジェクトに適用されない場合は、解析エラーを回避するために空のセクションとして追加します。

    サンプルファイル pom-migration.json:

    {
      "dependencies":[
    
        {"groupId":"junit", "artifactId":"junit", "version":"4.12", "scope":"test"},
        {"groupId":"com.thoughtworks.xstream", "artifactId":"xstream", "version":"4.12", "scope":"test"}
    
      ],
    
      "repositories-add":[
        {
          "id":"jboss-public-repository-group",
          "name":"JBoss Public Repository Group",
          "url":"http://repository.jboss.org/nexus/content/groups/public/",
          "releasesEnabled":true,
          "releasesUpdatePolicy":"never",
          "snapshotEnabled":true,
          "snapshotUpdatePolicy":"never"
        },
        {
          "id":"kie-internal-staging-repository-group",
          "name":"KIE Internal Staging Repositories",
          "url":"https://origin-repository.jboss.org/nexus/content/groups/kie-internal-group",
          "releasesEnabled":true,
          "releasesUpdatePolicy":"never",
          "snapshotEnabled":false,
          "snapshotUpdatePolicy":"never"
        }
      ],
    
      "repositories-remove":[
        {
          "id":"productization-repository", "url":"http://download.lab.bos.redhat.com/brewroot/repos/jb-ip-6.1-build/latest/maven/"
        }
      ],
    
      "repositories-update-urls":[
        {
          "id":"guvnor-m2-repo", "url":"http://localhost:8080/decision-central/maven3/"
        }
      ],
    
      "pluginRepositories-add":[
    
        {
          "id":"jboss-public-repository-group",
          "name":"JBoss Public Repository Group",
          "url":"http://repository.jboss.org/nexus/content/groups/public/",
          "releasesEnabled":true,
          "releasesUpdatePolicy":"never",
          "snapshotEnabled":true,
          "snapshotUpdatePolicy":"never"
        },
        {
          "id":"kie-internal-staging-repository-group",
          "name":"KIE Internal Staging Repositories",
          "url":"https://origin-repository.jboss.org/nexus/content/groups/kie-internal-group",
          "releasesEnabled":true,
          "releasesUpdatePolicy":"never",
          "snapshotEnabled":false,
          "snapshotUpdatePolicy":"never"
        }
    
      ],
      "pluginRepositories-remove":[],
      "pluginRepositories-update-urls":[]
    }

    (依存関係 のみを持つ) サンプルファイル pom-migration.json:

    {
      "dependencies":[
    
        {"groupId":"junit", "artifactId":"junit", "version":"4.12", "scope":"test"},
        {"groupId":"com.thoughtworks.xstream", "artifactId":"xstream", "version":"4.12", "scope":"test"}
    
      ],
      "repositories-add":[],
      "repositories-remove":[],
      "repositories-update-urls":[],
      "pluginRepositories-add":[],
      "pluginRepositories-remove":[],
      "pluginRepositories-update-urls":[]
    }
  6. Red Hat カスタマーポータルの Software Downloads ページに移動し (ログインが必要)、ドロップダウンオプションから製品およびバージョンを選択します。

    • Product: Decision Manager
    • Version: 7.1
  7. Red Hat Decision Manager 7.1.0 Add-Ons をダウンロードして、ダウンロードした rhdm-7.1.0-add-ons.zip ファイルを一時ディレクトリーに展開します。
  8. 展開した rhdm-7.1.0-add-ons ディレクトリーに、rhdm-7.1-migration-tool.zip サブディレクトリーを展開します。移行ツールは bin ディレクトリーに保存されています。
  9. 端末で、rhdm-7.1-migration-tool ディレクトリーを展開した一時ディレクトリーに移動して、移行ツールを実行します。$RHDM_NIOGIT_DIR の部分は、Red Hat Process Automation Manager 7.1 インストールにコピーしておいた .niogit ディレクトリーのパスになります。

    Linux または UNIX ベースのシステムの場合:

    $ cd $INSTALL_DIR/rhdm-7.1-migration-tool/bin
    $ ./migration-tool.sh -t $RHDM_NIOGIT_DIR

    Windows の場合:

    $ cd $INSTALL_DIR\rhdm-7.1-migration-tool\bin
    $ migration-tool.bat -t $RHDM_NIOGIT_DIR

    コマンドプロンプトが表示されると、以下のオプションが表示されます。

    • Project structure migration: Red Hat JBoss BRMS 6.4 プロジェクトリポジトリー構造を、Red Hat Decision Manager 7.1 で使用される新しいプロジェクト指向の構造に移行します。
    • System configuration directory structure migration: Red Hat JBoss BRMS 6.4 で使用される system.git リポジトリー構造を、Red Hat Decision Manager 7.1 で使用される新しい構造に移行します。この移行オプションでは、プロジェクト構造の移行を最初に実行する必要があります。
    • Forms migration: Red Hat Decision Manager 7.1 で必要な依存関係を持つ pom.xml ファイルを更新します。この移行オプションでは、プロジェクト構造の移行とシステム設定ディレクトリー構造の移行を最初に実行する必要があります。
    • All: すべての移行オプションを順番に実行します。
    • Exit: 移行ツールを終了します。
  10. All オプションを選択して、移行を順番に実行します。

    注記

    移行オプションを一度に 1 つずつ実行する場合は、最初に実行する移行オプションを実行します。ツールを実行したら、Decision Central 移行ツールを再度実行して、次に実行する移行オプションを選択します。

  11. 特定の移行オプションを実行するようにプロンプトが表示されるたびに yes を入力します。

    POM 移行オプションで、作成しておいた外部の pom-migration.json ファイルのパスを指定する場合は、プロンプトが表示された時に yes を入力して、パスを入力します。

  12. ツールの実行が終了したら、Exit オプションを選択して移行ツールを終了します。

    .niogit ディレクトリー構造は、Red Hat Decision Manager 7.1 の Decision Central と互換性があります。プロジェクトディレクトリーは別のリポジトリーにあり、その他の関連する設定はすべて移行されています。新しい .niogit ディレクトリーに移動して、再構築したコンテンツを確認できます。

2.1.2. 外部 Git リポジトリーでの移行ツールの使用

.niogit ディレクトリー外にある Git リポジトリーに Decision Central プロジェクトデータを保存する場合は、外部リポジトリーで Decision Central 移行ツールを使用して、Red Hat Decision Manager 7.1 のプロジェクトデータを準備することもできます。Git リポジトリーのプロジェクトディレクトリー内のファイルだけが移行ツールにより再構築されます。

前提条件/事前作業

Java 8 がインストールされていて、プロジェクトの移行ツールをインストールするパスが利用可能になっている。

手順

  1. (リポジトリーのクローンが作成されていない場合は) ローカルディレクトリーで、移行するプロジェクトを含む Git リポジトリーのクローンを作成します。

    $ cd $REPO_DIR/
    $ git clone $GIT_REPO_URL
  2. クローンを作成した Git リポジトリーのパスを書き留めます。移行ツールを実行する際にパスが必要になります。
  3. 移行ツールの実行後に、新たに移行したリポジトリーのコピーを置く出力ディレクトリーを作成します。既存のディレクトリーを出力場所としても使用できます。この出力ディレクトリーのパスを書き留めます。移行ツールは、クローンとして作成したリポジトリーのコピー上で作動します。ツールの実行時に新しい出力ディレクトリーのパスを求めるプロンプトがこのツールにより表示されます。
  4. プロジェクトの移行時に追加、削除、または更新する特定の dependenciesrepositories、または pluginRepositories がある場合は、これらの要素を含む pom-migration.json ファイルを作成します。移行ツールを実行すると、移行にこのファイルを含めるかどうかを尋ねるプロンプトが表示されます。

    pom-migration.json ファイルには以下のセクションが必要です。

    • "dependencies":[]
    • "repositories-add":[]
    • "repositories-remove":[]
    • "repositories-update-urls":[]
    • "pluginRepositories-add":[]
    • "pluginRepositories-remove":[]
    • "pluginRepositories-update-urls":[]

    この中の要素のいずれかがプロジェクトに適用されない場合は、解析エラーを回避するために空のセクションとして追加します。

    サンプルファイル pom-migration.json:

    {
      "dependencies":[
    
        {"groupId":"junit", "artifactId":"junit", "version":"4.12", "scope":"test"},
        {"groupId":"com.thoughtworks.xstream", "artifactId":"xstream", "version":"4.12", "scope":"test"}
    
      ],
    
      "repositories-add":[
        {
          "id":"jboss-public-repository-group",
          "name":"JBoss Public Repository Group",
          "url":"http://repository.jboss.org/nexus/content/groups/public/",
          "releasesEnabled":true,
          "releasesUpdatePolicy":"never",
          "snapshotEnabled":true,
          "snapshotUpdatePolicy":"never"
        },
        {
          "id":"kie-internal-staging-repository-group",
          "name":"KIE Internal Staging Repositories",
          "url":"https://origin-repository.jboss.org/nexus/content/groups/kie-internal-group",
          "releasesEnabled":true,
          "releasesUpdatePolicy":"never",
          "snapshotEnabled":false,
          "snapshotUpdatePolicy":"never"
        }
      ],
    
      "repositories-remove":[
        {
          "id":"productization-repository", "url":"http://download.lab.bos.redhat.com/brewroot/repos/jb-ip-6.1-build/latest/maven/"
        }
      ],
    
      "repositories-update-urls":[
        {
          "id":"guvnor-m2-repo", "url":"http://localhost:8080/decision-central/maven3/"
        }
      ],
    
      "pluginRepositories-add":[
    
        {
          "id":"jboss-public-repository-group",
          "name":"JBoss Public Repository Group",
          "url":"http://repository.jboss.org/nexus/content/groups/public/",
          "releasesEnabled":true,
          "releasesUpdatePolicy":"never",
          "snapshotEnabled":true,
          "snapshotUpdatePolicy":"never"
        },
        {
          "id":"kie-internal-staging-repository-group",
          "name":"KIE Internal Staging Repositories",
          "url":"https://origin-repository.jboss.org/nexus/content/groups/kie-internal-group",
          "releasesEnabled":true,
          "releasesUpdatePolicy":"never",
          "snapshotEnabled":false,
          "snapshotUpdatePolicy":"never"
        }
    
      ],
      "pluginRepositories-remove":[],
      "pluginRepositories-update-urls":[]
    }

    (依存関係 のみを持つ) サンプルファイル pom-migration.json:

    {
      "dependencies":[
    
        {"groupId":"junit", "artifactId":"junit", "version":"4.12", "scope":"test"},
        {"groupId":"com.thoughtworks.xstream", "artifactId":"xstream", "version":"4.12", "scope":"test"}
    
      ],
      "repositories-add":[],
      "repositories-remove":[],
      "repositories-update-urls":[],
      "pluginRepositories-add":[],
      "pluginRepositories-remove":[],
      "pluginRepositories-update-urls":[]
    }
  5. Red Hat カスタマーポータルの Software Downloads ページに移動し (ログインが必要)、ドロップダウンオプションから製品およびバージョンを選択します。

    • Product: Decision Manager
    • Version: 7.1
  6. Red Hat Decision Manager 7.1.0 Add-Ons をダウンロードして、ダウンロードした rhdm-7.1.0-add-ons.zip ファイルを一時ディレクトリーに展開します。
  7. 展開した rhdm-7.1.0-add-ons ディレクトリーに、rhdm-7.1-migration-tool.zip サブディレクトリーを展開します。移行ツールは bin ディレクトリーに保存されています。
  8. コマンド端末で、rhdm-7.1-migration-tool ディレクトリーを展開した一時ディレクトリーに移動して、移行ツールを実行します。$GIT_REPO_PATH の部分は、作成した Git リポジトリーのパスになります。

    Linux または UNIX ベースのシステムの場合:

    $ cd $INSTALL_DIR/rhdm-7.1-migration-tool/bin
    $ ./migration-tool.sh -t $GIT_REPO_PATH

    Windows の場合:

    $ cd $INSTALL_DIR\rhdm-7.1-migration-tool\bin
    $ migration-tool.bat -t $GIT_REPO_PATH
  9. 表示されるコマンドプロンプトに、移行したリポジトリーのコピーを置く出力ディレクトリーへのパスを入力します。移行ツールは、クローンとして作成したリポジトリーのコピー上で作動し、指定した出力先に新しいリポジトリーを配置します。

    出力先を入力後、移行ツールがリポジトリーのコピーを用意し、すべてのプロジェクトディレクトリーが Red Hat Decision Manager 7.1 と互換性を保てるように再構築します。

    コマンドプロンプトに、以下の追加移行オプションが表示されます。

    • POMs migration: Red Hat Decision Manager 7.1 で必要な依存関係が含まれる pom.xml を更新します。
    • All: 残りのすべての移行オプションを順番に実行します。
    • Exit: 移行ツールを終了します。
    注記

    出力先で移行ツールを開始するとこのオプションが自動的に実行するため、Project structure migration オプションは表示されません。

  10. All オプションを選択して、移行を順番に実行します。

    注記

    移行オプションを一度に 1 つずつ実行する場合は、最初に実行する移行オプションを実行します。ツールを実行したら、Decision Central 移行ツールを再度実行して、次に実行する移行オプションを選択します。

  11. 特定の移行オプションを実行するようにプロンプトが表示されるたびに yes を入力します。

    POM 移行オプションで、作成しておいた外部の pom-migration.json ファイルのパスを指定する場合は、プロンプトが表示された時に yes を入力して、パスを入力します。

  12. ツールの実行が終了したら、Exit オプションを選択して移行ツールを終了します。

    指定した出力先のプロジェクトディレクトリーは、Red Hat Decision Manager 7.1 の Decision Central と互換性のある個々のリポジトリーに分かれます。新しいプロジェクトリポジトリーは、作業ディレクトリーのないベアリポジトリーであるため、コンテンツファイルを表示しません。各リポジトリーのクローンを作成してベアリポジトリーではないリポジトリーを作成し、ディレクトリーのコンテンツを確認します。

  13. Red Hat Decision Manager 7.1 の Decision Central にログインします。
  14. 各プロジェクトに対して、プロジェクトのスペースを作成または選択し、Import Project をクリックします。
  15. 新たに構築したプロジェクトリポジトリーの リポジトリー URL を入力します。この URL は、出力先へのローカルファイルパス (移行ツールを実行したワークステーションから直接インポートしている場合)、GitHub URL、またはリポジトリーをアップロードしたその他のファイルのホスト先にできます。

    例: ローカルファイルの場所

    file:///$OUTPUT_DIR/loan-application.git

    例: GitHub リポジトリーの場所

    https://github.com/$REPO/loan-application.git
    注記

    プロジェクトデータで Git hooks を使用する場合は、移行を調整する hooks スクリプトの更新が必要になる場合があります。

2.2. Decision Central ナレッジストアへの API 参照の更新

ナレッジストア REST API は Red Hat Decision Manager 7.1 では非推奨になっていますが、特定のエンドポイントは依然としてサポートされているため、Decision Central リソースを管理し続けることができます。アプリケーションのいずれかが、ナレッジストア REST API コール (/decision-central/rest/) を介して Decision Central スペース (以前は組織単位と呼ばれていました)、リポジトリー、プロジェクトと対話する場合は、Red Hat Decision Manager 7.1 でサポートされる新しいエンドポイントに従って、これらの API 参照を更新する必要があります。

手順

必要に応じて、アプリケーションコードで、http://<SERVER>:<PORT>/decision-central/rest/<ENDPOINT> 形式の Decision Central ナレッジストアへの古い REST API コールを、「サポートされるナレッジストア REST API エンドポイント」 で対応する新しいナレッジストア REST API コールに置き換えます。

Red Hat Decision Manager 7.1 でコンテンツを再構築した結果、古い Decision Central REST API コールと、Red Hat Decision Manager 7.1 で対応する REST API コールとの間で、エンドポイントが変わる可能性があります。新しいエンドポイントを使用して古い Decision Central REST API コールを置き換えるようにしてください。古いコールを置き換えるための、対応する REST API コールが一覧の中から見つからない場合は、コールが Red Hat Decision Manager 7.1 でサポートされなくなったことを示しています。

以下の例は、スペースに対する、ナレッジストア REST API コールへの更新です。

古いナレッジストア REST API コール:

http://localhost:8080/decision-central/rest/organizational-units

新しいナレッジストア REST API コール:

http://localhost:8080/decision-central/rest/spaces

2.2.1. サポートされるナレッジストア REST API エンドポイント

ナレッジストア REST API は、Red Hat Decision Manager 内のスペースおよびプロジェクトを管理し、以前の内 REST API リクエストまたは jobs についての情報を取得するエンドポイントを提供します。

2.2.1.1. スペース

ナレッジストア REST API は Decision Central のスペースを管理するための以下のエンドポイントをサポートします。ナレッジストア REST API のベース URL は http://SERVER:PORT/decision-central/rest/ です。ユーザーロール rest-all では、すべてのリクエストで HTTP 基本認証またはトークンベースの認証が必要です。

[GET] /spaces

Decision Central のすべてのスペースを返します。

サーバーの応答例 (JSON)

[
  {
    "name": "MySpace",
    "description": null,
    "projects": [
      {
        "name": "Employee_Rostering",
        "spaceName": "MySpace",
        "groupId": "employeerostering",
        "version": "1.0.0-SNAPSHOT",
        "description": "Employee rostering problem optimisation using Planner. Assigns employees to shifts based on their skill.",
        "publicURIs": [
          {
            "protocol": "git",
            "uri": "git://localhost:9418/MySpace/example-Employee_Rostering"
          },
          {
            "protocol": "ssh",
            "uri": "ssh://localhost:8001/MySpace/example-Employee_Rostering"
          }
        ]
      },
      {
        "name": "Mortgage_Process",
        "spaceName": "MySpace",
        "groupId": "mortgage-process",
        "version": "1.0.0-SNAPSHOT",
        "description": "Getting started loan approval process in BPMN2, decision table, business rules, and forms.",
        "publicURIs": [
          {
            "protocol": "git",
            "uri": "git://localhost:9418/MySpace/example-Mortgage_Process"
          },
          {
            "protocol": "ssh",
            "uri": "ssh://localhost:8001/MySpace/example-Mortgage_Process"
          }
        ]
      }
    ],
    "owner": "admin",
    "defaultGroupId": "com.myspace"
  },
  {
    "name": "MySpace2",
    "description": null,
    "projects": [
      {
        "name": "IT_Orders",
        "spaceName": "MySpace",
        "groupId": "itorders",
        "version": "1.0.0-SNAPSHOT",
        "description": "Case Management IT Orders project",
        "publicURIs": [
          {
            "protocol": "git",
            "uri": "git://localhost:9418/MySpace/example-IT_Orders-1"
          },
          {
            "protocol": "ssh",
            "uri": "ssh://localhost:8001/MySpace/example-IT_Orders-1"
          }
        ]
      }
    ],
    "owner": "admin",
    "defaultGroupId": "com.myspace"
  }
]

[GET] /spaces/{spaceName}

指定したスペースに関する情報を返します。

Expand
表2.1 リクエストパラメーター
名前説明タイプ要件

spaceName

取得するスペースの名前

文字列

必須

サーバーの応答例 (JSON)

{
  "name": "MySpace",
  "description": null,
  "projects": [
    {
      "name": "Mortgage_Process",
      "spaceName": "MySpace",
      "groupId": "mortgage-process",
      "version": "1.0.0-SNAPSHOT",
      "description": "Getting started loan approval process in BPMN2, decision table, business rules, and forms.",
      "publicURIs": [
        {
          "protocol": "git",
          "uri": "git://localhost:9418/MySpace/example-Mortgage_Process"
        },
        {
          "protocol": "ssh",
          "uri": "ssh://localhost:8001/MySpace/example-Mortgage_Process"
        }
      ]
    },
    {
      "name": "Employee_Rostering",
      "spaceName": "MySpace",
      "groupId": "employeerostering",
      "version": "1.0.0-SNAPSHOT",
      "description": "Employee rostering problem optimisation using Planner. Assigns employees to shifts based on their skill.",
      "publicURIs": [
        {
          "protocol": "git",
          "uri": "git://localhost:9418/MySpace/example-Employee_Rostering"
        },
        {
          "protocol": "ssh",
          "uri": "ssh://localhost:8001/MySpace/example-Employee_Rostering"
        }
      ]
    },
    {
      "name": "Evaluation_Process",
      "spaceName": "MySpace",
      "groupId": "evaluation",
      "version": "1.0.0-SNAPSHOT",
      "description": "Getting started Business Process for evaluating employees",
      "publicURIs": [
        {
          "protocol": "git",
          "uri": "git://localhost:9418/MySpace/example-Evaluation_Process"
        },
        {
          "protocol": "ssh",
          "uri": "ssh://localhost:8001/MySpace/example-Evaluation_Process"
        }
      ]
    },
    {
      "name": "IT_Orders",
      "spaceName": "MySpace",
      "groupId": "itorders",
      "version": "1.0.0-SNAPSHOT",
      "description": "Case Management IT Orders project",
      "publicURIs": [
        {
          "protocol": "git",
          "uri": "git://localhost:9418/MySpace/example-IT_Orders"
        },
        {
          "protocol": "ssh",
          "uri": "ssh://localhost:8001/MySpace/example-IT_Orders"
        }
      ]
    }
  ],
  "owner": "admin",
  "defaultGroupId": "com.myspace"
}

[POST] /spaces

Decision Central でスペースを作成します。

Expand
表2.2 リクエストパラメーター
名前説明タイプ要件

body

新規スペースの namedescriptionownerdefaultGroupId、およびその他のコンポーネント。

要求の本文

必須

リクエストボディ (JSON) 例

{
  "name": "NewSpace",
  "description": "My new space.",
  "owner": "admin",
  "defaultGroupId": "com.newspace"
}

サーバーの応答例 (JSON)

{
  "jobId": "1541016978154-3",
  "status": "APPROVED",
  "spaceName": "NewSpace",
  "owner": "admin",
  "defaultGroupId": "com.newspace",
  "description": "My new space."
}

[DELETE] /spaces/{spaceName}

Decision Central からスペースを削除します。

Expand
表2.3 リクエストパラメーター
名前説明タイプ要件

spaceName

削除するスペースの名前

文字列

必須

サーバーの応答例 (JSON)

{
  "jobId": "1541127032997-8",
  "status": "APPROVED",
  "spaceName": "MySpace",
  "owner": "admin",
  "description": "My deleted space.",
  "repositories": null
}

2.2.1.2. プロジェクト

ナレッジストア REST API は Decision Central のプロジェクトを管理、ビルド、デプロイメントするための以下のエンドポイントをサポートします。ナレッジストア REST API のベース URL は http://SERVER:PORT/decision-central/rest/ です。ユーザーロール rest-all では、すべてのリクエストで HTTP 基本認証またはトークンベースの認証が必要です。

[GET] /spaces/{spaceName}/projects

指定したスペースにあるプロジェクトを返します。

Expand
表2.4 リクエストパラメーター
名前説明タイプ要件

spaceName

取得するプロジェクトのスペース名

文字列

必須

サーバーの応答例 (JSON)

[
  {
    "name": "Mortgage_Process",
    "spaceName": "MySpace",
    "groupId": "mortgage-process",
    "version": "1.0.0-SNAPSHOT",
    "description": "Getting started loan approval process in BPMN2, decision table, business rules, and forms.",
    "publicURIs": [
      {
        "protocol": "git",
        "uri": "git://localhost:9418/MySpace/example-Mortgage_Process"
      },
      {
        "protocol": "ssh",
        "uri": "ssh://localhost:8001/MySpace/example-Mortgage_Process"
      }
    ]
  },
  {
    "name": "Employee_Rostering",
    "spaceName": "MySpace",
    "groupId": "employeerostering",
    "version": "1.0.0-SNAPSHOT",
    "description": "Employee rostering problem optimisation using Planner. Assigns employees to shifts based on their skill.",
    "publicURIs": [
      {
        "protocol": "git",
        "uri": "git://localhost:9418/MySpace/example-Employee_Rostering"
      },
      {
        "protocol": "ssh",
        "uri": "ssh://localhost:8001/MySpace/example-Employee_Rostering"
      }
    ]
  },
  {
    "name": "Evaluation_Process",
    "spaceName": "MySpace",
    "groupId": "evaluation",
    "version": "1.0.0-SNAPSHOT",
    "description": "Getting started Business Process for evaluating employees",
    "publicURIs": [
      {
        "protocol": "git",
        "uri": "git://localhost:9418/MySpace/example-Evaluation_Process"
      },
      {
        "protocol": "ssh",
        "uri": "ssh://localhost:8001/MySpace/example-Evaluation_Process"
      }
    ]
  },
  {
    "name": "IT_Orders",
    "spaceName": "MySpace",
    "groupId": "itorders",
    "version": "1.0.0-SNAPSHOT",
    "description": "Case Management IT Orders project",
    "publicURIs": [
      {
        "protocol": "git",
        "uri": "git://localhost:9418/MySpace/example-IT_Orders"
      },
      {
        "protocol": "ssh",
        "uri": "ssh://localhost:8001/MySpace/example-IT_Orders"
      }
    ]
  }
]

[GET] /spaces/{spaceName}/projects/{projectName}

指定したスペースにある指定したプロジェクト関する情報を返します。

Expand
表2.5 リクエストパラメーター
名前説明タイプ要件

spaceName

プロジェクトのあるスペースの名前

文字列

必須

projectName

取得するプロジェクトの名前

文字列

必須

サーバーの応答例 (JSON)

{
  "name": "Employee_Rostering",
  "spaceName": "MySpace",
  "groupId": "employeerostering",
  "version": "1.0.0-SNAPSHOT",
  "description": "Employee rostering problem optimisation using Planner. Assigns employees to shifts based on their skill.",
  "publicURIs": [
    {
      "protocol": "git",
      "uri": "git://localhost:9418/MySpace/example-Employee_Rostering"
    },
    {
      "protocol": "ssh",
      "uri": "ssh://localhost:8001/MySpace/example-Employee_Rostering"
    }
  ]
}

[POST] /spaces/{spaceName}/projects

指定したスペースにプロジェクトを作成します。

Expand
表2.6 リクエストパラメーター
名前説明タイプ要件

spaceName

新規プロジェクトが作成されるスペース名

文字列

必須

body

新規プロジェクトの namegroupIdversiondescription、およびその他のコンポーネント。

要求の本文

必須

リクエストボディ (JSON) 例

{
  "name": "Employee_Rostering",
  "groupId": "employeerostering",
  "version": "1.0.0-SNAPSHOT",
  "description": "Employee rostering problem optimisation using Planner. Assigns employees to shifts based on their skill."
}

サーバーの応答例 (JSON)

{
  "jobId": "1541017411591-6",
  "status": "APPROVED",
  "spaceName": "MySpace",
  "projectName": "Employee_Rostering",
  "projectGroupId": "employeerostering",
  "projectVersion": "1.0.0-SNAPSHOT",
  "description": "Employee rostering problem optimisation using Planner. Assigns employees to shifts based on their skill."
}

[DELETE] /spaces/{spaceName}/projects/{projectName}

指定したスペースから指定したプロジェクトを削除します。

Expand
表2.7 リクエストパラメーター
名前説明タイプ要件

spaceName

プロジェクトのあるスペースの名前

文字列

必須

projectName

削除するプロジェクトの名前

文字列

必須

サーバーの応答例 (JSON)

{
  "jobId": "1541128617727-10",
  "status": "APPROVED",
  "projectName": "Employee_Rostering",
  "spaceName": "MySpace"
}

[POST] /spaces/{spaceName}/git/clone

指定した Git アドレスから指定したスペースにプロジェクトのクローンを作成します。

Expand
表2.8 リクエストパラメーター
名前説明タイプ要件

spaceName

プロジェクトのクローンを作成するスペース名

文字列

必須

body

クローンするプロジェクトの namedescription、Git リポジトリーの userNamepassword、および gitURL

要求の本文

必須

リクエストボディ (JSON) 例

{
  "name": "Employee_Rostering",
  "description": "Employee rostering problem optimisation using Planner. Assigns employees to shifts based on their skill.",
  "userName": "baAdmin",
  "password": "password@1",
  "gitURL": "git://localhost:9418/MySpace/example-Employee_Rostering"
}

サーバーの応答例 (JSON)

{
  "jobId": "1541129488547-13",
  "status": "APPROVED",
  "cloneProjectRequest": {
    "name": "Employee_Rostering",
    "description": "Employee rostering problem optimisation using Planner. Assigns employees to shifts based on their skill.",
    "userName": "baAdmin",
    "password": "password@1",
    "gitURL": "git://localhost:9418/MySpace/example-Employee_Rostering"
  },
  "spaceName": "MySpace2"
}

[POST] /spaces/{spaceName}/projects/{projectName}/maven/compile

指定したスペースで指定したプロジェクトをコンパイルします (mvn compile と同等)。

Expand
表2.9 リクエストパラメーター
名前説明タイプ要件

spaceName

プロジェクトのあるスペースの名前

文字列

必須

projectName

コンパイルするプロジェクトの名前

文字列

必須

サーバーの応答例 (JSON)

{
  "jobId": "1541128617727-10",
  "status": "APPROVED",
  "projectName": "Employee_Rostering",
  "spaceName": "MySpace"
}

[POST] /spaces/{spaceName}/projects/{projectName}/maven/test

指定したスペースで指定したプロジェクトをテストします (mvn test と同等)。

Expand
表2.10 リクエストパラメーター
名前説明タイプ要件

spaceName

プロジェクトのあるスペースの名前

文字列

必須

projectName

テストするプロジェクトの名前

文字列

必須

サーバーの応答例 (JSON)

{
  "jobId": "1541132591595-19",
  "status": "APPROVED",
  "projectName": "Employee_Rostering",
  "spaceName": "MySpace"
}

[POST] /spaces/{spaceName}/projects/{projectName}/maven/install

指定したスペースで指定したプロジェクトをインストールします (mvn install と同等)。

Expand
表2.11 リクエストパラメーター
名前説明タイプ要件

spaceName

プロジェクトのあるスペースの名前

文字列

必須

projectName

インストールするプロジェクトの名前

文字列

必須

サーバーの応答例 (JSON)

{
  "jobId": "1541132668987-20",
  "status": "APPROVED",
  "projectName": "Employee_Rostering",
  "spaceName": "MySpace"
}

[POST] /spaces/{spaceName}/projects/{projectName}/maven/deploy

指定したスペースで指定したプロジェクトをデプロイします (mvn deploy と同等)。

Expand
表2.12 リクエストパラメーター
名前説明タイプ要件

spaceName

プロジェクトのあるスペースの名前

文字列

必須

projectName

デプロイするプロジェクトの名前

文字列

必須

サーバーの応答例 (JSON)

{
  "jobId": "1541132816435-21",
  "status": "APPROVED",
  "projectName": "Employee_Rostering",
  "spaceName": "MySpace"
}

2.2.1.3. ジョブ (API リクエスト)

ナレッジストア REST API の POSTDELETE リクエストはすべて、返されるリクエスト詳細のほかに、各リクエストに関連付けられたジョブ ID を返します。ジョブ ID を使用すると、リクエストステータスを確認したり、送信されたリクエストを削除することができます。

ナレッジストア REST API リクエストもしくは ジョブ には、以下のステータスがあります。

Expand
表2.13 ジョブステータス (API リクエストステータス)
ステータス説明

ACCEPTED

リクエストが受け入れられ、処理中である。

BAD_REQUEST

リクエストに無効なコンテンツが含まれ、受け入れられなかった。

RESOURCE_NOT_EXIST

要求されたリソース (パス) が存在しない。

DUPLICATE_RESOURCE

リソースがすでに存在する。

SERVER_ERROR

Decision Server でエラーが発生した。

SUCCESS

リクエストが正常に完了した。

FAIL

リクエストが失敗した。

APPROVED

リクエストが承認された。

DENIED

リクエストが拒否された。

GONE

以下のいずれかの理由でリクエストのジョブ ID が見つからなかった。

  • リクエストが明示的に削除された。
  • リクエストが完了してステータスキャッシュから削除されている。キャッシュが最大容量に達すると、リクエストはステータスキャッシュから削除されます。
  • リクエストが元々存在しなかった。

ナレッジストア REST API は、送信済み API リクエストの取得または削除用の以下のエンドポイントをサポートします。ナレッジストア REST API のベース URL は http://SERVER:PORT/decision-central/rest/ です。ユーザーロール rest-all では、すべてのリクエストで HTTP 基本認証またはトークンベースの認証が必要です。

[GET] /jobs/{jobId}

指定されたジョブのステータスを返します (以前に送信された API リクエスト)。

Expand
表2.14 リクエストパラメーター
名前説明タイプ要件

jobId

取得するジョブの ID (例: 1541010216919-1)

文字列

必須

サーバーの応答例 (JSON)

{
  "status": "SUCCESS",
  "jobId": "1541010216919-1",
  "result": null,
  "lastModified": 1541010218352,
  "detailedResult": [
    "level:INFO, path:null, text:Build of module 'Mortgage_Process' (requested by system) completed.\n Build: SUCCESSFUL"
  ]
}

[DELETE] /jobs/{jobId}

指定したジョブ (以前に送信された API リクエスト) を削除します。ジョブがまだ処理されていない場合は、このリクエストはジョブをジョブキューから削除します。実行中のジョブがキャンセルされたり停止されたりすることはありません。

Expand
表2.15 リクエストパラメーター
名前説明タイプ要件

jobId

削除するジョブの ID (例: 1541010216919-1)

文字列

必須

サーバーの応答例 (JSON)

{
  "status": "GONE",
  "jobId": "1541010216919-1",
  "result": null,
  "lastModified": 1541132054916,
  "detailedResult": [
    "level:INFO, path:null, text:Build of module 'Mortgage_Process' (requested by system) completed.\n Build: SUCCESSFUL"
  ]
}

2.3. Decision Central での移行の確認

Decision Central のデータをすべて移行した後に、Red Hat Decision Manager 7.1 の新しい Decision Central で移行が成功していることを確認します。

前提条件/事前作業

Decision Central 移行ツールを使用して、Red Hat JBoss BRMS 6.4 からプロジェクトデータを移行している。

手順

  1. お使いのインストールに応じて、Red Hat Decision Manager 7.1 を起動します。

    例: Red Hat JBoss EAP を使用したインストール

    $ ~/$EAP_HOME/bin/standalone.sh -c standalone-full.xml
  2. お使いの認証情報を使用して Decision Central にログインして、Menu → Design → Projects に移動します。
  3. すべてのプロジェクトが移行しているのを確認し、各プロジェクトを選択して、移行したプロジェクトアセットを確認します。
  4. 各プロジェクトに対して、プロジェクトウィンドウの右上にある Build をクリックしてから Deploy をクリックし、移行したプロジェクトデータおよび設定した Decision Server を検証します。

2.3.1. Decision Central 移行問題のトラブルシューティング

Red Hat Decision Manager 7.1 への Decision Central の移行で問題が発生したら、以下の点を推奨のトラブルシューティングの内容を確認してください。

  • プロジェクトデータが Decision Central にない場合は、Red Hat Decision Manager 7.1 の.niogit ディレクトリーに再構築したデータが含まれており、Red Hat Decision Manager 7.1 の正しいインストール場所 (例: ~/$EAP_HOME/bin/) にあることを確認します。
  • プロジェクトがビルドできない場合はプロジェクトファイル pom.xml を開き、http://<SERVER>:<PORT>/decision-central/maven2/ リポジトリーが存在する場合は削除します。このリポジトリーが存在すると、Red Hat Decision Manager 7.1 でプロジェクトが適切にビルドできません。このリポジトリーに保存するプロジェクトデータが含まれている場合は、データ用の新しいリポジトリーを作成し、そのリポジトリーを pom.xml ファイルの依存関係として追加します。

    削除する pom.xml ファイルの例:

    <repository>
      <id>guvnor-m2-repo</id>
      <name>Guvnor M2 Repo</name>
      <url>http://localhost:8080/decision-central/maven2/</url>
    </repository>
  • Decision Server にプロジェクトをデプロイできない場合は、Decision Server インストールおよび設定を確認します。詳細は『Planning a Red Hat Process Automation Manager installation』を参照してください。
  • 移行問題を解決できない場合は、新しい Red Hat Decision Manager 7.1 インストールで移行プロセスを再実行してください。

第3章 Java プロジェクトの移行

Red Hat JBoss BRMS 6.4 (Eclipse など) の Java コードで開発したプロジェクトにも、Red Hat Decision Manager 7.1 に対する修正が必要です。各プロジェクトの pom.xml ファイルで依存関係を更新し、プロジェクトを再構築する必要があります。Java クライアントアプリケーションを移行する場合は、各プロジェクトの pom.xml ファイルで依存関係を更新する必要もあります。お使いのアプリケーションで、埋め込み Red Hat JBoss BPM Suite エンジン (jBPM、Drools、OptaPlanner) を使用する場合は、この変更によりエンジンも更新されます。アプリケーションは Process Server を呼び出すため、API クライアントライブラリーが更新されます。

3.1. Java プロジェクトの依存関係の更新

お使いの Java プロジェクトの依存関係をいくつか更新して、Red Hat Decision Manager 7.1 への移行を準備する必要があります。

前提条件/事前作業

Red Hat カスタマーポータル から Red Hat Decision Manager 7.1 の Maven リポジトリーをダウンロードしていて、ローカルの Maven インストールに対して (ローカルまたはリモートのリポジトリーとして) 利用可能になっている。

手順

  1. プロジェクトの pom.xml ファイルを開き、以下のグループの依存関係から <version> タグを削除します。

    • org.kie
    • org.drools
    • org.jbpm
    • org.optaplanner
  2. <dependencyManagement> セクション内の <dependencies> タグの下に、Red Hat Business Automation 部品表 (BOM) の依存関係を追加します。

    <dependency>
      <groupId>com.redhat.ba</groupId>
      <artifactId>ba-platform-bom</artifactId>
      <version>7.1.0.GA-redhat-00002</version>
      <scope>import</scope>
      <type>pom</type>
    </dependency>

    Red Hat Business Automation BOM は、Red Hat Decision Manager と Red Hat Process Automation Manager の両方に適用されます。BOM ファイルを追加すると、提供される Maven リポジトリーから、推移的依存関係の適切なバージョンがプロジェクトに追加されます。BOM <version> は、Maven リポジトリーの com.redhat.ba:ba-platform-bom Red Hat Business Automation アーティファクトのバージョンです。アーティファクトのバージョンは、リポジトリーに入り、maven-repository/com/redhat/bom/ba/ba-platform-bom ディレクトリーに移動すると確認できます。

  3. コードに Drools CDI アノテーション (@KReleaseId@KContainer@KBase@KSession) が使用されている場合は、以下の依存関係も追加します。

    <dependency>
      <groupId>org.drools</groupId>
      <artifactId>drools-cdi</artifactId>
    </dependency>

    アノテーションを処理する CDI 拡張子が別のモジュールを使用して定義されるようになったので、この依存関係が必要です。この依存関係がないと、アノテーションは機能しません。

  4. (必要に応じて) 古い org.guvnor 依存関係を、新しい org.uberfire 依存関係に置き換えます。

    古い org.guvnor 依存関係:

    <dependency>
      <groupId>org.guvnor</groupId>
      <artifactId>guvnor-rest-client</artifactId>
    </dependency>

    新しい org.uberfire 依存関係:

    <dependency>
      <groupId>org.uberfire</groupId>
      <artifactId>uberfire-rest-client</artifactId>
    </dependency>
  5. プロジェクトアーティファクトのバージョンを更新し、pom.xml ファイルを保存します。

3.2. Java プロジェクトの移行の確認

すべての Java プロジェクトデータを移行したら、Java プロジェクトを再構築して、移行に成功したことを確認します。

前提条件/事前作業

  • Java プロジェクトの依存関係を更新している。
  • Maven 3.x 以降をインストールしている。
  • Java 8 以降をインストールしている。

手順

  1. 通常の Maven ビルドを使用して各 Java プロジェクトを再構築します。

    $ mvn clean install
  2. 各ビルドのプロジェクトデータをすべて確認し、移行に成功したことを確認します。

    ビルドエラーが発生したら、プロジェクトの依存関係が適切に更新されていることを確認します。お使いの Java プロジェクトに影響する可能性があるその他のプロジェクト変更は「4章移行に関するその他の考慮事項」を参照してください。

第4章 移行に関するその他の考慮事項

Red Hat Decision Manager 7.1 には、移行時に注意する必要がある API、ルールロジック、および Red Hat Business Optimizer 機能への変更が含まれます。このような変更は、通常、製品バージョン間の後方互換性となりますが、移行時にビルドおよび移行のエラーを解決する作業が必要になる場合があります。

Red Hat Decision Manager 7.1 への移行の一環として、以下の変更を確認して、お使いのプロジェクトで発生した不一致またはエラーに対応します。

4.1. Red Hat Decision Manager 7.1 における Red Hat Business Optimizer の変更

Red Hat Business Optimizer は、Red Hat Decision Manager における埋め込みプランニングエンジンで、計画問題を最適化します。Red Hat Business Optimizer は、定期的に更新されるコミュニティーの OptaPlanner プロジェクトをベースにしており、最新の Red Hat Business Optimizer 機能に合わせてコード変更が必要になる場合があります。最新の OptaPlanner 変更と移行要件の概要は「OptaPlanner upgrade recipe archive」を参照してください。OptaPlanner のバージョン 7.0 から 7.11 へのアップグレード情報は、Red Hat JBoss BRMS 6.4 から Red Hat Decision Manager 7.1 へのアップグレードに適しています。

Red Hat Decision Manager 7.1 では、Decision Central で Red Hat Business Optimizer 設定をいくつか更新して、最新の OptaPlanner 変更を適用する必要があります。

4.1.1. Decision Central での Red Hat Business Optimizer アセットの設定の更新

Decision Central にソルバー設定アセット (.solver.xml ファイル) またはソリューション関連のデータオブジェクトが存在する場合は、Red Hat Decision Manager 7.1 でこのアセットにいくつかの更新を行い、最新の Red Hat Business Optimizer 変更を適用する必要があります。

前提条件/事前作業

Decision Central データが、Red Hat JBoss BRMS 6.4 から Red Hat Decision Manager 7.1 へ移行している。移行手順は「2章Decision Central のデータ移行」を参照してください。

手順

  1. Red Hat Decision Manager 7.1 の Decision Central にログインします。
  2. Decision Central で、MenuDesignProjects に移動し、プロジェクト名を選択します。
  3. サーバー設定アセット (.solver.xml ファイル) が存在する場合は開きます。
  4. ソルバー設定デザイナーで、変更せずに Save をクリックします。この手順は、Red Hat Decision Manager 7.1 でソルバー設定アセットに新しいコードを生成するのに必要です。その他のソルバー設定アセットでもこの手順を行います。
  5. 必要に応じて、Project Explorer (左側のメニュー) の Data Objects の下で、Planning Solution として設定したデータオブジェクト (.java ファイル) を開きます。

    このデータオブジェクトにこの設定が選択されていることを確認する場合は、データオブジェクトデザイナーの右側にある OptaPlanner アイコンをクリックします。Planning Solution が選択されていないと、この手順は適用されません。

  6. データオブジェクトデザイナーの general properties で、Superclass ドロップダウンオプションを Nothing selected に設定します。この設定は、Red Hat Decision Manager 7.1 の Red Hat Business Optimizer では必要なくなりました。
  7. データオブジェクトデザイナーの右側で、OptaPlanner アイコンをクリックして、Planner Settings を表示します。Planning Solution オプションが選択されているはずです (選択されていないと、この手順は適用されません)。
  8. No selected を選択し、Planning Solution を再度選択して、Solution Score Type を指定します。この手順は、Red Hat Decision Manager 7.1 の計画問題に新しいコードを生成するために必要です。
  9. データオブジェクトデザイナーで Save をクリックし、Planning Solution として設定したその他のデータオブジェクトに同じ変更を加えます。

4.2. Red Hat Decision Manager 7.1 での API の変更

Red Hat JBoss BRMS 6.4 から Red Hat Decision Manager 7.1 への API の変更の多くは後方互換性であり、移行には影響しません。ただし、以下の表では、API におけるクラス変更を挙げており、場合によっては互換性がない可能性があります。

この変更によりビルドエラーまたは移行エラーが発生したら、Red Hat カスタマーポータルの API の変更リスト を確認し、必要に応じてコードを更新します。

Expand
表4.1 Red Hat Decision Manager 7.1 での API の変更 (オプション)
API説明変更したクラス

Drools コア

(drools-core)

デシジョンエンジン

  • org.drools.core.command.*
  • org.drools.core.common.*

KIE API

(kie-api)

KIE グループからの全プロジェクト用のメイン API

  • org.kie.api.task.*
  • org.kie.api.executor.*
  • org.kie.api.concurrent.*
  • org.kie.api.builder.*
  • org.kie.api.command.*
  • org.kie.api.runtime.*

KIE サーバー API

(kie-server-api)

一般的な Decision Server API

  • org.kie.server.api.commands.*
  • org.kie.server.api.marshalling.*
  • org.kie.server.api.model.*
  • org.kie.server.api.rest.RestURI (定数がわずかに変更され、先頭の / が省略されます)

KIE サーバークライアント API

(kie-server-client)

Decision Server クライアントの API

  • org.kie.server.client.SolverServicesClient
  • org.kie.server.client.UIServicesClient
  • org.kie.server.client.admin.ProcessAdminServicesClient
  • org.kie.server.client.ProcessServicesClient
  • org.kie.server.client.QueryServicesClient
  • org.kie.server.client.JobServicesClient
  • org.kie.server.client.UserTaskServicesClient
  • org.kie.server.client.KieServicesClient
  • org.kie.server.client.KieServicesConfiguration
  • org.kie.server.client.CaseServicesClient

KIE サーバーコントローラー API

(kie-server-controller-api)

Decision Manager コントローラーの API

  • org.kie.server.controller.api.service.*

KIE サーバーコントローラー REST API

(kie-server-controller-rest)

Decision Manager コントローラーの REST API

  • org.kie.server.controller.rest.RestSpecManagementServiceImpl
  • org.kie.server.controller.rest.RestKieServerControllerImpl

4.3. Red Hat Decision Manager 7.1 のロジックの変更

Red Hat Decision Manager 7.1 における以下のロジック変更を留意してください。

  • Red Hat JBoss BRMS 6.4 では、ルールが累積パターンの sum 関数を実行する場合、返される結果は入力のデータタイプにかかわらず必ず double 型でした。Red Hat Decision Manager 7.1 では、sum 関数を実行する入力のデータタイプが維持されます。この機能拡張により、sum 関数からより正確な結果が得られます。以下の例では、accumulate 関数で得られる結果のデータタイプは double 型ではなく Long 型になります。

    Long(...) from accumulate(..., sum($p.getLongWeight()))

    Red Hat JBoss BRMS 6.4 プロジェクトのルールに累積パターンの sum 関数が含まれている場合は、この関数を探して確認してください。Red Hat BRMS 6.4 ではこの関数は double 型のデータタイプを返していましたが、Red Hat Decision Manager 7.0 では入力値のデータタイプを返します。

  • 累積パターンと一致するファクトがない場合、Red Hat Decision Manager 7.1 では min および max の accumulate 関数は、+/-Integer.MAX_VALUE ではなくnull を返します。したがって、Red Hat JBoss BRMS 6.4 の場合とは異なり、Red Hat Decision Manager 7.1 ではルールの累積が一致せず、ルールは実行されません。
  • implementation=Java 設定が指定されたビジネスルールタスクを含むビジネスプロセスは、検証の要件がより厳しいため、Red Hat Decision Manager 7.1 ではコンパイルされません。この制限に関するコンパイルエラーを解決するには、実装設定を implementation=##unspecified に指定するか、implementation 属性を削除してください。

第5章 次のステップ

付録A バージョン情報

本書の最終更新日: 2018 年 11 月 1 日 (木)

法律上の通知

Copyright © 2019 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る