Rule Execution Server REST API の使用

意思決定サービスをターゲットの Decision Serverに配布するには、対応する RuleApp とその XOM をソース・クラウド環境からダウンロードし、REST API を使用して RuleApp および XOM バイナリー・ファイルをターゲットの Decision Serverに配置します。 その後、この Decision Serverで意思決定サービスを実行できます。

開始前に

クラウド環境へのアクセス権限があり、意思決定サービスを配布している必要があります。

このタスクについて

以下の手順に示すコマンド例では、 cURL を使用してクラウド・サーバーで認証し、クラウド・サーバーから別の Decision Serverにアーカイブ・ファイルを転送します。 別のプログラムを使用して、認証資格情報のサーバーへの送信、REST API のアクセス、およびクラウド・サーバーからのファイルのダウンロードを行うことができます。

手順

  1. クラウド環境から RuleApp をダウンロードします。

    コマンドには、基本認証資格情報と、RuleApp へのパスが含まれています。 ユーザー名とパスワード変数を基本認証資格情報で置換します。 クラウド・テナントのホスト URL を指定し、パスに RuleApp の正しい名前を指定します。

    curl -k -u username@company_name.com:password server_URL/odm/cloud_env/res/api/v1/ruleapps/ruleapp_name/1.0/archive --output ruleapp_name.jar
  2. XOM をダウンロードします。
    1. 前のコマンドの出力の ruleset.managedxom.uris プロパティーで、管理対象 XOM URI を探します。 このプロパティーは、RuleApp 詳細を取得します。
    2. プロパティーが XOM リソース (resuri) を指している場合は、このステップをスキップします。 これがライブラリー (reslib) を指している場合は、前のコマンドの出力内で content プロパティーを調べて XOM URI を確認します。 content プロパティーは、ライブラリー詳細を取得します。 前のコマンドで返されたライブラリーの名前とバージョンを使用します。
      curl -k -u username@company_name.com:password server_URL/odm/cloud_env/res/api/libraries/library_name/1.0
    3. XOM をダウンロードします。 前のコマンドで返されたリソースの名前とバージョンを使用します。
      curl -k -u username@company_name.com:password server_URL/odm/cloud_env/res/api/xoms/xom_name/1.0/bytecode --output xom_name.zip
  3. XOM をアップロードします。
    curl -X POST -k -u admin_username:admin_password server_URL/res/api/v1/xoms/xom_name.zip --data-binary @xom_name.zip  -H "Content-Type:application/octet-stream"
    RuleApp が XOM ではなくライブラリーを参照する場合、ライブラリーを再作成し、含まれているはずの XOM リソースを指定します。
    curl -X POST -k -u admin_username:admin_password server_URL/res/api/v1/libraries/library_name1.0 -d "resuri://xom_name.zip/1.0"  -H "Content-Type:text/plain"
    注: リソースをダウンロードしてアップロードするときに、リソースの名前を保持します。
  4. RuleApp を他の Decision Serverにアップロードします。

    コマンドには、 Decision ServerRule Execution Serverコンソールにアクセスするためのユーザー名、パスワード、 URL が含まれています。

    curl -X POST -k -u admin_username:admin_password server_URL/res/api/v1/ruleapps --data-binary @ruleapp_name.jar  -H "Content-Type:application/octet-stream"
  5. ルール・セットの REST API を使用して、ルール・セット (意思決定サービス) の実行をテストします。
    curl -X POST -k -u username@company_name.com:password server_URL/DecisionService/rest/v1/ruleappname/ruleappversion/rulesetname/rulesetversion -d jsonpayload -H "Content-Type:application/json"