意思決定サービスをターゲットの Decision Serverに配布するには、対応する RuleApp とその XOM をソース・クラウド環境からダウンロードし、REST API を使用して RuleApp および XOM バイナリー・ファイルをターゲットの Decision Serverに配置します。 その後、この Decision Serverで意思決定サービスを実行できます。
開始前に
クラウド環境へのアクセス権限があり、意思決定サービスを配布している必要があります。
このタスクについて
以下の手順に示すコマンド例では、 cURL
を使用してクラウド・サーバーで認証し、クラウド・サーバーから別の Decision Serverにアーカイブ・ファイルを転送します。 別のプログラムを使用して、認証資格情報のサーバーへの送信、REST API のアクセス、およびクラウド・サーバーからのファイルのダウンロードを行うことができます。
手順
- クラウド環境から 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
- XOM をダウンロードします。
- 前のコマンドの出力の ruleset.managedxom.uris プロパティーで、管理対象 XOM URI を探します。 このプロパティーは、RuleApp 詳細を取得します。
- プロパティーが 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
- 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
- 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"
注: リソースをダウンロードしてアップロードするときに、リソースの名前を保持します。
- RuleApp を他の Decision Serverにアップロードします。
コマンドには、 Decision Serverの Rule 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"
- ルール・セットの 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"