ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Real-Time Decisionsプラットフォーム開発者ガイド
11g リリース1 (11.1.1)
B72429-01
  目次へ移動
目次

前
 
次
 

14 インライン・サービスのデプロイ、テストおよびデバッグ

この章では、インライン・サービスのデプロイ、テストおよびデバッグを行う方法について説明します。

この章には次のトピックが含まれます:

14.1 インライン・サービスのデプロイ

構成の済んだインライン・サービスは、ローカルにデプロイするか、テストのためにテスト環境にデプロイします。


注意:

WebSphere上で稼働するOracle RTDシステムにインライン・サービスをデプロイする場合は、インライン・サービスとWebSphereの管理レベルの両方で親クラスのロードを無効化しておく必要があります。

インライン・サービスでは、アプリケーション・パラメータ「親が最初のクラスロード」を選択しないでください。詳細は、第13.4.1.1項「デバッグ・オプションの使用」を参照してください。

WebSphereの管理レベルで必要な設定については、Oracle Fusion Middlewareサード・パーティ・アプリケーション・サーバー・ガイドの親クラスのロードの無効化に関する項を参照してください。


インライン・サービスは、開発、QAおよび本番の3つの状態にデプロイできます。

テスト段階ではQA状態にデプロイしてから、テスト後に本番状態にデプロイできます。本番状態にデプロイする際は、「インライン・サービスのロックの開放」を選択します。インライン・サービスをビジネス・ユーザー向けにデプロイすると、ビジネス・ユーザーもインライン・サービスを更新および再デプロイできるようになります。


注意:

デシジョン・スタジオを使用する方法およびコマンドラインのデプロイ・ツールを使用する方法によりインライン・サービスをデプロイできます。

この項では、デシジョン・スタジオによるデプロイについて説明します。コマンドラインによるデプロイの詳細は、『Oracle Fusion Middleware Oracle Real-Time Decisions管理者ガイド』の「インライン・サービスのコマンドライン・デプロイ」を参照してください。


インライン・サービスをデプロイするには、「プロジェクト」→「デプロイ」メニュー項目を使用するか、タスク・バーの「デプロイ」アイコンをクリックします。

「デプロイ」アイコンは矢印がサーバーを指しているアイコンです。

「デプロイ」ダイアログ・ボックスが表示されます。「デプロイ」ダイアログ・ボックスには、図14-1に示すオプションがあります。

図14-1 「デプロイ」ダイアログ・ボックス

図14-1の説明が続きます
「図14-1 「デプロイ」ダイアログ・ボックス」の説明


注意:

インライン・サービスのデプロイには、サーバー・クラスタに対する適切な権限が必要です。クラスタ権限の詳細は、『Oracle Fusion Middleware Oracle Real-Time Decisions管理者ガイド』を参照してください。


表14-1は、「デプロイ」ダイアログ・ボックスに表示される各オプションについて説明したものです。

表14-1 「デプロイ」ダイアログ・ボックスのオプション

オプション名 説明

プロジェクト

Real-Time Decision Serverにデプロイするプロジェクトを選択します。

インライン・サービス

このプロジェクトに含まれているインライン・サービス。

スタディ名

このインライン・サービスのスタディ名を入力します。各インライン・サービスの学習は、スタディ名に関連付けられています。インライン・サービスを再デプロイして学習を再開するには、新しいスタディ名を付けてデプロイします。開発、QAおよび本番で別々のスタディ名を使用できます。

デプロイメント状態

デフォルトでは、インライン・サービスのデプロイの状態には、開発、QA、本番の3つがあります。他のユーザーにわかるように、「デプロイメント状態」には、インライン・サービスの状態(開発、テストまたは本番)が示されています。

システム管理者が、カスタムのデプロイ状態を作成している場合があります。

サーバー

デプロイ先のサーバーおよびポートを入力するには、このオプションをクリックします。「サーバー」ダイアログ・ボックスで、デプロイ先のサーバー・クラスタに対してデプロイ権限を持つ有効なユーザー名およびパスワードを入力します。クラスタに対する認可は、管理者がJConsoleを使用して付与します。

インライン・サービスのロックの開放

デプロイされたインライン・サービスは自動的にロックされ、再デプロイは、デプロイを行ったユーザーしかできません。開発とテストが完了したインライン・サービスを本番環境にデプロイする際、「インライン・サービスのロックの開放」を選択すると、デシジョン・センターのユーザーがインライン・サービスを変更して再デプロイできるようになります。

アクティブ・セッションの終了

デプロイしているインライン・サービスが本番環境にある場合は、アクティブなセッションが存在している場合があります。アクティブなセッションが存在している状態で新しいバージョンのインライン・サービスをデプロイすると、古いバージョンが維持され、アクティブなセッションにサービスを提供し続けます。テスト中の場合は、アクティブ・セッションの終了を選択してアクティブなセッションを終了します。本番のインライン・サービスでは、このオプションを選択解除したままにして、アクティブなセッションが存在するとき、本番バージョンのインライン・サービスで実行され続けるようにします。新規のセッションは新しいバージョンにルーティングされ、古いバージョンはアクティブなセッションがすべて完了すると終了します。

デプロイ後にアクティブ化しない

このオプションは、インライン・サービスをサーバーにデプロイしてもプロセスを開始しないときに使用します。後日インライン・サービスをアクティブにする場合は、Fusion Middleware Controlを使用します。Fusion Middleware Controlの詳細は、『Oracle Fusion Middleware Oracle Real-Time Decisions管理者ガイド』を参照してください。



注意:

カスタム・ページのあるインライン・サービスが特定のデプロイ状態(開発など)にデプロイされると、その状態のカスタム・ページのリストは、それ以前に任意のデプロイ状態にデプロイされていた同じインライン・サービスのカスタム・ページのリストよりも優先されます。


デプロイ済のインライン・サービスを削除する方法など、インライン・サービスの管理の概要は、 『Oracle Fusion Middleware Oracle Real-Time Decisions管理者ガイド』のインライン・サービスのデプロイ後の管理に関する項を参照してください。

14.2 Real-Time Decision Serverへの接続

インライン・サービスをデプロイまたはダウンロードする際、またはデータ・ソースをインポートする際には、Real-Time Decision Serverに接続する必要があります。接続には、インストール時に作成したユーザー名およびパスワードを使用するか、管理者にユーザー名およびパスワードを問い合せてください。httpsを使用したセキュアな方法で接続するには、「セキュアな接続」を選択します。

図14-2に「サーバーへの接続」ダイアログ・ボックスを示します。

図14-2 「サーバーへの接続」ダイアログ・ボックス

図14-2の説明が続きます
「図14-2 「サーバーへの接続」ダイアログ・ボックス」の説明

14.3 インライン・サービスの再デプロイ

デプロイされているインライン・サービスを変更する場合は、その変更と、ビジネス・ユーザーにより行われている可能性のある変更の両方が失われないよう、次の手順に従うことが重要です。デプロイされているインライン・サービスを変更する場合、ツールバーの「ダウンロード」アイコンを使用してReal-Time Decision Serverからダウンロードできます。次の方法を使用します。

  1. デプロイされている目的のインライン・サービスを編集しているビジネス・ユーザーがいないことを確認します。

  2. ダウンロードする場合は必ずインライン・サービスをロックして、編集中にビジネス・ユーザーが変更できないようにします。

  3. デシジョン・スタジオで変更作業を行います。

  4. インライン・サービスを再デプロイしてロックを解除します。

インライン・サービスがロックされている間、ビジネス・ユーザーはそのデプロイされているインライン・サービスを表示できますが、編集はできません。


注意:

インライン・サービスの機能を強化するにはデシジョン・スタジオを使用する必要がありますが、インライン・サービスを再デプロイする場合はデシジョン・スタジオまたはコマンドライン・デプロイ・ツールのどちらでも使用できます。詳細は、『Oracle Fusion Middleware Oracle Real-Time Decisions管理者ガイド』の「インライン・サービスのコマンドライン・デプロイ」を参照してください。


14.4 インライン・サービスのテストおよびデバッグ

Oracle RTDには、インライン・サービスのテストやデバッグを行うために次の機能が用意されています。

この項には次のトピックが含まれます:

ロード・ジェネレータは、ユーザーをシミュレートしてインライン・サービスのデバッグおよびベンチマークを行うためのツールです。ロード・ジェネレータは、インライン・サービスのテストとパフォーマンスの特徴付けの両方に使用します。

ロード・ジェネレータの詳細は、第15章「ロード・ジェネレータについて」を参照してください。

14.4.1 「問題」ビューについて

「問題」ビューでは、インライン・サービスの構築時にコンパイル・エラーや検証エラーを特定できます。コンパイル・エラーをダブルクリックすると、Javaパースペクティブが表示され、エラーが強調表示されます。

検証エラーをダブルクリックすると、インライン・サービス・パースペクティブが表示され、検証エラーのある要素に対する要素エディタも表示されます。

14.4.2 「テスト」ビューの使用

デシジョン・スタジオには、個々の統合点をテストできる「テスト」ビューがあります。「テスト」ビューでは、統合点をコールする運用システムをシミュレートできます。「テスト」ビューには、インライン・サービス内の統合点がすべて含まれるドロップダウン・リストがあります。統合点をテストするには、セッション・キーおよびリクエスト・データに値を挿入し、「実行」アイコンをクリックして実行します。統合点についての情報は、「結果」、「トレース」、「ログ」の3つのサブタブに表示されます。

「結果」タブには、アドバイザの統合点をコールした結果が示されます。結果を返すのはアドバイザのみです。インフォーマントのテスト、およびアドバイザとインフォーマント両方の統合点のデバッグには、logInfo()を使用します。

logInfo()文は、デバッグ手段として、コード内の様々な箇所で使用できます。この文は、アドバイザ、インフォーマント、デシジョン、関数などを、要素内で使用する際に役立ちます。この文は、要素の論理ペインに挿入し、様々な段階でログ・データに表示する手段として使用できます。

この項には次のトピックが含まれます:

14.4.2.1 logInfo()の使用

「ログ」タブには、すべてのlogInfo()文が表示されます。

logInfoメソッドは、デシジョン・スタジオのオンライン・ヘルプで説明されているロギングAPIの一部です。com.sigmadynamics.supportClass SDOBaseクラスには、情報、デバッグ、警告、エラーの各レベルでメッセージをログに記録するためのメソッドが含まれています。一般的に、これらのロギング・メソッドは、文字列などの引数をパラメータとして受け入れます。

logInfoの使用例を2つ、次に示します。

logInfo("Installation date = " + DateUtil.toString(session().getCustomer().
getInstallationDate());

logInfo("Customer age = " + session().getCustomer().getAge() );

注意:

すべてのセッション・エンティティ属性の値または指定されたエンティティとその属性の値をOracle RTDのログに出力する方法の詳細は、第13.6.21項「エンティティ属性のロギングの拡張」を参照してください。


14.4.2.2 着信リクエスト・データのテスト

統合点のテスト時に、次のメソッドを使用して着信リクエスト・データを確認できます。入力されたパラメータがセッション属性にマップされる場合は、そのパラメータにgetメソッドがあります。

request.get$()

この$は、先頭が大文字のパラメータ名です。

この属性がマップされない場合は、パラメータのフィールド名を使用して、同じ結果をもたらすメソッドがあります。

String request.getStringValue(fieldName)
SDStringArray request.getStringArrayValue(fieldName)
boolean request.isArgPresent(fieldName)

送信レスポンス・データは常に、SDChoiceArrayに格納されます。

SDChoiceArray choices = null;

デシジョンは統合点によって実行され、選択肢が格納されます。

if (session().isControlGroup()) {
  choices = RandomChoice.execute();
} else {
  choices = SelectOffer.execute();
}

選択肢を調べるには、配列から取得し、getSDOIdまたはgetSDOLabelを使用します。

if (choices.size() > 0) {
  Choice ch = choices.get(0);
  ch.getSDOId();
}

これを行うために最適な場所が、デシジョンの選択後ロジック論理です。デシジョンの実行後に選択後ロジックが実行されます。

14.4.3 システム・ログを使用してインライン・サービスのテストとデバッグを行う方法

システム・ログは、インライン・サービスのテストとデバッグおよびパフォーマンスの監視とチューニングに役立ちます。

Oracle RTDの実行時ログ・ファイルの名前は、一般に次のとおりです。

  • RTD_RUNTIME_HOME\log\server_name-diagnostic[-<n>].log

server_nameは、Oracle RTDが実行されているWebLogic Serverです。

詳細は、『Oracle Fusion Middleware Oracle Real-Time Decisions管理者ガイド』のシステム・ログ・ファイルと構成ファイルに関する項を参照してください。