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

戻る
戻る
 
次へ
次へ
 

12 BPELプロセスのサービス・コンポーネントとエンジンの管理

この章では、BPELプロセス・サービス・コンポーネントとサービス・エンジンの管理方法について説明します。

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

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

12.1 BPELプロセス・サービス・コンポーネントのフォルトのリカバリ

リカバリ可能として識別されたBPELプロセス・サービス・コンポーネントを監視し、個別のフォルト・リカバリと一括のフォルト・リカバリを実行できます。リカバリ可能として識別されたBPELプロセス・フォルトについては、(fault-bindings.xmlファイルを介して)フォルトにバインドされ、アクションora-human-interventionをトリガーするフォルト・ポリシーが定義されている必要があります。ただし、フォルト・ポリシーが定義されていない場合、フォルトは、リカバリ可能またはリカバリ不可のフォルトとして通常どおり処理されます。

BPELプロセス・サービス・コンポーネントのフォルトをリカバリする手順は、次のとおりです。

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

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

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

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

  2. 「コンポーネント・メトリック」セクションで、BPELプロセス・サービス・コンポーネントを選択します。

  3. 「フォルト」をクリックします。

    「フォルト」ページに、次の詳細が表示されます。

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

    • サービス・コンポーネントで発生したフォルト。フォルトID、エラー・メッセージ、フォルトのリカバリが可能かどうか、フォルトの発生時間、サービス・コンポーネントのインスタンスID、フォルトが発生したアクティビティ、およびフォルトが記述されているログ・ファイルへのリンクが表示されます。

    bpel_comp_faults.gifの説明は次にあります。
    図版bpel_comp_faults.gifの説明

    リカバリが可能として識別されたBPELプロセス・サービス・コンポーネントのフォルトはリカバリできます。

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

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

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

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

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

      または、

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

      次に、

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

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

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

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



    注意:

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

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

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

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

    1. 「リカバリ可能なフォルトのみ表示」チェック・ボックスをクリックすると、リカバリ可能なフォルトのみ表示されます。

    2. 「フォルト・タイプ」リストから、すべてのフォルト、システム・フォルト、ビジネス・フォルトまたはOracle Web Service Manager(OWSM)フォルトを選択して、フォルト表に表示します。これらのフォルト・タイプの詳細は、「ヘルプ」アイコンをクリックしてください。

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

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

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

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

12.2 BPELプロセス・サービス・コンポーネントのポリシーの管理

現在デプロイされているSOAコンポジット・アプリケーションのBPELプロセス・サービス・コンポーネントとの間で、ポリシーをアタッチおよびデタッチできます。ポリシーでは、メッセージ配信に対してセキュリティが適用されます。Oracle Fusion Middlewareでは、ポリシー・ベースのモデルを使用してWebサービスを管理します。


注意:

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

BPELプロセス・サービス・コンポーネント・ポリシーを管理する手順は、次のとおりです。

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

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

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

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

  2. 「コンポーネント・メトリック」セクションで、BPELプロセス・サービス・コンポーネントを選択します。

  3. 「ポリシー」をクリックします。

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

    bpel_comp_policy.gifの説明は次にあります。
    図版bpel_comp_policy.gifの説明

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

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

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

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

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

  6. 使用環境に適したポリシーを選択してアタッチします。

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

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

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

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

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

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

12.3 BPELプロセス・サービス・エンジンのフォルトのリカバリ

BPELプロセス・サービス・エンジンで発生し、リカバリ可能として識別されたフォルトを監視し、個別リカバリと一括リカバリを実行できます。BPELプロセス・サービス・エンジンでは、すべてのBPELプロセス・サービス・コンポーネントのフォルトを、属しているSOAコンポジット・アプリケーション・インスタンスに関係なく表示できます。リカバリ可能として識別されたBPELプロセス・フォルトについては、(fault-bindings.xmlファイルを介して)フォルトにバインドされ、アクションora-human-interventionをトリガーするフォルト・ポリシーが定義されている必要があります。ただし、フォルト・ポリシーが定義されていない場合、フォルトは、リカバリ可能またはリカバリ不可のフォルトとして通常どおり処理されます。

BPELプロセス・サービス・エンジンのフォルトをリカバリする手順は、次のとおりです。

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

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


  2. 「フォルト」をクリックします。

    「フォルト」ページに、次の詳細が表示されます。

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

    • サービス・エンジンで発生したフォルト。フォルトID、エラー・メッセージ、フォルトのリカバリが可能かどうか、フォルトの発生時間、フォルトが発生したSOAコンポジット・アプリケーションとサービス・コンポーネント、およびサービス・コンポーネント・インスタンスIDが表示されます。

    bpel_se_faults.gifの説明は次にあります。
    図版bpel_se_faults.gifの説明

    リカバリが可能として識別されたBPELプロセス・サービス・エンジンのフォルトはリカバリできます。

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


    注意:

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

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

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

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

    1. 「リカバリ可能なフォルトのみ表示」チェック・ボックスをクリックすると、リカバリ可能なフォルトのみ表示されます。

    2. 「フォルト・タイプ」リストから、すべてのフォルト、システム・フォルト、ビジネス・フォルトまたはOWSMフォルトを選択して、フォルト表に表示します。これらのフォルト・タイプの詳細は、「ヘルプ」アイコンをクリックしてください。

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

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

    5. 「コンポーネント」列で、特定のサービス・コンポーネントをクリックし、そのホーム・ページにアクセスします。

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

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

12.4 BPELプロセス・サービス・エンジンのメッセージ・リカバリの実行

プロセス・インスタンスのトランザクション・ロールバックによって配信されなかった起動メッセージまたはコールバック・メッセージのリカバリは、手動で実行できます。起動メッセージのリカバリは、非同期のBPELプロセスにのみ適用されます。同期BPELプロセスは、エラーをコール側クライアントに返すため、このページからはリカバリできません。リカバリ可能アクティビティは失敗したアクティビティですが、リカバリが可能です。たとえば、非同期BPELプロセスを起動するファイル・アダプタを使用しているときに、システムがインスタンスの処理中にクラッシュした場合は、すべてのメッセージ・レコードが確実にリカバリされるように、サーバーが再起動したときに手動でリカバリを実行できます。

BPELプロセス・サービス・エンジンのメッセージをリカバリする手順は、次のとおりです。

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

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


  2. 「リカバリ」をクリックします。

    「リカバリ」ページに、次の詳細が表示されます。

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

    • サービス・エンジンでのメッセージの失敗。対話ID、メッセージの失敗のリカバリが可能かどうか、サービス・コンポーネント、失敗が発生したコンポジット・アプリケーション、およびフォルトの発生時間が表示されます。

    bpel_se_recov.gifの説明は次にあります。
    図版bpel_se_recov.gifの説明

  3. この表でフォルトを選択します。

  4. 次のいずれかのオプションを選択します。

    アクション 説明
    リカバリ フォルトが発生したメッセージを再試行します。

    関連する例外エラーが原因で、非同期BPELプロセスでトランザクション・ロールバック・シナリオが発生した場合は、最後のデハイドレーション・アクティビティにロールバックします。これが新しいインスタンスであり、かつ最初のデハイドレーション・アクティビティが受信アクティビティであった場合、BPELプロセス・サービス・エンジンはリカバリ可能な呼出しを作成します。呼出しをリカバリするために「リカバリ」をクリックすると、サービス・エンジンによって新しいインスタンスが作成されます。このインスタンスは、例外エラーなしで実行が完了する可能性があります。ただし、フォルトとして識別された古いインスタンスは引き続き表示されます。

    取消としてマーク メッセージが配信されないようにマークを付けます。

    リカバリのためにメッセージが送信されると、そのアクションがBPELプロセス・サービス・エンジンによって完了するのに時間がかかる場合があります。通常、この時間は数秒以内となります。この間、メッセージは「リカバリ」ページに表示されたままになります。この期間内に、同じメッセージのリカバリをもう1回実行しても、無視されます。最新のリカバリ・ステータスを受信するには、ページを数秒ごとに更新します。


    注意:

    ora-retryアクションを使用してBPELプロセスにフォルト・ポリシーを定義した場合は、フォルトが発生すると、BPELプロセスではフォルトからのリカバリをretryCountパラメータに指定した回数試行します。この後、プロセスは実行中の状態のままになります。完了していないプロセスのアクティビティ(呼出し、受信など)のステータスは、保留中の手動リカバリとして表示されます。これは予期されている動作です。

12.5 BPELモニターおよびセンサーの無効化

デフォルトでは、SOAコンポジット・アプリケーションに定義されているBPELセンサーは有効になります。次のレベルですべてのBPELセンサー(変数、フォルトおよびアクティビティ)を無効化できます。

BPELプロセスのメトリックを取得するために使用されるBPELモニターも無効化できます。BPELプロセスのメトリックは、Oracle BAMサーバーに送信され、分析とグラフィック表示に使用されます。

センサーを無効化すると、実行時にセンサー値が取得されません。この結果、BPEL監査証跡の「センサー値」ページに値が表示されません。

BPELセンサーをサービス・コンポーネント・レベルで有効化または無効化することはできません。

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

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

  2. 「BPELモニターおよびセンサーの無効化」チェック・ボックスを選択します。このアクションにより、BPELエンジンはセンサーへのすべての呼出しを無効化できます。

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

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

  1. モニターおよびセンサーを無効化するSOAコンポジット・アプリケーションのホームページに移動します。

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

    sca_sensordis.gifの説明は次にあります。
    図版sca_sensordis.gifの説明

  3. センサーがBPELプロセス・サービス・エンジン・レベルで有効化されている場合、SOAコンポジット・アプリケーション・レベルのセンサーの現在の設定によって、次に表示される確認メッセージが示されます。

    1. モニターおよびセンサーがコンポジット・レベルで有効化されている場合、選択したコンポジットを構成するすべてのBPELコンポーネントに定義されているすべてのBPELモニターおよびセンサーを無効化することの確認を求められます。

    2. モニターおよびセンサーがコンポジット・レベルで無効化されている場合、選択したコンポジットを構成するすべてのBPELコンポーネントに定義されているすべてのBPELモニターおよびセンサーを有効化することの確認を求められます。

  4. モニターおよびセンサーがBPELプロセス・サービス・エンジン・レベルで無効化されている場合、モニター値およびセンサー値を変更できないことを示すインライン・メッセージが表示されます。この場合、コンポジット・レベルのモニターおよびセンサーの現在の設定は表示されません。

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