ヘッダーをスキップ
Oracle® Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド
11g リリース1 (11.1.1.5.0)
B55916-05
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

8  SOAコンポジット・アプリケーションの管理

この章では、SOAコンポジット・アプリケーションの管理方法について説明します。これには、アプリケーションのテスト・インスタンスの起動、フォルト管理、ポリシー管理、インスタンスの状態管理、およびSOAコンポジット・アプリケーションのテストが含まれます。

この章の内容は、次のとおりです。


注意:

このガイドでは、「SOAインフラストラクチャ」メニュー、ナビゲータの「soa-infra」アイコン、「SOAコンポジット」メニュー、および「SOAパーティション」メニューからOracle Enterprise Manager Fusion Middleware Controlの各ページにアクセスする手順について説明しています。また、ファーム・ホーム・ページからも多くのページにアクセスできます。詳細は、第2.2.6項「SOAインフラストラクチャまたはSOAコンポジット・アプリケーションのホーム・ページへの移動」を参照してください。

8.1 SOAコンポジット・アプリケーションのテスト・インスタンスの起動

この章では、デプロイ済SOAコンポジット・アプリケーションのテスト・インスタンスを起動する方法について説明します。

SOAコンポジット・アプリケーションのテスト・インスタンスを起動する手順は、次のとおりです

  1. 次のいずれかのオプションを使用して、このページにアクセスします。

    SOAインフラストラクチャのメニューから... ナビゲータのSOAフォルダから... 「コンポジット」メニューからアクセスする手順
    1. 「ホーム」を選択します。
    2. 「デプロイ済コンポジット」タブを選択します。

    3. 「コンポジット」セクションで、特定のSOAコンポジット・アプリケーションを選択します。

    4. ページ上部の「テスト」をクリックします。

    1. 「soa-infra」の下にある、特定のSOAコンポジット・アプリケーションを選択します。
    2. ページ上部の「テスト」をクリックします。

    1. 「サービスのテスト」「クライアント」の順に選択します。


    注意:

    次の場合は、「テスト」ボタンが無効になります。
    • SOAコンポジット・アプリケーションのリビジョンが停止状態またはリタイア状態の場合。

    • アプリケーションに対して使用可能なWebサービスがない場合。このページからテストできるのは、Webサービス・バインディングがあるサービスを含むコンポジットのみです。


  2. コンポジットに複数のサービスが含まれる場合は、「テスト」ボタンにドロップダウン・リストが表示され、テストするサービスを選択できます。

    インスタンスを起動するための「Webサービスのテスト」ページが表示されます。

    このページには、インスタンスを起動するための様々なオプションが用意されています。「引数を入力」セクションでは、少なくとも、使用するXMLペイロード・データを指定する必要があります。

    テスト対象として選択したサービスに基づいて、WSDLファイルおよびエンドポイントURLが自動的に移入されます。エンドポイントURLはWSDLから導出され、そのサービスを異なる場所で起動する場合は上書きできます。選択したサービスに複数のポートがある場合は、ドロップダウン・リストが表示されます。そうでない場合は、現在のサービスのポートが表示されます。

    sca_test_payload.gifの説明が続きます
    図版sca_test_payload.gifの説明

  3. 次の各フィールドではデフォルト値をそのまま使用するか、使用するテスト環境に適した値を入力します。

  4. WSDLファイルを変更する場合は、「WSDL解析」をクリックしてWSDLファイルをリロードします。

    リビジョン番号が含まれていないWSDL URLは、デフォルトのコンポジット・アプリケーションによって処理されます。たとえば、HelloWorldという名前のコンポジット・アプリケーションにリビジョンが2つ存在する場合は、次のエンドポイントが公開されます。

    • http://host:port/soa-infra/services/default/HelloWorld!1.0/client

    • http://host:port/soa-infra/services/default/HelloWorld!2.0/client

    ただし、Webサービスの起動用に指定したWSDLにリビジョンの詳細が含まれていない場合(たとえば、http://host:port/soa-infra/services/default/HelloWorld/client)は、デフォルトとして設定されたコンポジット・リビジョンによって処理されます。

  5. エンドポイントURLを編集する場合は、「エンドポイントURLの編集」をクリックして適切に変更します。

    「Webサービスのテスト」ページの下部には、「リクエスト」タブがあります。このタブでは、セキュリティ、サービスのクオリティ、HTTPトランスポート、ストレス・テスト・オプションおよびXML入力引数を指定できます。

    sca_test_payload2.gifの説明が続きます
    図版sca_test_payload2.gifの説明

    「セキュリティ」セクションには、メッセージを使用してセキュリティ・プロパティを渡すための次のフィールドがあります。

    フィールド 説明
    WSSユーザー名トークン WSセキュリティのSOAPヘッダーを挿入します。「ユーザー名」フィールドは必須で、「パスワード」フィールドはオプションです。
    HTTP Basic認証 ユーザー名とパスワード資格証明をHTTPトランスポート・ヘッダーに挿入します。「ユーザー名」および「パスワード」フィールドは両方とも必須です。
    カスタム・ポリシー カスタム・ポリシーを使用してユーザーを認証します(カスタム・ポリシーのURIを指定します)。「ユーザー名」および「パスワード」フィールドはオプションです。
    なし セキュリティ資格証明を指定しない場合に選択します。これがデフォルトの選択です。

  6. 次の各フィールドではデフォルト値をそのまま使用するか、使用するテスト環境に適した値を入力します。

    「サービスのクオリティ」セクションには、次のフィールドがあります。Oracle Fusion Middlewareでは、ポリシー・ベースのモデルを使用してWebサービスを管理します。ポリシーでは、メッセージ配信に対して動作要件が適用されます。「Webサービスのテスト」ページの使用方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』を参照してください。

    フィールド 説明
    WS-RM 次のオプションのいずれかを選択して、WS信頼できるメッセージング(RM)プロトコル・ポリシーをテストします。信頼できるメッセージング・ポリシーによって、このプロトコルがサポートされ、メッセージのエンドツーエンド配信が保証されます。
    • WSDLデフォルト: WSDLのデフォルト動作を実行します。たとえば、WSDLにWS-RMポリシーへの参照が含まれる場合は、そのポリシーが適用されます。WSDLにWS-RMポリシーへの参照が含まれない場合、信頼できるメッセージングはテストされません。

    • なし: WSDLにポリシーへの参照が含まれる場合でも、WS-RMのポリシーはテストされません。

    • カスタム: カスタム・ポリシーを適用します。カスタム・ポリシーのURIは、「ポリシーURI」フィールドで指定します。WS-RMポリシーがWSDLで参照されている場合は無視され、かわりに「ポリシーURI」フィールドで指定したポリシーが使用されます。

    MTOM 次のオプションのいずれかを選択して、メッセージ転送最適化メカニズム(MTOM)ポリシーをテストします。MTOMポリシーによって、添付がMTOMフォーマットであることが保証されます。このフォーマットは、Webサービスとの間でバイナリ・データを効率的に送受信するためのフォーマットです。
    • WSDLデフォルト: WSDLのデフォルト動作を実行します。たとえば、WSDLにMTOMポリシーへの参照が含まれる場合は、そのポリシーが適用されます。WSDLにMTOMポリシーへの参照が含まれない場合、MTOMはテストされません。

    • なし: WSDLにポリシーへの参照が含まれる場合でも、MTOMのポリシーはテストされません。

    • カスタム: カスタム・ポリシーを適用します。カスタム・ポリシーのURIは、「ポリシーURI」フィールドで指定します。MTOMポリシーがWSDLで参照されている場合は無視され、かわりに「ポリシーURI」フィールドで指定したポリシーが使用されます。

    WSアドレス 次のオプションのいずれかを選択して、WSアドレス・ポリシーをテストします。WSアドレス・ポリシーによって、WSアドレス仕様に準拠したWS-AddressingヘッダーがSOAPメッセージに含まれていることが検証されます。
    • WSDLデフォルト: WSDLのデフォルト動作を実行します。たとえば、WSDLにWSアドレス・ポリシーへの参照が含まれる場合は、そのポリシーが適用されます。WSDLにWSアドレス・ポリシーへの参照が含まれない場合、WSアドレスはテストされません。

    • なし: WSDLにポリシーへの参照が含まれる場合でも、WSアドレスのポリシーはテストされません。

    • カスタム: カスタム・ポリシーを適用します。カスタム・ポリシーのURIは、「ポリシーURI」フィールドで指定します。WSアドレス・ポリシーがWSDLで参照されている場合は無視され、かわりに「ポリシーURI」フィールドで指定したポリシーが使用されます。


  7. 次の各フィールドではデフォルト値をそのまま使用するか、使用するテスト環境に適した値を入力します。

    「HTTPトランスポート・オプション」セクションには、次のフィールドがあります。

    フィールド 説明
    SOAPアクションの有効化 WSDL soap:operationsoapAction属性があるかどうかを指定します。このフラグは、soapAction属性が存在する場合に有効になります。SOAPアクションのHTTPヘッダーを使用してリクエストを送信しない場合は、このチェック・ボックスの選択を解除します。
    SOAPアクション WSDL soap:operationsoapAction属性が表示されます(存在する場合)。このテキスト・ボックスで別のSOAPアクションを指定することもできます。

  8. 次の各フィールドではデフォルト値をそのまま使用するか、使用するテスト環境に適した値を入力します。

    「追加テスト・オプション」セクションには、次のフィールドがあります。このセクションでは、複数インスタンスを同時に起動する簡単なストレス・テストを指定します。


    注意:

    これは、本当の意味でのストレス・テスト・ツールではありません。したがって、同時スレッド数および操作を起動する回数として大きい値を入力しないでください。そうしないと、エラーが発生する場合があります。

    フィールド 説明
    ストレス・テストの有効化 「有効化」をクリックして、簡単なストレス・テストを作成します。このオプションを有効にすると、対話IDは表示されません。
    同時スレッド 起動を送信する同時スレッドの数を入力します。デフォルトは5スレッドです。
    スレッドごとのループ 操作を起動する回数を入力します。デフォルトは10回です。
    ミリ秒単位の遅延 次の操作を起動するまでの遅延をミリ秒単位で指定します。デフォルトは1000ミリ秒(1秒)です。

  9. 次の各フィールドではデフォルト値をそのまま使用するか、使用するテスト環境に適した値を入力します。

    「引数を入力」セクションには、XMLペイロード・データを入力するための次のフィールドがあります。

    フィールド 説明
    ツリー表示 情報を入力するテキスト・フィールドのグラフィカル・インタフェースが表示されます。このフィールドを選択すると、必要なヘッダーとXML構造が自動的に生成されます。
    XML表示 値の挿入のためのXMLファイル・フォーマットが表示されます。このフィールドには、メッセージのraw XMLペイロードを貼り付けることができます。


    注意:

    Oracle Enterprise Manager Grid Controlを使用している場合は、入力したペイロードを保存できます。この機能は、Oracle Enterprise Manager Fusion Middleware Controlでは使用できません。

  10. 「Webサービスのテスト」をクリックします。

    テストを終了すると、「レスポンス」タブに結果が表示されます。

    soaapp_testresult.gifの説明が続きます
    図版soaapp_testresult.gifの説明


    注意:

    ストレス・テストの実行中、または非同期サービスのテスト中の場合、「レスポンス」タブにペイロード・データは表示されません。

  11. 「メッセージ・フロー・トレースの起動」をクリックして、インスタンスのフローのトレースにアクセスします。

  12. コンポジットのホーム・ページに戻るには、ページの上部に表示されるコンポジット名をクリックするか、コンポジット・ターゲット・メニューから「ホーム」を選択します。

  13. SOAコンポジット・アプリケーションの「ダッシュボード」ページに戻ります。

    「最新のインスタンス」表に、最新のSOAコンポジット・アプリケーションのインスタンスがリストされます。作成された各インスタンスには、固有のIDが付いています。

詳細は、次の各項を参照してください。

8.1.1 テスト・ページでのRPC/リテラル・スタイルのWSDLファイルの指定

"element="によって定義されたメッセージを持つRPC/リテラル・スタイルのWSDLファイルを指定する場合、Oracle Enterprise Manager Fusion Middleware Controlのテスト・ページで、「引数の入力」セクションの「XML表示」オプションを使用して、SOAPメッセージを変更します。SOAP本体は次のようにロックします。

<soap:Body>
    <ns:initiate>
        <payload>
          <value xmlns="...">3</value>
        </payload>
    </ns:initiate>
</soap:Body> 

ここで、initiateは操作名、payloadはパーツ名、およびvalueはWSDLメッセージ/部分に定義されている要素です。

8.2 デプロイ済SOAコンポジット・アプリケーションの状態管理

デプロイ済のSOAコンポジット・アプリケーションのライフサイクルの状態は、次の2つのページのいずれかから管理できます。

実行できる管理タスクは、使用しているページによって異なります。表8-1に詳細を示します。

表8-1 アプリケーションの状態に関するアクション

アクション SOAインフラストラクチャの「デプロイ済コンポジット」ページでの実行の可否 アプリケーションのホーム・ページ(すべてのタブ)での実行の可否

停止起動

はい

はい

リタイアアクティブ化

はい

はい

デフォルトとして設定

はい

  • 不可: コンポジット・アプリケーションの1つのバージョンのみがデフォルトとして設定されている場合。

  • 可: 同じコンポジット・アプリケーションのバージョンが複数ある場合は、同じコンポジットの他の全バージョンに対してこのオプションが表示されます(デフォルトに設定されているバージョンを除く)。

デプロイ

はい

可(「コンポジット」メニューから「SOAデプロイ」「別のコンポジットをデプロイ」の順に選択)

アンデプロイ

はい

可(「コンポジット」メニューから「SOAデプロイ」「アンデプロイ」の順に選択)

再デプロイ

はい

可(「コンポジット」メニューから「SOAデプロイ」「再デプロイ」の順に選択)

テスト

いいえ

はい

コンポジットの監査レベル

いいえ

はい

ペイロードの検証

いいえ

はい

ビジネス監視の有効化/無効化

いいえ

はい

WSDLおよびエンドポイントURIの表示(アイコン)

いいえ

はい

XML定義の表示(アイコン)

いいえ

はい


実行するアクションに応じて、次の各項を参照してください。

詳細は、第1.2.2項「SOAコンポジット・アプリケーションの概要」を参照してください。

8.2.1 SOAインフラストラクチャ・レベルでのすべてのアプリケーションの状態管理

すべてのSOAコンポジット・アプリケーションの状態は、SOAインフラストラクチャ・レベルで「デプロイ済コンポジット」ページから管理できます。

SOAインフラストラクチャ・レベルですべてのアプリケーションの状態を管理する手順は、次のとおりです。

  1. 次のいずれかのオプションを使用して、このページにアクセスします。

    SOAインフラストラクチャのメニューから... ナビゲータのSOAフォルダから... 「SOAコンポジット」メニューからアクセスする手順
    1. 「ホーム」を選択します。
    1. 「soa-infra」をクリックします。
    1. 「SOAインフラストラクチャ」を選択します。

  2. 「デプロイ済コンポジット」タブをクリックします。

    「デプロイ済コンポジット」ページに、次の詳細が表示されます。

    • コンポジット名の全部または一部を指定して「検索」をクリックすることにより特定のSOAコンポジット・アプリケーションを検索するためのユーティリティ。SOAコンポジット・アプリケーションは、パーティションを指定して検索することもできます。

    • デプロイされたパーティションを含む、SOAインフラストラクチャにデプロイされたすべてのSOAコンポジット・アプリケーションのリスト。現在のモード(「アクティブ」または「リタイア」)、インスタンスの数、失敗したインスタンスの数、および最終更新日時(デプロイメント時間、再デプロイメント時間、またはコンポジットの構成変更)が表示されます。コンポジット名の左にある緑色の丸印は、それがアプリケーションのデフォルトのリビジョンであることを示しています。

    sca_deployedcomps.gifの説明が続きます
    図版sca_deployedcomps.gifの説明


    注意:

    デプロイ済SOAコンポジット・アプリケーションに関する最新の詳細を表示するには、右上隅にある「リフレッシュ」アイコンをクリックするか、他のページに移動してこのページに戻ります。

  3. 「デプロイ」をクリックして新しいアプリケーションをデプロイします。「コンポジット」セクションの上にリストされている他のすべてのオプションについては、最初にコンポジット・アプリケーション名の左の列をクリックしてコンポジット・アプリケーションを選択し、次に実行する特定のオプションを選択します。

    sca_selectinstance.gifの説明が続きます
    図版sca_selectinstance.gifの説明

    次の表に、使用可能なオプションを示します。

    アクション 説明
    停止 実行中のSOAコンポジット・アプリケーション・リビジョンを停止します。コンポジットが停止している場合、コンポジットへのリクエスト(開始リクエストまたはコールバック・リクエスト)はすべて拒否されます。新しい受信リクエストは処理できません。既存のすべてのインスタンスは通常どおり完了できます(コンポジットがリタイアするときと同様)。

    注意: 使用するバインディング・コンポーネントによって動作が異なります。たとえば、Webサービス・リクエストの場合は、却下されてコール元に戻されます。また、JCAアダプタ・バインディング・コンポーネントの場合も動作が異なる場合があります(たとえば、リクエストは却下表に格納されます)。

    このオプションは、コンポジット・アプリケーションが開始されると表示されます。

    起動 停止したコンポジット・アプリケーション・リビジョンを再起動します。このアクションによって、新規リクエストが処理されます(拒否されません)。メッセージのリカバリは発生しません。

    このオプションは、コンポジット・アプリケーションが停止されると表示されます。

    リタイア 選択したコンポジット・リビジョンをリタイア状態にします。プロセスのライフサイクルがリタイア状態の場合、新しいインスタンスは作成できません。既存のインスタンスは正常に完了できます。

    コンポジット・アプリケーションへの開始リクエストは拒否されてコール元に戻されます。バインディング・コンポーネントが異なる場合の拒否の動作については、「停止」オプションで説明しています。

    開始済のコンポジット・アプリケーション・インスタンスへのコールバックは、適切に配信されます。

    このオプションは、コンポジット・アプリケーションがアクティブの場合に表示されます。

    アクティブ化 リタイア状態のコンポジット・アプリケーション・リビジョンをアクティブにします。このオプションを選択した場合の動作は次のとおりです。
    • すべてのコンポジット・アプリケーションは、デプロイされると自動的にアクティブになります。

    • 新規にデプロイされたコンポジット・アプリケーションの他のリビジョンはアクティブのままです(つまり、自動的にはリタイア状態になりません)。必要な場合は、明示的にリタイア状態にする必要があります。

    このオプションは、アプリケーションがリタイア状態のときに表示されます。

    デフォルトとして設定 選択したコンポジット・アプリケーション・リビジョンをデフォルトとして設定します。「コンポジット」表では、デフォルトのリビジョンに緑色の丸印が付いています。特定のコンポジット・アプリケーション・リビジョンに対する新規リクエストを受信すると、そのコンポジット・アプリケーション・リビジョンが起動します。リビジョンが指定されていない新規リクエストを受信すると、デフォルトのリビジョンが起動します。コンポジット・アプリケーションがリタイア状態の場合は、デフォルトのリビジョンを変更できません。デフォルトのコンポジット・アプリケーション・リビジョンがアンデプロイされると、デフォルトのリビジョンは自動的に変更されます。

    コンポジット・アプリケーションを再デプロイした場合も、デフォルトのコンポジット・リビジョンは自動的に変更されます。再デプロイメント時に以前のデフォルトのリビジョンをデフォルトのままにするように指定しないかぎり、新規に再デプロイしたリビジョンが自動的にデフォルトのリビジョンになります。

    インバウンド・アダプタがアクティブ化されるのは、デフォルトのリビジョンでのみです。

    デプロイ リビジョンをデプロイします。デプロイメントによって、SOAインフラストラクチャのコンポジット・アプリケーションがアクティブ化されます。デプロイする場合は次の内容を選択します。
    • 最初の新規SOAコンポジット・アプリケーション。

    • 現在デプロイされているSOAコンポジット・アプリケーションのリビジョン(たとえば、1.0)とは異なる、新しいリビジョン(たとえば、2.0)のSOAコンポジット・アプリケーション。このオプションでは、リビジョン1.0と2.0の両方を同時にデプロイできます。

    すでに存在するリビジョンを指定すると、エラーが発生します。このリビジョンは、SOAコンポジットのデプロイ・ウィザードを使用して変更できません。

    詳細は、第5.1項「アプリケーションのデプロイ」および第8.10項「SOAコンポジット・アプリケーションのパーティションへのグループ化」を参照してください。

    アンデプロイ 選択したコンポジット・アプリケーション・リビジョンをアンデプロイします。このアクションを実行すると、次のような結果になります。
    • コンポジット・アプリケーションのこのリビジョンの構成や監視ができなくなります。

    • また、コンポジット・アプリケーションのこのリビジョンのインスタンスも処理できなくなります。

    • 以前に完了したプロセスを表示できなくなります。

    • 現在実行中のインスタンスの状態は「失効」に変更され、このコンポジット・アプリケーションに送信した新規メッセージは処理されません。

    • コンポジット・アプリケーションのデフォルト・リビジョン(たとえば、2.0)をアンデプロイすると、そのコンポジット・アプリケーションで次に使用可能なリビジョン(たとえば、1.0)がデフォルトになります。

    注意: 複数のSOAコンポジット・アプリケーションが同じパーティションにある場合は、それらを同時にアンデプロイする機能がサポートされています。

    詳細は、第5.3項「アプリケーションのアンデプロイ」および第8.10項「SOAコンポジット・アプリケーションのパーティションへのグループ化」を参照してください。

    再デプロイ SOAコンポジット・アプリケーションの既存のリビジョンを再デプロイします。このアクションを実行すると、次のような結果になります。
    • 現在デプロイされているSOAコンポジット・アプリケーションのリビジョンの新規バージョンが再デプロイされます(たとえば、古いバージョン1.0が新規バージョン1.0として再デプロイされます)。

    • 現在デプロイされているこのリビジョンの古いバージョンは削除(上書き)されます。

    • 現在デプロイされているリビジョンの古いバージョンに実行中のインスタンスがある場合、それらのインスタンスの状態は「失効」に変更されます。

    詳細は、第5.2項「アプリケーションの再デプロイ」を参照してください。


    詳細は、第1.4.3.3項「SOAコンポジット・アプリケーションのライフサイクルの状態の概要」を参照してください。

8.2.2 SOAコンポジット・アプリケーションのホーム・ページでのアプリケーションの状態管理

個々のSOAコンポジット・アプリケーションの状態は、アプリケーションのホーム・ページで管理できます。

SOAコンポジット・アプリケーションのホーム・ページでアプリケーションの状態を管理する手順は、次のとおりです。

  1. 次のいずれかのオプションを使用して、このページにアクセスします。

    SOAインフラストラクチャのメニューから... ナビゲータのSOAフォルダから...
    1. 「ホーム」を選択します。
    2. 「デプロイ済コンポジット」タブを選択します。

    3. 特定のSOAコンポジット・アプリケーションを選択します。

    1. 「soa-infra」の下にある、特定のSOAコンポジット・アプリケーションを選択します。

    選択したSOAコンポジット・アプリケーションの「ダッシュボード」ページが表示されます(この例では、POApprovalEventPublisher)。

    sca_helloworld.gifの説明が続きます
    図版sca_helloworld.gifの説明


    注意:

    • 「最新のインスタンス」セクションの「合計」フィールドには、インスタンスが正常に完了している場合でも、正しい合計インスタンス数が表示されない場合があります。その場合は、右上隅の「リフレッシュ」アイコンをクリックすると、実際の合計インスタンス数が表示されます。

    • 「SOAインフラストラクチャの共通プロパティ」ページで「コンポジット・インスタンスの状態をキャプチャ」チェック・ボックスが選択されていると、インスタンスがただちに表示されない制約を定義していても(たとえば、フラッシュ遅延を10分に定義した場合、またはデータベースに書き込むバッチ・サイズを100レコードに指定した場合)、作成されたインスタンスはただちに表示されます。これは、コンポジットの状態を取得することが必要となり、インスタンスのトラッキングが即時モードに移行するためです。

    • SOAインフラストラクチャは、起動後、すべてのデプロイ済コンポジットがロードされるまで受信リクエストを管理するために完全には初期化されない場合があります。SOAインフラストラクチャの初期化中、SOAコンポジット・アプリケーションのホーム・ページの上部に警告メッセージが表示されます。このメッセージが表示されている間は、コンポジット・デプロイメント、コンポジット・アンデプロイメントなどの操作を実行しないでください。詳細は、第3.2.1項「SOAインフラストラクチャ起動初期化の完了の待機」を参照してください。


  2. ページの上部にあるオプションのリストから、実行するアクションを選択します。これらのオプションは、SOAコンポジット・アプリケーションの「インスタンス」、「フォルト・メッセージと拒否メッセージ」、「ユニット・テスト」および「ポリシー」ページの上部にも表示されます。

アクション 説明
停止 このオプションの説明は、ステップ3の表を参照してください。
起動 このオプションの説明は、ステップ3の表を参照してください。
リタイア このオプションの説明は、ステップ3の表を参照してください。
アクティブ化 このオプションの説明は、ステップ3の表を参照してください。
テスト 「Webサービスのテスト」ページからテスト・インスタンスを起動できます。

注意: SOAコンポジット・アプリケーションが停止またはリタイアしているときは、このボタンは無効です。停止またはリタイアしたアプリケーションのインスタンスは作成できないためです。また、このアプリケーションで使用可能なWebサービスがない場合も、ボタンは無効になります。このページからテストできるのは、Webサービス・バインディングのあるサービスを持つコンポジット・アプリケーションのみです。

詳細は、第8.1項「SOAコンポジット・アプリケーションのテスト・インスタンスの起動」を参照してください。

設定: コンポジットの監査レベル SOAコンポジット・アプリケーション・レベルで実行される監査トラッキングのレベルを設定します。この設定は、SOAインフラストラクチャ・レベルで定義されている監査レベルを上書きできます。デフォルト値は「継承」で、SOAインフラストラクチャ・レベルの設定は上書きされません。

監査トラッキングのレベルを設定する場合は、次のオプションが選択可能です。

  • 継承: ロギング・レベルは、SOAインフラストラクチャの「共有プロパティ」ページで設定したSOAインフラストラクチャ監査レベルと一致します。これがデフォルトの設定です。

  • 本番: SOAコンポジット・アプリケーション・インスタンスに関する最小限の情報が収集されます。たとえば、BPELプロセスおよびOracle Mediatorサービス・エンジンはペイロードをキャプチャしません。したがって、フローの監査証跡でペイロード詳細は使用できません。BPELサービス・エンジンは、assignアクティビティを除くすべてのアクティビティについてペイロード詳細を収集します。このレベルは、通常の操作とテストに最適です。

  • 開発: SOAコンポジット・アプリケーション・インスタンスに関する完全な情報が収集されます。このオプションを選択すると、コンポジット・インスタンスのトラッキングとペイロード・トラッキングの両方が実行されます。ただし、メッセージ・フローの各ステップでペイロードが格納されるため、パフォーマンスに影響を与える可能性があります。この設定は、デバッグする際に便利です。

  • オフ: ロギングは実行されません。コンポジット・インスタンスのトラッキング情報とペイロード・トラッキング情報は収集されません。

SOAコンポジット・アプリケーション・レベルで監査レベル・トラッキングを設定すると、SOAインフラストラクチャ・レベルで設定した同じトラッキングが上書きされます。デフォルトでは、SOAコンポジット・アプリケーション・レベルとSOAインフラストラクチャ・レベルの設定は同じです。グローバルなSOAインフラストラクチャの設定が変更されると、SOAコンポジット・アプリケーションの設定も自動的に変更されます。ただし、SOAコンポジット・アプリケーション・レベルで別の設定を選択すると、継承された設定を上書きできます。

現在のグローバル値と同じローカル・コンポジット値を明示的に選択した場合も、設定が上書きされます。この場合、SOAインフラストラクチャの設定が変更されても、そのコンポジット・アプリケーションは新しい値を継承しません。たとえば、SOAインフラストラクチャの設定が「オフ」であるとします。これによって、すべてのコンポジット・アプリケーションは監査トラッキングが「オフ」に設定されます。ここで、コンポジット・アプリケーションXYZを明示的に「オフ」に設定したとします。次に、SOAインフラストラクチャに移動して、その設定を「本番」に変更します。その結果、コンポジット・アプリケーションXYZを除くすべてのコンポジット・アプリケーションのトラッキング・レベルは「本番」に変更されますが、コンポジット・アプリケーションXYZの設定は「オフ」のままです。

複数のSOAコンポジット・アプリケーションにわたるメッセージ・フローでは、インスタンス・トラッキングの設定によって次のように表示が変わることに注意してください(たとえば、参照バインディング・コンポーネントを介して別のコンポジットを起動するコンポジット・アプリケーション、または、あるコンポジット・アプリケーションで公開されて別のコンポジット・アプリケーションでサブスクライブされたイベントの場合です)。

  • 複数のコンポジット・アプリケーション・インスタンスにまたがる1つのメッセージ・フローの場合は、中間のコンポジット・アプリケーションでインスタンス・トラッキングが無効になると、接続していない別々のフローとして表示されます。たとえば、コンポジット・アプリケーションC1、C2およびC3を経由するメッセージ・フローがあるとします。C1とC3ではインスタンス・トラッキングを有効にして、C2では無効にします。その結果、Oracle Enterprise Managerでは、C1とC3の2つのフローが別々に表示されます。

  • イベントまたはメッセージのソースまたはターゲットが表示されない場合があります。たとえば、コンポジット・アプリケーションが2つあるとします(C1とC2)。C1でインスタンスのトラッキングが無効にされると、フロー・トレースにメッセージ・フローの起点が表示されず、C2が直接起動されたように表示されます。

設定: ペイロードの検証 コンポジット・アプリケーション・リビジョンのインバウンド・ポイントとアウトバウンド・ポイントで、XMLスキーマ・ベースのペイロードを検証します。ペイロードの検証を有効にし、無効なペイロード(スキーマに準拠しない)がある場合は、そのメッセージに対してフォルトが生成されます。

ただし、同期サービスのレスポンス・メッセージは例外です。このメッセージは、ペイロードの検証が有効な場合でも検証されません。検証されないのはアウトバウンド・メッセージのみで、インバウンド・メッセージは検証されることに注意してください。

設定: ビジネス監視の有効化/無効化 センサーの現在のステータスを表示する確認ダイアログを起動するオプションを選択します。
  • 無効化: このSOAコンポジット・アプリケーションのすべてのBPELコンポーネントのBPELセンサーを無効にする場合に選択します。

  • 有効化: このSOAコンポジット・アプリケーションのすべてのBPELコンポーネントのBPELセンサーを有効にします。

「ビジネス監視の有効化/無効化」の選択肢は、コンポーネントにセンサーが含まれているかどうかに関係なく、BPELサービス・コンポーネントを持つコンポジットに対してのみ表示されます。

BPELセンサーがサービス・エンジン・レベルで無効になっている場合は、SOAコンポジット・アプリケーション・レベルでBPELセンサーを有効または無効にできません。「BPELサービス・エンジン・プロパティ」ページで、BPELモニターおよびセンサーをサービス・エンジン・レベルで有効または無効にできます。

詳細は、第8.11項「BPELおよびBPMNのビジネス監視の有効化と無効化」第11.1項「BPELプロセス・サービス・エンジン・プロパティの構成」を参照してください。

WSDLおよびエンドポイントURIの表示(アイコン) クリックすると、このSOAコンポジット・アプリケーションに対するすべての外部サービスのエンドポイント・アドレスおよびWSDLが表示されます。

注意: Safariブラウザを使用してこの情報を表示する場合は、B.11項「Safariブラウザを使用してWSDLファイルの内容を表示する場合の制限」を参照してください。

コンポジットXML定義の表示(アイコン) クリックすると、SOAコンポジット・アプリケーションのXML定義が表示されます。

詳細は、次の各項を参照してください。

8.2.3 管理対象のOracle WebLogic Serverの起動および停止

SOAコンポジット・アプリケーションでのBPELプロセスの途中で、SOAインフラストラクチャがデプロイされている管理対象のOracle WebLogic Serverを起動および停止する場合は、次の問題に注意してください。

  • 同期BPELプロセスの場合

    シナリオ全体が同期され、実行中の状態(サーバーの再起動後)のインスタンスはBPELのwaitアクティビティで保留されます。このため、フロー・スレッドはサーバーで終了します(waitアクティビティで保留中)。サーバーが再起動しても、フローは同期であるため、同じインスタンスは再起動されません。したがって、サーバーの再起動後もインスタンスで処理が発生しないため、これらのインスタンスは常に実行中の状態です。

  • 非同期BPELプロセスの場合

    BPELのinvokeアクティビティの途中でサーバーが停止すると、BPELが受信したメッセージは処理されません。BPELは再起動時にこれらのメッセージを自動的にリカバリしないため、Facade APIコールを使用してメッセージを手動でリカバリする必要があります。

8.3 アプリケーションのホーム・ページからの、SOAコンポジット・アプリケーション・インスタンスの監視と削除

第8.2項「デプロイ済SOAコンポジット・アプリケーションの状態管理」では、SOAコンポジット・アプリケーションのライフサイクルの状態を管理する方法を説明しました。アプリケーションのホーム・ページの「インスタンス」ページでは、特定のSOAコンポジット・アプリケーションのインスタンスを監視および削除することもできます。

アプリケーションのホーム・ページからSOAコンポジット・アプリケーションのインスタンスを監視および削除する手順は、次のとおりです。

  1. 次のいずれかのオプションを使用して、このページにアクセスします。

    SOAインフラストラクチャのメニューから... ナビゲータのSOAフォルダから...
    1. 「ホーム」を選択します。
    2. 「デプロイ済コンポジット」タブを選択します。

    3. 特定のSOAコンポジット・アプリケーションを選択します。

    1. 「soa-infra」で、パーティションから特定のSOAコンポジット・アプリケーションを選択します。

  2. 「インスタンス」タブをクリックします。

    「インスタンス」ページに、次の詳細が表示されます。

    • 特定のインスタンスを検索するためのユーティリティ。基準を指定して「検索」をクリックします。

    • SOAコンポジット・アプリケーションのインスタンスID、名前、対話ID、ページの最終データ・リフレッシュ以降の各インスタンスの最新状態(正常完了、実行中、不明など)、インスタンスの開始時間、フォルトが記述されているログ・ファイル。SOAコンポジット・アプリケーションの新しいインスタンスが起動されるたびに、一意のインスタンスIDが作成されます。インスタンスは、アプリケーションの外部コンシューマによって自動的に起動されるか、管理者が「Webサービスのテスト」ページから手動で起動します。

      「?」アイコンが表示される場合は、SOAインフラストラクチャの「共有プロパティ」ページで「コンポジット・インスタンスの状態をキャプチャ」チェック・ボックスが選択されていません。このため、インスタンスの状態が評価されません。コンポジット・インスタンスの状態を判別するには、基礎となるコンポーネントの状態を評価する必要があります。パフォーマンスを向上させるには、このチェック・ボックスを選択しません。

    soaapp_instance.gifの説明が続きます
    図版soaapp_instance.gifの説明


    注意:

    孤立したサービス・コンポーネント・インスタンスが生成される可能性があります。このようなインスタンスは、関連するコンポジット・アプリケーション・インスタンスなしで生成されます。孤立したコンポーネント・インスタンスは、次の状況で生成されます。
    • SOAインフラストラクチャの監査レベルが「オフ」に設定されている場合、またはコンポジットの監査レベルが「オフ」に設定されている場合。このような場合でも、BPELプロセス・サービス・エンジンでは、SOAコンポジット・アプリケーションに組み込まれているサービス・コンポーネントのインスタンス・データを生成できます。

    • SOAインフラストラクチャの監査レベルが「オフ」に設定されている場合。ただし、BPELプロセスまたはOracle Mediatorサービス・エンジンの監査レベルがオフ以外の値に設定されている場合。

    • すべての監査レベルが「オフ」に設定されているが、いずれかのサービス・エンジンでフォルトが生成された場合。この場合は、コンポーネント・インスタンスが生成されます。

    孤立したインスタンスまたは大量のインスタンスを削除するには、第9.3項「パージ・スクリプトを使用した大量のインスタンスの削除」で説明するように、パージ・スクリプトを使用します。「オプションを指定して削除」ダイアログで「すべてのインスタンスを削除」オプションを選択しても、孤立したコンポーネント・インスタンスは削除できません


    コンポジット・センサーがSOAコンポジット・アプリケーションに組み込まれている場合は、「インスタンス」タブの表示が次のように異なります。

    • 検索ユーティリティにある「検索」および「リセット」ボタンの横に、「フィールドの追加」ボタンが表示されます。このボタンを使用して、センサー値を検索基準に追加できます。

    • 「インスタンス」表に「コンポジット・センサー」列が表示されます。この列のセンサー・アイコンをクリックすると、コンポジットの指定のインスタンスで使用可能なセンサー値の詳細が表示されます。

  3. 「フィールドの追加」リストから、検索基準に追加するコンポジット・センサーを選択します。次の例では、4つのフィールドが選択されています(CustomerDetailsNameSensorDatesensorおよびYearsensor)。

  4. 各センサーが検索する特定の値を入力します。指定した基準とセンサー値が一致するコンポジット・インスタンスのみ返されます。

    soaapp_instance2.gifの説明が続きます
    soaapp_instance2.gifの説明

  5. 検索基準からすべてのコンポジット・センサー・フィールドを削除するには、「リセット」をクリックします。センサーを個別に削除するには、フィールドの右側にある「削除」アイコンをクリックします。

  6. 「インスタンス」表の行をクリックして、削除する特定のインスタンスを選択します。複数のインスタンスを選択する場合は、[Ctrl]キーまたは[Shift]キーを押しながら、選択する行をクリックします。

  7. 実行する特定のアクションを選択します。

    アクション 説明
    選択項目の削除 選択したインスタンスを削除します。

    インスタンスを削除すると、インスタンス詳細は確認できなくなります。

    オプションを指定して削除 選択したインスタンスをデータベースから直接削除するための基準を最初に指定するように、プロンプトが表示されます。
    • 共通削除オプション: リストから削除するインスタンスの範囲を、事前に設定された範囲から選択します(たとえば、「24時間以上経過」)。

    • このコンポジットのすべてのインスタンスを削除: コンポジットのすべてのインスタンスを削除する場合に選択します。このオプションを選択すると、関連する拒否メッセージ、およびコンポジットに関連付けられたすべてのコンポーネント・インスタンス、サービス・インスタンスおよび参照インスタンスが削除されます。これには、コンポジット・インスタンスIDに関連付けられていないインスタンスも含まれます。

      注意: 削除するインスタンスがコンポジット内に大量(数千)にある場合は、このオプションを使用しないでください。かわりに、第9.3項「パージ・スクリプトを使用した大量のインスタンスの削除」で説明するパージ・スクリプトを使用してください。

    • これらの条件と一致するすべてのインスタンスを削除します: インスタンスを削除する基準(開始時間と停止時間、インスタンスの状態)を指定します。

    この操作では、「インスタンス」ページで選択した内容(検索基準の指定や実行など)は無視されます。

    インスタンスの削除の進行状況を監視するには、ログ・ファイルを確認する必要があります。ログ・ファイルの詳細は、第3.4項「ログ・ファイルの構成」を参照してください。

    中断 選択したインスタンスを終了します。ただし、インスタンス詳細は確認できます。

  8. 「ビュー」リストから、「列」「パーティション」の順に選択し、SOAコンポジット・アプリケーション・リビジョンのインスタンスが含まれているパーティションを表示します。

  9. 「ビュー」リストから、「列」「ECID」の順に選択して、実行コンテキストID (ECID)を表示します。ECIDを使用すると、様々なコンポジットのインスタンス間のメッセージ・フローを追跡できます。

  10. 「インスタンス」表で、次の追加タスクを実行します。

    1. 「インスタンスID」列で、特定のインスタンスIDをクリックし、様々なサービス・コンポーネントやバインディング・コンポーネント間のメッセージ・フローを表示します。インスタンスIDが使用不可能と表示される場合は、「使用不可能」リンクをクリックすると詳細を表示できます。

    2. 「状態」列にインスタンスの状態が「不明」と表示される場合は、クリックすると詳細が表示されます。

    3. 「コンポジット・センサー」列が表示されている場合は、センサー・アイコンをクリックすると、インスタンスに組み込まれているコンポジット・センサーの詳細(名前、場所、値など)が表示されます。

    4. 「ログ」列で、特定のログをクリックし、「ログ・メッセージ」ページにアクセスします。このページには、そのインスタンスに固有のメッセージがフィルタされて表示されます。


    注意:

    インバウンドJCAアダプタを含むSOAコンポジット・アプリケーションのリビジョンが複数ある場合は、すべて「実行中」と表示されます。ただし、最新のリビジョン(デフォルトのリビジョン)のみがアクティブと見なされます。以前のすべてのリビジョンはアクティブと見なされません。これは、インバウンドJCAアダプタの場合、SOAコンポジット・アプリケーションのアクティブなリビジョンは一度に1つのみであるためです。以前のすべてのリビジョンにあるJCAアダプタ・エンドポイントは非アクティブ化されます。

詳細は、次の各項を参照してください。

8.3.1 SOAコンポジット・アプリケーション・インスタンス数とサービス・コンポーネント・インスタンス数の不一致

SOAコンポジット・アプリケーション・インスタンス数は、必ずしもOracle Enterprise Manager Fusion Middleware Controlに表示されるサービス・コンポーネント・インスタンス数と一致しません。

SOAコンポジット・アプリケーション・インスタンスは、最初はコンポジットの起動時に作成されます。コンポジット内のサービス・コンポーネントが後続の起動を受信すると、前に作成されたコンポジット・インスタンスIDを参照する、対応するサービス・コンポーネント・インスタンスが作成されます。

コンポジット・インスタンスが作成され、基礎となるサービス・コンポーネント・インスタンスが作成されていない状況が発生することがあります。例:

  • コンポジット・インスタンスが作成されたが、システム障害により、起動がまだサービス・コンポーネントに到達していない場合。

  • コンポジット・インスタンスが作成されたが、起動でペイロード検証に失敗し、拒否された場合。この場合、起動は基礎となるサービス・コンポーネントに到達しません。

また、SOAコンポジット・アプリケーション・インスタンスが作成されていない、孤立したサービス・コンポーネント・インスタンスがある場合もあります。

8.3.2 サービス・コンポーネントとSOAコンポジット・アプリケーションのインスタンスの状態

複数のサービス・コンポーネント(たとえば、2つのBPELプロセス・サービス・コンポーネント)を持つSOAコンポジット・アプリケーションがあるとします。これらのサービス・コンポーネントは、インスタンスの状態が次のようにマークされています。

  • 1つのBPELプロセスのインスタンスの状態は、完了としてマークされています。

  • もう一方のBPELプロセスのインスタンスの状態は、フォルトとしてマークされています。

この場合、コンポジット・インスタンス全体の状態はフォルトとしてマークされます。この動作は、同じシナリオでコンポジット・インスタンス全体の状態が完了としてマークされる11g リリース1 (11.1.1.2)と異なります。

子SOAコンポジット・アプリケーションをコールする親SOAコンポジット・アプリケーションがあり、子コンポジットでフォルトが発生した(そして、親コンポジットによって処理された)とします。この場合、インスタンスの状態は次のようになります。

  • 子コンポジットのインスタンスの状態は、フォルトとしてマークされます。

  • 親コンポジットのインスタンスの状態は、完了としてマークされます。

8.3.3 設計時におけるコンポジット・インスタンス名の設定

Oracle MediatorおよびOracle BPEL Process Managerで、設計時にSOAコンポジット・アプリケーションのインスタンス名を設定できます。このインスタンス名は、SOAコンポジット・アプリケーションの「インスタンス」ページにある「名前」列に表示されます。SOAコンポジット・アプリケーションまたはSOAインフラストラクチャの「インスタンス」ページに検索基準を指定するときに、この名前を「名前」フィールドに指定できます。

8.3.3.1 Oracle Mediatorでのコンポジット・インスタンス名の設定

Oracle Mediatorでコンポジット・インスタンス名を設定する手順は、次のとおりです。

  1. 次のいずれかの方法で、コンポジット・インスタンス名を設定します。

    • 「値の割当て」ダイアログで、setCompositeInstanceTitle(title) XPath式関数をソースとして使用し、tracking.compositeInstanceTitleをターゲット・プロパティ名として使用します。

      soaapp_comptitle2.gifの説明が続きます
      図版soaapp_comptitle2.gifの説明

    • XSLTマッパーで、setCompositeInstanceTitle(title) XPath式関数を使用します。

      soaapp_comptitle.gifの説明が続きます
      図版soaapp_comptitle.gifの説明

8.3.3.2 BPELプロセスでのコンポジット・インスタンス名の設定

BPELプロセスにコンポジット・インスタンス名を設定する手順は、次のとおりです。

  1. Java BPEL exec拡張要素bpelx:execを使用します。この拡張要素には組込みメソッドsetCompositeInstanceTitle(String title)が含まれており、インスタンス名を設定できます。

    詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。

8.4 SOAインフラストラクチャ・レベルでの、SOAコンポジット・アプリケーション・インスタンスの監視と削除

第8.2項「デプロイ済SOAコンポジット・アプリケーションの状態管理」では、特定のSOAコンポジット・アプリケーションのすべてのインスタンスのライフサイクルの状態を管理する方法を説明しました。「SOAインフラストラクチャ」のホーム・ページの「インスタンス」ページでは、デプロイ済のすべてのSOAコンポジット・アプリケーションの中から任意の数のインスタンスを監視および削除できます。このページには、SOAインフラストラクチャにデプロイされているすべてのSOAコンポジット・アプリケーション・インスタンスがリストされます。

SOAインフラストラクチャ・レベルでSOAコンポジット・アプリケーションのインスタンスを監視および削除する手順は、次のとおりです。

  1. 次のいずれかのオプションを使用して、このページにアクセスします。

    SOAインフラストラクチャのメニューから... ナビゲータのSOAフォルダから... 「SOAコンポジット」メニューからアクセスする手順
    1. 「ホーム」を選択します。
    1. 「soa-infra」をクリックします。
    1. 「SOAインフラストラクチャ」を選択します。

  2. 「インスタンス」タブをクリックします。

    「インスタンス」ページに、次の詳細が表示されます。

    • 特定のインスタンスを検索するためのユーティリティ。基準を指定して「検索」をクリックします。

    • SOAインフラストラクチャのすべてのSOAコンポジット・アプリケーション・インスタンス。インスタンスID、対話ID、コンポジットの名前とリビジョン、SOAコンポジット・アプリケーション・インスタンスの状態、およびインスタンスの開始時間が表示されます。

    sca_instanceids.gifの説明が続きます
    図版sca_instanceids.gifの説明

    このページからインスタンスの終了および削除も実行できます。

  3. 「インスタンス」表の行をクリックして、特定のインスタンスを選択します。複数のインスタンスを選択する場合は、[Ctrl]キーまたは[Shift]キーを押しながら、選択する行をクリックします。

  4. 実行する特定のアクションを選択します。

    アクション 説明
    選択項目の削除 選択したインスタンスを削除します。
    オプションを指定して削除 選択したインスタンスをデータベースから直接削除するための基準を最初に指定するように、プロンプトが表示されます。
    • 共通削除オプション: リストから削除するインスタンスの範囲を、事前に設定された範囲から選択します(たとえば、「24時間以上経過」)。

    • これらの条件と一致するすべてのインスタンスを削除します: インスタンスを削除する基準(開始時間と停止時間、インスタンスの状態)を指定します。

    この操作では、「インスタンス」ページの上部で選択したインスタンスの状態は無視されます。

    インスタンスの削除の進行状況を監視するには、ログ・ファイルを確認する必要があります。ログ・ファイルの詳細は、第3.4項「ログ・ファイルの構成」を参照してください。

    注意:

    • 削除するインスタンスがコンポジット内に大量(数千)にある場合は、このオプションを使用しないでください。かわりに、第9.3項「パージ・スクリプトを使用した大量のインスタンスの削除」で説明するパージ・スクリプトを使用してください。

    • フォルトが発生したインスタンスを削除すると、そのフォルトは「フォルト・メッセージと拒否メッセージ」ページに表示されなくなります。

    • このオプションでは、BPELプロセス・サービス・エンジンのリカバリ可能な呼出しおよびコールバック・メッセージはパージされません。それらのメッセージを完全にパージするには、第9.3項「パージ・スクリプトを使用した大量のインスタンスの削除」で説明するパージ・スクリプトを使用してください。

    中断 選択したインスタンスを終了します。ただし、インスタンス詳細は確認できます。

    注意: フォルトが発生したインスタンスを削除すると、そのフォルトは「フォルト・メッセージと拒否メッセージ」ページに表示されなくなります。さらに、終了したインスタンス(「中断」と表示)にフォルトがある場合、そのフォルトはフォルト件数に含まれません。


  5. 「ビュー」リストから、「列」「パーティション」の順に選択し、SOAコンポジット・アプリケーション・リビジョンのインスタンスが含まれているパーティションを表示します。

  6. 「ビュー」リストから、「列」「ECID」の順に選択して、実行コンテキストID (ECID)を表示します。ECIDを使用すると、様々なコンポジットのインスタンス間のメッセージ・フローを追跡できます。

  7. 「インスタンスID」列で、特定のインスタンスIDをクリックし、様々なサービス・コンポーネントやバインディング・コンポーネント間のメッセージ・フローを表示します。インスタンスIDが使用不可能の場合は、メッセージ・フローにアクセスできません。ただし、リンクをクリックして詳細を確認することはできます。

  8. 「コンポジット」列で、特定のSOAコンポジット・アプリケーションをクリックし、そのホーム・ページにアクセスします。

  9. 「ログ」列で、特定のログをクリックし、「ログ・メッセージ」ページにアクセスします。このページには、そのインスタンスに固有のメッセージがフィルタされて表示されます。

8.5 SOAインフラストラクチャ・レベルでの、SOAコンポジット・アプリケーションのフォルトのリカバリ

複数のSOAコンポジット・アプリケーションでBPELプロセスとOracle Mediatorサービス・コンポーネントを監視し、個別のフォルト・リカバリと一括のフォルト・リカバリを実行できます。リカバリ可能として識別されたBPELプロセス・フォルトについては、(fault-bindings.xmlファイルを介して)フォルトにバインドされ、アクションora-human-interventionをトリガーするフォルト・ポリシーが定義されている必要があります。ただし、フォルト・ポリシーが定義されていない場合、フォルトは、リカバリ可能またはリカバリ不可のフォルトとして通常どおり処理されます。この項では、個別リカバリと一括リカバリの両方の実行例を示します。ヒューマン・タスク・サービス・コンポーネントまたはヒューマン・ワークフロー・サービス・エンジンのフォルトは、Oracle BPM Worklistからリカバリされます。

SOAインフラストラクチャ・レベルでSOAコンポジット・アプリケーション・フォルトをリカバリする手順は、次のとおりです。

  1. 次のいずれかのオプションを使用して、このページにアクセスします。

    SOAインフラストラクチャのメニューから... ナビゲータのSOAフォルダから... 「SOAコンポジット」メニューからアクセスする手順
    1. 「ホーム」を選択します。
    1. 「soa-infra」をクリックします。
    1. 「SOAインフラストラクチャ」を選択します。

  2. 「フォルト・メッセージと拒否メッセージ」タブをクリックします。

    「フォルト・メッセージと拒否メッセージ」ページに、すべてのSOAコンポジット・アプリケーション・フォルトについて、次の詳細が表示されます。

    • 特定のフォルトを検索するためのユーティリティ。基準を指定して「検索」をクリックします。詳細は、「ヘルプ」アイコンをクリックしてください。

    • フォルト・メッセージと拒否メッセージ。エラー・メッセージ、フォルトのリカバリが可能かどうか、フォルトの発生時間、フォルト・メッセージが拒否されたメッセージとして分類されているかどうか(その場合はチェックマークが表示されます)、フォルトが発生したSOAコンポジット・アプリケーション、フォルトの場所、インスタンスID、およびフォルトが記述されているログ・ファイルへのリンクが表示されます。

    sca_faultandmanage.gifの説明が続きます
    図版sca_faultandmanage.gifの説明


    注意:

    ヒューマン・ワークフローのフォルトはデハイドレーション・ストアに保持されないため、ヒューマン・ワークフローのエラー・メッセージは「エラー・メッセージの内容」フィールドに詳細を入力しても検索できません。

    リカバリ可能として識別されたフォルトはリカバリできます。

  3. 次のいずれかのオプションを使用して、リカバリ対象のフォルトを選択します。SOAインフラストラクチャ・レベルでフォルト・リカバリ対象を選択することは、SOAコンポジット・アプリケーション・レベル、およびBPELプロセスとOracle Mediatorサービス・コンポーネント・レベルで選択するのと同じです。

    対象 操作
    単一フォルト・リカバリ 単一フォルト・リカバリの対象を選択するには、次の3つの方法があります。
    1. リカバリ可能として識別されたフォルトの行をクリックします。行が強調表示された状態で、ステップ4の説明に従って、「リカバリ・アクション」リストから特定のアクションを選択します。

    2. 「リカバリ」列で「リカバリ」リンクをクリックし、インスタンス監査証跡の「フォルト」ページにアクセスしてフォルト・リカバリを実行します。

    3. 「エラー・メッセージ」列で、リカバリ可能として識別されたフォルトのメッセージをクリックします。完全なフォルト詳細(フォルトID、フォルトの発生時間、フォルトの場所、フォルト・タイプ、エラー・メッセージ・テキストなど)が表示されます。リカバリ可能なフォルトには、「ここでリカバリ」オプションが表示されます。「ここでリカバリ」をクリックし、インスタンス監査証跡の「フォルト」ページにアクセスしてフォルト・リカバリを実行します。

    一括フォルト・リカバリ 一括フォルト・リカバリの対象を選択するには、次の2つの方法があります。
    1. [Shift]キーまたは[Ctrl]キーを押しながら、行から特定のフォルトを選択します。

      または

    2. 「選択」メニューから、「すべてのリカバリ可能な値を選択」を選択します。次に、[Shift]キーまたは[Ctrl]キーを押しながらクリックすることによって、リカバリ操作に含めないフォルトの選択を解除します。

      次に

    3. ステップ4の説明に従って、「リカバリ・アクション」リストからアクションを選択します。

      注意: 選択できるのは、選択したすべてのフォルトに適用可能なアクションのみです。

    すべてのフォルトのリカバリ
    1. 「選択」メニューから、「すべてのリカバリ可能な値を選択」を選択します。
    2. ステップ4の説明に従って、「リカバリ・アクション」リストからアクションを選択します。

      注意: 選択できるのは、選択したすべてのフォルトに適用可能なアクションのみです。


  4. 「リカバリ・アクション」リストからアクションを選択します。

    アクション 説明 アクションの対象
    再試行 インスタンスを直接再試行します。このリカバリ・アクションを使用するシナリオ例は、ネットワーク・エラーのためにサービス・プロバイダにアクセスできないことが原因でフォルトが発生した場合の例です。ネットワーク・エラーは現在解決しています。 BPELプロセスとOracle Mediator
    中断 インスタンス全体を終了します。 BPELプロセスとOracle Mediator
    リプレイ フォルトが発生したスコープ全体を再度リプレイします。 BPELプロセス
    再スロー 現在のフォルトを再スローします。フォルトの処理に、BPELフォルト・ハンドラ(catchブランチ)が使用されます。デフォルトでは、再スロー・フォルト・ポリシーが明示的に指定されていない場合、すべての例外がフォルト管理フレームワークによって捕捉されます。 BPELプロセス
    続行 フォルトを無視して処理を続行します(フォルト・アクティビティには成功のマークが付けられます)。 BPELプロセス


    注意:

    ほとんどの場合、フォルト・ポリシーのアクションは自動的に実行されます。ただし、アクションora-human-interventionを使用するフォルト・ポリシーを定義した場合は例外です。このアクションによって、Oracle Enterprise Manager Fusion Middleware Controlからリカバリできるリカバリ可能なフォルトが作成されます。

  5. 拒否メッセージを削除する場合は、「拒否メッセージの削除」をクリックします。

    すべてのコンポジットの拒否メッセージをデータベースから直接削除するための基準を指定する「削除: 拒否メッセージ」ダイアログが表示されます。

    bp_delrejmess.gifの説明が続きます
    図版bp_delrejmess.gifの説明

  6. 基準を指定して、「削除」をクリックします。

  7. メッセージの一括リカバリを実行する場合は、「オプションを指定してリカバリ」をクリックします。

    すべてのコンポジットのBPELメッセージとOracle Mediatorメッセージをデータベースから直接リカバリする基準を指定する「オプションを指定してリカバリ」ダイアログが表示されます。ヒューマン・ワークフロー・メッセージは、Oracle BPM Worklistから手動でリカバリできます。ビジネス・イベントとビジネス・ルール・メッセージはリカバリできません。

    soaapp_recovwithopts.gifの説明が続きます
    図版soaapp_recovwithopts.gifの説明

  8. 条件を指定します。許可されるリカバリ・アクションは、「再試行」「中断」のみです。


    注意:

    SOAインフラストラクチャ・レベルの一括フォルト・リカバリでは、コンポジットの状態チェックを実行できません。コンポジットの状態がオフに設定されている場合は、そのフォルトのリカバリを実行できません。ただし、エラーや警告メッセージは表示されません。一括フォルト・リカバリ・リクエストの発行時に、サーバーは元のコンポジットの状態がオフに設定されているかどうかをチェックします。その事実がログに記録され、フォルトがスキップされます。

    その他の理由(たとえば、サポートされていないサービス・エンジンやリカバリできないフォルトなど)でリカバリ中にフォルトがスキップされた場合も通知されません。


  9. 「リカバリ」をクリックします。メッセージの数に応じて、リカバリにかかる時間は異なります。

  10. フォルト表内から次の追加タスクを実行します。

    1. 「ビュー」リストから、「列」「フォルトID」の順に選択し、各エラー・メッセージのフォルトIDを表示します。フォルトIDは自動的に生成され、フォルトを一意に識別します。フォルトIDは、エラー・メッセージをクリックしたときも表示されます。

    2. 「コンポジット」列で、特定のSOAコンポジット・アプリケーションをクリックし、そのホーム・ページにアクセスします。

    3. 「フォルトの場所」列で、特定の場所をクリックし、フォルトの場所に関するフォルト・ページにアクセスします。フォルトの場所は、サービス、サービス・コンポーネントまたは参照です。

    4. 「コンポジット・インスタンスID」列で、特定のIDをクリックし、インスタンスのフローのトレースにアクセスします。

    5. 「ログ」列で、特定のログをクリックし、「ログ・メッセージ」ページにアクセスします。このページには、そのインスタンスに固有のメッセージがフィルタされて表示されます。

  11. BPELプロセスとOracle Mediatorでの単一および一括フォルト・リカバリの例については、次の各項を参照してください。

フォルト・ポリシーの概念と設計方法の詳細は、次のドキュメントを参照してください。

8.5.1 BPELプロセスに対するフォルト・リカバリの例

この項では、BPELプロセスのフォルトに対して管理者操作を可能にするフォルト・ポリシーを定義し、BPELプロセス・サービス・コンポーネントで単一フォルト・リカバリおよび一括フォルト・リカバリを実行する方法の例を示します。

この例では、管理者操作によってフォルトを手動でリカバリできるフォルト・ポリシーを定義します。無効な社会保障番号が、融資ブローカBPELプロセスから信用格付けサービスに発行されると、信用格付けサービスはネガティブ情報フォルトを返します。この例の管理者操作によるアクションは、fault-policies.xmlファイルのora-human-interventionアクションで定義します。フォルト・ポリシーが定義されていない場合、BPELインスタンスではリカバリ可能なフォルトを生成しません(フォルトはリカバリ不可になります)。この場合は、ora-human-interventionアクションを使用してフォルトをリカバリ可能にします。

<faultPolicies xmlns="http://schemas.oracle.com/bpel/faultpolicy">
<faultPolicy version="2.0.1"
           id="CRM_ServiceFaults"
           xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns="http://schemas.oracle.com/bpel/faultpolicy"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <Conditions>
               <faultName xmlns:credit="http://services.otn.com" 
               name="credit:NegativeCredit">
               <!-- get this fault when SSN starts with 0-->
                  <condition>
                     <test>$fault.payload="Bankruptcy Report"</test>
                     <action ref="ora-human-intervention"/>
                  </condition>
               </faultName>
            </Conditions>
</faultPolicy>
</faultPolicies>

fault-bindings.xmlファイルによって、fault-policies.xmlファイルで定義されたフォルト・ポリシーがCRM_ServiceFaultsコンポジット・アプリケーションと関連付けられます。

<faultPolicyBindings version="2.0.1"
 xmlns="http://schemas.oracle.com/bpel/faultpolicy"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <composite faultPolicy="CRM_ServiceFaults"/>
</faultPolicyBindings>

管理者操作はアクションとして定義されているため、BPELプロセスに対するフォルト・リカバリはOracle Enterprise Manager Fusion Middleware Controlで実行します。

fault-policies.xmlファイルおよびfault-bindings.xmlファイルの作成と設計の詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。

8.5.1.1 例: BPELプロセスに対する単一フォルト・リカバリ

この例の前提は次のとおりです。

BPELプロセスに対して単一フォルト・リカバリを実行する手順は、次のとおりです。

  1. 「SOAインフラストラクチャ」メニューから、「ホーム」を選択します。

  2. 「フォルト・メッセージと拒否メッセージ」タブをクリックします。

  3. フォルト表で、リカバリ可能として識別されたフォルトを検索します。検索ユーティリティを使用して、特定のフォルトを検索できます。

  4. 「リカバリ」列で、「リカバリ」をクリックします。最初にフォルトの詳細を表示する場合は、エラー・メッセージをクリックします。次に、「ここでリカバリ」をクリックします。

    BPELプロセス・インスタンスの「フォルト」ページが表示されます。

  5. 「リカバリ」列で、「リカバリ可能」をクリックします。

    ページがリフレッシュされ、ページの下部にフォルト・リカバリ・セクションが表示されます。

    sca_faults2.gifの説明が続きます
    図版sca_faults2.gifの説明

  6. 「リカバリ・アクション」リストから「再試行」を選択します。

  7. 「再試行成功時のチェーン・アクション」リストから「なし」を選択します。このリストでは、Javaコールアウト・リカバリ・アクションを選択できます。詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。

  8. 「変数」リストから変数を選択します。この変数の内容が「値」フィールドに表示されます。この例では、変数crInputが選択されています。この変数は、invokeアクティビティで使用され、不適切な社会保障番号の値を含んでいます。

  9. 「値」フィールドに適切な値を入力します。この例では、社会保障番号を1で始まるように編集します。

    <ssn xmlns="http://service.otn.com">123456789</ssn>
    
  10. 「設定値」をクリックし、プロンプトが表示されたら「はい」をクリックして続行します。

  11. 「リカバリ」をクリックしてフォルトをリカバリし、プロンプトが表示されたら「はい」をクリックして続行します。

    ページがリフレッシュされ、フォルトが発生していないことが示されます。

8.5.1.2 例: BPELプロセスに対する一括フォルト・リカバリ

社会保障番号の例の場合、「再試行」の選択は、一括リカバリを実行するためのオプションではありません。これは、社会保障番号の値が不適切で、修正が必要になるためです。「再試行」オプションを使用して一括リカバリを実行する例としては、社会保障番号は適切であるが、信用格付けサービスを提供するシステムが一時的に使用不可になったために、コンポジット参照のフォルトが発生した場合などがあります。この場合は、メッセージが配信されません。信用格付けサービスが再度使用可能になったときに、「再試行」を選択すると、コンポジット参照を介した信用格付けサービスの起動が再試行されます。

BPELプロセスに対して一括フォルト・リカバリを実行する手順は、次のとおりです。

  1. 第8.5.1.1項「例: BPELプロセスに対する単一フォルト・リカバリ」のステップ1とステップ2を実行します。

  2. 検索ユーティリティで、判明しているフォルト・パラメータ(時間の範囲、コンポジット名、コンポーネント・タイプ(BPELプロセス)など)に基づいて基準を入力します。

  3. 検索結果が多数返される場合は、「リカバリ可能なフォルトのみ表示」チェック・ボックスを選択して表示を制限します。

  4. 「選択」リストから「すべてのリカバリ可能な値を選択」を選択します。

  5. 「リカバリ・アクション」リストから「中断」を選択します。

    選択したすべてのフォルトを手動で停止します。

8.5.2 BPMNプロセスに対するフォルト・リカバリの例

この項では、BPMNプロセスのフォルトに対して管理者操作を可能にするフォルト・ポリシーを定義し、BPMNプロセス・サービス・コンポーネントで単一フォルト・リカバリおよび一括フォルト・リカバリを実行する方法の例を示します。


注意:

複数インスタンス・プロセスがその完了の条件を満たした場合は、(残りのインスタンスを取り消すために)リカバリできないシステム・フォルトが発生します。このフォルトはOracle Enterprise Manager Fusion Middleware Controlに表示されますが、アクションを実行する必要はありません。条件が完了したため複数インスタンス・プロセスが確定したことを通知するために表示されます。

この例では、管理者操作によってフォルトを手動でリカバリするフォルト・ポリシーを定義します。無効な社会保障番号が、融資ブローカBPMNプロセスから信用格付けサービスに発行されると、信用格付けサービスはネガティブ情報フォルトを返します。この例の管理者操作によるアクションは、fault-policies.xmlファイルのora-human-interventionアクションで定義します。フォルト・ポリシーが定義されていない場合、BPMNインスタンスではリカバリ可能なフォルトを生成しません(フォルトはリカバリ不可になります)。この場合は、ora-human-interventionアクションを使用してフォルトをリカバリ可能にします。

<faultPolicies xmlns="http://schemas.oracle.com/bpmn/faultpolicy">
<faultPolicy version="2.0.1"
           id="CRM_ServiceFaults"
           xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns="http://schemas.oracle.com/bpmn/faultpolicy"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <Conditions>
               <faultName xmlns:credit="http://services.otn.com" 
               name="credit:NegativeCredit">
               <!-- get this fault when SSN starts with 0-->
                  <condition>
                     <test>$fault.payload="Bankruptcy Report"</test>
                     <action ref="ora-human-intervention"/>
                  </condition>
               </faultName>
            </Conditions>
</faultPolicy>
</faultPolicies>

fault-bindings.xmlファイルによって、fault-policies.xmlファイルで定義されたフォルト・ポリシーがCRM_ServiceFaultsコンポジットと関連付けられます。

<faultPolicyBindings version="2.0.1"
 xmlns="http://schemas.oracle.com/bpmn/faultpolicy"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <composite faultPolicy="CRM_ServiceFaults"/>
</faultPolicyBindings>

管理者操作はアクションとして定義されているため、BPMNプロセスに対するフォルト・リカバリはOracle Enterprise Manager Fusion Middleware Controlで実行します。

fault-policies.xmlファイルおよびfault-bindings.xmlファイルの作成と設計の詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。

8.5.2.1 例: BPMNプロセスに対する単一フォルト・リカバリ

この例の前提は次のとおりです。

BPMNプロセスに対して単一フォルト・リカバリを実行する手順は、次のとおりです。

  1. 「SOAインフラストラクチャ」メニューから、「ホーム」を選択します。

  2. 「フォルト・メッセージと拒否メッセージ」タブをクリックします。

  3. フォルト表で、リカバリ可能として識別されたフォルトを検索します。検索ユーティリティを使用して、特定のフォルトを検索できます。

  4. 「リカバリ」列で、「リカバリ」をクリックします。最初にフォルトの詳細を表示する場合は、エラー・メッセージをクリックします。次に、「ここでリカバリ」をクリックします。

    BPMNプロセス・インスタンスの「フォルト」ページが表示されます。

  5. 「リカバリ」列で、「リカバリ可能」をクリックします。

    ページがリフレッシュされ、ページの下部にフォルト・リカバリ・セクションが表示されます。

    sca_faults2.gifの説明が続きます
    図版sca_faults2.gifの説明

  6. 「リカバリ・アクション」リストから「再試行」を選択します。

  7. 「再試行成功時のチェーン・アクション」リストから「なし」を選択します。このリストでは、Javaコールアウト・リカバリ・アクションを選択できます。詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。

  8. 「変数」リストから変数を選択します。この変数の内容が「値」フィールドに表示されます。この例では、変数crInputが選択されています。この変数は、invokeアクティビティで使用され、不適切な社会保障番号の値を含んでいます。

  9. 「値」フィールドに適切な値を入力します。この例では、社会保障番号を1で始まるように編集します。

    <ssn xmlns="http://service.otn.com">123456789</ssn>
    
  10. 「設定値」をクリックし、プロンプトが表示されたら「はい」をクリックして続行します。

  11. 「リカバリ」をクリックしてフォルトをリカバリし、プロンプトが表示されたら「はい」をクリックして続行します。

    ページがリフレッシュされ、フォルトが発生していないことが示されます。

8.5.2.2 例: BPMNプロセスに対する一括フォルト・リカバリ

社会保障番号の例の場合、「再試行」の選択は、一括リカバリを実行するためのオプションではありません。これは、社会保障番号の値が不適切で、修正が必要になるためです。「再試行」オプションを使用して一括リカバリを実行する例としては、社会保障番号は適切であるが、信用格付けサービスを提供するシステムが一時的に使用不可になったために、コンポジット参照のフォルトが発生した場合などがあります。この場合は、メッセージが配信されません。信用格付けサービスが再度使用可能になったときに、「再試行」を選択すると、コンポジット参照を介した信用格付けサービスの起動が再試行されます。

BPMNプロセスに対して一括フォルト・リカバリを実行する手順は、次のとおりです。

  1. 第8.5.1.1項「例: BPELプロセスに対する単一フォルト・リカバリ」のステップ1から2を実行します。

  2. 検索ユーティリティで、判明しているフォルト・パラメータ(時間の範囲、コンポジット名、コンポーネント・タイプ(BPMNプロセス)など)に基づいて基準を入力します。

  3. 検索結果が多数返される場合は、「リカバリ可能なフォルトのみ表示」チェック・ボックスを選択して表示を制限します。

  4. 「選択」リストから「すべてのリカバリ可能な値を選択」を選択します。

  5. 「リカバリ・アクション」リストから「中断」を選択します。

    選択したすべてのフォルトを手動で停止します。

8.5.3 Oracle Mediatorに対するフォルト・リカバリの例

この項では、Oracle Mediatorサービス・コンポーネントで単一および一括フォルト・リカバリを実行する方法の例を示します。

この例では、インバウンドSiebelアダプタのサービス・バインディング・コンポーネントによって、変換のためにOracle Mediatorにペイロード・メッセージが発行されます。次に、処理されたペイロード・メッセージが、アウトバウンド・ファイル・アダプタの参照バインディング・コンポーネントに配信されます。ただし、ペイロード・メッセージの書込み先のアウトバウンド・ディレクトリが、書込み権限で構成されていません。この結果、フォルトが発生します。設計時に定義されたフォルト・ポリシーでは、フォルトは管理者操作によって手動でリカバリされることが指定されています。retryCount属性で定義されているように、再試行は3回行われることに注意してください。条件およびアクションは、fault-policies.xmlファイルで次のように定義されています。

Oracle Mediatorのリカバリ可能なフォルトに対して、フォルト・ポリシーは必要ありません(ただし、ora-human-interventionアクションで説明したように、フォルト・ポリシーはフォルトをリカバリ可能にする1つの方法です)。また、アウトバウンド・エンドポイントからリモート・フォルトを受信するパラレル・ルーティング・ルールによっても、リカバリ可能なフォルトが作成されます(この例では、Oracle Mediatorがパラレル・ルーティング・ルールを使用してアウトバウンド・ファイル・アダプタを起動する場合、フォルト・ポリシーは必要ありません)。

<faultPolicies xmlns="http://schemas.oracle.com/bpel/faultpolicy">
<faultPolicy version="2.0.1"
           id="ConnectionFaults"
           xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns="http://schemas.oracle.com/bpel/faultpolicy"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
              <Conditions>
                <faultName xmlns:medns="http://schemas.oracle.com/mediator/faults"
                name="medns:mediatorFault">
                   <condition>
                      <test>contains($fault.mediatorErrorCode, "TYPE_FATAL_
                         MESH")</test>
                      <action ref="ora-retry"/>
                   </condition>
                </faultName>
              </Conditions>
. . .
. . .      <Action id="ora-retry">
        <retry>
          <retryCount>3</retryCount>
          <retryInterval>5</retryInterval>
          <retryFailureAction ref="ora-human-intervention"/>
          <retrySuccessAction ref="ora-terminate"/>
        </retry>
      </Action>
   </Actions>
</faultPolicy>
</faultPolicies>

終了する前に、処理を3回再試行するように設定されていることに注意してください。

フォルト・ポリシーは、fault-bindings.xmlファイルでConnectionFaultsコンポジット・アプリケーションと関連付けられます。

<faultPolicyBindings version="2.0.1" xmlns="http://schemas.oracle.com/bpel/fault
policy" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <composite faultPolicy="ConnectionFaults"/>
</faultPolicyBindings>

8.5.3.1 例: Oracle Mediatorに対する単一フォルト・リカバリ

この例では、sap出力ディレクトリが読取り専用になっています。インバウンド・ファイル・アダプタはsiebelディレクトリからsender.xmlファイルを取得し、ファイルをsapディレクトリに格納するために、メッセージがOracle Mediatorを介してアウトバウンド・ファイル・アダプタ参照にルーティングされます。

Oracle Mediatorに対して単一フォルト・リカバリを実行する手順は、次のとおりです。

  1. オペレーティング・システムのコマンド・プロンプトで、ディレクトリの権限を変更します。

    chmod 000 sap
    cp sender.xml siebel/
    
  2. 「SOAインフラストラクチャ」メニューから、「ホーム」を選択します。

  3. 「フォルト・メッセージと拒否メッセージ」タブをクリックします。

    3回の再試行の結果、3つのフォルトが表示されることに注意してください。この場合、再試行は3回のみです。これは、アウトバウンド・ファイル・アダプタとOracle Mediatorの相互作用に関するフォルト・ポリシーで、再試行が3回と定義されているためです。フォルト・ポリシーがない場合、フォルトは1つのみです(自動的な再試行はありません)。

  4. 「コンポジット・インスタンスID」列で、特定のインスタンスIDをクリックします。

    「フローのトレース」が表示されます。ページの上部にあるフォルト表には、フォルト・メッセージが表示されます。メッセージ・フロー内で失敗したOracle Mediatorインスタンスの位置を確認するには、フォルト表でフォルトを選択します。選択すると、トレース表内の関連するインスタンスが強調表示されます。次に、インスタンスをクリックしてその監査証跡にアクセスすると、失敗したフローの詳細を確認できます。


    注意:

    ステップ4から10は、単一フォルトをリカバリする方法の1例を説明しています。フォルトは、Oracle Mediatorの「フォルト」ページで「リカバリ・アクション」リストから直接リカバリすることもできます。

  5. 「フォルト」表で、リカバリするOracle Mediatorコンポーネント・インスタンスのフォルトを検索し、「リカバリ」列で「リカバリ」をクリックします。

  6. 「ペイロード・パート」リストから「送信者」を選択します。

    「ペイロード」フィールドに、ペイロードが自動的に表示されます。必要な場合は、このフィールドでペイロードの変更を実行できます。この例では、ペイロードの変更は必要ありません。

  7. オペレーティング・システムのコマンド・プロンプトで、sapディレクトリを書込み可能に変更します。

    chmod 777 sap
    
  8. 「フォルト」タブに戻り、ページの右上隅にある「リフレッシュ」アイコンをクリックします。

  9. 「再試行」をクリックします。

  10. プロンプトが表示されたら「はい」をクリックして、選択したフォルトをリカバリのために再発行します。

    ページがリフレッシュされ、フォルトが発生していないことが示されます。

  11. 「監査証跡」タブをクリックします。

    最終メッセージで、手動リカバリが成功し、メッセージ・ペイロードがsapディレクトリに書き込まれたことが示されます。

    bp_flt29.gifの説明が続きます
    図版bp_flt29.gifの説明

8.5.3.2 例: Oracle Mediatorに対する一括フォルト・リカバリ

この例でも、sender.xmlペイロード・メッセージの書込み先のsapディレクトリが、読取り専用権限でオペレーティング・システムのコマンド・プロンプトで構成されているとします。sender.xmlファイルの3つのコピーが、インバウンドSiebelアダプタのサービス・バインディング・コンポーネントのsiebelディレクトリにあります。この結果、3つのインスタンスが作成されます。

chmod 000 sap
cp sender.xml siebel/
cp sender.xml siebel/
cp sender.xml siebel/

Oracle Mediatorに対して一括フォルト・リカバリを実行する手順は、次のとおりです。

  1. sapディレクトリを書込み可能に変更します。

  2. 「SOAインフラストラクチャ」メニューから、「ホーム」を選択します。

  3. 「フォルト・メッセージと拒否メッセージ」タブをクリックします。

  4. 検索ユーティリティで、判明しているフォルト・パラメータ(時間の範囲、コンポジット名など)に基づいて基準を入力します。

  5. 検索結果が多数返される場合は、「リカバリ可能なフォルトのみ表示」チェック・ボックスを選択して表示を制限します。

  6. オペレーティング・システムのコマンド・プロンプトで、sapディレクトリを書込み可能に変更します。

    chmod 777 sap
    
  7. リカバリするすべてのフォルトを選択します。

  8. 「リカバリ・アクション」リストから「再試行」を選択します。

  9. プロンプトが表示されたら「はい」を選択して、フォルト・リカバリを実行します。

  10. 「監査証跡」タブをクリックします。

    最終メッセージで、手動リカバリが成功し、メッセージ・ペイロードがsapディレクトリに正常に書き込まれたことが示されます。

8.6 アプリケーションのホーム・ページでの、SOAコンポジット・アプリケーションのフォルトのリカバリ

SOAコンポジット・アプリケーションを監視して、単一および一括のフォルト・リカバリを実行できます。リカバリ可能として識別されたBPELプロセス・フォルトについては、(fault-bindings.xmlファイルを介して)フォルトにバインドされ、アクションora-human-interventionをトリガーするフォルト・ポリシーが定義されている必要があります。ただし、フォルト・ポリシーが定義されていない場合、フォルトは、リカバリ可能またはリカバリ不可のフォルトとして通常どおり処理されます。ヒューマン・ワークフローのフォルトもリカバリできますが、Oracle Enterprise Manager Fusion Middleware Controlからは直接リカバリできません。かわりに、監査証跡にOracle BPM Worklistへのリンクが表示され、このリンクからフォルトを処理できます。

アプリケーションのホーム・ページでSOAコンポジット・アプリケーション・フォルトをリカバリする手順は、次のとおりです。

  1. 次のいずれかのオプションを使用して、このページにアクセスします。

    SOAインフラストラクチャのメニューから... ナビゲータのSOAフォルダから...
    1. 「ホーム」を選択します。
    2. 「デプロイ済コンポジット」を選択します。

    3. 「コンポジット」セクションで、特定のSOAコンポジット・アプリケーションを選択します。

    1. 「soa-infra」の下にある、特定のSOAコンポジット・アプリケーションを選択します。

  2. 「フォルト・メッセージと拒否メッセージ」タブをクリックします。

    「フォルト・メッセージと拒否メッセージ」ページに、選択したSOAコンポジット・アプリケーションに関する次の詳細が表示されます。

    • 特定のフォルトを検索するためのユーティリティ。基準を指定して「検索」をクリックします。詳細は、「ヘルプ」アイコンをクリックしてください。

    • SOAコンポジット・アプリケーション・インスタンスのフォルト・メッセージと拒否メッセージ。エラー・メッセージ、フォルトのリカバリが可能かどうか、フォルトの発生時間、フォルト・メッセージが拒否されたメッセージとして分類されているかどうか(その場合はチェックマークが表示されます)、フォルトの場所、コンポジット・インスタンスID、およびフォルトが記述されているログ・ファイルへのリンクが表示されます。

    sca_soaapp_search.gifの説明が続きます
    図版sca_soaapp_search.gifの説明


    注意:

    ヒューマン・ワークフローのフォルトはデハイドレーション・ストアに保持されないため、ヒューマン・ワークフローのエラー・メッセージは「エラー・メッセージの内容」フィールドに詳細を入力しても検索できません。

    リカバリ可能として識別されたフォルトはリカバリできます。

  3. リカバリ対象のフォルトを選択します。SOAインフラストラクチャ・レベル、およびBPELプロセスとOracle Mediatorサービス・コンポーネント・レベルでのフォルト・リカバリと同様に、単一フォルト・リカバリ、一括フォルト・リカバリ、およびすべてのフォルトのリカバリを実行できます。フォルトを選択してこれらのタイプのリカバリを実行する手順については、第8.5項「SOAインフラストラクチャ・レベルでの、SOAコンポジット・アプリケーションのフォルトのリカバリ」のステップ3を参照してください。

  4. 「リカバリ・アクション」リストからアクションを選択します。

    アクション 説明 アクションの対象
    再試行 インスタンスを直接再試行します。このリカバリ・アクションを使用するシナリオ例は、ネットワーク・エラーのためにサービス・プロバイダにアクセスできないことが原因でフォルトが発生した場合の例です。ネットワーク・エラーは現在解決しています。 BPELプロセスとOracle Mediator
    中断 インスタンス全体を終了します。 BPELプロセスとOracle Mediator
    リプレイ フォルトが発生したスコープ全体を再度リプレイします。 BPELプロセス
    再スロー 現在のフォルトを再スローします。フォルトの処理に、BPELフォルト・ハンドラ(catchブランチ)が使用されます。デフォルトでは、再スロー・フォルト・ポリシーが明示的に指定されていない場合、すべての例外がフォルト管理フレームワークによって捕捉されます。 BPELプロセス
    続行 フォルトを無視して処理を続行します(フォルト・アクティビティには成功のマークが付けられます)。 BPELプロセス


    注意:

    ほとんどの場合、フォルト・ポリシーのアクションは自動的に実行されます。ただし、アクションora-human-interventionを使用するフォルト・ポリシーを定義した場合は例外です。このアクションによって、Oracle Enterprise Manager Fusion Middleware Controlからリカバリできるリカバリ可能なフォルトが作成されます。

  5. 拒否メッセージを削除する場合は、「拒否メッセージの削除」をクリックします。

    現在のコンポジットの拒否メッセージをデータベースから直接削除するための基準を指定する「削除: 拒否メッセージ」ダイアログが表示されます。

    bp_delrejmess.gifの説明が続きます
    図版bp_delrejmess.gifの説明

  6. メッセージの一括リカバリを実行する場合は、「オプションを指定してリカバリ」をクリックします。

    現在のコンポジットのBPELメッセージとOracle Mediatorメッセージをデータベースから直接リカバリする基準を指定する「オプションを指定してリカバリ」ダイアログが表示されます。ヒューマン・ワークフロー・メッセージは、Oracle BPM Worklistから手動でリカバリできます。ビジネス・イベントとビジネス・ルール・メッセージはリカバリできません。

    soaapp_recovwithopts.gifの説明が続きます
    図版soaapp_recovwithopts.gifの説明

  7. 条件を指定します。許可されるリカバリ・アクションは、「再試行」「中断」のみです。


    注意:

    SOAコンポジット・アプリケーション・レベルの一括フォルト・リカバリでは、コンポジットの状態のチェックが実行されます。コンポジットの状態がオフに設定されている場合は、リカバリを実行できないことを警告するメッセージが表示されます。

    なんらかの理由(たとえば、サポートされていないサービス・エンジンやリカバリできないフォルトなど)でリカバリ中にフォルトがスキップされた場合は通知されません。


  8. 「リカバリ」をクリックします。メッセージの数に応じて、リカバリにかかる時間は異なります。

  9. フォルト表内から次の追加監視タスクを実行します。

    1. 「ビュー」リストから、「列」「フォルトID」の順に選択し、各エラー・メッセージのフォルトIDを表示します。フォルトIDは自動的に生成され、フォルトを一意に識別します。フォルトIDは、エラー・メッセージをクリックしたときも表示されます。

    2. 「フォルトの場所」列で、特定の場所をクリックし、フォルトの場所に関するフォルト・ページにアクセスします。フォルトの場所は、サービス、コンポーネントまたは参照です。

    3. 「コンポーネント・インスタンスID」列で、特定のサービス・コンポーネントIDをクリックし、インスタンスに関するタスク詳細(たとえば、タスクの現在の状態)にアクセスします。拒否メッセージにはコンポーネント・インスタンスIDがないことに注意してください。

    4. 「ログ」列で、特定のログをクリックし、「ログ・メッセージ」ページにアクセスします。このページには、そのインスタンスに固有のメッセージがフィルタされて表示されます。

詳細は、次の各項を参照してください。

8.7 SOAコンポジット・アプリケーションのテストの自動化

SOAコンポジット・アプリケーションのテストを自動化するテスト・ケースを作成、デプロイおよび実行できます。テスト・ケースを使用すると、SOAコンポジット・アプリケーションとそのWebサービス・パートナの間の相互作用を、本番環境へのデプロイメント前にシミュレートできます。この機能によって、本番環境へのデプロイメント準備が整うまでに、プロセスがWebサービス・パートナと予想どおりに相互作用することを確認できます。Oracle JDeveloperでテスト・ケースを作成し、SOAコンポジット・アプリケーションに組み込みます。このアプリケーションは、その後、Oracle Enterprise Manager Fusion Middleware Controlからデプロイされて管理されます。

SOAコンポジット・アプリケーションのテストを自動化する手順は、次のとおりです。


注意:

SOAコンポジット・アプリケーションをOracle Enterprise Manager Fusion Middleware Controlからテストするには、その前に、テスト・ケースの作成方法について『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。

  1. 次のいずれかのオプションを使用して、このページにアクセスします。

    SOAインフラストラクチャのメニューから... ナビゲータのSOAフォルダから... 「SOAコンポジット」メニューからアクセスする手順
    1. 「ホーム」を選択します。
    2. 「デプロイ済コンポジット」を選択します。

    3. 「コンポジット」セクションで、特定のSOAコンポジット・アプリケーションを選択します。

    4. 「ユニット・テスト」タブをクリックします。

    1. 「soa-infra」で、パーティションから特定のSOAコンポジット・アプリケーションを選択します。
    2. 「ユニット・テスト」タブをクリックします。

    1. 「ユニット・テスト」を選択します。

    表示されるテスト・ケースは、Oracle JDeveloperで設計され、デプロイ済のSOAコンポジット・アプリケーションに組み込まれたテスト・ケースです。

  2. テスト・スイート全体を選択するか、実行するスイートの個々のテストを選択して、「実行」をクリックします。

    sca_unittest.gifの説明が続きます
    図版sca_unittest.gifの説明

    テストの作成プロンプトが表示されます。

  3. 次の値を入力し、「OK」をクリックします。

    フィールド 説明
    テスト実行名 テスト・インスタンスの名前を入力します。テストの終了時に、レポート詳細がこの名前で取得されます。
    タイムアウト テストを終了させる値(秒単位)を入力します。この時間内にテストが完了しない場合、テストは終了されます。
    同時テスト・インスタンスの数 作成するテスト・インスタンスの数を入力します。

    実行中のテストを追跡するための「テスト実行」ページが自動的に表示されます。

    「テスト実行」ページを使用して、実行中のテスト・ケースを追跡し、テスト結果を表示できます。テスト・スイートは、1つ以上のテスト・ケースの論理的な集合で構成されます。各テスト・ケースには、テスト・インスタンスの実行時に実行される一連のコマンドが含まれています。テスト・スイートの実行は、テスト実行と呼ばれます。

    sca_unittest2.gifの説明が続きます
    図版sca_unittest2.gifの説明

  4. 「テスト実行名」列で特定のテスト実行をクリックして、「テスト実行の結果」セクションに詳細を表示します。追加のテスト実行を作成する場合は、「テスト・ケース」ページにいつでも戻ることができます。

    「テスト実行の結果」セクションには、実行されたテスト実行の詳細(テスト・サマリー、成功率など)が表示されます。追加の詳細は、「ヘルプ」アイコンをクリックしてください。

  5. ページの下部にアサーション詳細が表示されます。アサーションを使用すると、変数データやプロセス・フローを検証できます。

    sca_unittest3.gifの説明が続きます
    図版sca_unittest3.gifの説明

  6. コンポジット・インスタンス番号をクリックして、特定のテスト詳細を表示します。

    SOAコンポジット・アプリケーションの「インスタンス」ページ、およびSOAインフラストラクチャとSOAコンポジット・アプリケーションの「最新のインスタンス」表では、ユニット・テスト実行を実行して作成されたコンポジット・インスタンスのインスタンスIDの横に黄色のボックスが表示されます。これらのインスタンスは、この黄色のボックスによって、「Webサービスのテスト」ページで作成されたり、アプリケーションの外部コンシューマによって自動的に作成されたテスト・インスタンスと区別されます。

詳細は、次のドキュメントを参照してください。

8.8 SOAコンポジット・アプリケーションのポリシーの管理

現在デプロイされているSOAコンポジット・アプリケーションとの間で、セキュリティ・ポリシーをアタッチまたはデタッチできます。ポリシーでは、メッセージ配信に対してセキュリティが適用されます。


注意:

ポリシーをアタッチするには、その前に、使用可能なポリシーの定義と使用環境で使用するポリシーの詳細について、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』を参照してください。

SOAコンポジット・アプリケーション・ポリシーを管理する手順は、次のとおりです。

  1. 次のいずれかのオプションを使用して、このページにアクセスします。

    SOAインフラストラクチャのメニューから... ナビゲータのSOAフォルダから... 「SOAコンポジット」メニューからアクセスする手順
    1. 「ホーム」を選択します。
    2. 「デプロイ済コンポジット」を選択します。

    3. 「コンポジット」セクションで、特定のSOAコンポジット・アプリケーションを選択します。

    4. 「ポリシー」タブをクリックします。

    1. 「soa-infra」で、パーティションから特定のSOAコンポジット・アプリケーションを選択します。
    2. 「ポリシー」タブをクリックします。

    1. 「ポリシー」を選択します。

    「ポリシー」ページを使用すると、BPELプロセス・サービス・コンポーネントとの間でポリシーをアタッチおよびデタッチできます。ポリシー表には、アタッチされたポリシーの名前、ポリシーがアタッチされたコンポーネント、切替え可能なポリシー参照ステータス(有効または無効)、カテゴリ(「管理」、「信頼できるメッセージング」、「MTOMアタッチメント」、「セキュリティ」または「WSアドレス」)、違反、およびSOAインフラストラクチャの最後の再起動以降の認証、認可、機密性および整合性の失敗が表示されます。

    sca_policy.gifの説明が続きます
    図版sca_policy.gifの説明

  2. 「アタッチ/デタッチ先」をクリックします。

    複数のサービスまたはコンポーネントが使用可能な場合は、アタッチまたはデタッチを実行するサービスまたはコンポーネントを選択するプロンプトが表示されます。

  3. ポリシーのアタッチまたはデタッチ先のコンポーネントを選択します。

    soaapp_policy1.gifの説明が続きます
    図版soaapp_policy1.gifの説明

    ポリシーをアタッチまたはデタッチするためのダイアログが起動します。

    「アタッチされたポリシー」セクションに、現在アタッチされているポリシーが表示されます。「使用可能なポリシー」セクションには、アタッチ可能な追加のポリシーが表示されます。

    soaapp_policy2.gifの説明が続きます
    図版soaapp_policy2.gifの説明

  4. 使用環境に適した、アタッチ対象のポリシーを選択します。

  5. 「アタッチ」をクリックします。

    「アタッチされたポリシー」セクションに、アタッチされたポリシーが表示されます。

    soaapp_policy3.gifの説明が続きます
    図版soaapp_policy3.gifの説明

  6. 必要に応じて、追加のポリシーをアタッチします。

  7. ポリシーのアタッチを終了した後は、「検証」をクリックします。

  8. エラー・メッセージが表示された場合は、検証エラーがなくなるまで必要な修正を行います。

  9. 「OK」をクリックします。

    アタッチしたポリシーがポリシー表に表示されます。

    soaapp_policy4.gifの説明が続きます
    図版soaapp_policy4.gifの説明

ポリシーの詳細は、次のドキュメントを参照してください。

8.8.1 WS-RMセッション

単一のWS-RMセッションにおけるOracle SOA Suiteからの複数のリクエストは、現在サポートされていません。各リクエストは個別のWS-RMセッション内にあります。

8.8.2 コンポジット間呼出しでのポリシー・アタッチメントおよびローカルの最適化

OWSMでは、1つのコンポジットの参照で2つ目のコンポジットへのWebサービス・バインディングを指定するコンポジット間呼出しに対してOracle SOA Suiteのローカルの最適化機能がサポートされます。ローカルの最適化を使用すると、実行時にHTTPスタックとSOAP/正規化メッセージ変換をバイパスできます。コンポジットが異なるコンテナにある場合、ローカルの最適化は使用されません。ポリシーがWebサービス・バインディングにアタッチされている場合は、ローカルの最適化が使用されているとポリシーを呼び出すことができません。

デフォルトでは、OWSMセキュリティ・ポリシーには、ポリシーでローカルの最適化がサポートされるかどうかを示すlocal-optimizationプロパティが含まれます。ポリシーの設定は、Oracle Enterprise Manager Fusion Middleware Controlから表示できます。

ポリシーのローカル最適化設定を表示する手順は、次のとおりです。

  1. ナビゲータで、「WebLogicドメイン」フォルダを開きます。

  2. 「WLS_SOAWC」を右クリックし、「Webサービス」「ポリシー」の順に選択します。

  3. ポリシーを選択し、「ファイルにエクスポート」をクリックします。

  4. テキスト・エディタでファイルを開き、local-optimizationを検索して値を識別します。このプロパティでは次の値がサポートされます。

    • on: アタッチされたポリシーでローカルの最適化が使用され、ポリシーは実行時に適用されません。

    • off: アタッチされたポリシーではローカルの最適化は使用されず、ポリシーは実行時に適用されます。

    • check-identity: JAASサブジェクトが現在のスレッドに存在する場合は、ローカルの最適化が使用されます。それ以外の場合、ローカルの最適化は使用されません。

セキュリティ・ポリシーに対するデフォルトのローカルの最適化設定の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』を参照してください。

composite.xmlファイルのバインディング・セクションにoracle.webservices.local.optimizationプロパティを追加することで、ポリシーのローカルの最適化設定を上書きできます。次の値がサポートされます。

  • true(デフォルト値): ローカルの最適化が使用され、最適化されたコールに適用可能な場合はポリシーが適用されます(詳細は個々のポリシー・ファイルで定義します)。

  • false: OWSMポリシー・レベルでのlocal-optimizationプロパティのデフォルト設定にか関係なく、ローカルの最適化は使用されません。この設定ではポリシーが強制的に適用されます。

たとえば、falseの次の設定ではoracle/wss_username_token_client_policyが適用されます。

 <binding.ws
port="http://xmlns.oracle.com/CalledBPELProcessApp_
jws/CalledBPELProcess/CalledBPELProcess#wsdl.endpoint(calledbpelprocess_client_
ep/CalledBPELProcess_pt)"

location="http://sta00634.us.oracle.com:8001/soa-infra/services/default/CalledBPEL
Process!1.0/calledbpelprocess_client_ep?WSDL">
      <wsp:PolicyReference URI="oracle/wss_username_token_client_policy"
                           orawsp:category="security"
orawsp:status="enabled"/>
      <wsp:PolicyReference URI="oracle/log_policy"
orawsp:category="management"
                           orawsp:status="enabled"/>
                            <property
name="oracle.webservices.local.optimization">false</property>
    </binding.ws> 

8.9 実行中のSOAコンポジット・アプリケーションのエクスポート

実行しているSOAコンポジット・アプリケーションの内容をアーカイブJARファイルにエクスポートできます。ファイルには次のデータの一部またはすべてが含まれます。


注意:

  • SOAコンポジット・アプリケーションのエクスポートは、現在は個々のSOAコンポジット・レベルでのみ可能です。

  • 共有メタデータは、コンポジット・エクスポートSOAアーカイブ(SAR)の一部としてエクスポートされません。


実行中のSOAコンポジット・アプリケーションをエクスポートする手順は、次のとおりです。

  1. エクスポートするSOAコンポジット・アプリケーションのホーム・ページに移動します。

  2. 「SOAコンポジット」メニューから、「エクスポート」を選択します。

    「コンポジットのエクスポート」ページが表示されます。

    soaapp_export.gifの説明が続きます
    図版soaapp_export.gifの説明

  3. オプションを選択します。

    • オプション1: 「オプション2」および「オプション3」で説明されている元の設計時コンポジットとデプロイ後の詳細を含むアーカイブ・ファイルを生成します。

    • オプション2: 元の設計時コンポジットとデプロイ後の変更をルール・ディクショナリとDVMに含めます。

    • オプション3: 元の設計時コンポジットとバインディング・コンポーネントのプロパティなどのデプロイ後のプロパティの変更、監査レベル設定やペイロード検証ステータスなどのコンポジット・プロパティ、およびポリシー・アタッチメントを含めます。

    • オプション4: 元の設計時コンポジットのみ含むアーカイブ・ファイルを生成します。「オプション2」および「オプション3」は含まれません。

  4. 既存のファイルに追加の名前を付加する場合は、「カスタム拡張テキストの指定」を選択します。たとえば、「MyText」をsca_OrderBookingComposite_rev1.0.jarという名前のファイルに入力すると、エクスポートされるファイルの名前がsca_OrderBookingComposite_rev1.0-MyText.jarになります。

  5. 「エクスポート」をクリックします。

    「処理中: コンポジットのエクスポート」ダイアログに、アーカイブ・ファイル生成の進行状況が表示されます。生成が完了すると、ファイルの保存を求められます。

  6. 「ファイルの保存」をクリックします。

    ファイルを開くかローカル・ホストのディレクトリに保存するためのダイアログが表示されます。


    注意:

    「ファイルの保存」ボタンをクリックすることが重要です。このダイアログを単純に閉じないでください。コンポジットはエクスポートされますが、実際のエクスポートされたファイルを取得できません。

  7. JARファイルを保存するローカル・ディレクトリを指定します。

  8. 「処理中: コンポジットのエクスポート」ダイアログの右上にある「X」アイコンをクリックしてダイアログを閉じます。

  9. 「コンポジットのエクスポート」ページで、「取消」ボタンが「終了」に変わります。

  10. 「終了」をクリックします。

    「コンポジットのエクスポート」が閉じ、SOAコンポジット・アプリケーションのホーム・ページに戻ります。

8.10 SOAコンポジット・アプリケーションのパーティションへのグループ化

パーティションと呼ばれるSOAインフラストラクチャの個別のセクションに、SOAコンポジット・アプリケーションをデプロイできます。パーティションにデプロイすると、SOAコンポジットを論理的にグループ化し、特定のパーティション内のすべてのSOAコンポジット・アプリケーションに対して一括ライフサイクル管理タスクを実行できます。パーティションは、Oracle BPEL Process Managerの10.1.xリリースの一部であるドメイン機能に似ています。ただし、特定のパーティションへのログイン・アクセスの制限やパーティションの構成(たとえばスレッドの構成)などの、パーティションに対する特定の構成タスクを実行できないことに注意してください。

SOAコンポジット・アプリケーションをデプロイするには、パーティションが少なくとも1つ必要です。「デフォルト」という名前のデフォルトのパーティションが、Oracle SOA Suiteに自動的に作成されます。

パーティション化は次の2つのページから管理できます。


注意:

同じインバウンド・リソースを使用している複数のSOAコンポジット・アプリケーションが異なるパーティションにデプロイされている場合は、処理するメッセージをどのパーティションが取得するかを保証できません。

たとえば、ファイル・アダプタを使用しており、/home/Directory1がコンポジットSOAComposite1のインバウンド・ディレクトリだとします。このコンポジットがPartition1Partition2にデプロイされている場合、ファイルが/home/Directory1に置かれると、Partition1またはPartition2内のコンポジットがファイルを取得できます。

ただし、ソケット・アダプタでは、同じインバウンド・ポートを使用するコンポジットをデプロイできないという制限があります。この場合は、インバウンド・ポートが使用されていることを示す例外がスローされます。


表8-2に、両方のページで実行できるタスクの詳細を示します。

表8-2 パーティション管理に関するアクション

アクション 「パーティションの管理」ページでの実行の可否 パーティションのホーム・ページでの実行の可否

パーティションの作成

はい

いいえ

パーティションの削除

はい

可。「SOAパーティション」メニュー、「このパーティションの削除」の順に選択します。

注意: ナビゲータで右クリックし、「このパーティションの削除」を選択することによってもパーティションを削除できます。

特定のパーティションにデプロイされているすべてのコンポジットに対する一括ライフサイクル管理の実行

  • すべて起動

  • すべてシャットダウン

  • すべてリタイア

  • すべてアクティブ化

  • すべてアンデプロイ

はい

はい



注意:

  • パーティションは、特定の状態(起動、停止、アクティブ化、リタイアなど)に関連付けられません。パーティション内のコンポジットのみが、特定の状態に関連付けられます。このため、パーティションを起動、停止、アクティブ化またはリタイアさせることはできません

  • SOAインフラストラクチャは、起動後、すべてのデプロイ済コンポジットがロードされるまで受信リクエストを管理するために完全には初期化されない場合があります。SOAインフラストラクチャの初期化中、「パーティションの管理」ページおよび「パーティション」ホーム・ページの上部に警告メッセージが表示されます。このメッセージが表示されている間は、コンポジット・デプロイメント、コンポジット・アンデプロイメントなどの操作を実行しないでください。詳細は、第3.2.1項「SOAインフラストラクチャ起動初期化の完了の待機」を参照してください。


実行するタスクに応じて、次の各項を参照してください。

パーティションの詳細は、第1.4.3.5項「SOAインフラストラクチャのパーティションの概要」を参照してください。

8.10.1 パーティションの作成および削除

パーティションは、「パーティションの管理」ページで作成および削除できます。「デフォルト」という名前のデフォルトのパーティションが、Oracle SOA Suiteに自動的に作成されます。デフォルト・パーティションは削除できます。既存のパーティションの名前は変更できません。パーティションの作成と削除のみサポートされます。

  1. 次のいずれかのオプションを使用して、このページにアクセスします。

    SOAインフラストラクチャのメニューから... 特定のパーティションのホーム・ページからアクセスする手順
    1. 「パーティションの管理」を選択します。
    1. 特定のパーティションの「関連リンク」リストから、「パーティションの管理」を選択します。

    「パーティションの管理」ページに、次の詳細が表示されます。

    • 各パーティションの名前、各パーティション内のアクティブおよびリタイア状態のSOAコンポジット・アプリケーション・リビジョンの数、各パーティションに含まれているコンポジットの名前(「表示」リンクの下)、および各パーティション内の実行中インスタンスと失敗したインスタンスの総数。

    • 特定のパーティションを検索するためのユーティリティ。完全または部分的なパーティション名を入力し、「検索」アイコンをクリックするか[Return]キーを押します。検索では大文字と小文字は区別されません。

    soaadmin_partition4.gifの説明が続きます
    図版soaadmin_partition4.gifの説明

  2. パーティションを追加するには、「作成」をクリックします。

    「新規SOAパーティションの作成」ダイアログが表示されます。

    soaadmin_createpartition.gifの説明が続きます
    図版soaadmin_createpartition.gifの説明

    1. 「名前」フィールドにパーティションの名前を入力し、「作成」をクリックします。


      注意:

      名前は次の規則に従っている必要があります。
      • ASCII文字と数字を使用できます。

      • アンダースコア(_)を使用できます。

      • ハイフン(-)を使用できます(最初の文字以外)。

      • ASCII以外の文字を使用できます。

      • スペースは使用できません

      有効な名前の例は、mypartitionpartition2dept-acustomer_servicesおよび22です。無効な名前の例は、-part2/partition、およびnullまたは空の名前です。


      既存のパーティションの名前の変更や、デプロイしたコンポジット・アプリケーションを後で別のパーティションに転送することはできません。

      新しいパーティションは、「soa-infra」のナビゲータと「パーティションの管理」ページの「SOAパーティション」列の両方に表示されます。これで、「デプロイメント」ドロップダウン・リストから「このパーティションにデプロイ」を選択するか、ナビゲータで特定のパーティションを右クリックして「このパーティションにデプロイ」をクリックすることにより、コンポジットをこのパーティションにデプロイできます。

      コンポジットがパーティションにデプロイされると、ナビゲータでそのコンポジットがパーティションの下に表示されます。デプロイした後は、コンポジットを別のパーティションに転送できなくなります。

      soaadmin_createpartition2.gifの説明が続きます
      図版soaadmin_createpartition2.gifの説明

  3. パーティションを削除するには、特定のパーティションを選択し、「削除」をクリックします。ナビゲータで特定のパーティションを右クリックし、「このパーティションの削除」をクリックすることによっても削除できます。

    「SOAパーティションの削除」ダイアログが表示されます。次のことに注意してください。

    • 別のパーティションにコンポジット・デプロイメントの一部を再作成する場合は、このパーティションを削除するにコンポジットをJARファイルにエクスポートできます。

    • 選択したパーティションを削除する前に、パーティション内のすべてのSOAコンポジット・アプリケーション・リビジョンがアンデプロイされます。これらのリビジョンの、すべてのアンデプロイされたインスタンスの状態は「失効」になります。


    注意:

    少なくとも1つのパーティションが必要です。すべてのパーティションを削除すると、SOAコンポジット・アプリケーションをデプロイできません。

    soaadmin_deletepartition.gifの説明が続きます
    図版soaadmin_deletepartition.gifの説明

    1. 「削除(すべてのコンポジットのアンデプロイ)」をクリックします。

      パーティションにデプロイされたすべてのコンポジットがアンデプロイされ、ナビゲータに表示されなくなります。パーティションは、「soa-infra」のナビゲータと「パーティションの管理」ページの「SOAパーティション」列の両方から削除されます。

「コンポジット制御」および「デプロイメント」リストからの一括ライフサイクル管理タスクの実行については、第8.10.2項「パーティションのコンポジットに対する一括ライフサイクル管理タスクの実行」を参照してください。

WebLogic Scripting Tool(WLST)およびantコマンドでもパーティションを作成できます。詳細は、Oracle Fusion Middleware WebLogic Scripting Toolコマンド・リファレンスおよび『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。

8.10.2 パーティションのコンポジットに対する一括ライフサイクル管理タスクの実行

「パーティションの管理」ページ、特定のパーティションのホーム・ページ、およびナビゲータでパーティションを右クリックすると表示されるメニューで、特定のパーティション内のすべてのSOAコンポジット・アプリケーションに対して一括ライフサイクル管理タスクを実行できます。

一括ライフサイクル管理タスクは、一度に1つではなく複数のコンポジットに影響を及ぼします。コンポジットに実行中のインスタンスがあり、ライフサイクルの変更操作がコンポジットに対して実行されている場合は、インスタンスが完了しないことがあります。様々なライフサイクル操作がコンポジット・インスタンスに及ぼす影響については、第8.2.1項「SOAインフラストラクチャ・レベルでのすべてのアプリケーションの状態管理」のステップ3を参照してください。

特定のパーティション内のすべてのSOAコンポジット・アプリケーションに対して一括ライフサイクル管理を実行する手順は、次のとおりです。

  1. ページには、次のいずれかの手順でアクセスします。

    SOAインフラストラクチャのメニューから... ナビゲータのSOAフォルダから...
    1. 「パーティションの管理」を選択します。
    1. 「soa-infra」の下にある、特定のパーティションを選択します。


    注意:

    ショートカットとして、ナビゲータで特定のパーティションを右クリックして、この項で説明する一括ライフサイクル管理アクションを選択するメニューを表示することもできます。このメニューの詳細は、第2.2.3項「パーティションのホーム・ページおよびメニューからの移動」のステップ3を参照してください。

    いずれかのページに表示される2つのドロップダウン・リストを使用すると、一括ライフサイクル管理アクションを実行できます。

    • 「コンポジット制御」リスト

    • 「デプロイメント」リスト

    特定のパーティションのホーム・ページでは、これらのリストはページの上部に表示されます。

    soaadmin_partition3.gifの説明が続きます
    図版soaadmin_partition3.gifの説明

    「パーティションの管理」ページでは、これらのリストは「SOAパーティション」表の上に表示されます。

    soaadmin_partition4.gifの説明が続きます
    図版soaadmin_partition4.gifの説明


    注意:

    パーティションのホーム・ページの上部にある「SOAパーティション」メニューを選択して、パーティションにコンポジットをデプロイし、一括ライフサイクル管理タスクを実行することも選択できます。

  2. 選択したパーティションに含まれるすべてのSOAコンポジット・アプリケーションに次の一括ライフサイクル管理タスクの1つを実行するには、「コンポジット制御」リストを選択します。

    • すべてのコンポジットを起動します。

    • すべてのコンポジットをシャットダウンします。

    • すべてのコンポジットをアクティブにします。

    • すべてのコンポジットをリタイアします。

    soaadmin_comp_control.gifの説明が続きます
    図版soaadmin_comp_control.gifの説明

    1. 実行する操作を選択します。

      選択内容の確認を求めるダイアログが表示されます。操作が完了すると、ページ上部に確認メッセージが表示されます。

  3. 次のいずれかの管理タスクを実行するには、「デプロイメント」リストを選択します。

    • このパーティションにデプロイするコンポジットを指定します。この選択により、デプロイするコンポジット・リビジョンを指定するSOAコンポジットのデプロイ・ウィザードが起動します。

    • このパーティション内のすべてのコンポジットをアンデプロイします。

      選択内容の確認を求めるダイアログが表示されます。操作が完了すると、ページ上部に確認メッセージが表示されます。

    soaadmin_deployment.gifの説明が続きます
    図版soaadmin_deployment.gifの説明

8.11 BPELおよびBPMNのビジネス監視の有効化と無効化

ビジネス監視という表現には、次のようないくつかのタイプのSOAコンポーネントに対して定義できる様々なタイプのセンサーが含まれています。

SOAコンポジット・アプリケーション・レベルで、選択したコンポジットを構成するあらゆるタイプのサービス・コンポーネントに定義されているセンサーすべてに同じステータスを設定します。単一のコンポジットに対する特定のタイプのサービス・コンポーネントに定義されているセンサーを選択して有効化または無効化することはできません。ただし、BPELサービス・エンジン・プロパティまたはBPMNサービス・エンジン・プロパティの各ページで、すべてのコンポジットのサービス・コンポーネント・タイプ固有のセンサーをグローバルに無効化することは可能です。

デフォルトでは、SOAコンポジット・アプリケーションに定義されているBPELセンサーとBPMNセンサーは有効になります。センサーを無効化すると、実行時にセンサー値が取得されません。たとえば、BPEL監査証跡の「センサー値」セクションに値が表示されません。

センサーをサービス・エンジン・レベルで無効化する手順は、次のとおりです。

  1. 第11.1項「BPELプロセス・サービス・エンジン・プロパティの構成」の手順に従って「BPELサービス・エンジン・プロパティ」ページにアクセスします。

  2. 「BPELモニターおよびセンサーの無効化」チェック・ボックスを選択します。

  3. 「適用」をクリックします。

  4. 第36.1項「BPMNプロセス・サービス・エンジン・プロパティの構成」の手順に従って「BPMNサービス・エンジン・プロパティ」ページにアクセスします。


    注意:

    「BPMNサービス・エンジン・プロパティ」ページが表示されるのは、Oracle BPM Suiteがインストールされている場合のみです。

  5. 「BPMN測定の無効化」チェック・ボックスを選択します。

  6. 「適用」をクリックします。

センサーをSOAコンポジット・アプリケーション・レベルで無効化または有効化する手順は、次のとおりです。

  1. センサーを無効化または有効化するSOAコンポジット・アプリケーションのホーム・ページに移動します。

  2. 「設定」メニューからBPELビジネス監視の有効化/無効化を選択します。この選択肢は、コンポーネントにセンサーが含まれているかどうかに関係なく、BPELまたはBPMNサービス・コンポーネントを少なくとも1つ持つコンポジットに対してのみ表示されます。

    sca_sensordis.gifの説明が続きます
    図版sca_sensordis.gifの説明

    センサーの現在のステータスを表示するダイアログが起動され、このダイアログでステータスを変更できます。ダイアログには、選択したコンポジットに存在するコンポーネント・タイプに適したオプションのみが表示されます。たとえば、コンポジットにはBPELコンポーネントのみが含まれており、BPMNコンポーネントが含まれていない場合は、BPELセンサーのステータスを設定するオプションのみが表示されます。

    次のステップでは、表示可能なダイアログのタイプと使用可能なアクションについて説明します。

    1. センサーが両方のサービス・エンジン・レベルで無効化されている場合、「グローバルに無効」というメッセージがそれぞれに表示されます。このダイアログでは、「すべて有効化」または「すべて無効化」を選択できません。この場合もボタンは両方とも使用不可になります。

      sca_sensordis3.gifの説明が続きます
      図版sca_sensordis3.gifの説明

      また、センサーがBPELサービス・エンジン・レベルで無効化されており、Oracle BPM SuiteがインストールされていないためにBPMNサービス・エンジンが表示されない場合も、このダイアログで「すべて有効化」または「すべて無効化」を選択できません。この場合もボタンは両方とも使用不可になります。

      sca_sensordis8.gifの説明が続きます
      図版sca_sensordis8.gifの説明

    2. センサーがコンポジット・レベルで無効化されていない場合は、チェックマークが表示されます。また、センサーがBPELおよびBPMNサービス・エンジン・レベルの両方で無効化されていない場合、「グローバルに無効」というメッセージは表示されません

      「すべて無効化」をクリックすると、選択したコンポジットを構成するサービス・コンポーネントに定義されているすべてのタイプのセンサーが無効化されます。(センサーがサービス・エンジン・レベルで無効化されている場合は、無効のままです。)

      sca_sensordis4.gifの説明が続きます
      図版sca_sensordis4.gifの説明

    3. 特定のサービス・エンジン・レベルでセンサーが無効化されている場合は、サービス・エンジン・プロパティ・ページの対応する「BPELモニターおよびセンサーの無効化」または「BPMN測定の無効化」チェック・ボックスの選択が解除されていると、コンポジット・アプリケーション・レベルでこれらのタイプのセンサーに設定したセンサー・ステータスのみが有効化されます。

      たとえば、(次に表示されているように)BPMNサービス・エンジン・レベルでセンサーが無効化されているときに、選択されたコンポジット・レベルですべてのセンサーに対して「すべて有効化」を選択した場合、そのステータスはBPELなどの他のタイプのセンサーにのみ適用されます。BPMNセンサーおよびモニターは無効化されたままです。ただし、BPMNサービス・エンジンの設定を後で変更すると、このコンポジットのBPMNセンサーは自動的に有効化されます。

      sca_sensordis5.gifの説明が続きます
      図版sca_sensordis5.gifの説明

    4. センサーがコンポジット・レベルで無効化されている場合、チェックマークは表示されません。「すべて有効化」をクリックすると、選択したコンポジットを構成するサービス・コンポーネントに定義されているすべてのタイプのセンサーが有効化されます。(サービス・エンジン・レベルで無効化されているセンサーは、サービス・エンジン・レベルの設定を変更するまでは無効のままです。)コンポジットにBPMNサービス・コンポーネントが含まれていないため、BPMNは表示されません。

      sca_sensordis7.gifの説明が続きます
      図版sca_sensordis7.gifの説明

アクションを選択すると、そのセンサーが有効化または無効化されたことを確認するページにインライン・メッセージが表示されます。

BPELセンサーとモニターの詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。

BPMN測定の詳細は、『Oracle Fusion Middleware Oracle Business Process Managementモデリングおよび実装ガイド』を参照してください。