Oracle® Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド 11g リリース1 (11.1.1.4.0) B55916-03 |
|
前 |
次 |
この章では、SOAコンポジット・アプリケーションの管理方法について説明します。これには、アプリケーションのテスト・インスタンスの起動、フォルト管理、ポリシー管理、インスタンスの状態管理、およびSOAコンポジット・アプリケーションのテストが含まれます。
この章の内容は、次のとおりです。
注意: このガイドでは、「SOAインフラストラクチャ」メニュー、ナビゲータの「soa-infra」アイコン、「SOAコンポジット」メニュー、および「SOAパーティション」メニューからOracle Enterprise Manager Fusion Middleware Controlの各ページにアクセスする手順について説明しています。また、ファーム・ホーム・ページからも多くのページにアクセスできます。詳細は、第2.2.6項「SOAインフラストラクチャまたはSOAコンポジット・アプリケーションのホーム・ページへの移動」を参照してください。 |
この章では、デプロイ済SOAコンポジット・アプリケーションのテスト・インスタンスを起動する方法について説明します。
SOAコンポジット・アプリケーションのテスト・インスタンスを起動する手順は、次のとおりです
次のいずれかのオプションを使用して、このページにアクセスします。
「SOAインフラストラクチャ」メニューからアクセスする手順 | ナビゲータの「SOA」フォルダからアクセスする手順 | 「コンポジット」メニューからアクセスする手順 |
---|---|---|
|
|
|
コンポジットに複数のサービスが含まれる場合は、「テスト」ボタンにドロップダウン・リストが表示され、テストするサービスを選択できます。
インスタンスを起動するための「Webサービスのテスト」ページが表示されます。
このページには、インスタンスを起動するための様々なオプションが用意されています。「引数を入力」セクションでは、少なくとも、使用するXMLペイロード・データを指定する必要があります。
テスト対象として選択したサービスに基づいて、WSDLファイルおよびエンドポイントURLが自動的に移入されます。エンドポイントURLはWSDLから導出され、そのサービスを異なる場所で起動する場合は上書きできます。選択したサービスに複数のポートがある場合は、ドロップダウン・リストが表示されます。そうでない場合は、現在のサービスのポートが表示されます。
次の各フィールドではデフォルト値をそのまま使用するか、使用するテスト環境に適した値を入力します。
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
)は、デフォルトとして設定されたコンポジット・リビジョンによって処理されます。
エンドポイントURLを編集する場合は、「エンドポイントURLの編集」をクリックして適切に変更します。
「Webサービスのテスト」ページの下部には、「リクエスト」タブがあります。このタブでは、セキュリティ、サービスのクオリティ、HTTPトランスポート、ストレス・テスト・オプションおよびXML入力引数を指定できます。
「セキュリティ」セクションには、メッセージを使用してセキュリティ・プロパティを渡すための次のフィールドがあります。
フィールド | 説明 |
---|---|
WSSユーザー名トークン | WSセキュリティのSOAPヘッダーを挿入します。「ユーザー名」フィールドは必須で、「パスワード」フィールドはオプションです。 |
HTTP Basic認証 | ユーザー名とパスワード資格証明をHTTPトランスポート・ヘッダーに挿入します。「ユーザー名」および「パスワード」フィールドは両方とも必須です。 |
カスタム・ポリシー | カスタム・ポリシーを使用してユーザーを認証します(カスタム・ポリシーのURIを指定します)。「ユーザー名」および「パスワード」フィールドはオプションです。 |
なし | セキュリティ資格証明を指定しない場合に選択します。これがデフォルトの選択です。 |
次の各フィールドではデフォルト値をそのまま使用するか、使用するテスト環境に適した値を入力します。
「サービスのクオリティ」セクションには、次のフィールドがあります。Oracle Fusion Middlewareでは、ポリシー・ベースのモデルを使用してWebサービスを管理します。ポリシーでは、メッセージ配信に対して動作要件が適用されます。「Webサービスのテスト」ページの使用方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』を参照してください。
フィールド | 説明 |
---|---|
WS-RM | 次のオプションのいずれかを選択して、WS信頼できるメッセージング(RM)プロトコル・ポリシーをテストします。信頼できるメッセージング・ポリシーによって、このプロトコルがサポートされ、メッセージのエンドツーエンド配信が保証されます。
|
MTOM | 次のオプションのいずれかを選択して、メッセージ転送最適化メカニズム(MTOM)ポリシーをテストします。MTOMポリシーによって、添付がMTOMフォーマットであることが保証されます。このフォーマットは、Webサービスとの間でバイナリ・データを効率的に送受信するためのフォーマットです。
|
WSアドレス | 次のオプションのいずれかを選択して、WSアドレス・ポリシーをテストします。WSアドレス・ポリシーによって、WSアドレス仕様に準拠したWS-AddressingヘッダーがSOAPメッセージに含まれていることが検証されます。
|
次の各フィールドではデフォルト値をそのまま使用するか、使用するテスト環境に適した値を入力します。
「HTTPトランスポート・オプション」セクションには、次のフィールドがあります。
フィールド | 説明 |
---|---|
SOAPアクションの有効化 | WSDL soap:operation にsoapAction 属性があるかどうかを指定します。このフラグは、soapAction 属性が存在する場合に有効になります。SOAPアクションのHTTPヘッダーを使用してリクエストを送信しない場合は、このチェック・ボックスの選択を解除します。 |
SOAPアクション | WSDL soap:operation のsoapAction 属性が表示されます(存在する場合)。このテキスト・ボックスで別のSOAPアクションを指定することもできます。 |
次の各フィールドではデフォルト値をそのまま使用するか、使用するテスト環境に適した値を入力します。
「追加テスト・オプション」セクションには、次のフィールドがあります。このセクションでは、複数インスタンスを同時に起動する簡単なストレス・テストを指定します。
フィールド | 説明 |
---|---|
ストレス・テストの有効化 | 「有効化」をクリックして、簡単なストレス・テストを作成します。このオプションを有効にすると、対話IDは表示されません。 |
同時スレッド | 起動を送信する同時スレッドの数を入力します。デフォルトは5 スレッドです。 |
スレッドごとのループ | 操作を起動する回数を入力します。デフォルトは10 回です。 |
ミリ秒単位の遅延 | 次の操作を起動するまでの遅延をミリ秒単位で指定します。デフォルトは1000 ミリ秒(1 秒)です。 |
次の各フィールドではデフォルト値をそのまま使用するか、使用するテスト環境に適した値を入力します。
「引数を入力」セクションには、XMLペイロード・データを入力するための次のフィールドがあります。
フィールド | 説明 |
---|---|
ツリー表示 | 情報を入力するテキスト・フィールドのグラフィカル・インタフェースが表示されます。このフィールドを選択すると、必要なヘッダーとXML構造が自動的に生成されます。 |
XML表示 | 値の挿入のためのXMLファイル・フォーマットが表示されます。このフィールドには、メッセージのraw XMLペイロードを貼り付けることができます。 |
「Webサービスのテスト」をクリックします。
テストを終了すると、「レスポンス」タブに結果が表示されます。
「メッセージ・フロー・トレースの起動」をクリックして、インスタンスのフローのトレースにアクセスします。
コンポジットのホーム・ページに戻るには、ページの上部に表示されるコンポジット名をクリックするか、コンポジット・ターゲット・メニューから「ホーム」を選択します。
SOAコンポジット・アプリケーションの「ダッシュボード」ページに戻ります。
「最新のインスタンス」表に、最新のSOAコンポジット・アプリケーションのインスタンスがリストされます。作成された各インスタンスには、固有のIDが付いています。
詳細は、次の各項を参照してください。
インスタンスの概念の詳細は、第1.2.3項「SOAコンポジット・アプリケーション・インスタンスの概要」を参照してください。
ポリシーの概要については、第1.4.3.2項「ポリシーの概要」を参照してください。
「Webサービスのテスト」ページからのWebサービスのテスト、およびポリシーに関する具体的な詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』を参照してください。
"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メッセージ/部分に定義されている要素です。
デプロイ済のSOAコンポジット・アプリケーションのライフサイクルの状態は、次の2つのページのいずれかから管理できます。
SOAインフラストラクチャの「デプロイ済コンポジット」ページ。このページには、SOAインフラストラクチャにデプロイされたすべてのSOAコンポジット・アプリケーションがリストされます。
特定のSOAコンポジット・アプリケーションのアプリケーション・ホーム・ページ(すべてのタブ)。
実行できる管理タスクは、使用しているページによって異なります。表8-1に詳細を示します。
表8-1 アプリケーションの状態に関するアクション
アクション | SOAインフラストラクチャの「デプロイ済コンポジット」ページでの実行の可否 | アプリケーションのホーム・ページ(すべてのタブ)での実行の可否 |
---|---|---|
停止と起動 |
はい |
はい |
リタイアとアクティブ化 |
はい |
はい |
デフォルトとして設定 |
はい |
|
デプロイ |
はい |
可(「コンポジット」メニューから「SOAデプロイ」→「別のコンポジットをデプロイ」の順に選択) |
アンデプロイ |
はい |
可(「コンポジット」メニューから「SOAデプロイ」→「アンデプロイ」の順に選択) |
再デプロイ |
はい |
可(「コンポジット」メニューから「SOAデプロイ」→「再デプロイ」の順に選択) |
テスト |
いいえ |
はい |
コンポジットの監査レベル |
いいえ |
はい |
ペイロードの検証 |
いいえ |
はい |
ビジネス監視の有効化/無効化 |
いいえ |
はい |
WSDLおよびエンドポイントURIの表示(アイコン) |
いいえ |
はい |
XML定義の表示(アイコン) |
いいえ |
はい |
実行するアクションに応じて、次の各項を参照してください。
詳細は、第1.2.2項「SOAコンポジット・アプリケーションの概要」を参照してください。
すべてのSOAコンポジット・アプリケーションの状態は、SOAインフラストラクチャ・レベルで「デプロイ済コンポジット」ページから管理できます。
SOAインフラストラクチャ・レベルですべてのアプリケーションの状態を管理する手順は、次のとおりです。
次のいずれかのオプションを使用して、このページにアクセスします。
「SOAインフラストラクチャ」メニューからアクセスする手順 | ナビゲータの「SOA」フォルダからアクセスする手順 | 「SOAコンポジット」メニューからアクセスする手順 |
---|---|---|
|
|
|
「デプロイ済コンポジット」タブをクリックします。
「デプロイ済コンポジット」ページに、次の詳細が表示されます。
コンポジット名の全部または一部を指定して「検索」をクリックすることにより特定のSOAコンポジット・アプリケーションを検索するためのユーティリティ。SOAコンポジット・アプリケーションは、パーティションを指定して検索することもできます。
デプロイされたパーティションを含む、SOAインフラストラクチャにデプロイされたすべてのSOAコンポジット・アプリケーションのリスト。現在のモード(「アクティブ」または「リタイア」)、インスタンスの数、失敗したインスタンスの数、および最終更新日時(デプロイメント時間、再デプロイメント時間、またはコンポジットの構成変更)が表示されます。コンポジット名の左にある緑色の丸印は、それがアプリケーションのデフォルトのリビジョンであることを示しています。
注意: デプロイ済SOAコンポジット・アプリケーションに関する最新の詳細を表示するには、右上隅にある「リフレッシュ」アイコンをクリックするか、他のページに移動してこのページに戻ります。 |
「デプロイ」をクリックして新しいアプリケーションをデプロイします。「コンポジット」セクションの上にリストされている他のすべてのオプションについては、最初にコンポジット・アプリケーション名の左の列をクリックしてコンポジット・アプリケーションを選択し、次に実行する特定のオプションを選択します。
次の表に、使用可能なオプションを示します。
アクション | 説明 |
---|---|
停止 | 実行中のSOAコンポジット・アプリケーション・リビジョンを停止します。コンポジットが停止している場合、コンポジットへのリクエスト(開始リクエストまたはコールバック・リクエスト)はすべて拒否されます。新しい受信リクエストは処理できません。既存のすべてのインスタンスは通常どおり完了できます(コンポジットがリタイアするときと同様)。
注意: 使用するバインディング・コンポーネントによって動作が異なります。たとえば、Webサービス・リクエストの場合は、却下されてコール元に戻されます。また、JCAアダプタ・バインディング・コンポーネントの場合も動作が異なる場合があります(たとえば、リクエストは却下表に格納されます)。 このオプションは、コンポジット・アプリケーションが開始されると表示されます。 |
起動 | 停止したコンポジット・アプリケーション・リビジョンを再起動します。このアクションによって、新規リクエストが処理されます(拒否されません)。メッセージのリカバリは発生しません。
このオプションは、コンポジット・アプリケーションが停止されると表示されます。 |
リタイア | 選択したコンポジット・リビジョンをリタイア状態にします。プロセスのライフサイクルがリタイア状態の場合、新しいインスタンスは作成できません。既存のインスタンスは正常に完了できます。
コンポジット・アプリケーションへの開始リクエストは拒否されてコール元に戻されます。バインディング・コンポーネントが異なる場合の拒否の動作については、「停止」オプションで説明しています。 開始済のコンポジット・アプリケーション・インスタンスへのコールバックは、適切に配信されます。 このオプションは、コンポジット・アプリケーションがアクティブの場合に表示されます。 |
アクティブ化 | リタイア状態のコンポジット・アプリケーション・リビジョンをアクティブにします。このオプションを選択した場合の動作は次のとおりです。
このオプションは、アプリケーションがリタイア状態のときに表示されます。 |
デフォルトとして設定 | 選択したコンポジット・アプリケーション・リビジョンをデフォルトとして設定します。「コンポジット」表では、デフォルトのリビジョンに緑色の丸印が付いています。特定のコンポジット・アプリケーション・リビジョンに対する新規リクエストを受信すると、そのコンポジット・アプリケーション・リビジョンが起動します。リビジョンが指定されていない新規リクエストを受信すると、デフォルトのリビジョンが起動します。コンポジット・アプリケーションがリタイア状態の場合は、デフォルトのリビジョンを変更できません。デフォルトのコンポジット・アプリケーション・リビジョンがアンデプロイされると、デフォルトのリビジョンは自動的に変更されます。
コンポジット・アプリケーションを再デプロイした場合も、デフォルトのコンポジット・リビジョンは自動的に変更されます。再デプロイメント時に以前のデフォルトのリビジョンをデフォルトのままにするように指定しないかぎり、新規に再デプロイしたリビジョンが自動的にデフォルトのリビジョンになります。 インバウンド・アダプタがアクティブ化されるのは、デフォルトのリビジョンでのみです。 |
デプロイ | リビジョンをデプロイします。デプロイメントによって、SOAインフラストラクチャのコンポジット・アプリケーションがアクティブ化されます。デプロイする場合は次の内容を選択します。
すでに存在するリビジョンを指定すると、エラーが発生します。このリビジョンは、SOAコンポジットのデプロイ・ウィザードを使用して変更できません。 詳細は、第5.1項「アプリケーションのデプロイ」および第8.10項「SOAコンポジット・アプリケーションのパーティションへのグループ化」を参照してください。 |
アンデプロイ | 選択したコンポジット・アプリケーション・リビジョンをアンデプロイします。このアクションを実行すると、次のような結果になります。
注意: 複数のSOAコンポジット・アプリケーションが同じパーティションにある場合は、それらを同時にアンデプロイする機能がサポートされています。 詳細は、第5.3項「アプリケーションのアンデプロイ」および第8.10項「SOAコンポジット・アプリケーションのパーティションへのグループ化」を参照してください。 |
再デプロイ | SOAコンポジット・アプリケーションの既存のリビジョンを再デプロイします。このアクションを実行すると、次のような結果になります。
詳細は、第5.2項「アプリケーションの再デプロイ」を参照してください。 |
詳細は、第1.4.3.3項「SOAコンポジット・アプリケーションのライフサイクルの状態の概要」を参照してください。
個々のSOAコンポジット・アプリケーションの状態は、アプリケーションのホーム・ページで管理できます。
SOAコンポジット・アプリケーションのホーム・ページでアプリケーションの状態を管理する手順は、次のとおりです。
次のいずれかのオプションを使用して、このページにアクセスします。
「SOAインフラストラクチャ」メニューからアクセスする手順 | ナビゲータの「SOA」フォルダからアクセスする手順 |
---|---|
|
|
選択したSOAコンポジット・アプリケーションのダッシュボードが表示されます(この例では、POApprovalEventPublisher)。
注意:
|
ページの上部にあるオプションのリストから、実行するアクションを選択します。これらのオプションは、SOAコンポジット・アプリケーションの「インスタンス」、「フォルト・メッセージと拒否メッセージ」、「ユニット・テスト」および「ポリシー」ページの上部にも表示されます。
アクション | 説明 |
---|---|
停止 | このオプションの説明は、ステップ3の表を参照してください。 |
起動 | このオプションの説明は、ステップ3の表を参照してください。 |
リタイア | このオプションの説明は、ステップ3の表を参照してください。 |
アクティブ化 | このオプションの説明は、ステップ3の表を参照してください。 |
テスト | 「Webサービスのテスト」ページからテスト・インスタンスを起動できます。
注意: SOAコンポジット・アプリケーションが停止またはリタイアしているときは、このボタンは無効です。停止またはリタイアしたアプリケーションのインスタンスは作成できないためです。また、このアプリケーションで使用可能なWebサービスがない場合も、ボタンは無効になります。このページからテストできるのは、Webサービス・バインディングのあるサービスを持つコンポジット・アプリケーションのみです。 詳細は、第8.1項「SOAコンポジット・アプリケーションのテスト・インスタンスの起動」を参照してください。 |
設定: コンポジットの監査レベル | SOAコンポジット・アプリケーション・レベルで実行される監査トラッキングのレベルを設定します。この設定は、SOAインフラストラクチャ・レベルで定義されている監査レベルを上書きできます。デフォルト値は「継承」で、SOAインフラストラクチャ・レベルの設定は上書きされません。
監査トラッキングのレベルを設定する場合は、次のオプションが選択可能です。
SOAコンポジット・アプリケーション・レベルで監査レベル・トラッキングを設定すると、SOAインフラストラクチャ・レベルで設定した同じトラッキングが上書きされます。デフォルトでは、SOAコンポジット・アプリケーション・レベルとSOAインフラストラクチャ・レベルの設定は同じです。グローバルなSOAインフラストラクチャの設定が変更されると、SOAコンポジット・アプリケーションの設定も自動的に変更されます。ただし、SOAコンポジット・アプリケーション・レベルで別の設定を選択すると、継承された設定を上書きできます。 現在のグローバル値と同じローカル・コンポジット値を明示的に選択した場合も、設定が上書きされます。この場合、SOAインフラストラクチャの設定が変更されても、そのコンポジット・アプリケーションは新しい値を継承しません。たとえば、SOAインフラストラクチャの設定が「オフ」であるとします。これによって、すべてのコンポジット・アプリケーションは監査トラッキングが「オフ」に設定されます。ここで、コンポジット・アプリケーションXYZを明示的に「オフ」に設定したとします。次に、SOAインフラストラクチャに移動して、その設定を「本番」に変更します。その結果、コンポジット・アプリケーションXYZを除くすべてのコンポジット・アプリケーションのトラッキング・レベルは「本番」に変更されますが、コンポジット・アプリケーションXYZの設定は「オフ」のままです。 複数のSOAコンポジット・アプリケーションにわたるメッセージ・フローでは、インスタンス・トラッキングの設定によって次のように表示が変わることに注意してください(たとえば、参照バインディング・コンポーネントを介して別のコンポジットを起動するコンポジット・アプリケーション、または、あるコンポジット・アプリケーションで公開されて別のコンポジット・アプリケーションでサブスクライブされたイベントの場合です)。
|
設定: ペイロードの検証 | コンポジット・アプリケーション・リビジョンのインバウンド・ポイントとアウトバウンド・ポイントで、XMLスキーマ・ベースのペイロードを検証します。ペイロードの検証を有効にし、無効なペイロード(スキーマに準拠しない)がある場合は、そのメッセージに対してフォルトが生成されます。
ただし、同期サービスのレスポンス・メッセージは例外です。このメッセージは、ペイロードの検証が有効な場合でも検証されません。検証されないのはアウトバウンド・メッセージのみで、インバウンド・メッセージは検証されることに注意してください。 |
設定: ビジネス監視の有効化/無効化 | センサーの現在のステータスを表示する確認ダイアログを起動するオプションを選択します。
「ビジネス監視の有効化/無効化」の選択肢は、コンポーネントにセンサーが含まれているかどうかに関係なく、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定義が表示されます。 |
詳細は、次の各項を参照してください。
SOAコンポジット・アプリケーションでのBPELプロセスの途中で、SOAインフラストラクチャがデプロイされている管理対象のOracle WebLogic Serverを起動および停止する場合は、次の問題に注意してください。
同期BPELプロセスの場合
シナリオ全体が同期され、実行中の状態(サーバーの再起動後)のインスタンスはBPELのwaitアクティビティで保留されます。このため、フロー・スレッドはサーバーで終了します(waitアクティビティで保留中)。サーバーが再起動しても、フローは同期であるため、同じインスタンスは再起動されません。したがって、サーバーの再起動後もインスタンスで処理が発生しないため、これらのインスタンスは常に実行中の状態です。
非同期BPELプロセスの場合
BPELのinvokeアクティビティの途中でサーバーが停止すると、BPELが受信したメッセージは処理されません。BPELは再起動時にこれらのメッセージを自動的にリカバリしないため、Facade APIコールを使用してメッセージを手動でリカバリする必要があります。
第8.2項「デプロイ済SOAコンポジット・アプリケーションの状態管理」では、SOAコンポジット・アプリケーションのライフサイクルの状態を管理する方法を説明しました。アプリケーションのホーム・ページの「インスタンス」ページでは、特定のSOAコンポジット・アプリケーションのインスタンスを監視および削除することもできます。
アプリケーションのホーム・ページからSOAコンポジット・アプリケーションのインスタンスを監視および削除する手順は、次のとおりです。
次のいずれかのオプションを使用して、このページにアクセスします。
「SOAインフラストラクチャ」メニューからアクセスする手順 | ナビゲータの「SOA」フォルダからアクセスする手順 |
---|---|
|
|
「インスタンス」タブをクリックします。
「インスタンス」ページに、次の詳細が表示されます。
特定のインスタンスを検索するためのユーティリティ。基準を指定して「検索」をクリックします。
SOAコンポジット・アプリケーションのインスタンスID、名前、対話ID、ページの最終データ・リフレッシュ以降の各インスタンスの最新状態(正常完了、実行中、不明など)、インスタンスの開始時間、フォルトが記述されているログ・ファイル。SOAコンポジット・アプリケーションの新しいインスタンスが起動されるたびに、一意のインスタンスIDが作成されます。インスタンスは、アプリケーションの外部コンシューマによって自動的に起動されるか、管理者が「Webサービスのテスト」ページから手動で起動します。
「?」アイコンが表示される場合は、SOAインフラストラクチャの「共有プロパティ」ページで「コンポジット・インスタンスの状態をキャプチャ」チェック・ボックスが選択されていません。このため、インスタンスの状態が評価されません。コンポジット・インスタンスの状態を判別するには、基礎となるコンポーネントの状態を評価する必要があります。パフォーマンスを向上させるには、このチェック・ボックスを選択しません。
注意: 孤立したサービス・コンポーネント・インスタンスが生成される可能性があります。このようなインスタンスは、関連するコンポジット・アプリケーション・インスタンスなしで生成されます。孤立したコンポーネント・インスタンスは、次の状況で生成されます。
孤立したインスタンスまたは大量のインスタンスを削除するには、第9.3項「パージ・スクリプトを使用した大量のインスタンスの削除」で説明するように、パージ・スクリプトを使用します。「オプションを指定して削除」ダイアログで「すべてのインスタンスを削除」オプションを選択しても、孤立したコンポーネント・インスタンスは削除できません。 |
コンポジット・センサーがSOAコンポジット・アプリケーションに組み込まれている場合は、「インスタンス」タブの表示が次のように異なります。
検索ユーティリティにある「検索」および「リセット」ボタンの横に、「フィールドの追加」ボタンが表示されます。このボタンを使用して、センサー値を検索基準に追加できます。
「インスタンス」表に「コンポジット・センサー」列が表示されます。この列のセンサー・アイコンをクリックすると、コンポジットの指定のインスタンスで使用可能なセンサー値の詳細が表示されます。
「フィールドの追加」リストから、検索基準に追加するコンポジット・センサーを選択します。次の例では、4つのフィールドが選択されています(CustomerDetails、NameSensor、DatesensorおよびYearsensor)。
各センサーが検索する特定の値を入力します。指定した基準とセンサー値が一致するコンポジット・インスタンスのみ返されます。
検索基準からすべてのコンポジット・センサー・フィールドを削除するには、「リセット」をクリックします。センサーを個別に削除するには、フィールドの右側にある「削除」アイコンをクリックします。
「インスタンス」表の行をクリックして、削除する特定のインスタンスを選択します。複数のインスタンスを選択する場合は、[Ctrl]キーまたは[Shift]キーを押しながら、選択する行をクリックします。
実行する特定のアクションを選択します。
アクション | 説明 |
---|---|
選択項目の削除 | 選択したインスタンスを削除します。
インスタンスを削除すると、インスタンス詳細は確認できなくなります。 |
オプションを指定して削除 | 選択したインスタンスをデータベースから直接削除するための基準を最初に指定するように、プロンプトが表示されます。
この操作では、「インスタンス」ページで選択した内容(検索基準の指定や実行など)は無視されます。 インスタンスの削除の進行状況を監視するには、ログ・ファイルを確認する必要があります。ログ・ファイルの詳細は、第3.4項「ログ・ファイルの構成」を参照してください。 |
中断 | 選択したインスタンスを終了します。ただし、インスタンス詳細は確認できます。 |
「ビュー」リストから、「列」→「パーティション」の順に選択し、SOAコンポジット・アプリケーション・リビジョンのインスタンスが含まれているパーティションを表示します。
「ビュー」リストから、「列」→「ECID」の順に選択して、実行コンテキストID (ECID)を表示します。ECIDを使用すると、様々なコンポジットのインスタンス間のメッセージ・フローを追跡できます。
「インスタンス」表で、次の追加タスクを実行します。
「インスタンスID」列で、特定のインスタンスIDをクリックし、様々なサービス・コンポーネントやバインディング・コンポーネント間のメッセージ・フローを表示します。インスタンスIDが使用不可能と表示される場合は、「使用不可能」リンクをクリックすると詳細を表示できます。
「状態」列にインスタンスの状態が「不明」と表示される場合は、クリックすると詳細が表示されます。
「コンポジット・センサー」列が表示されている場合は、センサー・アイコンをクリックすると、インスタンスに組み込まれているコンポジット・センサーの詳細(名前、場所、値など)が表示されます。
「ログ」列で、特定のログをクリックし、「ログ・メッセージ」ページにアクセスします。このページには、そのインスタンスに固有のメッセージがフィルタされて表示されます。
詳細は、次の各項を参照してください。
ログ・ファイルの表示および検索については、『Oracle Fusion Middleware管理者ガイド』を参照してください
SOAコンポジット・アプリケーション・インスタンス数は、必ずしもOracle Enterprise Manager Fusion Middleware Controlに表示されるサービス・コンポーネント・インスタンス数と一致しません。
SOAコンポジット・アプリケーション・インスタンスは、最初はコンポジットの起動時に作成されます。コンポジット内のサービス・コンポーネントが後続の起動を受信すると、前に作成されたコンポジット・インスタンスIDを参照する、対応するサービス・コンポーネント・インスタンスが作成されます。
コンポジット・インスタンスが作成され、基礎となるサービス・コンポーネント・インスタンスが作成されていない状況が発生することがあります。例:
コンポジット・インスタンスが作成されたが、システム障害により、起動がまだサービス・コンポーネントに到達していない場合。
コンポジット・インスタンスが作成されたが、起動でペイロード検証に失敗し、拒否された場合。この場合、起動は基礎となるサービス・コンポーネントに到達しません。
また、SOAコンポジット・アプリケーション・インスタンスが作成されていない、孤立したサービス・コンポーネント・インスタンスがある場合もあります。
複数のサービス・コンポーネント(たとえば、2つのBPELプロセス・サービス・コンポーネント)を持つSOAコンポジット・アプリケーションがあるとします。これらのサービス・コンポーネントは、インスタンスの状態が次のようにマークされています。
1つのBPELプロセスのインスタンスの状態は、完了としてマークされています。
もう一方のBPELプロセスのインスタンスの状態は、フォルトとしてマークされています。
この場合、コンポジット・インスタンス全体の状態はフォルトとしてマークされます。この動作は、同じシナリオでコンポジット・インスタンス全体の状態が完了としてマークされる11g リリース1 (11.1.1.2)と異なります。
子SOAコンポジット・アプリケーションをコールする親SOAコンポジット・アプリケーションがあり、子コンポジットでフォルトが発生した(そして、親コンポジットによって処理された)とします。この場合、インスタンスの状態は次のようになります。
子コンポジットのインスタンスの状態は、フォルトとしてマークされます。
親コンポジットのインスタンスの状態は、完了としてマークされます。
Oracle MediatorおよびOracle BPEL Process Managerで、設計時にSOAコンポジット・アプリケーションのインスタンス名を設定できます。このインスタンス名は、SOAコンポジット・アプリケーションの「インスタンス」ページにある「名前」列に表示されます。SOAコンポジット・アプリケーションまたはSOAインフラストラクチャの「インスタンス」ページに検索基準を指定するときに、この名前を「名前」フィールドに指定できます。
Oracle Mediatorでコンポジット・インスタンス名を設定する手順は、次のとおりです。
次のいずれかの方法で、コンポジット・インスタンス名を設定します。
「値の割当て」ダイアログで、setCompositeInstanceTitle(title) XPath式関数をソースとして使用し、tracking.compositeInstanceTitleをターゲット・プロパティ名として使用します。
XSLTマッパーで、setCompositeInstanceTitle(title) XPath式関数を使用します。
第8.2項「デプロイ済SOAコンポジット・アプリケーションの状態管理」では、特定のSOAコンポジット・アプリケーションのすべてのインスタンスのライフサイクルの状態を管理する方法を説明しました。「SOAインフラストラクチャ」のホーム・ページの「インスタンス」ページでは、デプロイ済のすべてのSOAコンポジット・アプリケーションの中から任意の数のインスタンスを監視および削除できます。このページには、SOAインフラストラクチャにデプロイされているすべてのSOAコンポジット・アプリケーション・インスタンスがリストされます。
SOAインフラストラクチャ・レベルでSOAコンポジット・アプリケーションのインスタンスを監視および削除する手順は、次のとおりです。
次のいずれかのオプションを使用して、このページにアクセスします。
「SOAインフラストラクチャ」メニューからアクセスする手順 | ナビゲータの「SOA」フォルダからアクセスする手順 | 「SOAコンポジット」メニューからアクセスする手順 |
---|---|---|
|
|
|
「インスタンス」タブをクリックします。
「インスタンス」ページに、次の詳細が表示されます。
特定のインスタンスを検索するためのユーティリティ。基準を指定して「検索」をクリックします。
SOAインフラストラクチャのすべてのSOAコンポジット・アプリケーション・インスタンス。インスタンスID、対話ID、コンポジットの名前とリビジョン、SOAコンポジット・アプリケーション・インスタンスの状態、およびインスタンスの開始時間が表示されます。
このページからインスタンスの終了および削除も実行できます。
「インスタンス」表の行をクリックして、特定のインスタンスを選択します。複数のインスタンスを選択する場合は、[Ctrl]キーまたは[Shift]キーを押しながら、選択する行をクリックします。
実行する特定のアクションを選択します。
アクション | 説明 |
---|---|
選択項目の削除 | 選択したインスタンスを削除します。 |
オプションを指定して削除 | 選択したインスタンスをデータベースから直接削除するための基準を最初に指定するように、プロンプトが表示されます。
この操作では、「インスタンス」ページの上部で選択したインスタンスの状態は無視されます。 インスタンスの削除の進行状況を監視するには、ログ・ファイルを確認する必要があります。ログ・ファイルの詳細は、第3.4項「ログ・ファイルの構成」を参照してください。 注意:
|
中断 | 選択したインスタンスを終了します。ただし、インスタンス詳細は確認できます。
注意: フォルトが発生したインスタンスを削除すると、そのフォルトは「フォルト・メッセージと拒否メッセージ」ページに表示されなくなります。さらに、終了したインスタンス(「中断」と表示)にフォルトがある場合、そのフォルトはフォルト件数に含まれません。 |
「ビュー」リストから、「列」→「パーティション」の順に選択し、SOAコンポジット・アプリケーション・リビジョンのインスタンスが含まれているパーティションを表示します。
「ビュー」リストから、「列」→「ECID」の順に選択して、実行コンテキストID (ECID)を表示します。ECIDを使用すると、様々なコンポジットのインスタンス間のメッセージ・フローを追跡できます。
「インスタンスID」列で、特定のインスタンスIDをクリックし、様々なサービス・コンポーネントやバインディング・コンポーネント間のメッセージ・フローを表示します。インスタンスIDが使用不可能の場合は、メッセージ・フローにアクセスできません。ただし、リンクをクリックして詳細を確認することはできます。
「コンポジット」列で、特定のSOAコンポジット・アプリケーションをクリックし、そのホーム・ページにアクセスします。
「ログ」列で、特定のログをクリックし、「ログ・メッセージ」ページにアクセスします。このページには、そのインスタンスに固有のメッセージがフィルタされて表示されます。
複数のSOAコンポジット・アプリケーションでBPELプロセスとOracle Mediatorサービス・コンポーネントを監視し、個別のフォルト・リカバリと一括のフォルト・リカバリを実行できます。リカバリ可能として識別されたBPELプロセス・フォルトについては、(fault-bindings.xml
ファイルを介して)フォルトにバインドされ、アクションora-human-intervention
をトリガーするフォルト・ポリシーが定義されている必要があります。ただし、フォルト・ポリシーが定義されていない場合、フォルトは、リカバリ可能またはリカバリ不可のフォルトとして通常どおり処理されます。この項では、個別リカバリと一括リカバリの両方の実行例を示します。ヒューマン・タスク・サービス・コンポーネントまたはヒューマン・ワークフロー・サービス・エンジンのフォルトは、Oracle BPM Worklistからリカバリされます。
SOAインフラストラクチャ・レベルでSOAコンポジット・アプリケーション・フォルトをリカバリする手順は、次のとおりです。
次のいずれかのオプションを使用して、このページにアクセスします。
「SOAインフラストラクチャ」メニューからアクセスする手順 | ナビゲータの「SOA」フォルダからアクセスする手順 | 「SOAコンポジット」メニューからアクセスする手順 |
---|---|---|
|
|
|
「フォルト・メッセージと拒否メッセージ」タブをクリックします。
「フォルト・メッセージと拒否メッセージ」ページに、すべてのSOAコンポジット・アプリケーション・フォルトについて、次の詳細が表示されます。
特定のフォルトを検索するためのユーティリティ。基準を指定して「検索」をクリックします。詳細は、「ヘルプ」アイコンをクリックしてください。
フォルト・メッセージと拒否メッセージ。エラー・メッセージ、フォルトのリカバリが可能かどうか、フォルトの発生時間、フォルト・メッセージが拒否されたメッセージとして分類されているかどうか(その場合はチェックマークが表示されます)、フォルトが発生したSOAコンポジット・アプリケーション、フォルトの場所、インスタンスID、およびフォルトが記述されているログ・ファイルへのリンクが表示されます。
リカバリ可能として識別されたフォルトはリカバリできます。
次のいずれかのオプションを使用して、リカバリ対象のフォルトを選択します。SOAインフラストラクチャ・レベルでフォルト・リカバリ対象を選択することは、SOAコンポジット・アプリケーション・レベル、およびBPELプロセスとOracle Mediatorサービス・コンポーネント・レベルで選択するのと同じです。
対象 | 操作 |
---|---|
単一フォルト・リカバリ | 単一フォルト・リカバリの対象を選択するには、次の3つの方法があります。
|
一括フォルト・リカバリ | 一括フォルト・リカバリの対象を選択するには、次の2つの方法があります。
|
すべてのフォルトのリカバリ |
|
「リカバリ・アクション」リストからアクションを選択します。
アクション | 説明 | アクションの対象 |
---|---|---|
再試行 | インスタンスを直接再試行します。このリカバリ・アクションを使用するシナリオ例は、ネットワーク・エラーのためにサービス・プロバイダにアクセスできないことが原因でフォルトが発生した場合の例です。ネットワーク・エラーは現在解決しています。 | BPELプロセスとOracle Mediator |
中断 | インスタンス全体を終了します。 | BPELプロセスとOracle Mediator |
リプレイ | フォルトが発生したスコープ全体を再度リプレイします。 | BPELプロセス |
再スロー | 現在のフォルトを再スローします。フォルトの処理に、BPELフォルト・ハンドラ(catchブランチ)が使用されます。デフォルトでは、再スロー・フォルト・ポリシーが明示的に指定されていない場合、すべての例外がフォルト管理フレームワークによって捕捉されます。 | BPELプロセス |
続行 | フォルトを無視して処理を続行します(フォルト・アクティビティには成功のマークが付けられます)。 | BPELプロセス |
拒否メッセージを削除する場合は、「拒否メッセージの削除」をクリックします。
すべてのコンポジットの拒否メッセージをデータベースから直接削除するための基準を指定する「削除: 拒否メッセージ」ダイアログが表示されます。
基準を指定して、「削除」をクリックします。
メッセージの一括リカバリを実行する場合は、「オプションを指定してリカバリ」をクリックします。
すべてのコンポジットのBPELメッセージとOracle Mediatorメッセージをデータベースから直接リカバリする基準を指定する「オプションを指定してリカバリ」ダイアログが表示されます。ヒューマン・ワークフロー・メッセージは、Oracle BPM Worklistから手動でリカバリできます。ビジネス・イベントとビジネス・ルール・メッセージはリカバリできません。
条件を指定します。許可されるリカバリ・アクションは、「再試行」と「中断」のみです。
注意: SOAインフラストラクチャ・レベルの一括フォルト・リカバリでは、コンポジットの状態チェックを実行できません。コンポジットの状態がオフに設定されている場合は、そのフォルトのリカバリを実行できません。ただし、エラーや警告メッセージは表示されません。一括フォルト・リカバリ・リクエストの発行時に、サーバーは元のコンポジットの状態がオフに設定されているかどうかをチェックします。その事実がログに記録され、フォルトがスキップされます。その他の理由(たとえば、サポートされていないサービス・エンジンやリカバリできないフォルトなど)でリカバリ中にフォルトがスキップされた場合も通知されません。 |
「リカバリ」をクリックします。メッセージの数に応じて、リカバリにかかる時間は異なります。
フォルト表内から次の追加タスクを実行します。
「ビュー」リストから、「列」→「フォルトID」の順に選択し、各エラー・メッセージのフォルトIDを表示します。フォルトIDは自動的に生成され、フォルトを一意に識別します。フォルトIDは、エラー・メッセージをクリックしたときも表示されます。
「コンポジット」列で、特定のSOAコンポジット・アプリケーションをクリックし、そのホーム・ページにアクセスします。
「フォルトの場所」列で、特定の場所をクリックし、フォルトの場所に関するフォルト・ページにアクセスします。フォルトの場所は、サービス、サービス・コンポーネントまたは参照です。
「コンポジット・インスタンスID」列で、特定のIDをクリックし、インスタンスのフローのトレースにアクセスします。
「ログ」列で、特定のログをクリックし、「ログ・メッセージ」ページにアクセスします。このページには、そのインスタンスに固有のメッセージがフィルタされて表示されます。
BPELプロセスとOracle Mediatorでの単一および一括フォルト・リカバリの例については、次の各項を参照してください。
フォルト・ポリシーの概念と設計方法の詳細は、次のドキュメントを参照してください。
『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』
この項では、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.1項「SOAコンポジット・アプリケーションのテスト・インスタンスの起動」で示した「Webサービスのテスト」ページで起動されました。
0
で始まる無効な社会保障番号が入力されました。
BPELプロセスに対して単一フォルト・リカバリを実行する手順は、次のとおりです。
「SOAインフラストラクチャ」メニューから、「ホーム」を選択します。
「フォルト・メッセージと拒否メッセージ」タブをクリックします。
フォルト表で、リカバリ可能として識別されたフォルトを検索します。検索ユーティリティを使用して、特定のフォルトを検索できます。
「リカバリ」列で、「リカバリ」をクリックします。最初にフォルトの詳細を表示する場合は、エラー・メッセージをクリックします。次に、「ここでリカバリ」をクリックします。
BPELプロセス・インスタンスの「フォルト」ページが表示されます。
「リカバリ」列で、「リカバリ可能」をクリックします。
ページがリフレッシュされ、ページの下部にフォルト・リカバリ・セクションが表示されます。
「リカバリ・アクション」リストから「再試行」を選択します。
「再試行成功時のチェーン・アクション」リストから「なし」を選択します。このリストでは、Javaコールアウト・リカバリ・アクションを選択できます。詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。
「変数」リストから変数を選択します。この変数の内容が「値」フィールドに表示されます。この例では、変数crInputが選択されています。この変数は、invokeアクティビティで使用され、不適切な社会保障番号の値を含んでいます。
「値」フィールドに適切な値を入力します。この例では、社会保障番号を1
で始まるように編集します。
<ssn xmlns="http://service.otn.com">123456789</ssn>
「設定値」をクリックし、プロンプトが表示されたら「はい」をクリックして続行します。
「リカバリ」をクリックしてフォルトをリカバリし、プロンプトが表示されたら「はい」をクリックして続行します。
ページがリフレッシュされ、フォルトが発生していないことが示されます。
社会保障番号の例の場合、「再試行」の選択は、一括リカバリを実行するためのオプションではありません。これは、社会保障番号の値が不適切で、修正が必要になるためです。「再試行」オプションを使用して一括リカバリを実行する例としては、社会保障番号は適切であるが、信用格付けサービスを提供するシステムが一時的に使用不可になったために、コンポジット参照のフォルトが発生した場合などがあります。この場合は、メッセージが配信されません。信用格付けサービスが再度使用可能になったときに、「再試行」を選択すると、コンポジット参照を介した信用格付けサービスの起動が再試行されます。
BPELプロセスに対して一括フォルト・リカバリを実行する手順は、次のとおりです。
第8.5.1.1項「例: BPELプロセスに対する単一フォルト・リカバリ」のステップ1とステップ2を実行します。
検索ユーティリティで、判明しているフォルト・パラメータ(時間の範囲、コンポジット名、コンポーネント・タイプ(BPELプロセス)など)に基づいて基準を入力します。
検索結果が多数返される場合は、「リカバリ可能なフォルトのみ表示」チェック・ボックスを選択して表示を制限します。
「選択」リストから「すべてのリカバリ可能な値を選択」を選択します。
「リカバリ・アクション」リストから「中断」を選択します。
選択したすべてのフォルトを手動で停止します。
この項では、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.1項「SOAコンポジット・アプリケーションのテスト・インスタンスの起動」で示した「Webサービスのテスト」ページで起動されました。
0
で始まる無効な社会保障番号が入力されました。
BPMNプロセスに対して単一フォルト・リカバリを実行する手順は、次のとおりです。
「SOAインフラストラクチャ」メニューから、「ホーム」を選択します。
「フォルト・メッセージと拒否メッセージ」タブをクリックします。
フォルト表で、リカバリ可能として識別されたフォルトを検索します。検索ユーティリティを使用して、特定のフォルトを検索できます。
「リカバリ」列で、「リカバリ」をクリックします。最初にフォルトの詳細を表示する場合は、エラー・メッセージをクリックします。次に、「ここでリカバリ」をクリックします。
BPMNプロセス・インスタンスの「フォルト」ページが表示されます。
「リカバリ」列で、「リカバリ可能」をクリックします。
ページがリフレッシュされ、ページの下部にフォルト・リカバリ・セクションが表示されます。
「リカバリ・アクション」リストから「再試行」を選択します。
「再試行成功時のチェーン・アクション」リストから「なし」を選択します。このリストでは、Javaコールアウト・リカバリ・アクションを選択できます。詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。
「変数」リストから変数を選択します。この変数の内容が「値」フィールドに表示されます。この例では、変数crInputが選択されています。この変数は、invokeアクティビティで使用され、不適切な社会保障番号の値を含んでいます。
「値」フィールドに適切な値を入力します。この例では、社会保障番号を1
で始まるように編集します。
<ssn xmlns="http://service.otn.com">123456789</ssn>
「設定値」をクリックし、プロンプトが表示されたら「はい」をクリックして続行します。
「リカバリ」をクリックしてフォルトをリカバリし、プロンプトが表示されたら「はい」をクリックして続行します。
ページがリフレッシュされ、フォルトが発生していないことが示されます。
社会保障番号の例の場合、「再試行」の選択は、一括リカバリを実行するためのオプションではありません。これは、社会保障番号の値が不適切で、修正が必要になるためです。「再試行」オプションを使用して一括リカバリを実行する例としては、社会保障番号は適切であるが、信用格付けサービスを提供するシステムが一時的に使用不可になったために、コンポジット参照のフォルトが発生した場合などがあります。この場合は、メッセージが配信されません。信用格付けサービスが再度使用可能になったときに、「再試行」を選択すると、コンポジット参照を介した信用格付けサービスの起動が再試行されます。
BPMNプロセスに対して一括フォルト・リカバリを実行する手順は、次のとおりです。
第8.5.1.1項「例: BPELプロセスに対する単一フォルト・リカバリ」のステップ1から2を実行します。
検索ユーティリティで、判明しているフォルト・パラメータ(時間の範囲、コンポジット名、コンポーネント・タイプ(BPMNプロセス)など)に基づいて基準を入力します。
検索結果が多数返される場合は、「リカバリ可能なフォルトのみ表示」チェック・ボックスを選択して表示を制限します。
「選択」リストから「すべてのリカバリ可能な値を選択」を選択します。
「リカバリ・アクション」リストから「中断」を選択します。
選択したすべてのフォルトを手動で停止します。
この項では、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>
この例では、sap
出力ディレクトリが読取り専用になっています。インバウンド・ファイル・アダプタはsiebel
ディレクトリからsender.xml
ファイルを取得し、ファイルをsap
ディレクトリに格納するために、メッセージがOracle Mediatorを介してアウトバウンド・ファイル・アダプタ参照にルーティングされます。
Oracle Mediatorに対して単一フォルト・リカバリを実行する手順は、次のとおりです。
オペレーティング・システムのコマンド・プロンプトで、ディレクトリの権限を変更します。
chmod 000 sap cp sender.xml siebel/
「SOAインフラストラクチャ」メニューから、「ホーム」を選択します。
「フォルト・メッセージと拒否メッセージ」タブをクリックします。
3回の再試行の結果、3つのフォルトが表示されることに注意してください。この場合、再試行は3回のみです。これは、アウトバウンド・ファイル・アダプタとOracle Mediatorの相互作用に関するフォルト・ポリシーで、再試行が3回と定義されているためです。フォルト・ポリシーがない場合、フォルトは1つのみです(自動的な再試行はありません)。
「コンポジット・インスタンスID」列で、特定のインスタンスIDをクリックします。
「フローのトレース」が表示されます。ページの上部にあるフォルト表には、フォルト・メッセージが表示されます。メッセージ・フロー内で失敗したOracle Mediatorインスタンスの位置を確認するには、フォルト表でフォルトを選択します。選択すると、トレース表内の関連するインスタンスが強調表示されます。次に、インスタンスをクリックしてその監査証跡にアクセスすると、失敗したフローの詳細を確認できます。
「フォルト」表で、リカバリするOracle Mediatorコンポーネント・インスタンスのフォルトを検索し、「リカバリ」列で「リカバリ」をクリックします。
「ペイロード・パート」リストから「送信者」を選択します。
「ペイロード」フィールドに、ペイロードが自動的に表示されます。必要な場合は、このフィールドでペイロードの変更を実行できます。この例では、ペイロードの変更は必要ありません。
オペレーティング・システムのコマンド・プロンプトで、sap
ディレクトリを書込み可能に変更します。
chmod 777 sap
「フォルト」タブに戻り、ページの右上隅にある「リフレッシュ」アイコンをクリックします。
「再試行」をクリックします。
プロンプトが表示されたら「はい」をクリックして、選択したフォルトをリカバリのために再発行します。
ページがリフレッシュされ、フォルトが発生していないことが示されます。
「監査証跡」タブをクリックします。
最終メッセージで、手動リカバリが成功し、メッセージ・ペイロードがsap
ディレクトリに書き込まれたことが示されます。
この例でも、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に対して一括フォルト・リカバリを実行する手順は、次のとおりです。
sap
ディレクトリを書込み可能に変更します。
「SOAインフラストラクチャ」メニューから、「ホーム」を選択します。
「フォルト・メッセージと拒否メッセージ」タブをクリックします。
検索ユーティリティで、判明しているフォルト・パラメータ(時間の範囲、コンポジット名など)に基づいて基準を入力します。
検索結果が多数返される場合は、「リカバリ可能なフォルトのみ表示」チェック・ボックスを選択して表示を制限します。
オペレーティング・システムのコマンド・プロンプトで、sap
ディレクトリを書込み可能に変更します。
chmod 777 sap
リカバリするすべてのフォルトを選択します。
「リカバリ・アクション」リストから「再試行」を選択します。
プロンプトが表示されたら「はい」を選択して、フォルト・リカバリを実行します。
「監査証跡」タブをクリックします。
最終メッセージで、手動リカバリが成功し、メッセージ・ペイロードがsap
ディレクトリに正常に書き込まれたことが示されます。
SOAコンポジット・アプリケーションを監視して、単一および一括のフォルト・リカバリを実行できます。リカバリ可能として識別されたBPELプロセス・フォルトについては、(fault-bindings.xml
ファイルを介して)フォルトにバインドされ、アクションora-human-intervention
をトリガーするフォルト・ポリシーが定義されている必要があります。ただし、フォルト・ポリシーが定義されていない場合、フォルトは、リカバリ可能またはリカバリ不可のフォルトとして通常どおり処理されます。ヒューマン・ワークフローのフォルトもリカバリできますが、Oracle Enterprise Manager Fusion Middleware Controlからは直接リカバリできません。かわりに、監査証跡にOracle BPM Worklistへのリンクが表示され、このリンクからフォルトを処理できます。
アプリケーションのホーム・ページでSOAコンポジット・アプリケーション・フォルトをリカバリする手順は、次のとおりです。
次のいずれかのオプションを使用して、このページにアクセスします。
「SOAインフラストラクチャ」メニューからアクセスする手順 | ナビゲータの「SOA」フォルダからアクセスする手順 |
---|---|
|
|
「フォルト・メッセージと拒否メッセージ」タブをクリックします。
「フォルト・メッセージと拒否メッセージ」ページに、選択したSOAコンポジット・アプリケーションに関する次の詳細が表示されます。
特定のフォルトを検索するためのユーティリティ。基準を指定して「検索」をクリックします。詳細は、「ヘルプ」アイコンをクリックしてください。
SOAコンポジット・アプリケーション・インスタンスのフォルト・メッセージと拒否メッセージ。エラー・メッセージ、フォルトのリカバリが可能かどうか、フォルトの発生時間、フォルト・メッセージが拒否されたメッセージとして分類されているかどうか(その場合はチェックマークが表示されます)、フォルトの場所、コンポジット・インスタンスID、およびフォルトが記述されているログ・ファイルへのリンクが表示されます。
注意: ヒューマン・ワークフローのフォルトはデハイドレーション・ストアに保持されないため、ヒューマン・ワークフローのエラー・メッセージは「エラー・メッセージの内容」フィールドに詳細を入力しても検索できません。 |
リカバリ可能として識別されたフォルトはリカバリできます。
リカバリ対象のフォルトを選択します。SOAインフラストラクチャ・レベル、およびBPELプロセスとOracle Mediatorサービス・コンポーネント・レベルでのフォルト・リカバリと同様に、単一フォルト・リカバリ、一括フォルト・リカバリ、およびすべてのフォルトのリカバリを実行できます。フォルトを選択してこれらのタイプのリカバリを実行する手順については、第8.5項「SOAインフラストラクチャ・レベルでの、SOAコンポジット・アプリケーションのフォルトのリカバリ」のステップ3を参照してください。
「リカバリ・アクション」リストからアクションを選択します。
アクション | 説明 | アクションの対象 |
---|---|---|
再試行 | インスタンスを直接再試行します。このリカバリ・アクションを使用するシナリオ例は、ネットワーク・エラーのためにサービス・プロバイダにアクセスできないことが原因でフォルトが発生した場合の例です。ネットワーク・エラーは現在解決しています。 | BPELプロセスとOracle Mediator |
中断 | インスタンス全体を終了します。 | BPELプロセスとOracle Mediator |
リプレイ | フォルトが発生したスコープ全体を再度リプレイします。 | BPELプロセス |
再スロー | 現在のフォルトを再スローします。フォルトの処理に、BPELフォルト・ハンドラ(catchブランチ)が使用されます。デフォルトでは、再スロー・フォルト・ポリシーが明示的に指定されていない場合、すべての例外がフォルト管理フレームワークによって捕捉されます。 | BPELプロセス |
続行 | フォルトを無視して処理を続行します(フォルト・アクティビティには成功のマークが付けられます)。 | BPELプロセス |
拒否メッセージを削除する場合は、「拒否メッセージの削除」をクリックします。
現在のコンポジットの拒否メッセージをデータベースから直接削除するための基準を指定する「削除: 拒否メッセージ」ダイアログが表示されます。
メッセージの一括リカバリを実行する場合は、「オプションを指定してリカバリ」をクリックします。
現在のコンポジットのBPELメッセージとOracle Mediatorメッセージをデータベースから直接リカバリする基準を指定する「オプションを指定してリカバリ」ダイアログが表示されます。ヒューマン・ワークフロー・メッセージは、Oracle BPM Worklistから手動でリカバリできます。ビジネス・イベントとビジネス・ルール・メッセージはリカバリできません。
条件を指定します。許可されるリカバリ・アクションは、「再試行」と「中断」のみです。
注意: SOAコンポジット・アプリケーション・レベルの一括フォルト・リカバリでは、コンポジットの状態のチェックが実行されます。コンポジットの状態がオフに設定されている場合は、リカバリを実行できないことを警告するメッセージが表示されます。なんらかの理由(たとえば、サポートされていないサービス・エンジンやリカバリできないフォルトなど)でリカバリ中にフォルトがスキップされた場合は通知されません。 |
「リカバリ」をクリックします。メッセージの数に応じて、リカバリにかかる時間は異なります。
フォルト表内から次の追加監視タスクを実行します。
「ビュー」リストから、「列」→「フォルトID」の順に選択し、各エラー・メッセージのフォルトIDを表示します。フォルトIDは自動的に生成され、フォルトを一意に識別します。フォルトIDは、エラー・メッセージをクリックしたときも表示されます。
「フォルトの場所」列で、特定の場所をクリックし、フォルトの場所に関するフォルト・ページにアクセスします。フォルトの場所は、サービス、コンポーネントまたは参照です。
「コンポーネント・インスタンスID」列で、特定のサービス・コンポーネントIDをクリックし、インスタンスに関するタスク詳細(たとえば、タスクの現在の状態)にアクセスします。拒否メッセージにはコンポーネント・インスタンスIDがないことに注意してください。
「ログ」列で、特定のログをクリックし、「ログ・メッセージ」ページにアクセスします。このページには、そのインスタンスに固有のメッセージがフィルタされて表示されます。
詳細は、次の各項を参照してください。
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開発者ガイド』を参照してください。 |
次のいずれかのオプションを使用して、このページにアクセスします。
「SOAインフラストラクチャ」メニューからアクセスする手順 | ナビゲータの「SOA」フォルダからアクセスする手順 | 「SOAコンポジット」メニューからアクセスする手順 |
---|---|---|
|
|
|
表示されるテスト・ケースは、Oracle JDeveloperで設計され、デプロイ済のSOAコンポジット・アプリケーションに組み込まれたテスト・ケースです。
テスト・スイート全体を選択するか、実行するスイートの個々のテストを選択して、「実行」をクリックします。
テストの作成プロンプトが表示されます。
次の値を入力し、「OK」をクリックします。
フィールド | 説明 |
---|---|
テスト実行名 | テスト・インスタンスの名前を入力します。テストの終了時に、レポート詳細がこの名前で取得されます。 |
タイムアウト | テストを終了させる値(秒単位)を入力します。この時間内にテストが完了しない場合、テストは終了されます。 |
同時テスト・インスタンスの数 | 作成するテスト・インスタンスの数を入力します。 |
実行中のテストを追跡するための「テスト実行」ページが自動的に表示されます。
「テスト実行」ページを使用して、実行中のテスト・ケースを追跡し、テスト結果を表示できます。テスト・スイートは、1つ以上のテスト・ケースの論理的な集合で構成されます。各テスト・ケースには、テスト・インスタンスの実行時に実行される一連のコマンドが含まれています。テスト・スイートの実行は、テスト実行と呼ばれます。
「テスト実行名」列で特定のテスト実行をクリックして、「テスト実行の結果」セクションに詳細を表示します。追加のテスト実行を作成する場合は、「テスト・ケース」ページにいつでも戻ることができます。
「テスト実行の結果」セクションには、実行されたテスト実行の詳細(テスト・サマリー、成功率など)が表示されます。追加の詳細は、「ヘルプ」アイコンをクリックしてください。
ページの下部にアサーション詳細が表示されます。アサーションを使用すると、変数データやプロセス・フローを検証できます。
コンポジット・インスタンス番号をクリックして、特定のテスト詳細を表示します。
SOAコンポジット・アプリケーションの「インスタンス」ページ、およびSOAインフラストラクチャとSOAコンポジット・アプリケーションの「最新のインスタンス」表では、ユニット・テスト実行を実行して作成されたコンポジット・インスタンスのインスタンスIDの横に黄色のボックスが表示されます。これらのインスタンスは、この黄色のボックスによって、「Webサービスのテスト」ページで作成されたり、アプリケーションの外部コンシューマによって自動的に作成されたテスト・インスタンスと区別されます。
詳細は、次のドキュメントを参照してください。
Oracle JDeveloperでテスト・ケースを作成する方法の詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。
現在デプロイされているSOAコンポジット・アプリケーションとの間で、セキュリティ・ポリシーをアタッチまたはデタッチできます。ポリシーでは、メッセージ配信に対してセキュリティが適用されます。
注意: ポリシーをアタッチするには、その前に、使用可能なポリシーの定義と使用環境で使用するポリシーの詳細について、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』を参照してください。 |
SOAコンポジット・アプリケーション・ポリシーを管理する手順は、次のとおりです。
次のいずれかのオプションを使用して、このページにアクセスします。
「SOAインフラストラクチャ」メニューからアクセスする手順 | ナビゲータの「SOA」フォルダからアクセスする手順 | 「SOAコンポジット」メニューからアクセスする手順 |
---|---|---|
|
|
|
「ポリシー」ページを使用すると、BPELプロセス・サービス・コンポーネントとの間でポリシーをアタッチおよびデタッチできます。ポリシー表には、アタッチされたポリシーの名前、ポリシーがアタッチされたコンポーネント、切替え可能なポリシー参照ステータス(有効または無効)、カテゴリ(「管理」、「信頼できるメッセージング」、「MTOMアタッチメント」、「セキュリティ」または「WSアドレス」)、違反、およびSOAインフラストラクチャの最後の再起動以降の認証、認可、機密性および整合性の失敗が表示されます。
「アタッチ/デタッチ先」をクリックします。
複数のサービスまたはコンポーネントが使用可能な場合は、アタッチまたはデタッチを実行するサービスまたはコンポーネントを選択するプロンプトが表示されます。
ポリシーのアタッチまたはデタッチ先のコンポーネントを選択します。
ポリシーをアタッチまたはデタッチするためのダイアログが起動します。
「アタッチされたポリシー」セクションに、現在アタッチされているポリシーが表示されます。「使用可能なポリシー」セクションには、アタッチ可能な追加のポリシーが表示されます。
使用環境に適した、アタッチ対象のポリシーを選択します。
「アタッチ」をクリックします。
「アタッチされたポリシー」セクションに、アタッチされたポリシーが表示されます。
必要に応じて、追加のポリシーをアタッチします。
ポリシーのアタッチを終了した後は、「検証」をクリックします。
エラー・メッセージが表示された場合は、検証エラーがなくなるまで必要な修正を行います。
「OK」をクリックします。
アタッチしたポリシーがポリシー表に表示されます。
ポリシーの詳細は、次のドキュメントを参照してください。
使用可能なポリシーの定義と使用環境で使用するポリシーの詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』を参照してください。
単一のWS-RMセッションにおけるOracle SOA Suiteからの複数のリクエストは、現在サポートされていません。各リクエストは個別のWS-RMセッション内にあります。
OWSMでは、1つのコンポジットの参照で2つ目のコンポジットへのWebサービス・バインディングを指定するコンポジット間呼出しに対してOracle SOA Suiteのローカルの最適化機能がサポートされます。ローカルの最適化を使用すると、実行時にHTTPスタックとSOAP/正規化メッセージ変換をバイパスできます。コンポジットが異なるコンテナにある場合、ローカルの最適化は使用されません。ポリシーがWebサービス・バインディングにアタッチされている場合は、ローカルの最適化が使用されているとポリシーを呼び出すことができません。
デフォルトでは、OWSMセキュリティ・ポリシーには、ポリシーでローカルの最適化がサポートされるかどうかを示すlocal-optimization
プロパティが含まれます。ポリシーの設定は、Oracle Enterprise Manager Fusion Middleware Controlから表示できます。
ポリシーのローカル最適化設定を表示する手順は、次のとおりです。
ナビゲータで、「WebLogicドメイン」フォルダを開きます。
「WLS_SOAWC」を右クリックし、「Webサービス」→「ポリシー」の順に選択します。
ポリシーを選択し、「ファイルにエクスポート」をクリックします。
テキスト・エディタでファイルを開き、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>
実行しているSOAコンポジット・アプリケーションの内容をアーカイブJARファイルにエクスポートできます。ファイルには次のデータの一部またはすべてが含まれます。
元の設計時コンポジット。
ルール・ディクショナリとドメイン値マップ(DVM)のデプロイ後の変更。
バインディング・コンポーネントのプロパティなどのデプロイ後のプロパティの変更、監査レベル設定やペイロード検証ステータスなどのコンポジット・プロパティ、およびポリシー・アタッチメント。
注意:
|
実行中のSOAコンポジット・アプリケーションをエクスポートする手順は、次のとおりです。
エクスポートするSOAコンポジット・アプリケーションのホーム・ページに移動します。
「SOAコンポジット」メニューから、「エクスポート」を選択します。
「コンポジットのエクスポート」ページが表示されます。
オプションを選択します。
オプション1: 「オプション2」および「オプション3」で説明されている元の設計時コンポジットとデプロイ後の詳細を含むアーカイブ・ファイルを生成します。
オプション2: 元の設計時コンポジットとデプロイ後の変更をルール・ディクショナリとDVMに含めます。
オプション3: 元の設計時コンポジットとバインディング・コンポーネントのプロパティなどのデプロイ後のプロパティの変更、監査レベル設定やペイロード検証ステータスなどのコンポジット・プロパティ、およびポリシー・アタッチメントを含めます。
オプション4: 元の設計時コンポジットのみ含むアーカイブ・ファイルを生成します。「オプション2」および「オプション3」は含まれません。
既存のファイルに追加の名前を付加する場合は、「カスタム拡張テキストの指定」を選択します。たとえば、「MyText
」をsca_OrderBookingComposite_rev1.0.jar
という名前のファイルに入力すると、エクスポートされるファイルの名前がsca_OrderBookingComposite_rev1.0-MyText.jar
になります。
「エクスポート」をクリックします。
「処理中: コンポジットのエクスポート」ダイアログに、アーカイブ・ファイル生成の進行状況が表示されます。生成が完了すると、ファイルの保存を求められます。
「ファイルの保存」をクリックします。
ファイルを開くかローカル・ホストのディレクトリに保存するためのダイアログが表示されます。
注意: 「ファイルの保存」ボタンをクリックすることが重要です。このダイアログを単純に閉じないでください。コンポジットはエクスポートされますが、実際のエクスポートされたファイルを取得できません。 |
JARファイルを保存するローカル・ディレクトリを指定します。
「処理中: コンポジットのエクスポート」ダイアログの右上にある「X」アイコンをクリックしてダイアログを閉じます。
「コンポジットのエクスポート」ページで、「取消」ボタンが「終了」に変わります。
「終了」をクリックします。
「コンポジットのエクスポート」が閉じ、SOAコンポジット・アプリケーションのホーム・ページに戻ります。
パーティションと呼ばれるSOAインフラストラクチャの個別のセクションに、SOAコンポジット・アプリケーションをデプロイできます。パーティションにデプロイすると、SOAコンポジットを論理的にグループ化し、特定のパーティション内のすべてのSOAコンポジット・アプリケーションに対して一括ライフサイクル管理タスクを実行できます。パーティションは、Oracle BPEL Process Managerの10.1.xリリースの一部であるドメイン機能に似ています。ただし、パーティションに対する特定の構成タスク(特定のパーティションへのログイン・アクセスの制限、パーティションの構成(たとえば、スレッドの構成)など)を実行できないことに注意してください。
SOAコンポジット・アプリケーションをデプロイするには、パーティションが少なくとも1つ必要です。「デフォルト」という名前のデフォルトのパーティションが、Oracle SOA Suiteに自動的に作成されます。
パーティション化は次の2つのページから管理できます。
SOAインフラストラクチャの「パーティションの管理」ページ。このページで、パーティションの作成、パーティションの削除、および特定のパーティション内のすべてのSOAコンポジット・アプリケーションに対する一括ライフサイクル管理タスクを実行できます。
パーティションのホーム・ページ。このページでも、特定のパーティション内のすべてのSOAコンポジット・アプリケーションに対する一括ライフサイクル管理タスクを実行できます。
表8-2に、両方のページで実行できるタスクの詳細を示します。
表8-2 パーティション管理に関するアクション
アクション | 「パーティションの管理」ページでの実行の可否 | パーティションのホーム・ページでの実行の可否 |
---|---|---|
パーティションの作成 |
はい |
いいえ |
パーティションの削除 |
はい |
可。「SOAパーティション」メニュー、「このパーティションの削除」の順に選択します。 注意: ナビゲータで右クリックし、「このパーティションの削除」を選択することによってもパーティションを削除できます。 |
特定のパーティションにデプロイされているすべてのコンポジットに対する一括ライフサイクル管理の実行
|
はい |
はい |
実行するタスクに応じて、次の各項を参照してください。
パーティションの詳細は、第1.4.3.5項「SOAインフラストラクチャのパーティションの概要」を参照してください。
パーティションは、「パーティションの管理」ページで作成および削除できます。「デフォルト」という名前のデフォルトのパーティションが、Oracle SOA Suiteに自動的に作成されます。デフォルト・パーティションは削除できます。既存のパーティションの名前は変更できません。パーティションの作成と削除のみサポートされます。
次のいずれかのオプションを使用して、このページにアクセスします。
「SOAインフラストラクチャ」メニューからアクセスする手順 | 特定のパーティションのホーム・ページからアクセスする手順 |
---|---|
|
|
「パーティションの管理」ページに、次の詳細が表示されます。
各パーティションの名前、各パーティション内のアクティブおよびリタイア状態のSOAコンポジット・アプリケーション・リビジョンの数、各パーティションに含まれているコンポジットの名前(「表示」リンクの下)、および各パーティション内の実行中インスタンスと失敗したインスタンスの総数。
特定のパーティションを検索するためのユーティリティ。完全または部分的なパーティション名を入力し、「検索」アイコンをクリックするか[Return]キーを押します。検索では大文字と小文字は区別されません。
パーティションを追加するには、「作成」をクリックします。
「新規SOAパーティションの作成」ダイアログが表示されます。
「名前」フィールドにパーティションの名前を入力し、「作成」をクリックします。
既存のパーティションの名前の変更や、デプロイしたコンポジット・アプリケーションを後で別のパーティションに転送することはできません。
新しいパーティションは、「soa-infra」のナビゲータと「パーティションの管理」ページの「SOAパーティション」列の両方に表示されます。これで、「デプロイメント」ドロップダウン・リストから「このパーティションにデプロイ」を選択するか、ナビゲータで特定のパーティションを右クリックして「このパーティションにデプロイ」をクリックすることにより、コンポジットをこのパーティションにデプロイできます。
コンポジットがパーティションにデプロイされると、ナビゲータでそのコンポジットがパーティションの下に表示されます。デプロイした後は、コンポジットを別のパーティションに転送できなくなります。
パーティションを削除するには、特定のパーティションを選択し、「削除」をクリックします。ナビゲータで特定のパーティションを右クリックし、「このパーティションの削除」をクリックすることによっても削除できます。
「SOAパーティションの削除」ダイアログが表示されます。次のことに注意してください。
別のパーティションにコンポジット・デプロイメントの一部を再作成する場合は、このパーティションを削除する前にコンポジットをJARファイルにエクスポートできます。
選択したパーティションを削除する前に、パーティション内のすべてのSOAコンポジット・アプリケーション・リビジョンがアンデプロイされます。これらのリビジョンの、すべてのアンデプロイされたインスタンスの状態は「失効」になります。
「削除(すべてのコンポジットのアンデプロイ)」をクリックします。
パーティションにデプロイされたすべてのコンポジットがアンデプロイされ、ナビゲータに表示されなくなります。パーティションは、「soa-infra」のナビゲータと「パーティションの管理」ページの「SOAパーティション」列の両方から削除されます。
「コンポジット制御」および「デプロイメント」リストからの一括ライフサイクル管理タスクの実行については、第8.10.2項「パーティションのコンポジットに対する一括ライフサイクル管理タスクの実行」を参照してください。
WebLogic Scripting Tool(WLST)およびant
コマンドでもパーティションを作成できます。詳細は、Oracle Fusion Middleware WebLogic Scripting Toolコマンド・リファレンスおよび『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。
「パーティションの管理」ページ、特定のパーティションのホーム・ページ、およびナビゲータでパーティションを右クリックすると表示されるメニューで、特定のパーティション内のすべてのSOAコンポジット・アプリケーションに対して一括ライフサイクル管理タスクを実行できます。
一括ライフサイクル管理タスクは、一度に1つではなく複数のコンポジットに影響を及ぼします。コンポジットに実行中のインスタンスがあり、ライフサイクルの変更操作がコンポジットに対して実行されている場合は、インスタンスが完了しないことがあります。様々なライフサイクル操作がコンポジット・インスタンスに及ぼす影響については、第8.2.1項「SOAインフラストラクチャ・レベルでのすべてのアプリケーションの状態管理」のステップ3を参照してください。
特定のパーティション内のすべてのSOAコンポジット・アプリケーションに対して一括ライフサイクル管理を実行する手順は、次のとおりです。
ページには、次のいずれかの手順でアクセスします。
「SOAインフラストラクチャ」メニューからアクセスする手順 | ナビゲータの「SOA」フォルダからアクセスする手順 |
---|---|
|
|
注意: ショートカットとして、ナビゲータで特定のパーティションを右クリックして、この項で説明する一括ライフサイクル管理アクションを選択するメニューを表示することもできます。このメニューの詳細は、第2.2.3項「パーティションのホーム・ページおよびメニューからの移動」のステップ3を参照してください。 |
いずれかのページに表示される2つのドロップダウン・リストを使用すると、一括ライフサイクル管理アクションを実行できます。
「コンポジット制御」リスト
「デプロイメント」リスト
特定のパーティションのホーム・ページでは、これらのリストはページの上部に表示されます。
「パーティションの管理」ページでは、これらのリストは「SOAパーティション」表の上に表示されます。
注意: パーティションのホーム・ページの上部にある「SOAパーティション」メニューを選択して、パーティションにコンポジットをデプロイし、一括ライフサイクル管理タスクを実行することも選択できます。 |
選択したパーティションに含まれるすべてのSOAコンポジット・アプリケーションに次の一括ライフサイクル管理タスクの1つを実行するには、「コンポジット制御」リストを選択します。
実行する操作を選択します。
選択内容の確認を求めるダイアログが表示されます。操作が完了すると、ページ上部に確認メッセージが表示されます。
次のいずれかの管理タスクを実行するには、「デプロイメント」リストを選択します。
このパーティションにデプロイするコンポジットを指定します。この選択により、デプロイするコンポジット・リビジョンを指定するSOAコンポジットのデプロイ・ウィザードが起動します。
このパーティション内のすべてのコンポジットをアンデプロイします。
選択内容の確認を求めるダイアログが表示されます。操作が完了すると、ページ上部に確認メッセージが表示されます。
ビジネス監視という表現には、次のようないくつかのタイプのSOAコンポーネントに対して定義できる様々なタイプのセンサーが含まれています。
BPELモニター - Oracle BAM Serverに送信され、分析やグラフィカル表示に使用されるBPELプロセス・メトリックを取得できます。
BPMN測定 - プロセスまたはプロセス内のセクションの特定の時点で、ビジネス・インジケータを測定できます。
SOAコンポジット・アプリケーション・レベルで、選択したコンポジットを構成するあらゆるタイプのサービス・コンポーネントに定義されているセンサーすべてに同じステータスを設定します。単一のコンポジットに対する特定のタイプのサービス・コンポーネントに定義されているセンサーを選択して有効化または無効化することはできません。ただし、BPELサービス・エンジン・プロパティまたはBPMNサービス・エンジン・プロパティの各ページで、すべてのコンポジットのサービス・コンポーネント・タイプ固有のセンサーをグローバルに無効化することは可能です。
デフォルトでは、SOAコンポジット・アプリケーションに定義されているBPELセンサーとBPMNセンサーは有効になります。センサーを無効化すると、実行時にセンサー値が取得されません。たとえば、BPEL監査証跡の「センサー値」セクションに値が表示されません。
センサーをサービス・エンジン・レベルで無効化する手順は、次のとおりです。
第11.1項「BPELプロセス・サービス・エンジン・プロパティの構成」の手順に従って「BPELサービス・エンジン・プロパティ」ページにアクセスします。
「BPELモニターおよびセンサーの無効化」チェック・ボックスを選択します。
「適用」をクリックします。
第37.1項「BPMNプロセス・サービス・エンジン・プロパティの構成」の手順に従って「BPMNサービス・エンジン・プロパティ」ページにアクセスします。
注意: 「BPMNサービス・エンジン・プロパティ」ページが表示されるのは、Oracle BPM Suiteがインストールされている場合のみです。 |
「BPMN測定の無効化」チェック・ボックスを選択します。
「適用」をクリックします。
センサーをSOAコンポジット・アプリケーション・レベルで無効化または有効化する手順は、次のとおりです。
センサーを無効化または有効化するSOAコンポジット・アプリケーションのホーム・ページに移動します。
「設定」メニューからBPELビジネス監視の有効化/無効化を選択します。この選択肢は、コンポーネントにセンサーが含まれているかどうかに関係なく、BPELまたはBPMNサービス・コンポーネントを少なくとも1つ持つコンポジットに対してのみ表示されます。
センサーの現在のステータスを表示するダイアログが起動されます。このダイアログでステータスを変更できます。ダイアログには、選択したコンポジットに存在するコンポーネント・タイプに適したオプションのみが表示されます。たとえば、コンポジットにはBPELコンポーネントのみが含まれており、BPMNコンポーネントが含まれていない場合は、BPELセンサーの状態を設定するオプションのみが表示されます。
次のステップでは、表示可能なダイアログのタイプと使用可能なアクションについて説明します。
センサーが両方のサービス・エンジン・レベルで無効化されている場合、「グローバルに無効」というメッセージがそれぞれに表示されます。このダイアログでは、「すべて有効化」または「すべて無効化」を選択できません。この場合もボタンは両方とも使用不可になります。
また、センサーがBPELサービス・エンジン・レベルで無効化されており、Oracle BPM SuiteがインストールされていないためにBPMNサービス・エンジンが表示されない場合も、このダイアログで「すべて有効化」または「すべて無効化」を選択できません。この場合もボタンは両方とも使用不可になります。
センサーがコンポジット・レベルで無効化されていない場合は、チェックマークが表示されます。また、センサーがBPELおよびBPMNサービス・エンジン・レベルの両方で無効化されていない場合、「グローバルに無効」というメッセージは表示されません。
「すべて無効化」をクリックすると、選択したコンポジットを構成するサービス・コンポーネントに定義されているすべてのタイプのセンサーが無効化されます(センサーがサービス・エンジン・レベルで無効化されている場合は、無効のままです)。
特定のサービス・エンジン・レベルでセンサーが無効化されている場合は、サービス・エンジン・プロパティ・ページの対応する「BPELモニターおよびセンサーの無効化」または「BPMN測定の無効化」チェック・ボックスの選択が解除されていると、コンポジット・アプリケーション・レベルでこれらのタイプのセンサーに設定したセンサー・ステータスのみが有効化されます。
たとえば、(次に表示されているように)BPMNサービス・エンジン・レベルでセンサーが無効化されているときに、選択されたコンポジット・レベルですべてのセンサーに対して「すべて有効化」を選択した場合、そのステータスはBPELなどの他のタイプのセンサーにのみ適用されます。BPMNセンサーおよびモニターは無効化されたままです。ただし、BPMNサービス・エンジンの設定を後で変更すると、このコンポジットのBPMNセンサーは自動的に有効化されます。
センサーがコンポジット・レベルで無効化されている場合、チェックマークは表示されません。「すべて有効化」をクリックすると、選択したコンポジットを構成するサービス・コンポーネントに定義されているすべてのタイプのセンサーが有効化されます(サービス・エンジン・レベルで無効化されているセンサーは、サービス・エンジン・レベルの設定を変更するまでは無効のままです)。コンポジットにBPMNサービス・コンポーネントが含まれていないため、BPMNは表示されません。
アクションを選択すると、そのセンサーが有効化または無効化されたことを確認するページにインライン・メッセージが表示されます。
BPELセンサーとモニターの詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。
BPMN測定の詳細は、『Oracle Fusion Middleware Oracle Business Process Managementモデリングおよび実装ガイド』を参照してください。