Oracle® Fusion Middleware

Oracle SOA SuiteおよびOracle Business Process Management Suiteの管理

12c (12.2.1.1.0)

E77339-02(原本部品番号:E68154-02)

2016年8月

バインディング・コンポーネント、Oracle BPELプロセス、ヒューマン・タスク、Oracle MediatorおよびOracle Business Process Management Notation (BPMN)サービス・コンポーネントで構成されるOracle Service-Oriented Architecture (SOA)コンポジット・アプリケーションをOracle Enterprise Manager Fusion Middleware Controlで管理する方法を記載したシステム管理者向けのドキュメントです。Oracle B2B、Oracle Healthcare、Oracle JCAアダプタおよびビジネス・イベントの管理に関する追加情報が含まれます。

Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suiteの管理, 12c (12.2.1.1.0)

E77339-02

Copyright © 2006, 2016, Oracle and/or its affiliates.  All rights reserved.

原本著者:  Oracle Corporation

原本協力者:  Oracle SOA Suite開発、製品管理および品質保証チーム

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。適用されるお客様とOracle Corporationとの間の契約に別段の定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。適用されるお客様とOracle Corporationとの間の契約に定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

目次

タイトルおよび著作権情報

はじめに

- 対象読者

- 関連ドキュメント

- 表記規則

このガイドで説明する新機能

- 12c (12.2.1)と12c (12.2.1.1.0)での新機能と変更された機能

第I部 Oracle SOA SuiteおよびOracle Business Process Management Suiteの概要

1 概要と概念

- 1.1 Oracle Fusion Middlewareとは

- 1.2 Oracle SOA Suiteとは

- 1.2.1 SOAインフラストラクチャ・アプリケーションの概要

- 1.2.2SOAフォルダの概要

- 1.2.3 SOAコンポジット・アプリケーションの概要

- 1.2.4 ビジネス・フロー・インスタンスの概要

- 1.2.5 サービス・コンポーネントの概要

- 1.2.5.1 Springサービス・コンポーネントのサポート

- 1.2.6 バインディング・コンポーネントの概要

- 1.2.7 サービス・エンジンの概要

- 1.2.8 サービス・インフラストラクチャの概要

- 1.2.9 SOAコンポジット・アプリケーションのコンテンツの概要

- 1.2.10 Oracle SOA SuiteとOracle Enterprise Schedulerの統合の概要

- 1.2.10.1 Oracle SOA SuiteとOracle Enterprise Scheduler間のクロスコンポーネント・ワイヤリング

- 1.3 Oracle Business Process Management Suiteとは

- 1.4 Oracle SOA SuiteおよびOracle BPM Suiteの管理

- 1.4.1 Oracle SOA SuiteおよびOracle BPM Suiteの構成

- 1.4.1.1 監査レベル設定の優先順位の概要

- 1.4.2 Oracle SOA SuiteおよびOracle BPM Suiteの監視

- 1.4.3 Oracle SOA SuiteおよびBPM Suiteの管理

- 1.4.3.1 エラー・ホスピタルでのフォルト・リカバリの概要

- 1.4.3.2 ポリシーの概要

- 1.4.3.2.1 ポリシーの実行方法の概要

- 1.4.3.3 SOAコンポジット・アプリケーションのライフサイクルの状態の概要

- 1.4.3.4 SOAコンポジット・アプリケーションの自動テストの概要

- 1.4.4 Oracle SOA SuiteおよびOracle BPM Suiteのパフォーマンスとチューニング

- 1.5 アプリケーション開発者による管理

- 1.6 Oracle Enterprise Manager 12c Cloud ControlおよびOracle SOA Management Packによる管理

第II部 管理のスタート・ガイド

2 Oracle SOA SuiteおよびOracle BPM Suiteの管理のスタート・ガイド

- 2.1 Oracle Enterprise Manager Fusion Middleware Controlへのログイン

- 2.2 Oracle SOA SuiteおよびOracle BPM Suite管理タスクへの移動

- 2.2.1 SOAインフラストラクチャのホーム・ページおよびメニューからの移動

- 2.2.2 SOAコンポジット・アプリケーションのホーム・ページおよびメニューからの移動

- 2.2.3 SOAフォルダのホーム・ページおよびメニューからの移動

- 2.2.4 デプロイ済Java EEアプリケーションへの移動

- 2.2.5 Oracle WebLogic Server管理コンソールおよび他のページへの移動

- 2.2.6 WebLogicドメインのホーム・ページからSOAインフラストラクチャまたはSOAコンポジット・アプリケーションのホーム・ページへの移動

- 2.3 状況依存オンライン・ヘルプへのアクセス

- 2.4 システムMBeanブラウザへの移動

- 2.4.1 メイン・ページからのシステムMBeanブラウザへのアクセス

- 2.4.2 「コンポーネント・プロパティ」ページからのシステムMBeanブラウザへのアクセス

- 2.5 Oracle Enterprise Manager Fusion Middleware Controlからのログアウト

- 2.6 アクセシビリティ・オプションの設定

第III部 SOAインフラストラクチャの管理

3 SOAインフラストラクチャの構成

- 3.1 SOAインフラストラクチャ・プロパティの構成

- 3.1.1 SOAインフラストラクチャ・プロパティを構成する手順は、次のとおりです。

- 3.1.2 Oracle SOA SuiteおよびOracle BPM Suiteのプロファイルの構成

- 3.1.3 監査証跡、ペイロード検証およびデフォルト問合せ期間の構成

- 3.1.4 UDDIレジストリ・プロパティの構成

- 3.1.5 コールバック・サーバーおよびサーバーURLの構成

- 3.1.6 分析およびセンサーの構成

- 3.1.7 データ・ソースおよびWebサービス・バインディング・プロパティの構成

- 3.1.8 SOAインフラストラクチャ拡張構成プロパティの構成

- 3.2 管理対象サーバーとSOAインフラストラクチャの停止と起動

- 3.2.1 SOAコンポジット・アプリケーションの状態およびSOAインフラストラクチャの停止

- 3.2.2 リタイアされたコンポジットがアクティブ化されているときは、SOAインフラストラクチャを再起動しても、エンドポイントがアクティブ化されない

- 3.2.3 cwallet.ssoにSOAマップが含まれている場合に、SOAインフラストラクチャの起動が失敗する

- 3.3 システムMBeanブラウザでのSOAインフラストラクチャ・サーバーURLプロパティ・ポートの変更

- 3.4 ログ・ファイルの構成

- 3.4.1 ログ・ファイルのエンコーディング・プロパティの構成

- 3.4.2 Oracle Enterprise Manager Fusion Middleware Controlページのパフォーマンス問題を診断するロギングの構成

- 3.5 カスタムXAドライバのサポートのためのドライバ名の変更

- 3.6 XAデータ・ソースへのデフォルト以外のXAトランザクション・タイムアウト値の指定

- 3.7 データベース固有の処理スレッドの構成

- 3.7.1 SOADataSourceプロパティの最大接続数を変更する手順は、次のとおりです。

- 3.7.2 SOAMaxThreadsConfigプロパティを構成する手順は、次のとおりです。

- 3.8 ローカルの最適化の構成

- 3.8.1 ローカルの最適化を使用するための条件チェック

- 3.8.2 ローカルの最適化のオーバーライドまたは強制

- 3.8.3 ローカルの最適化のロギング

- 3.8.4 ローカル最適化コールのユースケース

- 3.9 複数のSOAコンポジット・アプリケーションのグローバル・トークン変数の管理

- 3.9.1 「トークン構成」ページでのグローバル・トークン変数の管理

- 3.9.2 実行時にグローバル・トークン変数を置換する方法

- 3.9.3 事前定義されたグローバル・トークン変数の使用

- 3.10 SOAでのフォルト増大の回避

- 3.10.1 グローバル・レベルでのリジリエンシの構成

- 3.10.2 ダウンストリーム・エンドポイントのグローバルなリジリエンシ設定のオーバーライド

- 3.10.3 グローバルなリジリエンシ・プロパティおよびエンドポイントのリジリエンシ・プロパティ

4 SOAインフラストラクチャの監視

- 4.1 SOAインフラストラクチャまたは個々のパーティションの全体的ステータスの監視

- 4.1.1 キー構成設定の表示

- 4.1.2 SOAインフラストラクチャの全体的なランタイム・ヘルスの表示

- 4.1.3 SOAインフラストラクチャのシステム・バックログの表示

- 4.1.4 ビジネス・トランザクション・フォルトの表示

- 4.1.5 SOAコンポジット・アプリケーションとアダプタの可用性の表示

- 4.1.6 インスタンスおよび一括リカバリ・ジョブの検索

- 4.1.7 エラー通知アラートの表示

- 4.2 Oracle SOA Suiteルーティング・トポロジの検出

- 4.3 SOAインフラストラクチャのパフォーマンス・サマリー・メトリックの監視

- 4.4 メッセージ配信リクエスト処理の監視

- 4.5 SOAインフラストラクチャのサービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントの監視

- 4.6 SOAヘルス・チェックの使用

- 4.6.1 SOAヘルス・チェック

- 4.6.2 SOAヘルス・チェック・カテゴリ

- 4.6.3 SOAヘルス・チェックの起動

- 4.7 IWSレポートを使用したSOA全体の問題の監視とトラブルシューティング

- 4.7.1 IWSの有効化と構成

- 4.7.2 IWSレポートの生成

- 4.7.2.1 IWSReport MBeanについて

- 4.7.2.2 IWSレポート生成用のWLSTコマンド

- 4.7.3 IWSレポートに含まれる統計

5 ビジネス・フロー・インスタンスのトラッキング

- 5.1 SOAインフラストラクチャまたはパーティション・レベルでのビジネス・フロー・インスタンスのトラッキング

- 5.1.1 ビジネス・フローの検索基準の指定と保存

- 5.1.1.1 事前定義済のビジネス・フロー・インスタンス検索の実行

- 5.1.1.2 「検索オプション」ツールバーの使用

- 5.1.1.3 検索フィルタの追加および削除

- 5.1.1.4 ビジネス・フロー・インスタンスの検索フィルタ基準の構成および保存

- 5.1.2 ビジネス・フロー・インスタンスの削除または終了

- 5.1.3 ビジネス・フロー・インスタンスの現在の状態の表示

- 5.1.4 ビジネス・フロー・インスタンスでのフォルトからのリカバリ

- 5.1.5 ビジネス・フロー・インスタンスのコンポジット・センサー値の表示

- 5.1.6 ビジネス・フロー・インスタンスでの開始SOAコンポジット・アプリケーションと参加SOAコンポジット・アプリケーションの表示

- 5.1.7 ビジネス・フロー・インスタンスのリシーケンス・グループの表示

- 5.1.8 ドメインをまたがるビジネス・フローの表示

- 5.1.9 同じリビジョン番号を持つ再デプロイされたコンポジットのパーティション・レベルおよびコンポジット・レベルの検索結果

6 エラー・ホスピタルでのフォルトからのリカバリ

- 6.1 エラー・ホスピタルでのフォルトの管理

- 6.1.1 フォルト検索基準の指定および保存

- 6.1.1.1 事前定義済フォルト・インスタンスおよびカスタム検索の実行

- 6.1.1.2 レポート・フィルタ・ツールバーの使用

- 6.1.1.3 フォルト検索フィルタ基準の構成および保存

- 6.1.2 フォルト傾向の調査のための集計済フォルト統計の表示

- 6.1.2.1 集計済のフォルト統計を表示してフォルトの傾向を調査する手順:

- 6.1.3 単一操作での一括フォルト・リカバリおよび終了の実行

- 6.1.4 単一のフォルト・リカバリ操作を実行するためのフォルト統計表でのフォルトへのアクセス

- 6.1.5 その他のメッセージおよびフォルト・リカバリ動作シナリオの理解

- 6.1.5.1 「エラー・ホスピタル」ページでリカバリ可能なメッセージがリカバリ不能として表示される

- 6.1.5.2 リカバリ不能なバインディング・コンポーネントのフォルトがリカバリ可能と表示される

- 6.1.5.3 関連付けられたインスタンス・フォルトのない、リカバリを待つBPELプロセス・メッセージが「エラー・ホスピタル」ページに表示されない

- 6.2 エラー通知ルールの作成

- 6.2.1 エラー通知ルールを作成する手順は、次のとおりです。

- 6.2.2 期限切れのスケジュールに関連付けられたエラー通知ルール

7 SOAフォルダおよびワーク・マネージャ・グループの管理

- 7.1 SOAフォルダの管理

- 7.1.1 SOAフォルダの作成

- 7.1.2 フォルダの削除

- 7.1.3 SOAフォルダのワーク・マネージャ・グループの変更

- 7.1.4 SOAフォルダのコンポジットに対する一括ライフサイクル管理タスクの実行

- 7.2 ワーク・マネージャ・グループの管理

- 7.2.1 ワーク・マネージャ・プロパティの表示および構成

- 7.2.1.1 ワーク・マネージャ制約の表示および構成

- 7.2.2 ワーク・マネージャの保留中のリクエストおよび完了したリクエストの表示

- 7.2.3 ワーク・マネージャ・グループの表示および作成

- 7.3 SOAフォルダへのアクセスの保護

- 7.3.1 SOAフォルダ・ロールの表示

- 7.3.2 各SOAフォルダ・ロールに割り当てられた権限の表示

- 7.3.3 SOAフォルダ・ロールへのユーザーの割当て

- 7.3.4 その他の権限およびロール動作のシナリオの理解

- 7.3.4.1 様々なSOAフォルダにおける開始コンポジットおよび参加コンポジットの権限の理解

- 7.3.4.2 SOAフォルダにおけるOracle SOA Composerの権限アクションの表示

- 7.3.4.3 「MDS構成」ページおよびOracle SOA Suiteの権限の理解

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

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

- 8.1 SOAコンポジット・アプリケーションの保護の概要

- 8.2 Oracle BPM Worklist用のOracle HTTP Serverの構成

- 8.3 SOAインフラストラクチャのSAMLメッセージ保護付きポリシー構成の設定

- 8.4 Oracle BPM WorklistおよびOracle Business Process Managementユーザーの自動認証

- 8.4.1 SAML SSO環境でのOracle BPM Worklistユーザーの自動認証

- 8.4.2 SAML SSO環境でのOracle BPM Workspaceユーザーの自動認証

- 8.4.3 SAML SSO環境でのOracle Business Process Composerユーザーの自動認証

- 8.4.4 Windowsのネイティブ認証環境でのOracle BPM Worklistユーザーの自動認証

- 8.4.5 Windowsのネイティブ認証環境でのOracle Business Process Composerユーザーの自動認証

- 8.5 認証プロバイダの設定

- 8.5.1 Oracle Internet Directoryを最初の認証プロバイダとして表示

- 8.5.2 デフォルトの認証プロバイダを使用したWebベースのアプリケーションへのアクセス

- 8.5.3 複数の認証プロバイダの有効化

- 8.6 NTLM認証をリクエストするWebサービスの起動

- 8.7 SSLの構成

- 8.7.1 HTTPSポートで構成されたSOA/BPMサーバーでのSSL証明書の使用

- 8.7.2 SSLで管理対象サーバーを全部構成する、または構成しないための推奨事項

- 8.7.3 Oracle BPM Worklistでの非SSLからSSL構成への切替え

- 8.7.4 SOAコンポジット・アプリケーションの双方向SSL通信の構成

- 8.7.4.1 SOAコンポジット・アプリケーションが別のアプリケーションを呼び出すために双方向SSLを有効化する手順は、次のとおりです。

- 8.7.5 Oracle JDeveloperの一方向SSL環境での参照の呼出し

- 8.7.6 Oracle SOA SuiteおよびOracle HTTP ServerのSSL通信の構成

- 8.7.6.1 Oracle HTTP ServerのSSL通信の構成

- 8.7.6.2 Oracle Client、Oracle HTTP ServerおよびOracle WebLogic Serverの証明書の構成

- 8.7.7 ビジネス・フロー・インスタンスとOracle WebCache間のSSLの構成

- 8.7.8 設計時の一方向SSLでのカスタム・トラスト・ストアの使用

- 8.7.9 SSL対応の管理対象サーバーにデプロイ済の非同期プロセスの構成による、HTTPを介した別の非同期プロセスの呼出し

- 8.8 ヒューマン・ワークフローWSDLファイルに対するセキュリティの構成

9 SOAコンポジット・アプリケーションの監視

- 9.1 SOAコンポジット・アプリケーションのパフォーマンス・サマリー・メトリックの監視

- 9.2 SOAコンポジット・アプリケーションのダイアグラムの表示

- 9.3 SOAコンポジット・アプリケーションのサービス・コンポーネントおよびサービス・バインディング・コンポーネントの監視

10 SOAコンポジット・アプリケーションのデプロイおよび管理

- 10.1 SOAコンポジット・アプリケーションのデプロイ

- 10.1.1 SOAコンポジット・アプリケーションをデプロイする手順:

- 10.1.2 その他のデプロイ動作のシナリオの理解

- 10.1.2.1 複数のADFタスク・フォーム・デプロイメントのPermGenメモリー要件

- 10.1.2.2 タスク・フローを持つSOAコンポジット・アプリケーションのデプロイ

- 10.1.2.3 antスクリプトおよびWLSTコマンドライン・ツールによるSOAコンポジット・アプリケーションのデプロイ

- 10.2 アンデプロイメントまたは再デプロイメント時のインスタンス、フォルトおよび拒否メッセージの中断状態への更新

- 10.3 SOAコンポジット・アプリケーションの再デプロイ

- 10.3.1 最初の実行中インスタンスを中断状態に変更せずに同じリビジョンIDのSOAコンポジット・アプリケーションを再デプロイ

- 10.3.1.1 同期および非同期BPELプロセスの再デプロイ動作の例

- 10.4 SOAコンポジット・アプリケーションのアンデプロイ

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

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

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

- 10.5.3 その他のライフサイクル状態動作のシナリオの理解

- 10.5.3.1 BPEL処理途中でSOAインフラストラクチャがデプロイされる管理対象のOracle WebLogic Serverの起動および停止

- 10.5.3.2 ビジネス・フロー・インスタンス名の設定

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

- 10.6.1 テスト・スイートの一括実行時のレスポンス・メッセージ・サイズの増加

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

- 10.7.1 サーバー再起動後にローカル・ポリシーのポリシー・サブジェクトが無効になる可能性がある

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

- 10.7.3 WS-RMセッション

- 10.8 デプロイ済のSOAコンポジット・アプリケーションのエクスポート

- 10.9 分析データ、BPELセンサー・データ、コンポジット・センサー・データの収集の無効化および有効化

- 10.9.1 特定のSOAコンポジット・アプリケーションに対する分析およびセンサーの無効化

- 10.9.2 すべてのSOAコンポジット・アプリケーションに対する分析およびセンサーの無効化

- 10.9.3 すべてのSOAコンポジット・アプリケーションに対する特定の分析およびセンサー設定の選択的な無効化

- 10.10 ランタイム・アプリケーションへのリンク

11 SOAコンポジット・アプリケーションのビジネス・フロー・インスタンスの管理

- 11.1 ビジネス・フローのテスト・インスタンスの起動

- 11.1.1 「Webサービスのテスト」ページでのRPC/リテラル・スタイルのWSDLファイルの指定

- 11.2 SOAコンポジット・アプリケーション・レベルでのビジネス・フロー・インスタンスのトラッキング

12 データベース増分管理戦略の策定

- 12.1 データベース増分計画の概要

- 12.2 データベースのプロファイルまたはサイズの確認

- 12.2.1 データのインフローの確認

- 12.2.1.1 毎日生成されるインスタンス数の確認

- 12.2.1.2 各インスタンスが使用するディスク領域の確認

- 12.2.1.3 毎日永続的に使用されるコンポジット領域の確認

- 12.2.1.4 Oracle SOA Suiteセグメントの領域配分の分析

- 12.2.2 保存ポリシーの策定

- 12.2.2.1 最小保存ディスク領域の決定

- 12.2.2.2 最小保存コンポジット数の判定

- 12.2.3 データのアウトフローの確認

- 12.2.4 長期間実行されるコンポジットおよび表のパーティション化の確認

- 12.2.4.1 パーティション化する各表に対する推奨事項

- 12.3 領域使用量、ハードウェア・リソース、およびデータベース・パフォーマンスの監視

- 12.3.1 領域の使用量の監視

- 12.3.1.1 コンポーネントの増加傾向の判定

- 12.3.1.2 Oracle SOA Suiteスキーマの増加傾向の判定

- 12.3.1.3 最大セグメントの判別

- 12.3.1.4 表と索引の増加傾向の判定

- 12.3.1.5 表サイズの推定

- 12.3.1.6 索引サイズの推定

- 12.3.1.7 未使用索引の監視

- 12.3.2 ハードウェア・リソースおよびデータベースの監視

- 12.3.2.1 ハードウェア- OSWatcher Black Box

- 12.3.2.2 データベース– AWR/ADDM

- 12.3.2.3 ディスクI/O-Oracle Orion

- 12.4 増分管理の課題およびテスト戦略の理解

- 12.4.1 データベース増分管理の課題

- 12.4.1.1 非効率的な増分管理戦略によるOracle SOA Suiteの表の過度の増大化

- 12.4.1.2 インフローを処理できない調整済のパラレル・パージ・スクリプト

- 12.4.1.3 長時間実行されるコンポジットが原因で削除できない表パーティション

- 12.4.2 品質保証テスト

- 12.4.2.1 Metalinkサポート・ノート1384379.1の確認

- 12.4.2.2 本番監査レベル設定の構成

- 12.4.2.3 Oracle SOA Suiteスキーマの作成-テスト環境

- 12.4.2.3.1 インフローおよび推定領域の測定

- 12.4.2.3.2 テスト環境の基本ポイント・バックアップ

- 12.4.2.4 パラレルまたはシングル・スレッド・スクリプトの実行および領域の再利用

- 12.4.2.5 テスト結果の確認

- 12.4.2.6 ボトルネックを発生する表のパーティション化

- 12.4.2.6.1 パーティション化された表による基本ポイント・バックアップ

- 12.4.2.7 パージ・テストと確認の反復およびパーティション化された表の除外

- 12.4.3 推奨される増分管理戦略

- 12.4.3.1 大規模データベース・プロファイルの推奨事項

- 12.4.3.2 小規模データベース・プロファイルの推奨事項

- 12.5 領域管理の理解

- 12.5.1 データファイルのコンポーネントの概要

- 12.5.1.1 セグメント最高水位標

- 12.5.2 セグメントおよびデータファイル領域の再利用

- 12.5.2.1 オンラインのセグメント縮小の実行

- 12.5.2.2 未使用領域の割当て解除

- 12.5.2.3 索引の結合および再構築

- 12.5.2.4 表パーティションの削除

- 12.5.2.4.1 パーティションの削除

- 12.5.2.5 セキュアなファイルのLOBの構成

- 12.5.2.5.1 セキュアなファイルの要件

- 12.5.2.5.2 セキュアなファイルの変換

- 12.5.2.5.3 セキュアなファイルの移行

- 12.5.2.6 その他のデータベース管理方法

- 12.5.2.6.1 TRUNCATE文

- 12.5.3 データ・ファイルのサイズ変更

13 データベース増分の管理

- 13.1 データベース増分の管理の概要

- 13.2 パージおよびパーティション化の方法の開発

- 13.3 大量のフロー・インスタンス、アダプタ・レポートおよびフォルト・アラートの削除

- 13.3.1 パージの状態

- 13.3.2 Oracle Enterprise Manager Fusion Middleware Controlによる大量のインスタンスの削除

- 13.3.3 SQL*Plusを使用した大量のインスタンスの削除

- 13.3.3.1 ループされるパージ・スクリプト

- 13.3.3.1.1 delete_instancesプロシージャ

- 13.3.3.2 dbms_schedulerを使用したパラレル・スクリプトでのループされるパージ

- 13.3.3.2.1 パラレルでのdelete_instancesプロシージャ

- 13.3.3.3 パージ・スクリプトの実行

- 13.3.3.4 パラレル・スクリプトでのループされるパージの実行後のデッドロックの解決

- 13.3.3.5 特定のSOAコンポジット・アプリケーションのインスタンスのパージ

- 13.3.3.6 Oracle Mediatorのリシーケンスされたメッセージのパージの状態

- 13.3.4 パージのステータスの監視

- 13.3.5 データベースSQLトレースの生成

- 13.4 コンポーネント表のパーティション化

- 13.4.1 リポジトリ作成ユーティリティを使用したデータベースのパーティション化

- 13.4.2 コンポーネント・データベース表のパーティション化

- 13.4.2.1 参照整合性および同一レベル・パーティション化

- 13.4.3 レンジ時間隔パーティション化

- 13.4.4 同一レベル・パーティション化およびレンジ時間隔パーティション化

- 13.4.5 レンジ時間隔パーティション化の例

- 13.4.6 パーティション・キーの選択の概要

- 13.4.7 パーティションの構成

- 13.4.8 検証スクリプトの概要

- 13.4.8.1 コンポーネント表

- 13.4.8.1.1 パーティション化の制約

- 13.4.8.1.2 コンポーネント表、レンジ・パーティション・キーおよびグループ

- 13.4.8.2 同一レベル・パーティション化および時間隔パーティション化の検証スクリプト・チェック

- 13.4.9 検証スクリプトの実行

- 13.4.10 パーティションの検証と削除

- 13.4.11 別のパーティションへの長時間実行されているアクティブなインスタンスの移動

- 13.4.12 コンポーネントの部分的なパーティション化

- 13.5 表削除なしでの実行時表からのレコードの削除

14 SOAコンポジット・アプリケーションに関する問題の診断

- 14.1 診断フレームワークの概要

- 14.1.1 WLDFの概要

- 14.1.1.1 監視および通知の概要

- 14.1.1.2 診断シナリオおよびMBeanの概要

- 14.1.2 診断フレームワークの概要

- 14.1.2.1 インシデント・パッケージ数の制御

- 14.1.3 事前定義のインシデント処理ルール

- 14.2 Oracle SOA Suite診断ダンプの実行

- 14.2.1 ダンプをリストする手順:

- 14.2.2 ランタイム環境の診断ダンプ(soa.env)

- 14.2.2.1 WLSTコマンド(ダンプの説明および実行)

- 14.2.3 ランタイム・プラットフォーム構成の診断ダンプ(soa.config)

- 14.2.3.1 WLSTコマンド(ダンプの説明および実行)

- 14.2.4 データベース診断ダンプ(soa.db)

- 14.2.4.1 WLSTコマンド(ダンプの説明および実行)

- 14.2.5 デプロイ済コンポジット・メタデータの診断ダンプ(soa.composite)

- 14.2.5.1 WLSTコマンド(ダンプの説明および実行)

- 14.2.6 インスタンス監査証跡の診断ダンプ(soa.composite.trail)

- 14.2.6.1 WLSTコマンド(ダンプの説明および実行)

- 14.2.7 イベント診断ダンプ(soa.edn)

- 14.2.7.1 WLSTコマンド(ダンプの説明および実行)

- 14.2.8 デプロイ済コンポジットWSDL/スキーマ・キャッシュの診断ダンプ(soa.wsdl)

- 14.2.8.1 WLSTコマンド(ダンプの説明および実行)

- 14.2.9 ディスパッチャの静的構成の診断ダンプ(bpel.dispatcher)

- 14.2.9.1 WLSTコマンド(ダンプの説明および実行)

- 14.2.9.2 システムMBeanブラウザを使用したディスパッチャの静的構成の診断ダンプの取得

- 14.2.10 平均インスタンス処理時間の診断ダンプ(bpel.apt)

- 14.2.10.1 WLSTコマンド(ダンプの説明および実行)

- 14.2.11 平均インスタンス処理遅延の診断ダンプ(bpel.apd)

- 14.2.11.1 WLSTコマンド(ダンプの説明および実行)

- 14.2.12 同期プロセス統計の診断ダンプ(bpel.sps)

- 14.2.12.1 WLSTコマンド(ダンプの説明および実行)

- 14.2.13 非同期プロセス統計の診断ダンプ(bpel.aps)

- 14.2.13.1 WLSTコマンド(ダンプの説明および実行)

- 14.2.14 リクエスト統計の診断ダンプ(bpel.rs)

- 14.2.14.1 WLSTコマンド(ダンプの説明および実行)

- 14.2.15 リシーケンサ・グループ処理遅延の診断ダンプ(mediator.resequencer)

- 14.2.15.1 WLSTコマンド(ダンプの説明および実行)

- 14.2.16 アダプタ診断ダンプ(soa.adapter.ra)

- 14.2.16.1 WLSTコマンド(ダンプの説明および実行)

- 14.2.17 アダプタ診断ダンプ(soa.adapter.connpool)

- 14.2.17.1 WLSTコマンド(ダンプの説明および実行)

- 14.2.18 アダプタ診断ダンプ(soa.adapter.stats)

- 14.2.18.1 WLSTコマンド(ダンプの説明および実行)

- 14.3 SOAコンポジット・アプリケーションの診断フレームワーク・スレッド・ダンプの実行

- 14.3.1 WLSTコマンド(ダンプの説明および実行)

- 14.4 サポートされるDMSメトリック

- 14.5 監視および通知の作成

- 14.5.1 事前構成済ルールおよび監視の有効化

- 14.5.2 Oracle SOA Suite監視および通知の手動作成

- 14.5.3 Webサービス・バインディング・コールの経過時間を識別する監視の作成

- 14.5.4 処理遅延が指定の制限時間を超えているかどうかを識別する監視の作成

- 14.5.5 リシーケンサの監視および通知の作成

- 14.6 手動によるダンプのトリガーと実行

- 14.7 ADRツールでのインシデント・パッケージの表示

- 14.8 問題およびインシデントの問合せ

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

15 BPELプロセスのサービス・コンポーネントとエンジンの構成

- 15.1 BPELプロセス・サービス・エンジン・プロパティの構成

- 15.2 Oracle BPEL Process Managerの自動リカバリの構成

- 15.3 マスター・ノード・リカバリ・スケジューリングの構成

- 15.4 起動メッセージおよびコールバック・メッセージの自動リカバリ試行の構成

- 15.5 コールバック・メッセージの順序の保持

- 15.6 BPELプロセス・サービス・コンポーネント・レベルでの監査レベルの設定

16 BPELプロセスのサービス・コンポーネントとエンジンの監視

- 16.1 ビジネス・フロー・インスタンスのフロー・トレースの監視

- 16.1.1 フロー・トレースでのフォルトからのリカバリ

- 16.1.2 フロー・トレースでのコンポジット・センサー値の表示

- 16.1.3 フロー・トレースでのSOAコンポジット・アプリケーションの表示

- 16.1.4 フロー・トレースでの監査証跡およびプロセス・フローの表示

- 16.1.5 フロー・トレースでのフォルト、アクティビティおよび変数の各センサーの監視

- 16.1.6 その他のフロー・トレース動作のシナリオの理解

- 16.1.6.1 BPEL 2.0のCompensateおよびCompensateScopeアクティビティ内でのアクティビティ・センサーの動作

- 16.2 BPELプロセス・アクティビティの時間の分散とインスタンスおよびフォルトのスループットのメトリックの監視

- 16.3 BPELプロセス・サービス・エンジンのリクエスト統計とスレッドパフォーマンス統計の監視

- 16.3.1 「リクエストのブレークダウン」表の下位レベルの詳細の表示

- 16.4 サービス・エンジンのデプロイ済BPELプロセス・サービス・コンポーネントの監視

- 16.5 BPELプロセス・サービス・エンジンでのリクエストの所要時間に関する統計の表示

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

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

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

- 17.3 Oracle Exalogicプラットフォームにおけるインスタンスとメッセージ・データのOracle Coherence分散キャッシュへの格納

- 17.3.1 Oracle Coherenceのキャッシュ機能アーキテクチャの概要

- 17.3.2 デフォルトのSOAクラスタ・ノードおよびCoherenceキャッシュ・グリッド・ノードでの実行

- 17.3.3 Oracle Coherenceのキャッシュ機能の構成

- 17.3.4 複数の監査証跡メッセージの単一トランザクションへの格納の構成

- 17.3.5 Oracle Coherenceキャッシュへの監査証跡の格納の構成

- 17.3.6 Oracle Coherenceキャッシュへの呼出しメッセージの格納の構成

- 17.3.7 BPELプロセス・キャッシュ・サーバーの起動

第VI部 Oracle Mediatorのサービス・コンポーネントとエンジンの管理

18 Oracle Mediatorのサービス・コンポーネントとエンジンの構成

- 18.1 Oracle Mediatorサービス・エンジン・プロパティの構成

- 18.1.1 システムMBeanブラウザのプロパティにアクセスする手順:

- 18.2 リシーケンスされたメッセージの構成

19 Oracle Mediatorのサービス・コンポーネントとエンジンの監視および管理

- 19.1 Oracle Mediatorコンポーネントの「ダッシュボード」ページの概要

- 19.1.1 「ルーティングの統計」セクション

- 19.1.2 「インスタンス率/分(リアルタイム・データ)」セクション

- 19.2 Oracle Mediatorサービス・コンポーネントの監視および管理

- 19.2.1 Oracle Mediatorサービス・コンポーネントのルーティング統計およびインスタンスの監視

- 19.2.2 Oracle Mediatorのポリシーの管理

- 19.3 Oracle Mediatorサービス・エンジンの監視

- 19.3.1 リクエストのブレークダウン統計の監視

- 19.3.2 サービス・エンジンのデプロイ済Oracle Mediatorサービス・コンポーネントの監視

- 19.4 リシーケンス・グループの監視

20 相互参照の管理

- 20.1 相互参照値の削除

第VII部 デシジョン・サービス・コンポーネントとビジネス・ルール・サービス・エンジンの管理

21 デシジョン・サービスのサービス・コンポーネントとエンジンの監視

- 21.1 ビジネス・ルール・サービス・エンジンのパフォーマンス統計の監視

- 21.2 ビジネス・ルール・サービス・エンジンのデプロイ済コンポーネントの監視

- 21.3 ビジネス・ルールのトレースの監視

- 21.3.1 開発監査レベルでのルール実行のトレース

- 21.3.2 本番監査レベルでのルール実行のトレース

- 21.4 デシジョン・サービスのサービス・コンポーネントのログの監視

- 21.4.1 デシジョン・サービスのサービス・コンポーネントのログの表示

- 21.4.2 ログ構成での診断ロギング・レベルの設定

第VIII部 ヒューマン・タスク・サービス・コンポーネントとヒューマン・ワークフロー・サービス・エンジンの管理

22 ヒューマン・ワークフローのサービス・コンポーネントとエンジンの構成

- 22.1 ヒューマン・ワークフロー通知プロパティの構成

- 22.2 テスト・アドレスに通知を送信する通知サービスの構成

- 22.2.1 テスト・アドレスを削除する方法

- 22.3 ヒューマン・ワークフロー・タスク・サービス・プロパティの構成

- 22.4 Oracle HTTP Serverでのタスク・フォームの添付の構成

- 22.5 Oracle Human Workflow通知用のOracle Advanced Queuingの構成

- 22.6 プラガブル通知サービスの構成

- 22.6.1 プラガブル通知サービスの実装

- 22.6.2 プラガブル通知サービスの登録

- 22.7 Oracle BPM Worklistタスクに対するオート・リリース・タイマーのグローバルな無効化

- 22.8 電子メール通知メッセージの数の構成

- 22.9 複数の送信アドレスの構成

- 22.10 通知の再試行の構成

- 22.11 アイデンティティ・サービスの構成

- 22.11.1 認証プロバイダの追加

- 22.11.1.1 ユーザー属性の更新

- 22.11.1.2 複数の認証プロバイダの構成

- 22.11.2 認証プロバイダのユーザーとグループの作成

- 22.11.2.1 WebLogicコンソールを使用したユーザーの作成

- 22.11.2.2 WebLogicコンソールを使用したグループの作成

- 22.11.2.3 Oracle Internet Directoryを使用したユーザーとグループの作成

- 22.11.2.3.1 ドメインの作成方法

- 22.11.2.3.2 ユーザーを作成する方法

- 22.11.2.3.3 グループを作成する方法

- 22.11.2.3.4 エントリを削除する方法

- 22.11.3 ディレクトリ・サービスの構成

- 22.11.4 アイデンティティ・プロバイダのカスタマイズ

- 22.12 LDAPツールを使用したユーザー、グループおよびアプリケーション・ロールのシード

- 22.12.1 組込みLDAPサーバーのデフォルト・パスワードの変更

- 22.12.2 LDAPブラウザを介したユーザーまたはグループのシード

- 22.12.3 WLSTスクリプトを使用したアプリケーション・ロールのシード

- 22.12.4 Oracle Enterprise Manager Fusion Middleware Controlでのアプリケーション・ロールの管理

- 22.13 ヒューマン・タスクでの大文字/小文字を区別しないグループ名の有効化

- 22.14 ヒューマン・ワークフローWebサービスのセキュリティ・ポリシーの構成

23 ヒューマン・ワークフローのサービス・コンポーネントとエンジンの監視

- 23.1 ヒューマン・ワークフロー・サービス・エンジンのアクティブ・リクエストと操作パフォーマンス統計の監視

- 23.2 サービス・エンジンにデプロイされたヒューマン・ワークフローの監視

24 ヒューマン・ワークフローのサービス・コンポーネントとエンジンの管理

- 24.1 ヒューマン・ワークフロー・サービス・コンポーネントのポリシーの管理

- 24.2 ヒューマン・ワークフロー・サービス・コンポーネントのタスク詳細アプリケーションのURI管理

- 24.3 送信通知および受信電子メール通知の管理

- 24.4 ヒューマン・ワークフロー・データのテスト環境から本番環境への移動

- 24.4.1 ヒューマン・ワークフロー・データのテスト環境から本番環境への移動

- 24.4.2 migration.propertiesファイルの構文

- 24.4.2.1 移行プロパティ・ファイルの例

- 24.4.2.1.1 すべての属性ラベルのエクスポート

- 24.4.2.1.2 すべての属性ラベルのインポート

- 24.4.2.1.3 特定の属性ラベルのエクスポート

- 24.4.2.1.4 特定の属性ラベルのインポート

- 24.4.2.1.5 すべてのタスク定義IDのタスク・ペイロード・マップ済属性マッピングのエクスポート

- 24.4.2.1.6 すべてのタスク定義IDのタスク・ペイロード・マップ済属性マッピングのインポート

- 24.4.2.1.7 特定のタスク定義IDのタスク・ペイロード・マップ済属性マッピングのエクスポート

- 24.4.2.1.8 特定のタスク定義IDのタスク・ペイロード・マップ済属性マッピングのインポート

- 24.4.2.1.9 特定のユーザーのすべてのルールのエクスポート

- 24.4.2.1.10 特定のユーザーのすべてのルールのインポート

- 24.4.2.1.11 特定のグループのすべてのルールのエクスポート

- 24.4.2.1.12 特定のグループのすべてのルールのインポート

- 24.4.2.1.13 すべてのユーザー・ビューのエクスポート

- 24.4.2.1.14 すべてのユーザー・ビューのインポート

- 24.4.2.1.15 特定のユーザー・ビューのエクスポート

- 24.4.2.1.16 特定のユーザー・ビューのインポート

- 24.4.2.1.17 すべての標準ビューのエクスポート

- 24.4.2.1.18 すべての標準ビューのインポート

- 24.4.2.1.19 特定の標準ビューのエクスポート

- 24.4.2.1.20 特定の標準ビューのインポート

- 24.4.3 antスクリプトのデータ移行の構文

第IX部 Oracle JCAアダプタの管理

25 Oracle JCAアダプタの構成

- 25.1 インバウンド・アダプタのエンドポイント・プロパティの構成

- 25.1.1 インバウンド・アダプタの事前定義されたプロパティの編集

- 25.1.1.1 事前定義されたプロパティの編集:

- 25.1.2 インバウンド・アダプタの事前定義されたプロパティの追加

- 25.1.3 インバウンド・アダプタの新規プロパティの作成

- 25.1.4 インバウンド・アダプタのプロパティの削除

- 25.1.5 インバウンド・アダプタのプロパティ値を元に戻す

- 25.2 アウトバウンド・アダプタのエンドポイント・プロパティの構成

- 25.2.1 アウトバウンド・アダプタの事前定義されたプロパティの編集

- 25.2.2 アウトバウンド・アダプタの事前定義されたプロパティの追加

- 25.2.3 アウトバウンド・アダプタの新規プロパティの作成

- 25.2.4 アウトバウンド・アダプタのプロパティの削除

- 25.2.5 アウトバウンド・アダプタのプロパティ値を元に戻す

26 Oracle JCAアダプタの監視

- 26.1 インバウンド・アダプタのインスタンスとフォルトの監視

- 26.2 インバウンド・アダプタの最新のフォルトと拒否メッセージの監視

- 26.3 インバウンド・アダプタのフォルトの監視

- 26.3.1 インバウンド・アダプタの拒否メッセージの検索

- 26.3.2 インバウンド・アダプタの拒否メッセージの削除

- 26.4 インバウンド・アダプタのプロパティの監視

- 26.5 アウトバウンド・アダプタのインスタンスとフォルトの監視

- 26.6 アウトバウンド・アダプタのフォルトの監視

- 26.6.1 アウトバウンド・アダプタのフォルトの検索

- 26.7 アウトバウンド・アダプタのプロパティの監視

- 26.8 アダプタ・ログの監視

- 26.9 アダプタ構成レポート

- 26.9.1 アダプタ・レポートの表示の有効化

- 26.9.1.1 監視レポート

- 26.9.1.2 構成レポート

- 26.9.1.3 スナップショット・レポート

- 26.9.1.3.1 スナップショット・レポートの永続性および間隔

- 26.9.2 構成レポート・カテゴリとレポートされるアダプタのプロパティ

- 26.10 Oracle Enterprise Schedulerを使用したJCAアダプタ・エンドポイントのアクティブ化および非アクティブ化のスケジュール

- 26.10.1 スケジュール・メタデータの作成

- 26.10.2 作成したスケジュール・メタデータを使用したSOAコンポジットのJCAアダプタの非アクティブ化およびアクティブ化のスケジュール

- 26.10.3 Oracle Enterprise Schedulerのスケジュール・メタデータの編集

- 26.10.4 アダプタ・エンドポイントからのスケジュールの削除

- 26.11 アダプタ・リジリエンシの監視

- 26.11.1 リジリエンシに関連するアダプタ・プロパティ

第X部 Oracle B2BとOracle Healthcareの管理

27 Oracle B2Bの構成

- 27.1 Oracle B2Bサーバーのプロパティの構成

- 27.2 Oracle B2B操作の構成

- 27.3 Oracle B2B属性の構成

- 27.4 Oracle B2Bロギング・モードの構成

28 Oracle B2Bの監視

- 28.1 Oracle B2Bインフラストラクチャの監視

- 28.2 「B2Bインフラストラクチャ」ページからOracle B2Bへのアクセス

- 28.3 Oracle B2Bバインディング・コンポーネントのメッセージ・フローの表示

- 28.4 サービスと参照の表示

- 28.5 Oracle B2Bコンポジットの「フローのトレース」ページからのOracle B2Bレポートへのアクセス

29 Oracle Healthcareの監視

- 29.1 監査証跡の概要

- 29.1.1 Oracle SOA Suite for Healthcare Integrationの監査オプション

- 29.1.2 Oracle B2Bの監査オプション

- 29.1.3 監査でのフィルタ条件の使用

- 29.2 Healthcare Integration監査証跡の構成

- 29.3 ユーザー監査ログの表示

第XI部 バインディング・コンポーネントの管理

30 サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントの構成

- 30.1 サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントのプロパティの構成

- 30.1.1 Webサービスに対するプロパティの構成

- 30.1.2 RESTアダプタのプロパティの構成

- 30.1.3 Oracle JCAアダプタに対するプロパティの構成

31 サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントの監視

- 31.1 バインディング・コンポーネントのメッセージとフォルトの監視

32 サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントの管理

- 32.1 バインディング・コンポーネントのポリシーの管理

- 32.1.1 ポリシー構成プロパティ値のオーバーライド

- 32.2 UDDIレジストリへのWebサービスの公開

- 32.2.1 UDDIレジストリへのWebサービスの公開

- 32.3 Oracle Service Registryと統合している場合のエンドポイント参照およびサービス・キーの変更

- 32.3.1 WSDL URLのキャッシュの構成

- 32.4 Oracle Service Registryの公開および参照

- 32.4.1 ビジネス・サービスの公開

- 32.4.2 レジストリへの接続の作成

- 32.4.3 レジストリからサービスを起動するためのSOAプロジェクトの構成

- 32.4.3.1 SOAPエンドポイントの場所の動的解決

- 32.4.3.2 WSDLエンドポイントの場所の動的解決

- 32.4.3.3 エンドポイントの解決

- 32.4.4 ランタイムの照会URL、UDDIサービス・キーおよびエンドポイント・アドレスの構成

- 32.4.4.1 レジストリ・コントロールにおけるエンドポイントの場所の変更

- 32.4.4.1.1 WSDLバインディングのサマリー・ドキュメントを更新する手順:

- 32.4.4.2 複数のSOAパーティションからのWSDLの発行

- 32.4.5 複数のパーティションでUDDIにWSDLを発行する方法

第XII部 ビジネス・イベントの管理

33 ビジネス・イベントの管理

- 33.1 イベント配信ネットワークおよびJMSプロバイダ・タイプの概要

- 33.2 JMSトピック宛先へのビジネス・イベントのマッピング

- 33.2.1 Oracle WebLogic Server JMSトピックの作成

- 33.2.2 Oracle WebLogic Server JMSのJMSアダプタの接続ファクトリの作成(オプション)

- 33.2.3 AQ JMSトピックの作成

- 33.2.4 AQ JMSトピックの公開

- 33.2.5 AQ JMSのJMSアダプタの接続ファクトリの作成(オプション)

- 33.2.6 リモート・クライアントのAQ JMSベースのトピックとの相互作用の有効化

- 33.2.7 「ビジネス・イベント」ページでのJMSトピック宛先へのビジネス・イベントのマッピング

- 33.3 ビジネス・イベントの公開のテストとEDLファイルの表示

- 33.4 ビジネス・イベント・サブスクライバの表示

- 33.5 クラスタ環境におけるサブスクライバの重複メッセージの解決

- 33.6 JMSタイプの変更

- 33.7 インバウンド・ポーラー・スレッド番号の構成

- 33.7.1 システムMBeanブラウザ内のグローバル・インバウンド・ポーラー・スレッド番号の更新

- 33.7.2 サービス・コンポーネント・レベルでのローカル・インバウンド・ポーラー・スレッド番号の値の更新

第XIII部 Oracle BPMNプロセス・サービス・コンポーネントとエンジンの管理

34 Oracle BPMNプロセス・サービス・コンポーネントとエンジンの構成

- 34.1 BPMNプロセス・サービス・エンジン・プロパティの構成

- 34.1.1 BPMNサービス・エンジンでのプロセス監視の構成

- 34.2 Oracle BPMとOracle BAM 12cの統合

- 34.2.1 物理データ・オブジェクト

- 34.2.2 論理データ・オブジェクト

- 34.2.3 プロセス・スター・スキーマ・データベース・ビュー

- 34.2.4 タスク1: Oracle BAM 12cへのOracle BPMデータ・パブリッシュの有効化

- 34.3 Oracle BPMとOracle BAM 11gの統合

- 34.3.1 タスク1: Oracle BPMサーバー上でのOracle BAMアダプタの構成

- 34.3.2 タスク2: Oracle BAM 11g Monitor ExpressへのOracle BPMデータ・パブリッシュの有効化

35 BPMNプロセスのサービス・コンポーネントとエンジンの監視

- 35.1 BPMNプロセス・サービス・コンポーネントの監査証跡とプロセス・フローの表示

- 35.2 BPMNプロセス・サービス・エンジンのパフォーマンス統計の監視

- 35.3 サービス・エンジンにデプロイされたBPMNプロセスの監視

36 Oracle BPMNのサービス・コンポーネントとエンジンの管理

- 36.1 BPMNプロセス・サービス・コンポーネントのポリシーの管理

- 36.2 BPMNプロセス・サービス・エンジンのメッセージ・リカバリの実行

- 36.3 複数のコンポジット・アプリケーション・リビジョン間でのインスタンスの移行

- 36.3.1 移行の互換性

- 36.3.2 antスクリプトによるインスタンスの移行

- 36.3.3 Oracle BPMのリビジョン・インスタンス移行の例

- 36.3.3.1 リビジョン・インスタンス移行

第XIV部 付録

A データベースへのデモ・ユーザー・コミュニティのインストール

- A.1 デモ・ユーザー・コミュニティのインストール

- A.2 デモ・コミュニティのユーザー

- A.3 デモ・コミュニティのグループ

- A.4 soa-infraアプリケーション・ロール

- A.5 SOATestDemoAppアプリケーション・ロール

- A.6 ユーザーに付与されているロールおよびユーザーが所有しているロール

- A.7 WorkflowPermissionクラス

B Oracle SOA SuiteとOracle BPM Suiteのトラブルシューティング

- B.1 トラブルシューティングのためのロギング・レベルの設定

- B.1.1 すべての管理対象サーバーからのログ・ファイルおよびスレッド・ダンプ

- B.2 パラレル・パージと表のパーティション化の問題

- B.2.1 パラレル・パージ・スクリプトの実行

- B.2.1.1 並列度値の指定

- B.2.1.2 削除するSOAコンポジット・アプリケーションの解析

- B.2.1.3 パラレル問合せスレーブの使用

- B.2.1.4 パージ操作のデバッグとトレース

- B.2.1.4.1 パージ操作のデバッグ

- B.2.1.4.2 パージ操作のトレース

- B.2.2 Oracle SOA Suiteの表のパーティション化

- B.2.2.1 参照整合性および同一レベル・パーティション化

- B.2.2.2 SOAコンポジット・アプリケーションのレンジ - ハッシュ・パーティション

- B.2.2.3 時間隔パーティション化

- B.2.2.4 グローバル・ハッシュ索引

- B.2.2.5 パーティション・プルーニング

- B.2.2.6 パーティションのパージ

- B.2.3 監査レベルの低減

- B.2.3.1 本番環境の監査レベルの設定

- B.3 接続およびトランザクション・タイムアウトのトラブルシューティング

- B.3.1 接続タイムアウトの解決

- B.3.2 電子メール通知のタイムアウトの解決

- B.3.3 データベース接続値を増やす

- B.3.4 SOAインフラストラクチャの障害後にデプロイメント・アーカイブのEJBトランザクション・タイムアウト値を更新する

- B.3.5 リモートWebサービスへの長時間実行される同期コールによるエラーの発生または非同期トランザクションの長時間後のエラー・リターン

- B.3.6 HTTP POSTタイムアウト値の増加によるパイプの破損エラーの解決

- B.3.7 大規模ドキュメントを処理する際の例外エラーの解決

- B.4 ランタイム診断のトラブルシューティング

- B.4.1 受信処理のワーク・マネージャ・スレッドが利用不可能

- B.4.2 「WSDLを読み取れません」というOracle SOA Suite実行時エラー

- B.4.3 BPELインスタンスの自動リカバリで特定インスタンスがリカバリされない

- B.4.4 障害発生時に一部コンポジットは複数回再試行される

- B.4.5 アプリケーション・トランザクションが完了せず、基になるコンポジットが実行状態でスタックしている

- B.4.6 分析測定イベント処理中のエラー

- B.5 ヒューマン・ワークフローのトラブルシューティング

- B.5.1 ヒューマン・ワークフロー・サービス・エンジンが利用不可能

- B.5.2 タスク割当て、ルーティングおよびエスカレーションの問題

- B.5.3 タスク・アクションの問題

- B.5.4 通知の問題

- B.5.5 タスク・ビューの問題

- B.5.6 タスクの属性マッピングの問題

- B.5.7 タスク・レポートの問題

- B.5.8 タスク履歴の問題

- B.5.9 タスク・フォームおよびタスク・アクションの問題

- B.5.10 タスク・コメントと添付ファイルの問題

- B.5.11 実行時のデザインタイムの問題

- B.5.12 ヒューマン・ワークフローAPI (SOAPおよびEJBを含む)の使用の問題

- B.5.13 Oracle JDeveloperのデータ・コントロールとフォームの生成の問題

- B.5.14 ヒューマン・ワークフロー・サービスとシステムMBeanブラウザの問題

- B.5.15 AMX拡張の問題

- B.5.16 Oracle BPM Worklistとタスク領域の問題

- B.5.17 テストから本番への移行の問題

- B.5.18 アイデンティティ・サービスの問題

- B.6 ビジネス・イベントおよびイベント配信ネットワークのトラブルシューティング

- B.6.1 JMSアダプタ接続プール・サイズの増加

- B.6.2 Oracle WebLogic Server JMSによる大量のBPELプロセス・イベントの公開に関するチューニング推奨事項

- B.6.3 EDNイベント・バスと配信のチューニング

- B.6.4 イベントが同じコンポジットの複数リビジョンによって使用される

- B.6.5 ビジネス・イベントがSOAサーバーによって2回(以上)取得される

- B.6.6 EDNとコンポジットまたはクラスタ全体のコンポジット間でメッセージが一部失われる

- B.7 パフォーマンスのトラブルシューティング

- B.7.1 BPELコンパイラが終了せず、例外も報告されないという問題の解決

- B.7.2 開いているファイルが多すぎることが原因で発生したメッセージの失敗の解決

- 1B.7.3 ペイロードが大きいことによって発生するMaxMessageSizeExceededExceptionエラーの解決

- B.7.4 表領域の拡張による実行時の問題の回避

- B.7.5 大量のトランザクションによるデータベース増大の問題の解決

- B.7.6 ページ表示やトランザクション終了に長時間かかるといったアプリケーションの低速パフォーマンスの観察

- B.7.7 送信メッセージ速度を超える受信メッセージ速度の観察

- B.8 サーバーのトラブルシューティング

- B.8.1 管理対象サーバーの起動および停止のベスト・プラクティス

- B.8.2 SOAサーバー起動の問題の診断

- B.8.3 プロキシ・サーバーの指定

- B.8.4 一部のローエンドのホストで、フロー・ダイアグラムが初回に表示されない

- B.8.5 IPv4とIPv6をサポートするデュアル・スタック・ホスト上のOracle Enterprise Manager Fusion Middleware Controlへのアクセス

- B.9 ブラウザのトラブルシューティング

- B.9.1 Safariブラウザを使用してWSDLファイルの内容を表示する場合の制限

- B.10 その他のトラブルシューティングのドキュメント

はじめに

『Oracle SOA SuiteおよびOracle Business Process Management Suiteの管理』では、Oracle SOA SuiteおよびOracle Business Process Management Suiteの次のコンポーネントを管理する方法を説明します。

- SOAインフラストラクチャおよびSOAコンポジット・アプリケーション

- コンポジット・コンポーネントおよびサービス・エンジン(BPELサービス・エンジン、BPMNプロセス・サービス・エンジン、Oracle Mediatorサービス・エンジン、ヒューマン・ワークフロー・サービス・エンジン、ビジネス・ルール・サービス・エンジンなど)

- Oracle B2B、Oracle JCAアダプタおよびビジネス・イベント

対象読者

このドキュメントは、SOAプラットフォームでアプリケーションを管理する管理者を対象としています。

関連ドキュメント

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

- 『Oracle SOA Suiteを使用したSOAアプリケーションの開発』

- Oracle B2Bユーザーズ・ガイド

- Oracle SOA Suite Healthcare Integrationユーザーズ・ガイド

- Oracle BAMを使用したビジネス・アクティビティのモニタリング

- 『Oracle Fusion Middlewareテクノロジ・アダプタの理解』

- Oracle Business Process Managementを使用したビジネス・ルールの設計

- Oracle Business Process Management Rulesランゲージ・リファレンス

- Oracle Business Process Management Studioを使用したビジネス・プロセスの作成

- Oracle Business Process Managementを使用したプロセスの管理とモニタリング

- Oracle Fusion Middleware Oracle Business Process Management Business Process Composerユーザーズ・ガイド

- パフォーマンスのチューニング

- Oracle SOA Suiteエンタープライズ・デプロイメント・ガイド

- 高可用性ガイド

- WebLogic Server WLSTコマンド・リファレンス

表記規則

このマニュアルでは次の表記規則を使用します。

規則

意味

太字

太字は、操作に関連するGraphical User Interface要素、または本文中で定義されている用語および用語集に記載されている用語を示します。

イタリック

イタリックは、ユーザーが特定の値を指定するプレースホルダ変数を示します。

固定幅フォント

固定幅フォントは、段落内のコマンド、URL、サンプル内のコード、画面に表示されるテキスト、または入力するテキストを示します。

このガイドで説明する新機能

ここでは、Oracle SOA Suiteの新機能と変更された機能、およびこのガイドに記載されているその他の重要な変更について説明し、追加情報の参照先も記載しています。このドキュメントは、以前Oracle Fusion Middleware Oracle SOA Suite管理者ガイドと呼ばれていたドキュメントの新版です。

既知の問題のリスト(リリース・ノート)は、http://www.oracle.com/technetwork/middleware/docs/soa-aiafp-knownissuesindex-364630.htmlを参照してください。

12c (12.2.1)および12c (12.2.1.1.0)の新機能と変更された機能

Oracle SOA Suite 12c (12.2.1)について、このガイドは更新され、新規および変更された次の管理機能が含まれています。

注意:

このガイドで示される画面は実装状態と多少異なる場合があります。相違点は軽微なものです。

- IWSレポートを使用したSOA全体の問題の監視とトラブルシューティングのサポート。「IWSレポートを使用したSOA全体の問題の監視とトラブルシューティング」を参照してください

- レジリエンシのサポート。「SOAでのフォルト増大の回避」を参照してください

- SOAヘルス・チェック・コマンドの使用。「SOAヘルス・チェックの使用」を参照してください

- 12.2.1.1.0: レジリエンシのサポートが拡張されています。RESTサービスがサポートされています。WebサービスとRESTサービスはどちらも、操作レベルで一時停止できるようになりました。さらに多くのアダプタがサポートされています。「SOAでのフォルト増大の回避」を参照してください

第I部 Oracle SOA SuiteおよびOracle Business Process Management Suiteの概要

この部では、Oracle SOA SuiteとOracle Business Process Management Suiteについて説明します。

この部は、次の章で構成されています。

- 概要と概念

1 概要と概念

この章では、Oracle Fusion Middleware、Oracle Service-Oriented Architecture(SOA)SuiteおよびOracle Business Process Management (BPM) Suiteについて説明し、Oracle Enterprise Manager Fusion Middleware Controlから実行するOracle SOA SuiteとBPM Suiteの管理タスクのタイプについて説明します。Oracle Enterprise Manager 12c Cloud ControlおよびOracle SOA Management Packについても概説します。

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

- Oracle Fusion Middlewareとは

- Oracle SOA Suiteとは

- Oracle Business Process Management Suiteとは

- Oracle SOA SuiteおよびOracle BPM Suiteの管理

- アプリケーション開発者による管理

- Oracle Enterprise Manager 12c Cloud ControlおよびOracle SOA Management Packによる管理

Oracle Enterprise Manager Fusion Middleware Controlの管理タスクおよび Oracle Fusion Middlewareの概要は、次のドキュメントを参照してください。

- パフォーマンスのチューニング

- 『Oracle Fusion Middlewareの管理』

- Oracle Fusion Middleware 2日で管理者ガイド

- Oracle Fusion Middlewareの理解

1.1 Oracle Fusion Middlewareとは

Oracle Fusion Middlewareは標準ベースのソフトウェア製品の集まりで、Java EEや開発ツールから統合サービス、ビジネス・インテリジェンスおよびコラボレーションまで、様々なツールやサービスが含まれます。Oracle Fusion Middlewareは、アプリケーションの開発、デプロイおよび管理を完全にサポートします。

1.2 Oracle SOA Suiteとは

Oracle SOA Suiteは、Oracle Fusion Middlewareのミドルウェア・コンポーネントです。Oracle SOA Suiteにより、SOAコンポジット・アプリケーションを設計、デプロイおよび管理するサービス・インフラストラクチャ・コンポーネントの完全なセットが提供されます。Oracle SOA Suiteでは、サービスを作成して管理し、SOAコンポジット・アプリケーションに組み込むことが可能です。コンポジットを使用すれば、複数のテクノロジ・コンポーネントを組み合せて1つのSOAコンポジット・アプリケーションを簡単に作成できます。Oracle SOA Suiteは異種ITインフラストラクチャに組み込まれ、企業によるSOAの段階的な採用を可能にします。

Oracle SOA Suiteは、Oracle Enterprise Manager Fusion Middleware Controlから管理できます。次の各項で、Oracle SOA Suiteの概要を示します。

- SOAインフラストラクチャ・アプリケーションの概要

- パーティションの概要

- SOAコンポジット・アプリケーションの概要

- ビジネス・フロー・インスタンスの概要

- サービス・コンポーネントの概要

- バインディング・コンポーネントの概要

- サービス・エンジンの概要

- サービス・インフラストラクチャの概要

- SOAコンポジット・アプリケーションのコンテンツの概要

Oracle SOA Suiteの概要は、『Oracle SOA SuiteでのSOAアプリケーションの開発』および『Oracle SOA Suiteの理解』を参照してください。

1.2.1 SOAインフラストラクチャ・アプリケーションの概要

SOAインフラストラクチャは、Oracle WebLogic Serverで実行されるJava EE準拠のアプリケーションです。アプリケーションでは、コンポジットとそのライフサイクル、サービス・エンジンおよびバインディング・コンポーネントが管理されます。

Oracle JDeveloperで設計したSOAコンポジット・アプリケーションをSOAインフラストラクチャで選択したパーティションにデプロイします。パーティションはSOAインフラストラクチャの個別のセクションであり、管理を簡単にするためにコンポジット・アプリケーションを論理的にグループ化できます。

図1-1に示した例では、多数のSOAコンポジット・アプリケーションがSOAインフラストラクチャにデプロイされ、Oracle Enterprise Manager Fusion Middleware Controlに表示されています。

SOAインフラストラクチャのホーム・ページからは、SOAインフラストラクチャの全体的ステータスの監視、SOAインフラストラクチャ内のデプロイ済SOAコンポジット・アプリケーションの監視、SOAコンポジット・アプリケーションの状態の更新、ビジネス・フロー・インスタンスのトラッキングおよびエラー・ホスピタルでのフォルト・リカバリの実行などの管理タスクを実行できます。

図1-1 SOAインフラストラクチャにデプロイされたSOAコンポジット・アプリケーション

「コンポジット」表の特定のSOAコンポジット・アプリケーションをクリックすると、そのホーム・ページにアクセスできます。図1-2に、SOAコンポジット・アプリケーションのホーム・ページを示します。SOAコンポジット・アプリケーションのホーム・ページからは、SOAコンポジット・アプリケーションに組み込まれているサービス・コンポーネント、サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントの表示、SOAコンポジット・アプリケーションのグラフィック表示、SOAコンポジット・アプリケーションの状態の更新、ビジネス・フロー・インスタンスの監視、SOAコンポジット・アプリケーションのテストの自動化およびセキュリティ・ポリシーのアタッチなどの管理タスクを実行できます。また、SOAコンポジット・アプリケーション・レベルで、コンポジット監査レベルとペイロード検証の指定、分析データとセンサー・データの収集の有効化および無効化など、一定数の構成タスクを実行することもできます。これらのタスクは、ページの上部にボタンとして表示されます。

図1-2 SOAコンポジット・アプリケーションのホーム・ページ

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

- SOAコンポジット・アプリケーションの概要

- SOAインフラストラクチャの管理

- 「SOAコンポジット・アプリケーションのサービス・コンポーネントおよびサービス・バインディング・コンポーネントの監視」。

1.2.2 SOAフォルダの概要

SOAコンポジット・アプリケーションは、SOAフォルダと呼ばれるSOAインフラストラクチャの個別セクションにデプロイすることができます。フォルダにデプロイすると、SOAコンポジットを論理的にグループ化し、多数のコンポジットのライフサイクル管理タスクを一括して実行できます。SOAコンポジット・アプリケーションのデプロイには、フォルダが1つ以上必要です。defaultというデフォルト・フォルダがOracle SOA Suiteで自動的に組み込まれます。

次のタスクを実行できます。

- SOAコンポジット・アプリケーションをSOAフォルダにデプロイするには、Oracle Enterprise Manager Fusion Middleware Control、Oracle JDeveloper、WebLogic Scripting Tool (WLST)コマンドまたはantコマンドを使用します。

- SOAインフラストラクチャ・ページで「SOAフォルダ」タブを使用して、フォルダおよびデプロイ済コンポジットにアクセスします。

- 特定のフォルダ内のコンポジットに対して次の一括ライフサイクル管理タスクを実行します。

- すべてのコンポジットの起動

- すべてのコンポジットのシャットダウン

- すべてのコンポジットのアンデプロイ

- すべてのコンポジットのリタイア

- すべてのコンポジットのアクティブ化

- すべてのコンポジットのリスト

- フォルダへのユーザー・アクセスを保護します。次の利点があります。

- 管理アクセス制御

- フォルダ別のインスタンス・データのストライプ化

- フォルダ・レベルのリソース管理

注意:

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

フォルダおよびフォルダ・セキュリティの詳細は、「SOAフォルダおよびワーク・マネージャ・グループの管理」を参照してください。

1.2.3 SOAコンポジット・アプリケーションの概要

図1-1の「デプロイ済コンポジット」ページに示されているようなSOAコンポジット・アプリケーションは、次のコンポーネントで構成されます。

- サービス・コンポーネント。ルーティングのためのOracle Mediator、オーケストレーションのためのBPELプロセス、オーケストレーションのためのBPMNプロセス(Oracle BPM Suiteがインストールされている場合)、ワークフロー承認のためのヒューマン・タスク、SOAコンポジット・アプリケーションにJavaインタフェースを統合するためのSpring、ビジネス・ルールを使用するためのデシジョン・サービスなどがあります。

- 外部のサービス、アプリケーションおよびテクノロジに対してSOAコンポジット・アプリケーションを接続するバインディング・コンポーネント(サービスと参照)

これらのコンポーネントが、1つのSOAコンポジット・アプリケーションに組み込まれています。コンポーネントを単一のデプロイメント単位(アプリケーション)に組み込むことで、SOAアプリケーションの管理とライフサイクルが大幅に簡素化されます。

図1-3に、「コンポジット定義」ページに表示されたSOAコンポジット・アプリケーションのダイアグラムを示します。左側のスイムレーンの(「操作」のラベルが付いた)サービス・バインディング・コンポーネントによって、その機能が外部コンシューマに通知されます。サービスは、BPELプロセス、Oracle Mediator、デシジョン・サービス(ビジネス・ルール)、Springおよびヒューマン・タスクのサービス・コンポーネントで構成されるSOAコンポジット・アプリケーションのパブリック・インタフェースを公開します。サービスは、ワイヤでコンポジット内の特定のコンポーネントまたは参照に接続されます。右側のスイムレーンの(「操作」のラベルが付いた)参照バインディング・コンポーネントによって、SOAコンポジット・アプリケーションから外部サービスにメッセージを送信できるようになります。サービス・バインディング・コンポーネント、サービス・コンポーネントおよび参照バインディング・コンポーネントは、通信するために連結(接続)されます。「コンポジット定義」ページは、Oracle JDeveloperのSOAコンポジット・エディタに表示されたSOAコンポジット・アプリケーションのダイアグラムに似ています。

図1-3 SOAコンポジット・アプリケーション

SOAコンポジット・アプリケーションに組み込まれているサービス・コンポーネントとサービス・バインディング・コンポーネントは、SOAコンポジット・アプリケーションの「ダッシュボード」ページに表示されます。図1-4に、「コンポーネント」セクションのBPELプロセス・サービス・コンポーネントとOracle Mediatorサービス・コンポーネントおよび「サービスと参照」セクションのサービス・バインディング・コンポーネントと参照バインディング・コンポーネントを示します。特定のサービス・コンポーネントまたはバインディング・コンポーネントをクリックすると、そのホーム・ページにアクセスできます。

図1-4 SOAコンポジット・アプリケーションのサービス・コンポーネントおよびバインディング・コンポーネント

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

- サービス・コンポーネントの概要

- バインディング・コンポーネントの概要

- SOAコンポジットおよびインスタンスの管理

- SOAコンポジット・アプリケーションのダイアグラムの表示

- 「バインディング・コンポーネントの管理」

- 『Oracle SOA Suiteを使用したSOAアプリケーションの開発』

1.2.4 ビジネス・フロー・インスタンスの概要

12c (12.2.1)では、コンポジット・インスタンスという11gリリース1 (11.1.1)の概念は、ビジネス・フロー・インスタンスに置き換わりました。12c (12.2.1)でSOAコンポジット・アプリケーションのインスタンスを作成すると、ビジネス・フロー・インスタンスが作成されます。ビジネス・フロー・インスタンスの定義は、次のとおりです。

- エンドツーエンド・ビジネス・トランザクションに対応します。

- 単一のSOAコンポジット・アプリケーション、または1つのビジネス・フロー内で組み合された複数のSOAコンポジット・アプリケーションで構成されます。ビジネス・フロー・インスタンスを起動するSOAコンポジット・アプリケーションは、開始コンポジットと呼ばれます。ビジネス・フロー・インスタンス内の他のSOAコンポジット・アプリケーションはすべて参加コンポジットと呼ばれます。1つのビジネス・フローには、複数のOracle Service Busコンポーネントを含めることもできます。

- フローの一部ではなく、フロー全体を表示します。

- 単一のフローID値によって識別されます。独自のインスタンス値を持つサービス・コンポーネントという11g リリース1 (11.1.1)の概念はなくなりました。

Oracle Enterprise Manager Fusion Middleware Controlでは、SOAインフラストラクチャ、個々のパーティションまたは個々のSOAコンポジット・アプリケーション・レベルで「フロー・インスタンス」ページからビジネス・フロー・インスタンスを追跡します。たとえば、図1-5では、SOAインフラストラクチャの「フロー・インスタンス」ページに、SOAコンポジット・アプリケーションのフローIDが表示されています。このページに初めてアクセスしたとき、ビジネス・フロー・インスタンスは表示されません。ビジネス・フロー・インスタンスを表示するには、まず「検索」をクリックする必要があります。フローIDをクリックすると、ビジネス・フロー・インスタンスのフロー・トレースにアクセスできます。「フロー・インスタンス」ページからは、次の追加タスクを実行できます。

- ビジネス・フロー・インスタンスの状態(「完了」、「リカバリが必要」など)の監視。

- ビジネス・フロー・インスタンスの削除または終了。

- フォルトからのリカバリ。

- コンポジット・センサー値の表示。

- 開始コンポジットと参加コンポジットの表示。

- リシーケンス・グループの表示。

SOAコンポジットの「テスト実行」ページからユニット・テストとして作成したインスタンスは、「Webサービスのテスト」ページから自動的にまたは手動で作成されたインスタンスとは小さい黄色のボックスで区別されます。このボックスは、フローIDの左側に表示されます。一部のSOAコンポジット・アプリケーションに対しては、対話IDも生成されます。対話IDは、生成された一連のインスタンスを明確に識別する別の方法を提供します。対話IDは、すべてのインスタンスについて自動的に表示されるわけではありません。生成された対話IDを参照するには、次のいずれかのタスクを実行します。

- プログラムでサービスを起動し、WS-Addressingヘッダー(messageId)を介して一意のIDを渡します。

- 「Webサービスのテスト」ページを使用してインスタンスを作成します。ただし、「Webサービスのテスト」ページの「追加テスト・オプション」セクションにある「ストレス・テストの有効化」チェック・ボックスが選択されている場合を除きます。この場合、インスタンスの対話IDは作成されません。

図1-5 SOAインフラストラクチャ・レベルのビジネス・フロー・インスタンスのフローID

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

- サービス・コンポーネントの概要

- ビジネス・フロー・インスタンスのトラッキング

- エラー・ホスピタルでのフォルトからのリカバリ

- ビジネス・フローのテスト・インスタンスの起動

1.2.5 サービス・コンポーネントの概要

SOAコンポジット・アプリケーションには、複数のサービス・コンポーネントが含まれています。サービス・コンポーネントは、SOAコンポジット・アプリケーションの基礎単位です。サービス・コンポーネントによって、SOAコンポジット・アプリケーションの全体的なビジネス・ロジックの一部が実装されます。

SOAコンポジット・アプリケーションで使用できるサービス・コンポーネントは、次のとおりです。

- BPELプロセス: 同期プロセスと非同期プロセスのオーケストレーションに使用します。

- BPMNプロセス(Oracle BPM Suiteがインストールされている場合): Business Process Management Notation and Modeling (BPMN)を使用したビジネス・プロセスの作成およびモデリングに使用します。

- Oracle Mediator: サービスの生産者とコンシューマ間のコンテンツ変換およびイベント(メッセージ)のルーティングに使用します。

- ヒューマン・タスク: ユーザーまたはグループが、エンドツーエンドのビジネス・プロセス・フローの一環として実行するタスクを記述するヒューマン・タスク(例: 手動による注文の承認)のモデリングのために使用します。

- Spring: SOAコンポジット・アプリケーションへのJavaインタフェースの統合に使用します。

- デシジョン・サービス: 意思決定またはビジネス・ルールに基づく処理に使用します。

Oracle Enterprise Manager Fusion Middleware Controlのサービス・コンポーネントのホーム・ページからは、BPELプロセス・アクティビティ時間の分散の詳細の表示およびセキュリティ・ポリシーのアタッチなどの管理タスクを実行できます。図1-6に詳細を示します。

図1-6 BPELプロセスのサービス・コンポーネントのホーム・ページ

サービス・コンポーネントの管理の詳細は、次の各項を参照してください。

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

- Oracle Mediatorのサービス・コンポーネントとエンジンの管理

- デシジョン・サービス・コンポーネントとビジネス・ルール・サービス・エンジンの管理

- ヒューマン・タスク・サービス・コンポーネントとヒューマン・ワークフロー・サービス・エンジンの管理

- Oracle BPMNプロセス・サービス・コンポーネントとエンジンの管理

1.2.5.1 Springサービス・コンポーネントのサポート

Oracle SOA SuiteはSpringサービス・コンポーネントをサポートするようになりました。Oracle Enterprise Manager Fusion Middleware ControlでのSpringのサポートについては、次の詳細を確認してください。

- Springサービス・エンジン管理ページはありません。

- Springコンポーネントはフローのトレースに表示されますが、監査証跡はありません。

- Springコンポジット・メトリックは、コンポジット・アプリケーションのホーム・ページに表示されます。

- Springサービス・コンポーネントは、実行中および終了したインスタンスの状態はサポートしません。Springサービス・コンポーネントは同期する設計であるため、同期している実行中のSpringインスタンスを終了することはサポートされません。このため、実行中のインスタンスは中断できず、また、Springサービス・コンポーネントで終了した状態を保持できません。

1.2.6 バインディング・コンポーネントの概要

SOAコンポジット・アプリケーションは、バインディング・コンポーネントによって、外部のサービス、アプリケーションおよびテクノロジ(メッセージング・システムやデータベースなど)に接続されます。バインディング・コンポーネントは、次の2つのグループから構成されています。

- サービス: SOAコンポジット・アプリケーションへのエントリ・ポイントを外部に提供します。サービスのWSDLファイルによって、そのサービスの機能が外部のアプリケーションに通知されます。サービス・バインディングには、SOAコンポジット・サービスを呼び出す方法(SOAPを使用するなど)が定義されています。

- 参照: SOAコンポジット・アプリケーションから外部サービスへのメッセージの送信を可能にします(たとえば、パートナ・リンクがBPELプロセスに提供するのと同じ機能を、それより高いSOAコンポジット・アプリケーション・レベルで提供するなど)。

Oracle Enterprise Manager Fusion Middleware Controlでは、最後のサーバー起動時以降の送信メッセージおよびフォルトの合計数の表示、ポリシーのアタッチ、バインディング・コンポーネント・プロパティの設定、レポートの表示(JCAアダプタの場合)などのバインディング・コンポーネント管理タスクを実行できます。図1-7に、サービス・バインディング・コンポーネント(この例では、JCAデータベース・アダプタ)のホーム・ページを示します。

図1-7 バインディング・コンポーネント

詳細は、「バインディング・コンポーネントの管理」を参照してください。

1.2.7 サービス・エンジンの概要

SOAインフラストラクチャには、一連のサービス・エンジン(BPELプロセス、ヒューマン・ワークフロー、デシジョン・サービス、Oracle MediatorおよびSpring)が組み込まれており、これらは、SOAコンポジット・アプリケーション(例: BPELプロセス)内でそれぞれのコンポーネントのビジネス・ロジックを実行します。Oracle BPM Suiteがインストールされている場合、SOAインフラストラクチャにはBPMNプロセス・サービス・エンジンも含まれます。

図1-8に、BPELプロセス・サービス・エンジンのOracle Enterprise Manager Fusion Middleware Controlの例を示します。各BPELプロセス・サービス・コンポーネントは、同じBPELプロセス・サービス・エンジンで実行されます。ページのリンクをクリックすると、各BPELプロセス・サービス・コンポーネントおよび組み込まれているSOAコンポジット・アプリケーションに関する詳細を参照できます。

図1-8 サービス・エンジンで実行中のサービス・コンポーネント

Oracle Enterprise Manager Fusion Middleware Controlでは、サービス・コンポーネントおよびコンポジットの監視、メッセージ・リクエストおよびスレッド統計の表示、失敗したメッセージの手動リカバリ(BPEL)およびサービス・エンジン固有のプロパティの構成などのサービス・エンジン管理タスクを実行できます。これらの構成プロパティは、サービス・コンポーネントが組み込まれているSOAコンポジット・アプリケーションに関係なく、サービス・エンジンで実行されるすべてのサービス・コンポーネントに影響を与えます。

サービス・エンジンの管理の詳細は、次の各項を参照してください。

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

- Oracle Mediatorのサービス・コンポーネントとエンジンの管理

- デシジョン・サービス・コンポーネントとビジネス・ルール・サービス・エンジンの管理

- ヒューマン・タスク・サービス・コンポーネントとヒューマン・ワークフロー・サービス・エンジンの管理

- Oracle BPMNプロセス・サービス・コンポーネントとエンジンの管理

注意:

Oracle Enterprise Manager Fusion Middleware Controlには、Springサービス・エンジンを管理するためのページは含まれていません。

1.2.8 サービス・インフラストラクチャの概要

サービス・インフラストラクチャは、内部メッセージ転送インフラストラクチャ機能を提供して複数のコンポーネントを接続し、データ・フローを有効にします。サービス・インフラストラクチャには、サービス、サービス・コンポーネントおよび参照間のワイヤ接続に従ってメッセージをルーティングする役割があります。

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

- メッセージ配信処理リクエストの監視

- ワイヤリングの詳細は、『Oracle SOAスイートでのSOAアプリケーションの開発』を参照してください。

1.2.9 SOAコンポジット・アプリケーションのコンテンツの概要

SOAコンポジット・アプリケーションは、様々なサービス・コンポーネント、バインディング・コンポーネントおよびサービスで構成でき、これらはOracle Enterprise Manager Fusion Middleware Controlから管理します。

- BPELプロセス

- BPMNプロセス(Oracle BPM Suiteがインストールされている場合)

- ヒューマン・ワークフロー

- Oracle Mediator

- デシジョン・サービス(Oracle Business Rules)

- Spring

- JCAアダプタ

- HTTPバインディング

- RESTサービス

- EJBサービス

- 直接バインディング・サービス

- Oracle Application Development Framework (ADF)ビジネス・コンポーネント・サービス

- Oracle BAM 11g (このアダプタはOracle BAM 11gサーバーにのみ接続できます。)

- Oracle B2B

- Oracle Healthcare

- ビジネス・イベント

- Oracle User Messaging Service。

これらのサービス・コンポーネント、バインディング・コンポーネントおよびサービスの概要は、Oracle SOA Suiteの理解および『Oracle SOAスイートでのSOAアプリケーションの開発』を参照してください。JCAアダプタの詳細は、テクノロジ・アダプタの理解を参照してください。

1.2.10 Oracle SOA SuiteとOracle Enterprise Schedulerの統合の概要

Oracle Enterprise Schedulerを使用すると、ジョブを定義、スケジュールおよび実行できます。ジョブとは、アプリケーションのかわりに実行する作業の単位のことです。たとえば、特定のPL/SQLファンクションやコマンド行プロセスを実行するジョブを定義します。

Oracle Enterprise SchedulerがOracle SOA Suiteでデプロイされている場合は、ジョブを作成してタスクを実行できます。たとえば、SOAインフラストラクチャ・レベルまたは個々のパーティション・レベルで、特定のフォルト条件が満たされるとアラート・メッセージがトリガーされるエラー通知ルールを作成できます。

Oracle Enterprise Schedulerは、現在埋込みの製品ジョブのスケジュールに重点を置いています。次のタスクにのみOracle Enterprise Schedulerを使用してください。

- Webサービスのスケジュール(コンポジット、プロキシ・サービスなど)。

- アダプタのアクティブ化/非アクティブ化のスケジュール。

- フォルト通知および一括フォルト・リカバリのスケジュール。

- スクリプトのスケジュール。

- Oracle Enterprise Manager Fusion Middleware ControlのOracle SOA Suite/Oracle Enterprise Schedulerからのジョブおよびジョブ・セットの発行。Oracle Enterprise Scheduler Webサービス・ジョブを使用して、次のようにSOAコンポジット・アプリケーションをスケジュールできます。

- Oracle Enterprise Manager Fusion Middleware ControlのOracle Enterprise Schedulerを使用してジョブ定義メタデータを作成して、Oracle Web Services Manager (OWSM)ポリシーでジョブを保護します。ジョブ定義はネームスペース/oracle/apps/ess custom/soaで作成する必要があります。SOAシステム管理者には、このジョブを作成するOracle Enterprise Scheduler権限があります。ジョブ・メタデータの作成の詳細は、『Oracle Enterprise Schedulerの管理』のジョブ・メタデータの管理に関する項を参照してください。

- Oracle Enterprise Manager Fusion Middleware ControlでOracle Enterprise Schedulerを使用してジョブを発行します(ジョブの発行時にはスケジュールを定義します)。ジョブの発行の詳細は、『Oracle Enterprise Schedulerの管理』のOracle Enterprise Schedulerリクエストの管理に関する項を参照してください。

- Oracle Enterprise Manager Fusion Middleware ControlのOracle Enterprise Schedulerでのカスタム・メタデータの作成。

- Oracle Enterprise Manager Fusion Middleware ControlのOracle Enterprise Schedulerでのジョブ出力の管理と表示、およびスレッドの抑制と制御。

- BPELプロセスからのジョブの発行。

- Enterprise Scheduler Webサービス(ESSWebservice)を使用して、Oracle Enterprise Schedulerランタイム機能のサブセットにアクセスします。ESSWebserviceは、主に、BPELプロセスからOracle Enterprise Schedulerを呼び出すなど、SOA統合をサポートするために提供されています。ただし、Webサービスを使用してOracle Enterprise Schedulerと相互作用する必要があるすべてのクライアントでは、ESSWebserviceを使用できます。ESSWebserviceでは、リクエスト発行およびリクエスト管理用のジョブ・スケジューリングおよび管理機能を公開しています。

- 『SOA Suite WLSTコマンド・リファレンス』の説明に従って、Oracle SOA Suite環境のすべてのOracle Enterprise Scheduler WLSTコマンドを使用します。

その他の用途については、ドキュメントとサポートが不完全であるため、このリリースではサポートされていません。

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

- エラー通知ルールの作成

- Oracle Enterprise Schedulerの管理

- Oracle Enterprise Scheduler用アプリケーションの開発

1.2.10.1 Oracle SOA SuiteとOracle Enterprise Scheduler間のクロスコンポーネント・ワイヤリング

Oracle SOA Suiteのジョブ(アダプタのアクティブ化/非アクティブ化、フォルト通知、および一括フォルト・リカバリ)とOracle Enterprise Schedulerは、デフォルトではクロスコンポーネント・ワイヤリングを使用して相互に双方向にワイヤリングされます。Oracle SOA Suiteは自動的にOracle Enterprise Schedulerにワイヤリングされ、その逆も同様です。各ワイヤは2つの部分で実装されます。

- 1つ目の部分は、URLがサービス表に書きこまれる場所を公開します。

- 2つ目の部分は、サービス表が読み込まれ、URLがローカル構成にキャッシュされる場所を消費します。

URLが変更された場合は、通常自動的に再公開されます。ただし、消費する側では、Oracle Enterprise Manager Fusion Middleware Controlでサービス表を手動で再度読み込み、キャッシュする必要があります。Oracle Enterprise Manager Fusion Middleware Controlでポート番号などが変更された場合は、手動で再度ワイヤリングすることもできます。

これらのタスクの実行の詳細は、『Oracle Fusion Middlewareの管理』のコンポーネント連携のためのワイヤリングに関する項を参照してください。

1.3 Oracle Business Process Management Suiteとは

Oracle BPM Suiteでは、ビジネス・プロセスを中心とするビジネス・アプリケーションの開発、管理および使用のための統合環境が提供されます。

Oracle BPM Suiteには、次の機能が用意されています。

- ユーザーフレンドリなアプリケーションで標準に基づくプロセス・モデルを作成できます。プロセス開発者とプロセス・アナリスト間のコラボレーションが可能です。Oracle BPMでは、モデリングや実装からランタイムや監視まで、BPMN 2.0およびBPELがサポートされます。

- プロセス・アナリストおよびプロセス所有者は、ビジネス・プロセスやOracle Business Rulesをカスタマイズできます。

- ビジネス・プロセスの作成、Oracle Business Rulesの編集、および事前定義コンポーネントを使用したタスクのカスタマイズを行える、Webベースのアプリケーションが提供されます。

- 柔軟性の高い非構造型プロセスを含めるようにビジネス・プロセス管理を拡張します。動的タスクを追加し、宣言的なパターンとルールドリブンのフローの決定を使用した承認ルーティングをサポートします。

- プロセスベースのアプリケーションの開発のエンドツーエンド要件に対処することで、アプリケーション開発ライフサイクルの様々なステージを統一します。Oracle BPM Suiteは、サービス・コンポーネント・アーキテクチャ(SCA)インフラストラクチャに基づいて、設計、実装、ランタイムおよび監視のステージを統一します。これにより、異なるペルソナがアプリケーション・ライフサイクルのすべてのステージに参加できます。

Oracle BPM Suiteは、設計時や実装からランタイムやアプリケーション管理まで、アプリケーション開発ライフサイクルのすべてのステージをシームレスに統合します。

Oracle BPM Suiteは、Oracle SOA Suite上で階層化され、次のような多くの同じ製品コンポーネントを共有します。

- Oracle Business Rules

- ヒューマン・ワークフロー

- 統合のためのOracleアダプタ・フレームワーク

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

- Oracle BPMNプロセス・サービス・コンポーネントとエンジンの管理

- Oracle Business Process Composerによるビジネス・プロセスの開発

- Oracle Business Process Management Studioを使用したビジネス・プロセスの作成

1.4 Oracle SOA SuiteおよびOracle BPM Suiteの管理

Oracle SOA SuiteおよびOracle BPM Suiteの様々な管理(構成、監視および管理)タスクは、Oracle Enterprise Manager Fusion Middleware Controlから実行できます。この項では、これらのタスクの概要を示します。

- Oracle SOA SuiteおよびOracle BPM Suiteの構成

- Oracle SOA SuiteおよびOracle BPM Suiteの監視

- Oracle SOA SuiteおよびBPM Suiteの管理

- Oracle SuiteおよびOracle BPM Suiteのパフォーマンスとチューニング

実行可能な管理タスクは、マップされているパーティション・ロールに基づきます。各パーティション・ロールは、異なる一連の権限に対応しています。パーティションでユーザーが処理するのに必要な特定のパーティション・ロールを割り当てることができます。これらのロールにより、Oracle Enterprise Manager Fusion Middleware Controlでユーザーが実行できるタスクが決まります。詳細は、「パーティションへのアクセスの保護」を参照してください。

1.4.1 Oracle SOA SuiteおよびOracle BPM Suiteの構成

Oracle SOA SuiteおよびOracle BPM Suiteの構成タスクは、Oracle Enterprise Manager Fusion Middleware Controlで実行できます。構成タスクでは、使用環境の監査レベルやペイロード検証などのプロパティを設定します。プロパティは次のレベルで設定できます。

- SOAインフラストラクチャ(すべてのSOAコンポジット・アプリケーションに影響)

- サービス・エンジン(サービス・コンポーネントが組み込まれているSOAコンポジット・アプリケーションに関係なく、サービス・エンジンで実行されるすべてのサービス・コンポーネントに影響)

- SOAコンポジット・アプリケーション(そのコンポジット・アプリケーションに組み込まれているすべてのサービス・コンポーネントに影響)

- Oracle B2Bバインディング

- サービスおよび参照バインディング・コンポーネントのメッセージ・ヘッダー・プロパティ

優先順位としては、継承SOAコンポジット・アプリケーションのプロパティ設定(監査レベルの設定やペイロード検証)が最も優先され、次にサービス・エンジンの設定、SOAインフラストラクチャの設定の順に優先されます。ただし、ほとんどのプロパティでは、この種の優先度を考慮する必要はありません。

Oracle SOA SuiteおよびOracle BPM Suiteのチューニング構成プロパティの詳細は、パフォーマンスのチューニングを参照してください。

1.4.1.1 監査レベル設定の優先順位の概要

監査トラッキングでは、メッセージ・トラッキング・インフラストラクチャによって収集する情報のレベルを選択できます。監査レベル・トラッキングは、次のレベルで設定できます。

- 個々のBPELアクティビティ

- BPELプロセスまたはBPMNプロセス・サービス・コンポーネント

- SOAコンポジット・アプリケーション

- サービス・エンジン

- SOAインフラストラクチャ

監査トラッキングを複数レベルで設定した場合は、どの設定が優先されるかを理解することが重要です。表1-1に、監査レベル設定の優先順位の例を示します。

表1-1 優先順位の例

BPELアクティビティ

コンポーネント

コンポジット

サービス・エンジン

SOAインフラストラクチャ

優先される設定

プロパティなし

プロパティなし

オフ

本番

開発

コンポジット。

監査レベルは「オフ」に設定されます。サービス・エンジンおよびSOAインフラストラクチャの監査レベルは無効になります。

プロパティなし

プロパティなし

継承

開発

本番

サービス・エンジン。

監査レベルは「開発」に設定されます。assignアクティビティでペイロードが表示されます。SOAインフラストラクチャの監査レベルは無効になります。

プロパティなし

プロパティなし

継承

開発

本番

サービス・エンジン。

監査レベルは「開発」に設定されます。assignアクティビティでペイロードが表示されます。SOAインフラストラクチャの監査レベルは無効になります。

プロパティなし

プロパティなし

継承

継承

本番

SOAインフラストラクチャ。

監査レベルは「本番」(デフォルト設定)に設定されます。

プロパティなし

プロパティなし

継承

本番/開発/オフ/継承

オフ

サービス・エンジン。

コンポジットはサービス・エンジンから監査レベルを継承します。サービス・エンジンの監査レベル設定に基づいてペイロードがassignアクティビティで表示されます。

プロパティなし

開発

オフ

本番

開発

コンポジット。

コンポジット監査レベルが「オフ」に設定されているため、全体的な監査は表示されません。サービス・エンジンの監査レベルが表示されますが、コンポーネントの「開発」設定が優先されます。

「開発」のコンポーネント監査レベル設定に基づいてペイロードがassignアクティビティで表示されます。

開発

継承

オフ

本番

開発

BPELアクティビティ。

BPELアクティビティはある値に設定されているため、その他の設定より優先されます。

注意:

- コンポジット監査レベルが「オフ」に設定されている場合、このコンポジットおよびコンポジット内で使用されているすべてのサービス・エンジンに対して監査証跡は生成されません。

- コンポジット監査レベルが「継承」に設定されている場合は、常にSOAインフラストラクチャの設定を継承します。

- コンポジット監査レベルが「オフ」に設定されている場合、コンポーネントはサービス・エンジンの設定を継承します。

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

- SOAインフラストラクチャの構成

- BPELプロセス・サービス・エンジンのプロパティの構成

- BPELプロセス・サービス・コンポーネント・レベルでの監査レベルの設定

- ヒューマン・ワークフローのサービス・コンポーネントとエンジンの構成

- サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントの構成

- BPMNプロセス・サービス・エンジン・プロパティの構成

- 『Oracle SOA SuiteでのSOAアプリケーションの開発』のBPELアクティビティ・レベルでのSOAコンポジット・アプリケーションの監査に関する項

1.4.2 Oracle SOA SuiteおよびOracle BPM Suiteの監視

Oracle SOA SuiteおよびOracle BPM Suiteの監視タスクは、Oracle Enterprise Manager Fusion Middleware Controlで実行できます。次のような項目を監視できます。

- SOAインフラストラクチャまたは個々のパーティション内のビジネス・フロー・インスタンス、フォルトおよび拒否メッセージ。

- サービス・エンジン、サービス・インフラストラクチャ、およびバインディング・コンポーネントのリクエスト処理パフォーマンス。

- サービスおよび参照バインディング・コンポーネントのメッセージ処理に要する合計処理時間と平均処理時間。

- サービス・コンポーネントにおける監査証跡およびプロセス・フローの動作。BPMNプロセスの場合は、BPMNプロセス・フロー全体が表示され、プロセス・インスタンスがとるパスが強調表示されます。

- BPELプロセス、BPMNプロセス、Oracle Mediatorおよびヒューマン・ワークフローにおけるサービス・エンジンのリクエストおよびスレッドの状態。

- アダプタ構成レポート、監視レポートおよびスナップショット・レポート。

注意:

WebLogic診断フレームワーク(WLDF)および診断フレームワークを使用すると、Oracle SOA Suiteでも問題を監視して診断できます。詳細は、「SOAコンポジット・アプリケーションに関する問題の診断」を参照してください。

1.4.3 Oracle SOA SuiteおよびBPM Suiteの管理

Oracle SOA SuiteおよびOracle BPM Suiteの管理タスクは、Oracle Enterprise Manager Fusion Middleware Controlで実行できます。次のような項目を管理できます。

- パーティションの作成および削除。パーティションの作成後、コンポジットを適切なパーティションにデプロイできます。このアクションにより、SOAコンポジット・アプリケーションをパーティションに論理的にグループ化できます。

- ワーク・マネージャ・グループの作成および管理。各パーティションは、ワーク・マネージャで構成されるワーク・マネージャ・グループに関連付けられます。ワーク・マネージャは、論理スレッド・プールを表すOracle WebLogic Serverエンティティです。ワーク・マネージャで処理する作業の優先度を定義できます。

- パーティションへのユーザー・アクセスの保護。これにより、ユーザーは、アクセス権を付与されたパーティション内でのコンポジットのみの管理に制限されます。

- コンポジットの状態(アクティブ化、リタイア、起動、停止およびデフォルト・コンポジット・バージョンの設定)の管理。

- ビジネス・フロー・インスタンスの削除または終了。

- SOAコンポジット・アプリケーションのデプロイ、アンデプロイおよび再デプロイ。

- JARファイルへのデプロイ済SOAコンポジット・アプリケーションのエクスポート。

- 「Webサービスのテスト」ページからのSOAコンポジット・アプリケーションのテスト・インスタンスの起動。

- SOAインフラストラクチャ・レベルまたは個々のパーティション・レベルでのフォルトからのリカバリ。

- BPELプロセスでの拒否メッセージのリカバリ。

- SOAインフラストラクチャ・レベルまたは個々のパーティション・レベルでの、特定のフォルト条件が満たされるとアラート・メッセージがトリガーされるエラー通知ルールの作成。

- JCAアダプタ・サービスのアクティブ化および非アクティブ化のスケジュール。

- SOAコンポジット・アプリケーションの自動テストの実行。

- SOAコンポジット・アプリケーション、サービス・コンポーネントおよびバインディング・コンポーネントへのポリシーのアタッチ。

- ヒューマン・ワークフローでの受信および送信通知メッセージの管理。

- ビジネス・イベントのサブスクライブおよびイベント公開のテスト。

- 分析データ、BPELセンサー・データ、コンポジット・センサー・データの収集の無効化および有効化。

- Oracle ExalogicプラットフォームでのOracle Coherence分散キャッシュへのインスタンスおよびコールバック・メッセージ・データの格納。

以降の各項では、いくつかの管理タスクについてより具体的な概要を示します。

- エラー・ホスピタルでのフォルト・リカバリの概要

- ポリシーの概要

- SOAコンポジット・アプリケーションのライフサイクル状態の概要

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

注意:

- Oracle SOA Suiteのバックアップおよびリカバリは、Oracle Fusion Middlewareの管理を参照してください。

- SOAインフラストラクチャは、GridLinkデータ・ソースおよびマルチ・データ・ソースによってデータベース障害から保護されます。通常、GridLinkおよびマルチ・データ・ソースはシステム設定時に構成します(インストール時にマルチプールを直接定義)。Oracle Real Application Clusters (Oracle RAC)データベース・インスタンスが失敗すると、使用可能なデータベース・インスタンスを使用して接続が再確立されます。GridlinkおよびOracle SOA Suiteの詳細は、『高可用性ガイド』を参照してください。

1.4.3.1 エラー・ホスピタルでのフォルト・リカバリの概要

12c (12.2.1)では、SOAインフラストラクチャ・レベル(すべてのパーティションについて)および個々のパーティション・レベルでフォルト・リカバリが集中管理されます。これは、フォルト・リカバリ・アクションが複数のレベル(SOAインフラストラクチャ、SOAコンポジット・アプリケーション、サービス・エンジンおよびサービス・コンポーネント)で表示された11g リリース1 (11.1.1)とは異なります。

フォルト・リカバリは、Oracle Enterprise Manager Fusion Middleware Controlの「フロー・インスタンス」ページと「エラー・ホスピタル」ページから実行します。

次のタイプのフォルト・リカバリがサポートされています。

- 個々のフォルトのリカバリ。この場合は、各フォルト・タイプに固有の最も詳細なリカバリ・オプションにアクセスできます。

- 複数(一括)フォルトのリカバリ。この場合は、リカバリに対して複数のフォルトを選択します。

BPELプロセスのフォルトの場合、Oracle JDeveloperのフォルト・ポリシー・エディタでフォルト・リカバリ・ポリシーを定義できます。フォルト・ポリシー・エディタにより、必要なフォルト・ポリシーとフォルト・ポリシー・バインディング・ファイルが作成され、SOAインフラストラクチャにデプロイしてOracle Enterprise Manager Fusion Middleware Controlで管理するSOAコンポジット・アプリケーションにパッケージ化されます。

Oracle Mediatorおよびヒューマン・ワークフローのフォルトの動作はこれとは異なります。これらは、フォルト・ポリシーなしでリカバリ可能なフォルトを作成できます。ヒューマン・タスク・サービス・コンポーネントまたはヒューマン・ワークフロー・サービス・エンジンのエラーの場合は、Oracle BPM Worklistからリカバリ可能と識別されたフォルトに対してフォルト・リカバリを実行します。

次のタイプのフォルトがOracle Enterprise Manager Fusion Middleware Controlに表示されます。

- ビジネス: 処理中の情報に問題がある(データベースで社会保障番号が見つからないなど)ときに発生するアプリケーション固有のフォルト。

- システム: ネットワーク・エラーまたは他のタイプのエラー(データベース・サーバーやWebサービスがアクセス不可の場合など)。

- Oracle Web Service Manager (OWSM): SOAコンポジット・アプリケーション、サービス・コンポーネントまたはバインディング・コンポーネントにアタッチされたポリシーのエラー。ポリシーはメッセージの配信にセキュリティを適用します。

フォルトは次のいずれかに分類することもできます。

- リカバリ可能またはリカバリ不可:
特定のタイプのフォルトのみがリカバリ可能として識別されます。表1-2に、リカバリ可能なフォルトとリカバリ不可のフォルトの例をいくつか示します。

- 拒否メッセージ:
フォルトは、その発生時期に基づいて拒否メッセージとして分類されます。フォルトの発生がSOAコンポジットの入力前で、ビジネス・フロー・インスタンスが生成されていない場合は、拒否メッセージとして分類されます。システム・フォルトまたはポリシー・フォルトは拒否メッセージとして分類されます。

表1-2 リカバリ可能なフォルトとリカバリ不能なフォルト

リカバリ可能なフォルト

リカバリ不能なフォルト

- ビジネス・フォルトおよび一部の特定のシステム・フォルト

- Oracle Mediator入力ファイルのパスと出力ディレクトリの不一致

- Oracle BPM Worklistユーザーに関連(予想)アクションの実行権限がない場合

- 拒否メッセージ

- ほとんどのシステム・フォルト

- 存在しない参照

- サービス起動の失敗

- ポリシー・フォルト

フォルト・リカバリの実行の詳細は、「ビジネス・フロー・インスタンスの削除または終了」、「ビジネス・フロー・インスタンスでのフォルトからのリカバリ」および「エラー・ホスピタルでのフォルトからのリカバリ」を参照してください。

フォルト・ポリシー・エディタの詳細は、『Oracle SOA SuiteおよびOracle Business Process Management Suiteの管理』のフォルト・ポリシー・ウィザードを使用して自動フォルト・リカバリのフォルト・ポリシーを設計する方法に関する項を参照してください。

1.4.3.2 ポリシーの概要

Oracle Enterprise Manager Fusion Middleware Controlでは、ポリシーを次のレベルでアタッチおよびデタッチできます。

- SOAコンポジット・アプリケーション

- サービス・コンポーネント

- サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネント

ポリシーはメッセージの配信にセキュリティを適用します。Oracle Fusion Middlewareでは、ポリシー・ベースのモデルを使用してWebサービスを管理します。次のタイプのポリシーがサポートされています。

- セキュリティ: WS-Security 1.0および1.1の標準を実装します。これらの標準によって、ユーザーの認証と認可、アイデンティティ伝播およびメッセージ保護(メッセージ整合性およびメッセージ機密性)が実施されます。

- 信頼できるメッセージング: WS-ReliableMessagingプロトコルをサポートして、エンドツーエンドのメッセージ配信を保証します。

- メッセージ転送最適化メカニズム(MTOM): 添付がMTOMフォーマットであることを保証します。このフォーマットは、Webサービスとの間でバイナリ・データを効率的に送受信するためのフォーマットです。

- WS-Addressing: WS-Addressing仕様に準拠したWS-AddressingヘッダーがSOAPメッセージに含まれていることを検証します。トランスポート・レベル・データは、この情報を渡すためにネットワーク・レベル・トランスポートに依存するのではなく、XMLメッセージに含まれます。

- 管理: リクエスト、レスポンスおよびフォルト・メッセージをメッセージ・ログに記録します。管理ポリシーにはカスタム・ポリシーを含めることもできます。

- SOAP over JMS: WebサービスおよびクライアントがHTTP接続ではなくJMS宛先を使用して通信できるようになります。

- 構成: Fast Infoset、スキーマ検証、永続性などのWebサービス機能を可能にします。

- アトミック・トランザクション: Oracle WebLogic Serverとその他のベンダーのトランザクション処理システム間でのWebサービスのWS-AtomicTransaction (WS-AT)トランザクションの相互運用をサポートします。

ポリシーは、企業のポリシー・フレームワークの一部であり、このフレームワークによってポリシーを集中的に作成して管理できます。

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

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

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

- 「ポリシーの管理」

- ヒューマン・ワークフロー・サービス・コンポーネント・ポリシーの管理

- 「バインディング・コンポーネントのポリシーの管理」

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

- 使用可能なポリシーの定義およびユーザー環境で使用するポリシーの詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』およびOracle Web Services Managerの理解を参照してください。

1.4.3.2.1 ポリシーの実行方法の概要

ポリシーは、ポリシーがアタッチされているコンポーネントにメッセージが到達する前に実行されます。この結果、エラーは、ポリシーがアタッチされているコンポーネントの直前のコンポーネントに表示されます。例:

- Oracle Mediatorサービス・コンポーネントにアタッチされたポリシーは、メッセージがOracle Mediatorに渡される前にワイヤで実行されます。この結果、フォルトは、Oracle Mediatorではなくサービス・バインディング・コンポーネントに表示されます。

- ヒューマン・タスク・サービス・コンポーネントにアタッチされたポリシーは、メッセージがヒューマン・タスク・サービス・コンポーネントに渡される前に、直前のBPELプロセス・サービス・コンポーネントで実行されます。この結果、フォルトは、ヒューマン・タスク・サービス・コンポーネントではなく、BPELプロセス・サービス・コンポーネントに表示されます。

- ヒューマン・タスク・サービス・コンポーネントにアタッチされたポリシーは、メッセージがヒューマン・タスク・サービス・コンポーネントに渡される前に、ヒューマン・サービス・コンポーネントに関連付けられているヒューマン・ステップのBPMNプロセスの内部で実行されます。これにより、フォルトは、ヒューマン・タスク・サービス・コンポーネントではなく、BPMNプロセス・サービス・コンポーネントに表示されます。

ポリシー・エラーの正確な位置を確認するには、監査証跡を参照してください。

1.4.3.3 SOAコンポジット・アプリケーションのライフサイクルの状態の概要

デプロイ済SOAコンポジット・アプリケーションのライフサイクルの状態は、Oracle Enterprise Manager Fusion Middleware Controlから管理できます。アプリケーションは、SOAインフラストラクチャにデプロイすると自動的にアクティブ化されます。デプロイメント時には、アプリケーションに対して特定のリビジョン番号を指定できます。リビジョンは、アプリケーションの特定のデプロイ済バージョンです。アプリケーションの複数のリビジョンをデプロイし、すべてのリビジョンを同時に実行できます。

これは、リビジョンの重要な利点です。たとえば、古いリビジョンのアプリケーションがあり、引続き有効なある顧客で実行中であるとします。その後、別の顧客とのパートナーシップが開始され、この顧客については小規模なアプリケーションの設計変更が必要です。ある時点で古い顧客を新しいリビジョンのアプリケーションに移行する計画ですが、現時点では、移行の必要はありません。これは、リビジョンを使用すると、両方のアプリケーションを実行できるためです。

Oracle Enterprise Manager Fusion Middleware Controlでは、リビジョン値がアプリケーション名に付加されます。たとえば、図1-1で、リビジョン1.0は、多数のデプロイ済SOAコンポジット・アプリケーションに対するバージョンです。特定のコンポジット・アプリケーション・リビジョンに対する新規リクエストを受信すると、そのコンポジット・アプリケーション・リビジョンが起動します。リビジョンが指定されていない新規リクエストを受信すると、デフォルトのリビジョンが起動します。デフォルトのリビジョンは、小さい緑色の丸印で他のリビジョンと区別されます。

SOAコンポジット・アプリケーションに関する次のライフサイクル管理タスクは、Oracle Enterprise Manager Fusion Middleware Controlから実行できます。

- インスタンスの作成。

- アプリケーション・リビジョンの停止と再起動。アプリケーション・リビジョンは通常、デプロイメント後即時に起動されます。

- アプリケーション・リビジョンのリタイアとアクティブ化。アプリケーション・リビジョンは、デプロイメント時に即時にアクティブ化されます。

- デフォルト・バージョンとしてのアプリケーションの設定。

- アプリケーション・リビジョンのデプロイ、アンデプロイおよび再デプロイ。

- アプリケーション・リビジョンの特定インスタンスの削除。

SOAコンポジット・アプリケーションのライフサイクルの状態の管理の詳細は、次の各項を参照してください。

- ビジネス・フローのテスト・インスタンスの起動

- デプロイされたSOAコンポジット・アプリケーションの状態の管理

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

SOAコンポジット・アプリケーションのテストを自動化するテスト・ケースを作成、デプロイおよび実行できます。テスト・ケースを使用すると、SOAコンポジット・アプリケーションとその参照の間の相互作用を、本番環境へのデプロイメント前にシミュレートできます。テスト・スイートは、1つ以上のテスト・ケースの論理的な集合で構成されます。各テスト・ケースには、テスト・インスタンスの実行時に実行される一連のコマンドが含まれています。テスト・スイートの実行は、テスト実行と呼ばれます。各テストは1つのビジネス・フロー・インスタンスに対応します。また、SOAコンポジット・アプリケーションのテスト・ケース内に、BPELプロセス・サービス・コンポーネントのテスト・ケースを作成することもできます。SOAインフラストラクチャの「フロー・インスタンス」ページでは、これらのテストの実行で生成されたインスタンスのフローIDの横に小さい黄色のボックスが表示され、テスト・インスタンスとして区別されます。

テスト・スイート・フレームワークの機能は、次のとおりです。

- SOAコンポジット・アプリケーションが実行時に相互作用するコンポーネントの動作を、エミュレーションを使用してシミュレートします。特定のコンポーネントを起動せずに、コンポーネントからのレスポンスを指定できます。

- アサーションを使用し、プロセス実行時にデータを検証します。

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

- テストの作成と実行の詳細は、「SOAコンポジット・アプリケーションのテストの自動化」を参照してください

- SOAコンポジット・アプリケーションのテスト・ケースの設計は、『Oracle SOAスイートでのSOAアプリケーションの開発』を参照してください。

1.4.4 Oracle SOA SuiteおよびOracle BPM Suiteのパフォーマンスとチューニング

構成プロパティの設定方法がOracle SOA Suiteのパフォーマンスに影響することがあります。たとえば、システム・メッセージ、起動メッセージおよびエンジン・ディスパッチャ・メッセージの処理用のスレッド数を割り当てるために、BPELプロセス・サービス・エンジンにプロパティを設定できます。チューニング情報は、次のドキュメントを参照してください。

次の情報は、パフォーマンスのチューニングを参照してください。

- ユースケースのチューニング推奨事項

- コンポーネント別の主要なチューニング・プロパティ(次の情報を含む)。

- デフォルト値

- 症状(適切にチューニングされていない場合)

- デフォルト値からプロパティを変更した場合の影響

- 症状が現れた場合の推奨事項

- プロファイルベースのチューニング推奨事項(インストール時に質問に回答してプロファイルを選択し、選択したプロファイルに基づいてプロパティをチューニング)。

Oracle SOA Suiteコンポーネントのチューニングの詳細は、次のドキュメントを参照してください。

- SOAインフラストラクチャ・プロパティの構成

- BPELプロセスのサービス・コンポーネントとエンジンの構成

- Oracle Exalogicプラットフォームにおけるインスタンスとメッセージ・データのOracle Coherence分散キャッシュへの格納

- サービス・エンジン・プロパティの構成

- ヒューマン・ワークフローのサービス・コンポーネントとエンジンの構成

- Oracle B2Bの構成

- Healthcare Integration監査証跡の構成

- サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントの構成

- BPMNプロセス・サービス・エンジン・プロパティの構成

- 『Oracle Fusion Middlewareテクノロジ・アダプタの理解』

- 『Oracle SOAスイートでのSOAアプリケーションの開発』の「大規模ドキュメントおよび大量のインスタンスの管理」

- Oracle Service Busの管理

1.5 アプリケーション開発者による管理

アプリケーション開発者である場合は、Oracle JDeveloperおよびOracle Enterprise Manager Fusion Middleware Controlを組み合せて使用してSOAコンポジットを管理およびテストできます。Oracle JDeveloperでSOAコンポジット・アプリケーションを開発するには『Oracle SOA SuiteでのSOAアプリケーションの開発』を参照し、Oracle Enterprise Manager Fusion Middleware ControlでSOAコンポジット・アプリケーションのテスト・インスタンスをデプロイ、監視および起動するには次の各項を参照してください。

- SOAコンポジット・アプリケーションのモニタリング

- SOAコンポジット・アプリケーションのデプロイおよび管理

- ビジネス・フローのテスト・インスタンスの起動

Oracle BPM Suiteでビジネス・プロセスを作成および設計するには、Oracle Business Process Managementを使用したビジネス・プロセスの作成を参照してください。

1.6 Oracle Enterprise Manager 12c Cloud ControlおよびOracle SOA Management Packによる管理

Oracle Enterprise Manager 12c Cloud Controlを使用すると、複数のOracle Fusion MiddlewareファームおよびOracle WebLogic Serverドメインの実行時データおよび履歴データを監視できます。Oracle Enterprise Manager 12c Cloud Controlでは、Oracle SOA SuiteからOracle SOA Management Packにいたる、Oracle Fusion Middlewareコンポーネント・ファミリ全体の検出、監視および集中管理をサポートします。

Oracle Enterprise Manager 12c Cloud Controlは、Oracle Fusion Middlewareインストールの構成部分ではないため、ライセンスを別途取得してインストールする必要があります。

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

http://www.oracle.com/us/products/enterprise-manager/index.html

第II部 管理の開始

この部では、Oracle Enterprise Manager Fusion Middleware ControlでOracle SOA SuiteおよびOracle BPM Suiteの管理タスクに移動する方法について説明します。

この部は、次の章で構成されています。

- Oracle BPM Suiteの管理のスタート・ガイド

2 Oracle SOA SuiteおよびOracle BPM Suiteの管理のスタート・ガイド

この章では、ログインしてOracle Enterprise Manager Fusion Middleware Controlのメニューを移動し、Oracle SOA SuiteとOracle BPM Suiteの構成、監視および管理タスクを実行する方法について説明します。また、Oracle Enterprise Manager Fusion Middleware ControlからシステムMBeanブラウザおよびOracle WebLogic Server管理コンソールにアクセスする方法についても説明します。

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

- Oracle Enterprise Manager Fusion Middleware Controlへのログイン

- Oracle SOA SuiteおよびOracle BPM Suiteの管理タスクへの移動

- 状況依存オンライン・ヘルプへのアクセス

- システムMBeanブラウザへのナビゲート

- Oracle Enterprise Manager Fusion Middleware Controlからのログアウト

- アクセシビリティ・オプションの設定

サービス・エンジン、サービス・コンポーネント、バインディング・コンポーネントおよびSOAインフラストラクチャの詳細は、「概要と概念」を参照してください。

2.1 Oracle Enterprise Manager Fusion Middleware Controlへのログイン

この項では、Oracle Enterprise Manager Fusion Middleware Controlへのログイン方法について説明します。

Oracle Enterprise Manager Fusion Middleware Controlにログインするには:

1. ブラウザを使用して次のURLにアクセスします。

http://host_name:port/em

説明:

- host_nameは、Oracle Enterprise Manager Fusion Middleware Controlがインストールされているホストの名前です。

- portは、インストール時に動的に設定される番号です。通常、このポートは7001ですが、Oracle HTTP Serverに関連付けられているHTTPポートです。構成時にSSLポートが有効化されていた環境の場合、デフォルト・ポートは7002です。

2. 「weblogic/password」と入力し、「ログイン」をクリックします。

説明:

- weblogicは、Oracle Enterprise Manager Fusion Middleware Controlのデフォルトの管理者ユーザー名です(インストール時に変更または独自のユーザー名を作成可能)。

- passwordは、Oracle SOA Suiteのインストール時に入力したパスワードです。

最初にログインしたときに、アクセシビリティ・プリファレンス・ダイアログが表示されます。必要な場合は、このダイアログを再度表示しないことを選択できます。

3. 適切なアクションを選択し、「続行」をクリックします。

WebLogicドメインのホーム・ページが表示されます。このページから、次の各項で説明するように、異なるいくつかの方法でOracle SOA SuiteおよびOracle BPM Suiteに移動できます。

インストールの詳細は、『Oracle SOA SuiteおよびBusiness Process Managementのインストールと構成』および『SOA SuiteおよびBusiness Process Management SuiteのQuick Start for Developersのインストール』を参照してください。

2.2 Oracle SOA SuiteおよびOracle BPM Suite管理タスクへの移動

この項では、Oracle Enterprise Manager Fusion Middleware ControlでOracle SOA SuiteおよびOracle BPM Suiteの管理タスクに移動する方法について説明します。

- SOAインフラストラクチャのホーム・ページおよびメニューからの移動

- SOAコンポジット・アプリケーションのホーム・ページおよびメニューからの移動

- SOAフォルダのホーム・ページおよびメニューからの移動

- デプロイ済Java EEアプリケーションへの移動

- Oracle WebLogic Server管理コンソールおよび他のページへの移動

- WebLogicドメインのホーム・ページからSOAインフラストラクチャまたはSOAコンポジット・アプリケーションのホーム・ページへの移動

注意:

「WebLogicドメイン」メニューは、ナビゲータの上部に常に表示されます。ナビゲータで「SOA」フォルダを開いてその下に表示されるリンクをクリックすると、ページ上部の「SOAインフラストラクチャ」メニューが使用可能になります。

2.2.1 SOAインフラストラクチャのホーム・ページおよびメニューからの移動

Oracle SOA SuiteおよびOracle BPM Suiteの管理タスクには、SOAインフラストラクチャのホーム・ページおよびメニューから移動できます。すべてのデプロイ済SOAコンポジット・アプリケーション、サービス・エンジン、サービス・コンポーネント、ビジネス・イベントおよびその他の要素には、SOAインフラストラクチャからアクセスできます。

SOAインフラストラクチャのホーム・ページおよびメニューから移動する手順は、次のとおりです。

1. 画面の左上付近にある「ターゲット・ナビゲーション」アイコンをクリックします。

「ターゲット・ナビゲーション」パネルが表示されます。

2. 「SOA」→「soa-infra (server_name)」を展開します。

注意:
さらに「soa-infra (server_name)」を展開すると、パーティションのリストや、それらのパーティション内のSOAコンポジット・アプリケーションのリストが表示されます。パーティションの詳細は、「パーティションの概要」を参照してください。

3. 「soa-infra (server_name)」をクリックします。
SOAインフラストラクチャの「ダッシュボード」ページが表示されます。このページには、次の詳細情報が表示されます。

- 重要な構成設定

- ランタイム・ヘルス・ステータス

- システム・バックログ

- ビジネス・トランザクション・フォルト

- コンポジットとアダプタ・エンドポイントの可用性

- エラー通知ルールのアラート

このページでは、ビジネス・フロー・インスタンスおよび一括リカバリ・ジョブのステータスを検索するための検索機能も提供します。一括リカバリ・ジョブ検索は、Oracle SOA SuiteでOracle Enterprise Schedulerがデプロイされている場合に適用されます。

4. 「SOAインフラストラクチャ」メニューは、ページ上部のsoa-infra名の下に表示されることに注意してください。

注意:

現在の場所に応じて、このメニューのコンテキストは、現在の場所に最も関連のある管理オプションを示すように変更されます。たとえば、次のとおりです。

- SOAコンポジット・アプリケーションのページでは、「SOAコンポジット」メニューが表示されます。

- 特定のパーティションのホーム・ページでは、「SOAパーティション」メニューが表示されます。

- 特定のパーティションまたはSOAコンポジット・アプリケーションのページ内で、「SOAインフラストラクチャ」メニューを引き続き使用できます。ただし、それはページの左上隅に移動します。

5. 「SOAインフラストラクチャ」メニューを選択します。

これらの管理オプションを使用すると、次のタスクを実行できます。

オプション

説明

ホーム

このオプションを使用すると、SOAインフラストラクチャの選択したタブに直接移動できます。

- ダッシュボード: このオプションを使用すると、重要な構成設定、ランタイム・ヘルス・ステータス、システム・バックログ、ビジネス・トランザクション・フォルト、コンポジットとアダプタ・エンドポイントの可用性およびエラー通知ルールのアラートを監視できます。ビジネス・フロー・インスタンスと一括リカバリ・ジョブの検索機能も使用できます。
詳細は、「SOAインフラストラクチャまたは個々のパーティションの全体的ステータスの監視」を参照してください。

- デプロイ済コンポジット: このオプションを使用すると、SOAインフラストラクチャ内のすべてのSOAコンポジット・アプリケーションの状態を管理できます。
詳細は、「SOAインフラストラクチャ・レベルでのすべてのアプリケーションの状態管理」を参照してください。

- フロー・インスタンス: このオプションを使用すると、SOAインフラストラクチャ内のビジネス・フロー・インスタンスのリストを表示できます。ビジネス・フローは、1つのフロー内で組み合された複数のSOAコンポジット・アプリケーションで構成できます。
詳細は、「ビジネス・フロー・インスタンスのトラッキング」を参照してください。

- エラー・ホスピタル: このオプションを使用すると、Oracle SOA Suite内で発生したフォルトを管理し、システム全体のフォルト・データに関連付けられている集計済統計を表示できます。
詳細は、「エラー・ホスピタルでのフォルトからのリカバリ」を参照してください。

監視

このオプションを選択すると、次の詳細が表示されます。

- SOAインフラストラクチャのパフォーマンス統計のサマリー

- バインディング・コンポーネント、サービス・インフラストラクチャおよびサービス・エンジン間でのリクエストのハンドシェイクに要した時間の詳細を示す、リクエスト処理の詳細

詳細は、「メッセージ配信リクエスト処理の監視」を参照してください。

ログ

このオプションを選択すると、ランタイム・ロガーのロギング・レベルを表示して構成できます。

詳細は、「ログ・ファイルの構成」および「トラブルシューティングのためのロギング・レベルの設定」を参照してください。

SOAデプロイ

このオプションを選択すると、SOAコンポジット・アプリケーションをデプロイ、アンデプロイまたは再デプロイできます。

詳細は、「SOAコンポジット・アプリケーションのデプロイおよび管理」を参照してください。

パーティションの管理

このオプションを選択すると、SOAインフラストラクチャをパーティションと呼ばれる個別のセクションに論理的にグループ化して、SOAコンポジット・アプリケーションをデプロイできます。これにより、コンポジットを論理的にグループ化して、多数のSOAコンポジット・アプリケーションに対する一括ライフ・サイクル管理タスクを実行できるようにします。

詳細は、「パーティションの概要」および「パーティションおよびワーク・マネージャ・グループの管理」を参照してください。

ワーク・マネージャ・グループ

このオプションを使用すると、ワーク・マネージャ・グループを管理できます。ワーク・マネージャ・グループは、各パーティションのOracle SOA Suiteで使用されるワーク・マネージャで構成されます。ワーク・マネージャは、論理スレッド・プールを表すOracle WebLogic Serverエンティティです。これは、作業アイテムが順番に処理を待機するキューに似ています。

詳細は、「ワーク・マネージャ・グループの管理」を参照してください。

リシーケンス・グループ

このオプションを使用すると、「メディエータ・リシーケンス・グループ」ページにアクセスし、指定した期間内に処理されたすべてのリシーケンス・グループを検索できます。リシーケンスによって、非同期のOracle Mediatorメッセージが正しい順序に戻ります。

詳細は、「リシーケンス・グループの監視」を参照してください。

サービス・エンジン

このオプションを選択すると、BPELプロセス、Oracle BPMN、Oracle Mediator、ヒューマン・ワークフロー、およびビジネス・ルールの各サービス・エンジンを監視および管理するタスクにアクセスできます。

バインディング

このオプションを選択すると、最新のアクティブなドキュメント・タイプと取引パートナ、およびOracle B2Bのインバウンド・エンドポイントとアウトバウンド・エンドポイントに関する詳細が表示されます。

詳細は、「Oracle B2Bインフラストラクチャの監視」を参照してください。

サービスと参照

このオプションを選択すると、すべてのSOAコンポジット・アプリケーション内のサービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントに対するメッセージ処理メトリックが表示されます。

詳細は、「SOAインフラストラクチャのサービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントの監視」を参照してください。

ビジネス・イベント

このオプションを選択すると、使用可能なビジネス・イベントおよび現在のイベント・サブスクライバが表示されます。

詳細は、「ビジネス・イベントの管理」を参照してください。

エラー通知ルール

このオプションを使用すると、エラー通知ルールを管理できます。ルールは、実行時にアラートを生成するために作成された構成定義です。アラートは、ルール条件が満たされた場合にトリガーされます(たとえば、48時間以内に10を超えるフォルトが発生した場合にトリガーするアラートを定義します)。

詳細は、「エラー通知ルールの作成」を参照してください。

注意: このオプションは、Oracle Enterprise SchedulerがOracle Enterprise Manager Fusion Middleware Controlとともにデプロイされている場合に表示されます。

スケジュールの定義

このオプションを使用すると、ジョブ送信用のスケジュールを定義できます。エラー通知ルールを作成するときは、定義済のスケジュールを選択します。スケジュールでは、スケジューラをトリガーする頻度(2分ごとにスケジューラを起動するなど)を指定します。

注意: このオプションは、Oracle Enterprise SchedulerがOracle Enterprise Manager Fusion Middleware Controlとともにデプロイされている場合に表示されます。

詳細は、Oracle Enterprise Schedulerの管理を参照してください。

SOA管理

このオプションを選択すると、SOAインフラストラクチャおよび各サービス・エンジンを構成する次のタスクにアクセスできます。

- 共通プロパティ: 構成プロファイルの表示と更新、SOAインフラストラクチャの監査レベルの設定、受信メッセージのペイロード検証の有効化、デフォルト問合せ期間の更新、コールバック・サーバーとサーバーURLの指定、分析およびセンサーの有効化と無効化、Universal Description, Discovery and Integration (UDDI)レジストリ・プロパティの設定、データソースJNDIロケーションの表示、致命的でない接続の再試行回数の設定、Webサービス・バインディング・プロパティの設定など、SOAインフラストラクチャ全体に影響を与えるプロパティの設定が可能です。
詳細は、「SOAインフラストラクチャ・プロパティの構成」を参照してください。

- BPELプロパティ: 監査証跡サイズ、変数の最大ドキュメント・サイズ、受信および送信メッセージのペイロード検証、監査証跡レベル、BPELモニターおよびセンサーの無効化ステータスの各設定が可能です。
詳細は、「BPELプロセス・サービス・エンジン・プロパティの構成」を参照してください。

- BPMNプロパティ: 監査証跡サイズ、変数の最大ドキュメント・サイズ、受信および送信メッセージのペイロード検証、監査証跡レベル、BPMNモニターおよびセンサーの無効化ステータスの各設定が可能です。このオプションは、Oracle BPM Suiteがインストールされている場合にのみ使用できます。
詳細は、「BPMNプロセス・サービス・エンジン・プロパティの構成」を参照してください。

- メディエータ・プロパティ: 監査レベル、メトリック・レベル、パラレル処理で取得する最大行数、パラレル・ロッカー・スレッド・スリープ値、コンテナIDのリフレッシュ時間、コンテナIDのリース・タイムアウト値、リシーケンサ・ロッカー・スリープ値、ロックする最大グループ数およびワーカー・スレッドの設定が可能です。
詳細は、「サービス・エンジン・プロパティの構成」を参照してください。

- ワークフロー・プロパティ: 次のタブが表示されます。
「メーラー」タブ: ワークフロー・サービス通知モード、およびアクション可能な電子メール・アドレス値の設定が可能です。詳細は、「ヒューマン・ワークフロー通知プロパティの構成」を参照してください。

「タスク」タブ: アクション可能な電子メール・アカウントの設定、ワークフロー・サービス・セッション・タイムアウトの設定、ワークフロー・カスタム・クラス・パスURLの追加、動的割当てとタスク・エスカレーション関数およびパラメータの設定、ワークリスト・アプリケーションURLの設定、タスク割当て先の設定、ポータル・レルム・マッピングの設定およびタスク・オート・リリース構成優先度の追加が可能です。詳細は、「ヒューマン・ワークフロー・タスク・サービス・プロパティの構成」を参照してください。

- B2Bサーバー・プロパティ: DMS(ダイナミック・モニタリング・サービス)メトリックを有効にできます。詳細は、「Oracle B2Bサーバーのプロパティの構成」を参照してください。

- 相互参照: 相互参照値を選択できます。詳細は、「相互参照値の削除」を参照してください。

- トークン構成: グローバル・トークン変数を定義および管理できます。環境間でSOAコンポジット・アプリケーションを移動する場合、各構成プランで一部の値の置換えが必要になります。各プランでの値の代替を回避するために、SOAコンポジット・アプリケーションの特定のURIに対してグローバル・トークン変数を定義できます。
詳細は、「複数のSOAコンポジット・アプリケーションのグローバル・トークン変数の管理」を参照してください。

- 自動パージ: 古いフロー・インスタンス、アダプタ・レポートおよびフォルト・アラート・データをデータベースから自動的に削除するパージ・ジョブのスケジュールおよび実行が可能です。
詳細は、「Oracle Enterprise Manager Fusion Middleware Controlを使用した大量のインスタンスの削除」を参照してください。

注意: このオプションは、Oracle SOA Suiteクイック・スタート・インストール・オプションに含まれるJavaデータベースを使用している場合は選択できません。このオプションの詳細は、『SOA SuiteおよびBusiness Process Management SuiteのQuick Start for Developersのインストール』を参照してください。

セキュリティ

このオプションを選択すると、次の選択項目が表示されます。

- アプリケーション・ポリシー: リソースへのアクセスを制御するために、アプリケーションが依存するアプリケーション・ポリシーを作成できます。

- アプリケーション・ロール: アプリケーションに対するアプリケーション・ロールを作成できます。
アプリケーション・ロールの詳細は、『Oracle Platform Security Servicesによるアプリケーションの保護』を参照してください。

このオプションは、SOAインフラストラクチャ(soa-infra)アプリケーションを含めたデプロイ済のすべてのJava EEアプリケーションについて使用可能です。これらのオプションは、SOAコンポジットのセキュリティ・ポリシーを構成しません。

ポリシーをコンポジット・アプリケーションにアタッチする方法の詳細は、「SOAコンポジット・アプリケーションのポリシーの管理」を参照してください。

管理

このオプションを選択すると、次の選択項目が表示されます。

- MDS接続: メタデータ・サービス(MDS)接続を管理できます。

- TopLinkセッション: Oracle TopLink永続フレームワークのキャッシュを管理できます。

- システムMBeanブラウザ: 複数のアプリケーションとコンポーネント間でプロパティの拡張構成を実施できます。
詳細は、「システムMBeanブラウザへの移動」を参照してください。また、システムMBeanブラウザの使用方法の詳細は、Oracle Fusion Middlewareの管理を参照してください。

Oracle Enterprise Manager Fusion Middleware ControlからのシステムMBeanブラウザを構成することに加え、WebLogic Scripting Tool(WLST)を使用したSOA構成のMBean操作も起動できます。詳細は、SOA Suite用WLSTコマンド・リファレンスを参照してください。

注意: Oracle BPM Suiteがインストールされていなくても、システムMBeanブラウザにはOracle BPMNのMBeanが含まれています。Oracle BPM Suiteがインストールされていない場合は、このMBeanを使用できないため、無視します。このMBeanが存在しても、他のOracle SOA Suiteコンポーネントの実行時の動作に影響はありません。

ターゲット情報

このオプションを選択すると、Oracle Enterprise Manager Fusion Middleware Controlのバージョン、Oracleホーム、OracleインスタンスなどのSOAインフラストラクチャに関する一般的な詳細が表示されます。

6. 手順GUID-54373B3E-0CF0-4E24-979D-FEBF947B4F96.htm#GUID-2809A0C6-7565-47F8-93E5-FD59033E8BE8__BEIFFGBBで表示された「soa-infra」リストから、特定のSOAコンポジット・アプリケーションを選択します。
「SOAインフラストラクチャ」メニューがナビゲータの上に表示され、SOAコンポジット・アプリケーションの各ページを参照している場合でも、同じ高レベルの管理オプションにアクセスできます。このメニューは、コンポジット・アプリケーションを選択すると位置が変わります。

7. ナビゲータで「soa-infra」を右クリックします。表示されたメニューでは、「SOAインフラストラクチャ」メニューに表示されている同じ管理オプションにアクセスできます。

2.2.2 SOAコンポジット・アプリケーションのホーム・ページおよびメニューからの移動

特定のSOAコンポジット・アプリケーションのOracle SOA SuiteおよびOracle BPM Suiteの管理タスクに直接移動できます。

SOAコンポジット・アプリケーションのホーム・ページおよびメニューから移動する手順は、次のとおりです。

1. ナビゲータで、「SOA」→「soa-infra」の順に開きます。

2. パーティションを展開します。

SOAインフラストラクチャのパーティションで実行中のすべてのSOAコンポジット・アプリケーションが表示されます。

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

選択したSOAコンポジット・アプリケーションのホーム・ページが表示されます。このページを使用すると、コンポジット管理タスク(リタイア、アクティブ化、停止、起動、テストなど)の実行と、SOAコンポジット・アプリケーションに組み込まれているサービス・コンポーネント、サービス・バインディング・コンポーネント、参照バインディング・コンポーネントの表示を行うことができます。

4. SOAコンポジット・アプリケーションの名前の下にある「SOAコンポジット」メニューを選択します。

これらの管理オプションを使用すると、次のタスクを実行できます。

オプション

説明

ホーム

このオプションを使用すると、SOAコンポジット・アプリケーションの選択したタブに直接移動できます。

- ダッシュボード: このオプションを使用すると、アプリケーションのホーム・ページから個々のSOAコンポジット・アプリケーションの状態(リタイア、停止、アクティブ化、起動、テストなど)を管理できます。
詳細は、「SOAコンポジット・アプリケーションのホーム・ページでのアプリケーションの状態管理」を参照してください。

- コンポジット定義: このオプションを使用すると、Oracle JDeveloper 12cで設計したSOAコンポジット・アプリケーションをグラフィカル表示できます。これは、Oracle JDeveloperでのSOAコンポジット・アプリケーションの表示と似ています。Oracle JDeveloper 11gで設計したSOAコンポジット・アプリケーションは表示されません。この問題を解決するには、Oracle JDeveloper 12cでSOAコンポジット・アプリケーションを再度オープンして再デプロイします。

- フロー・インスタンス: このオプションを使用すると、このSOAコンポジット・アプリケーション内のビジネス・フロー・インスタンスのリストを表示できます。ビジネス・フローは、1つのフロー内で組み合された複数のSOAコンポジット・アプリケーションで構成できます。

- ユニット・テスト: このオプションを使用すると、テスト・ケースを実行して、現在のSOAコンポジット・アプリケーションとそのWebサービス・パートナの間の相互作用を、本番環境へのデプロイメント前にシミュレートできます。このオプションは、コンポジットのテスト・インスタンスを生成します。
詳細は、「SOAコンポジット・アプリケーションの自動テストの概要」および「SOAコンポジット・アプリケーションのテストの自動化」を参照してください。

- ポリシー: このオプションを使用すると、ポリシーを表示し、SOAコンポジット・アプリケーションとの間でアタッチまたはデタッチできます。
詳細は、「ポリシーの概要」および「SOAコンポジット・アプリケーションのポリシーの管理」を参照してください。

監視

このオプションを選択すると、選択したSOAコンポジット・アプリケーションに関するパフォーマンス統計のサマリーが表示されます。

SOAデプロイ

このオプションを選択すると、このSOAコンポジット・アプリケーションのアンデプロイまたは再デプロイ、あるいは別のSOAコンポジット・アプリケーションのデプロイを実行できます。

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

エクスポート

このオプションを使用すると、デプロイされたSOAコンポジット・アプリケーションをJARファイルにエクスポートできます。

詳細は、「デプロイ済のSOAコンポジット・アプリケーションのエクスポート」を参照してください。

サービスのテスト

このオプションを選択すると、このデプロイ済SOAコンポジット・アプリケーションのインスタンスを「Webサービスのテスト」ページから手動で起動できます。

詳細は、「ビジネス・フローのテスト・インスタンスの起動」を参照してください。

SOAインフラストラクチャ

このオプションを選択すると、SOAインフラストラクチャの「ダッシュボード」ページに移動します。

詳細は、「SOAインフラストラクチャまたは個々のパーティションの全体的ステータスの監視」を参照してください。

SOAインフラストラクチャの共通プロパティ

このオプションを使用すると、構成プロファイルの表示と設定、SOAインフラストラクチャの監査レベルの設定、受信メッセージのペイロード検証の有効化、デフォルト問合せ期間の更新、コールバック・サーバーとサーバーURLの指定、分析とセンサーの無効化、Universal Description, Discovery and Integration (UDDI)レジストリ・プロパティの設定、データソースJNDIロケーションの表示、致命的でない接続の再試行回数の設定、Webサービス・バインディング・プロパティの設定が可能です。

詳細は、「SOAインフラストラクチャ・プロパティの構成」を参照してください

サービス/参照プロパティ

このオプションを選択すると、SOAコンポジット・アプリケーションに含まれるサービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントに対してWSDLファイル・プロパティを構成できます。

詳細は、「サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントのプロパティの構成」を参照してください

ターゲット情報

このオプションを選択すると、Oracle Enterprise Manager Fusion Middleware Controlのバージョン、Oracleホーム、Oracleインスタンス、コンポジットがデプロイされているパーティションなど、このSOAコンポジット・アプリケーションに関する一般的な詳細が表示されます。

5. ナビゲータでSOAコンポジット・アプリケーションの名前を右クリックします。表示されたメニューでは、「SOAコンポジット」メニューに表示されている同じ管理オプションにアクセスできます。

2.2.3 SOAフォルダのホーム・ページおよびメニューからの移動

SOAインフラストラクチャの特定のフォルダの管理タスクに移動できます。

SOAフォルダのホーム・ページおよびメニューから移動する手順は、次のとおりです。

1. 「ターゲット・ナビゲーション」ペインで「SOA」、「soa-infra」をクリックします。

SOAインフラストラクチャ・ページが表示されます。

2. 「SOAフォルダ」タブをクリックします。

SOAフォルダ・ページが表示されます。SOAフォルダ・ページを使用して、SOAインフラストラクチャのすべてのフォルダおよび各フォルダのコンポジット数を表示します。各フォルダのアクティブおよびリタイア済コンポジットの数も表示できます。「ダッシュボード」タブまたは任意のフォルダの「デプロイ済コンポジット」タブに移動できます。

3. フォルダ名をクリックして、フォルダのホーム・ページ(ダッシュボード)に移動します。

ダッシュボード・ページでは、フォルダの重要な構成設定、コンポジットとアダプタ・エンドポイントの可用性、ビジネス・トランザクション・フォルト、ビジネス・フロー・インスタンスと一括リカバリ・ジョブの検索機能、およびエラー通知ルールのアラートを監視できます。

4. ページ上部で、「SOA_Folder _Name」メニューを選択します。

これらの管理オプションを使用すると、次のタスクを実行できます。

オプション

説明

コンポジット制御

このオプションを選択すると、次の一括ライフ・サイクル管理タスクが表示されます。

- すべて起動: このフォルダに含まれるすべてのコンポジットを起動するためのダイアログを起動します。

- すべてシャットダウン: このフォルダに含まれるコンポジットをすべてシャットダウンするためのダイアログを起動します。

- すべてアクティブ化: このフォルダに含まれるすべてのコンポジットをアクティブ化するためのダイアログを起動します。

- すべてリタイア: このフォルダに含まれるすべてのコンポジットをリタイアするためのダイアログを起動します。

これらのコンポジットの状態の詳細は、「SOAインフラストラクチャ・レベルでのすべてのアプリケーションの状態管理」を参照してください。

SOAデプロイ

このオプションを選択すると、次の管理タスクが表示されます。

- このSOAフォルダにデプロイ: コンポジットを選択してこのパーティションにデプロイするために、「SOAコンポジットのデプロイ」ウィザードを起動します。

- このフォルダからすべてアンデプロイ: このフォルダに含まれるすべてのコンポジットをアンデプロイするためのダイアログを起動します。

- 再デプロイ: コンポジットを選択してこのフォルダに再デプロイするために、「SOAコンポジットの再デプロイ」ウィザードを起動します。

詳細は、「SOAコンポジット・アプリケーションのデプロイおよび管理」を参照してください。

このSOAフォルダの削除

このオプションを選択すると、このフォルダを削除するダイアログが起動されます。フォルダが削除される前に、フォルダ内のすべてのコンポジットが自動的にアンデプロイされます。

リシーケンス・グループ

このオプションを使用すると、「メディエータ・リシーケンス・グループ」ページにアクセスし、指定した期間内に処理されたすべてのリシーケンス・グループを検索できます。リシーケンスによって、非同期のOracle Mediatorメッセージが正しい順序に戻ります。

詳細は、「リシーケンス・グループの監視」を参照してください。

BPELリカバリ

リカバリ可能としてマークされたメッセージをリカバリまたは中断できる、BPELリカバリ・ページへのショートカット。

BPMNリカバリ

リカバリ可能としてマークされたメッセージをリカバリまたは中断できる、BPMNリカバリ・ページへのショートカット。

5. 「デプロイ済コンポジット」タブを選択して、フォルダのデプロイ済コンポジット・ページに移動します。
デプロイ済コンポジット・ページでは、フォルダ内のすべてのSOAコンポジット・アプリケーションの状態を管理できます。

6. 「フロー・インスタンス」タブを選択して、フォルダ内のデプロイ済コンポジットのメッセージ・フローを確認します。

フロー・インスタンスページでは、フォルダ内のビジネス・フロー・インスタンスのリストを表示できます。ビジネス・フローは、1つのフロー内で組み合された複数のSOAコンポジット・アプリケーションで構成できます。

詳細は、「ビジネス・フロー・インスタンスのトラッキング」を参照してください。

7. 「エラー・ホスピタル」タブを選択して、フォルダ内の集計済フォルトを確認します。

エラー・ホスピタル・ページでは、フォルダ内で発生したフォルトを管理し、フォルダ全体のフォルト・データに関連付けられている集計済統計を表示できます。

詳細は、「エラー・ホスピタルでのフォルトからのリカバリ」を参照してください。

フォルダの詳細は、「SOAフォルダの概要」および「SOAフォルダおよびワーク・マネージャ・グループの管理」を参照してください。

2.2.4 デプロイ済Java EEアプリケーションへの移動

Oracle SOA Suiteコンポーネントおよび(インストールされている場合)Oracle BPM Suiteコンポーネントに関連したデプロイ済Java EEアプリケーションに移動できます。これは、SOAシステム・コンポーネント(テクノロジ・アダプタ、Oracle B2B、Oracle BPM Worklistなど)を表すJava EEアプリケーションです。Webサービスをデプロイし、そのサービスがここにリストされていることを確認できます。また、個々のアプリケーション(例: デプロイ済Webサービス)をクリックし、WARファイルとEARファイルを管理してここからデプロイできることをテストできます。独自のJava EEアプリケーションをデプロイしている場合は、それらもここに表示されます。

デプロイ済Java EEアプリケーションに移動する手順は、次のとおりです。

1. ナビゲータで、「アプリケーションのデプロイ」を展開します。

2. 「内部アプリケーション」を展開します。

3. 「リソース・アダプタ」を展開します。

Oracle SOA SuiteおよびOracle BPM Suiteコンポーネントに関連したデプロイ済Java EEアプリケーションのリストが表示されます。

4. 特定のアプリケーションをクリックし、アプリケーション・パフォーマンスの詳細を表示します。

Oracle Enterprise Manager Fusion Middleware Controlにはデプロイ済モジュールすべてのURLが表示されますが、このページからは直接起動できません。

2.2.5 Oracle WebLogic Server管理コンソールおよび他のページへの移動

Oracle Enterprise Manager Fusion Middleware Controlのほとんどのページの右上隅には、「関連リンク」メニューがあります。現在の場所に応じて、このメニューのコンテキストは、関連ページへのリンクを示すように変更されます。たとえば、BPELプロセス・サービス・エンジンのページを参照している場合、「関連リンク」メニューには、SOAインフラストラクチャのホーム・ページ、BPELプロセス構成プロパティのページ、Oracle WebLogic Server管理コンソールへの各リンク、およびサービス・エンジン・ログ・ファイルに関するページへのリンクが表示されます。図2-1に詳細を示します。また、BPELサービス・エンジン・ページ上部の「soa-infra」をクリックすると、SOAインフラストラクチャのホーム・ページに直接移動することもできます。

図2-1 SOAコンポジット・アプリケーションの「関連リンク」メニュー

SOAコンポジット・アプリケーションのサービス・コンポーネント(BPELプロセスやOracle Mediatorなど)のページを参照している場合は、いくつかのナビゲーション・メニューおよびリンクを使用できます。

- 「関連リンク」メニューには、SOAインフラストラクチャのホーム・ページおよび適用可能なサービス・エンジンのホーム・ページへのリンクが表示されます。図2-2に詳細を示します。

- SOAコンポジット・アプリケーション内を移動すると、ブレッドクラムが左上隅に表示されます。

- SOAコンポジット・アプリケーション・ページ(サービス・コンポーネントのページを含む)内では、SOAインフラストラクチャのページへのリンクも、「SOAインフラストラクチャ」メニューを介して引き続き使用できます。このメニューは、ナビゲータの上にある「WebLogicドメイン」メニューの横に表示されます。たとえば、このメニューを使用すると、特定のBPELサービス・コンポーネントのホーム・ページから、BPELサービス・エンジンの構成プロパティのページに直接移動できます。

- ページ上部の名前をクリックすると、親のページに移動できます。たとえば、サービス・コンポーネント・ページの最上部にあるコンポジットの名前をクリックすると、そのコンポーネントが含まれているコンポジットに移動できます。

図2-2 SOAコンポジット・アプリケーションのサービス・コンポーネントの「関連リンク」メニュー

サービス・エンジン、SOA管理(「SOAインフラストラクチャの共通プロパティ」ページなど)およびビジネス・イベントの各ページでは、「関連リンク」リストからOracle WebLogic Server管理コンソールにアクセスできます。「WebLogic Serverコンソール」を選択すると、新しいブラウザ・ページが開き、Oracle WebLogic Server管理コンソールのログイン・プロンプトが表示されます。Oracle Enterprise Manager Fusion Middleware Controlの現在のページは、そのまま表示されます。ログイン後は、ホーム・ページが表示されます。図2-3に詳細を示します。

図2-3 Oracle WebLogic Server管理コンソール

次のOracle SOA Suiteタスクは、Oracle WebLogic Server管理コンソールから実行できます。

- コンポジット参照に対するアダプタ接続の構成。

- アダプタで使用するデータソースの作成と管理。

- アダプタで使用するJMSリソースの作成と管理。

- SOAインフラストラクチャ・データソースの管理(例: 接続プールの設定変更)。

- ヒューマン・ワークフロー・ユーザーのセキュリティの管理。

- Oracle WebLogic Serverトランザクション(JTA)の設定(例: トランザクション・タイムアウト値)の管理。

- ヒューマン・タスク・ユーザー・インタフェースのデプロイ。

2.2.6 WebLogicドメインのホーム・ページからSOAインフラストラクチャまたはSOAコンポジット・アプリケーションのホーム・ページへの移動

SOAインフラストラクチャ、特定のSOAパーティションまたは特定のSOAコンポジット・アプリケーションのホーム・ページには、WebLogicドメインのホーム・ページからアクセスできます。

SOAインフラストラクチャまたはSOAコンポジット・アプリケーションのホーム・ページに移動するには、次の手順を実行します。

1. WebLogicドメインのホーム・ページの「デプロイメント」セクションで、「soa-infra」または特定のSOAコンポジット・アプリケーションをクリックします。

選択した項目のホーム・ページが表示されます。

2.3 状況依存オンライン・ヘルプへのアクセス

Oracle Enterprise Manager Fusion Middleware Controlの各ページでは、「ヘルプ」メイン・メニューの「このページのヘルプ」オプションから、状況依存ヘルプにアクセスできます。

状況依存オンライン・ヘルプにアクセスする手順は、次のとおりです。

1. ページの右上隅で、「weblogic」→「ヘルプ」メイン・メニューから「このページのヘルプ」を選択します。

該当ページのフィールドについて説明する状況依存ヘルプが表示されます。

「ヘルプ」メイン・メニュー・リストには、次の選択項目が示されます。

選択項目

説明

目次

Oracle Enterprise Manager Fusion Middleware Controlの関連ガイドへのリンクとともに目次が表示されます。

このページのヘルプ

選択したページの選択可能フィールドについて説明する状況依存ヘルプが表示されます。

使用方法

選択したページに関連する概要および手順のドキュメントへのリンクが表示されます。

ドキュメント・ライブラリ

Oracle Fusion Middlewareドキュメント・ライブラリのメイン・ページが表示されます。

ユーザー・フォーラム

Oracle Fusion Middlewareユーザー・フォーラムが表示されます。

Oracle Technology Network

Oracle Fusion MiddlewareのOracle Fusion Middlewareメイン・ページが表示されます。

2.4 システムMBeanブラウザへのナビゲート

Oracle SOA Suiteの構成パラメータの一部はOracle Enterprise Manager Fusion Middleware Controlのプロパティ・ページに公開されません。ただし、これらのパラメータはシステムMBeanブラウザを使用して変更できます。

マネージドBean (MBean)は、アプリケーション、サービス、コンポーネント、デバイスなど、分散環境内のJava Management Extensions (JMX)管理可能リソースを表すJavaオブジェクトです。Oracle Enterprise Manager Fusion Middleware Controlでは、特定の監視タスクおよび構成タスクを実行するMBeanを管理するためのシステムMBeanブラウザが用意されています。

この項では、システムMBeanにアクセスする各種の方法を説明し、個別のSOAインフラストラクチャおよびサービス・コンポーネントのプロパティを編集する方法を説明する参照ドキュメントを紹介します。

システムMBeanブラウザについての一般的な情報は、Oracle Fusion Middlewareの管理のFusion Middleware ControlのMBeanブラウザの使用のスタート・ガイドに関する項を参照してください。

2.4.1 メイン・ページからのシステムMBeanブラウザへのアクセス

「システムMBeanブラウザ」メイン・ページに直接アクセスできます。メイン・ページでは、システムMBeanブラウザ内のすべてのプロパティにアクセスできます。管理対象のセクションまでナビゲーション・ツリーを移動する必要があります。

メイン・ページからシステムMBeanブラウザにアクセスする手順は次のとおりです。

1. ナビゲータで「soa-infra」を右クリックします。

2. 「管理」→「システムMBeanブラウザ」を選択します。

「システムMBeanブラウザ」が表示されます。

3. 「アプリケーション定義のMBeans」まで下にスクロールします。

4. 「アプリケーション定義のMBeans」を展開して、特定のセクションにアクセスします。名前がわかっている場合は(BPELConfigなど)、上部の「検索」フィールドも使用できます。

このセクションには多くのOracle SOA Suiteコンポーネントのプロパティが表示されます。

5. 構成が必要なプロパティが含まれるコンポーネントを展開します。たとえば、「oracle.as.soainfra.config」→「サーバー: server_name」→「BPELConfig」→「bpel」の順に展開します。また、この場所には、「「コンポーネント・プロパティ」ページからのシステムMBeanブラウザへのアクセス」の手順3で説明されている「詳細BPEL構成プロパティ」ショートカットをクリックしてもアクセスできます。

このガイドでは、システムMBeanブラウザのメイン・ページから構成プロパティにナビゲートする様々な例を示します。ここではいくつかの例を紹介します。

- BPELプロセスについては、「BPELプロセス・サービス・コンポーネント・レベルでの監査レベルの設定」を参照してください

- Oracle Mediatorの詳細は、「サービス・エンジン・プロパティの構成」を参照してください

- ヒューマン・ワークフローについては、「タスクに対するオート・リリース・タイマーのグローバルな無効化」を参照してください

- BPMNプロセスについては、「タスク2: Oracle BAM 11g Monitor ExpressへのOracle BPMデータ・パブリッシュの有効化」を参照してください

2.4.2 「コンポーネント・プロパティ」ページからのシステムMBeanブラウザへのアクセス

システムMBeanブラウザには、Oracle SOA Suiteコンポーネントのプロパティ・ページの様々なメニューからもアクセスできます。これらのショートカットを使用すると、「アプリケーション定義のMBeans」グループのoracle.as.soainfra.configセクションなど、MBeanツリーの個別のセクションに直接アクセスできます。これにより、SOAインフラストラクチャおよびサービス・コンポーネントの共通プロパティの多くに迅速にアクセスできます。

コンポーネントのプロパティ・ページからシステムMBeanブラウザにアクセスする手順は次のとおりです。

1. ナビゲータで「soa-infra」を右クリックします。

2. 「SOA管理」を選択します。

3. システムMBeanブラウザのプロパティの管理対象の適切なコンポーネントを選択し、ページを下にスクロールしてショートカットにアクセスします。

選択

スクロール先およびクリック対象

参照先

共通プロパティ(SOAインフラストラクチャ)

詳細SOAインフラ拡張構成プロパティ

SOAインフラストラクチャ・プロパティの構成

BPELプロパティ

詳細BPEL構成プロパティ

BPELプロセス・サービス・エンジンのプロパティの構成

BPMNプロパティ

注意: このオプションはOracle BPM Suiteがインストールされている場合のみ表示され選択可能になります。

詳細BPMN構成プロパティ

「BPMNプロセス・サービス・エンジン・プロパティの構成」。

メディエータ・プロパティ

詳細メディエータ構成プロパティ

「サービス・エンジン・プロパティの構成」。

「ワークフロー・プロパティ」→「メーラー」タブ

詳細ワークフロー通知構成プロパティ

ヒューマン・ワークフローの通知プロパティの構成

「ワークフロー・プロパティ」→「タスク」タブ

詳細ワークフロー・タスク・サービス構成プロパティ

ヒューマン・ワークフロー・タスク・サービス・プロパティの構成

B2Bサーバー・プロパティ

詳細B2B構成プロパティ

「Oracle B2Bサーバーのプロパティの構成」。

自動パージ

その他の自動パージ構成のプロパティ

「Oracle Enterprise Manager Fusion Middleware Controlを使用した大量のインスタンスの削除」。

たとえば、「詳細BPEL構成プロパティ」リンクを選択すると、システムMBeanブラウザの「oracle.as.soainfra.config」→「Server: server_name」→「BPELConfig」→「bpel」セクションに自動的に移動します。構成するプロパティは、ページの右側に表示されます。

2.5 Oracle Enterprise Manager Fusion Middleware Controlからのログアウト

この項では、Oracle Enterprise Manager Fusion Middleware Controlのログアウト方法について説明します。

Oracle Enterprise Manager Fusion Middleware Controlからログアウトするには:

1. ログアウトについては、次の詳細に注意してください。

- 複数のページ(例: ヘルプ・ダイアログ、トポロジ・ビューア、フローのトレース)が開いている場合は、いずれかのページからログアウトすると、開いているすべてのページでアプリケーション全体からログアウトします。

- 未保存の構成変更がある状態でログアウトした場合、警告メッセージは表示されず、変更は失われます。

2. ページの右上隅で、「weblogic」をクリックし、メニューから「ログアウト」を選択します。

2.6 アクセシビリティ・オプションの設定

Oracle Enterprise Manager Fusion Middleware Controlによって、アプリケーションを監視および管理するページにアクセシビリティ・オプションが提供されます。Oracle Enterprise Manager Fusion Middleware Controlはスクリーン・リーダーをサポートし、キーボード・ナビゲーションをサポートするための標準のショートカット・キーを提供しています。読みやすくするために、コンソール・ページを高コントラストで表示したり、大きなフォントで表示したりすることもできます。Oracle Enterprise Manager Fusion Middleware Controlでアクセシビリティを構成する方法の詳細および手順は、『Oracle Fusion Middleware』の管理のOracle Fusion Middlewareアクセシビリティ・オプションの使用に関する項を参照してください。

第III部 SOAインフラストラクチャの管理

この部では、SOAインフラストラクチャの管理方法について説明します。

この部は、次の章で構成されています。

- SOAインフラストラクチャの構成

- 監視

- ビジネス・フロー・インスタンスのトラッキング

- エラー・ホスピタルでのフォルトからのリカバリ

- パーティションおよびワーク・マネージャ・グループの管理

3 SOAインフラストラクチャの構成

この章では、Oracle SOA SuiteおよびOracle BPM Suiteのプロファイル、監査レベル、ペイロード検証およびデフォルト問合せ期間を含む、SOAインフラストラクチャのプロパティを構成する方法について説明します。これらのプロパティ設定は、SOAインフラストラクチャで実行されているすべてのSOAコンポジット・アプリケーションに適用できます。また、ローカルの最適化の構成方法、管理対象サーバーとSOAインフラストラクチャの起動と停止方法、およびグローバル・トークン変数の作成方法についても説明します。

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

- SOAインフラストラクチャ・プロパティの構成

- 管理対象サーバーとSOAインフラストラクチャの停止と起動

- システムMBeanブラウザでのSOAインフラストラクチャ・サーバーURLプロパティ・ポートの変更

- ログ・ファイルの構成

- カスタムXAドライバのサポートのためのドライバ名の変更

- XAデータ・ソースへのデフォルト以外のXAトランザクション・タイムアウト値の指定

- データベース固有の処理スレッドの構成

- ローカルの最適化の構成

- 複数のSOAコンポジット・アプリケーションのグローバル・トークン変数の管理

- SOAでのフォルト増大の回避

SOAインフラストラクチャの詳細は、「SOAインフラストラクチャ・アプリケーションの概要」を参照してください。

3.1 SOAインフラストラクチャ・プロパティの構成

「SOAインフラストラクチャの共通プロパティ」ページでは、次のSOAインフラストラクチャ・プロパティを構成できます。

- Oracle SOA SuiteおよびOracle BPM Suiteのプロファイル

- 監査レベル

- ペイロードの検証

- フロー・インスタンスとフォルトのデータを取得する期間

- Universal Description, Discovery, and Integration (UDDI)レジストリ

- コールバック・サーバーとサーバーURL

- 分析、BPELセンサー、およびコンポジット・エディタ

- Java Naming and Directory Interface (JNDI)データソース

- Webサービス・バインディング・プロパティ

このレベルで設定したプロパティは、コンポジット・アプリケーションまたはサービス・エンジン・レベルで異なる監査レベル値を明示的に設定したコンポジットを除いて、すべてのデプロイ済SOAコンポジット・アプリケーションに影響を与えます。

SOAインフラストラクチャの追加の拡張プロパティは、システムMBeanブラウザを使用して構成できます。これらのプロパティには、この項で説明するように、「共通プロパティ」ページの「詳細SOAインフラ拡張構成プロパティ」リンクからアクセスするか、または「SOAインフラストラクチャ」メニューから「管理」→「システムMBeanブラウザ」→「アプリケーション定義のMBean」→「oracle.as.soainfra.config」の順に選択してアクセスできます。

SOAインフラストラクチャ・プロパティは、SOAインフラストラクチャに関連付けられたOracle Metadata Services (MDS)リポジトリに格納されています。Oracle SOA Suiteの場合、MDSリポジトリはデフォルトでコンテンツがデータベースに格納されるように構成されています。

3.1.1 SOAインフラストラクチャ・プロパティを構成する手順は、次のとおりです。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

SOAコンポジットのメニューから...

a. 「SOA管理」→「共通プロパティ」の順に選択します。

a. 「soa-infra」を右クリックします。

b. 「SOA管理」→「共通プロパティ」の順に選択します。

a. 「SOAインフラストラクチャの共通プロパティ」を選択します。

「SOAインフラストラクチャの共通プロパティ」ページが表示されます。

注意:

- 一部のプロパティ・フィールドには、緑と赤の矢印アイコンが表示されています。これらのプロパティ(例: Server URL)を変更する場合は、SOAインフラストラクチャを再起動する必要があります。

- 「適用」をクリックせずにこのページを終了すると、変更は保存されません。

- プロパティを変更した後に元の値にリセットする場合は、「元に戻す」をクリックします。

「SOAインフラストラクチャの共通プロパティ」ページのプロパティについては、次の項で説明します。

- Oracle BPM Suiteプロファイルの構成

- 監査証跡、ペイロード検証およびデフォルト問合せ期間の構成

- UDDIレジストリ・プロパティの構成

- コールバック・サーバーおよびサーバーURLの構成

- 分析およびセンサーの構成

- データ・ソースおよびWebサービス・バインディング・プロパティの構成

- SOAインフラストラクチャ拡張構成プロパティの構成

3.1.2 Oracle SOA SuiteおよびOracle BPM Suiteのプロファイルの構成

Oracle SOA Suiteプロファイルは、機能のサブセットを提供します。プロファイルを選択し、SOAサーバーを再起動して、選択したSOAテクノロジをアクティブ化します。ドメインで一度にアクティブにできるSOAプロファイルは1つのみです。SOAプロファイルには、次の利点があります。

- SOAインフラストラクチャの全体的なメモリー・フットプリントを削減します。

- Oracle SOA Suiteをよりモジュール性の高いプラットフォームにします。使用する必要がある機能のみをロードします。

- サーバーの全体的なクラス・ロードを削減し、全体の起動時間を短縮します。

デフォルト・プロファイルはインストール時に自動的に設定されます。(Oracle BPM Suiteを使用しない) Oracle SOA Suiteのインストールでは、デフォルト・プロファイルはSOA Foundationです。Oracle BPM Suiteのインストールでは、デフォルト・プロファイルはBPM Basicです。Oracle SOA Suiteをリリース11gからリリース12cにアップグレードする場合、プロファイルはSOA Classicに設定されます。Oracle BPM Suiteをリリース11gからリリース12cにアップグレードする場合、プロファイルはBPM Classicに設定されます。

プロファイルは慎重に構成する必要がある高度な機能です。次の問題を理解しておいてください。

- プロファイルの変更が正常に実行されないと、システムが不安定な状態になります。この操作は、資格のあるSOA管理者だけが実行する必要があります。

- プロファイルの変更後、SOAサーバーを再起動して、様々なコンポーネント/アプリケーションのクラス・ローダーをリセットし、Oracle WebLogic Serverインスタンスがプロファイル変更で無効になったコンポーネントのリソースを保持しないようにする必要があります。

- SOAプロファイルは全SOAテクノロジのサブセットを定義しているため、SOAコンポジット・アプリケーションの既存のインストール・ベースの正しいプロファイルを選択する際に注意してください。必要なSOAテクノロジをサポートしていない小規模なプロファイルを選択すると、コンポジット・デプロイメントやランタイムのエラーが発生する可能性があります。たとえば、プロファイルをSOA FoundationからBPEL Onlyに変更したときに、ヒューマン・タスクを含むビジネス・フロー・インスタンスがあると、コンポジットのヒューマン・タスクは機能しなくなります。

- プロファイルは、Oracle WebLogic Server上でのみサポートされます。

- プロファイルを変更すると、実行時にインストールされたテンプレート・セットを特定するためにドメインが問合せされ、この情報を使用して、現在のインストールでどのプロファイルが有効か決定されます。

プロファイルを変更する手順は、次のとおりです。

1. 「プロファイルの変更」をクリックします。

2. 目的のプロファイルを選択して、「OK」をクリックします。

プロファイル・タイプ

プロファイルの説明

提供されるアダプタ・セット

BPM Classic

リリース11gで有効にされたOracle SOA SuiteおよびOracle BPM Suiteの機能 (BPEL、BPMN、ケース管理、Oracle Mediator、Oracle B2B、ヒューマン・ワークフローおよびビジネス・ルール)を含みます。リリース11gから12cにアップグレードする場合、これがデフォルト・プロファイルです。

完全なアダプタ・セットが含まれます(ファイル、FTP、データベース、JMS、MQSeries、AQ、E-Business Suite、User Messaging Service、ソケット、LDAP、Coherence、MSMQおよびJDE)。

SOA Foundation

SOA Foundation機能(BPEL、ヒューマン・ワークフロー、Oracle Mediatorおよびビジネス・ルール)を含みます。

一部のアダプタ・セットが含まれます(ファイル、FTP、データベース、JMS、MQSeries、AQ、E-Business SuiteおよびUser Messaging Service)。

SOA Foundation With B2B

SOA FoundationおよびOracle B2Bの機能(BPEL、ヒューマン・ワークフロー、Oracle Mediator、ビジネス・ルールおよびOracle B2B)を含みます。

完全なアダプタ・セット。

SOA Foundation With Healthcare

SOA FoundationおよびOracle B2Bの機能(BPEL、ヒューマン・ワークフロー、Oracle Mediator、ビジネス・ルールおよびOracle B2B)を含みます。

完全なアダプタ・セット。

BPM Enterprise

標準のOracle SOA SuiteおよびOracle BPM Suiteの機能 (BPEL、BPMN、ケース管理、ヒューマン・ワークフロー、Oracle Mediatorおよびビジネス・ルール)を含みます。

完全なアダプタ・セット。

Orchestration

BPELおよびヒューマン・ワークフローの機能を含みます。

一部のアダプタ・セット。

BPM Basic

標準のOracle SOA Suiteプラットフォーム、Oracle B2BおよびOracle BPMテクノロジー(BPEL、BPMN、ケース管理、ヒューマン・ワークフロー、ビジネス・ルールおよびOracle B2B)を含みます。

一部のアダプタ・セット。

SOA Classic

リリース11gで有効にされたOracle SOA Suiteの機能 (BPEL、BPMN、ケース管理、Oracle Mediator、Oracle B2B、ヒューマン・ワークフローおよびビジネス・ルール)を含みます。リリース11gから12cにアップグレードする場合、これがデフォルト・プロファイルです。

完全なアダプタ・セット。

BPEL Only

BPELサービス・コンポーネントを含みます。これは、BPELのみをサポートする最小限のプロファイルです

一部のアダプタ・セット。

SOA Foundation Enterprise

SOA Foundation機能(BPEL、ヒューマン・ワークフロー、Oracle Mediatorおよびビジネス・ルール)を含みます。

完全なアダプタ・セット。

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

「適用」をクリックするまでは、「元に戻す」をクリックしてプロファイルの変更を元に戻すことができます。また、別のプロファイルを選択し(たとえば説明を表示するため)、このダイアログで「取消」をクリックした場合、変更は行われません。

4. Oracle WebLogic Serverを即時に再起動します。

SOAインフラストラクチャ・デプロイメントを含むサーバーは、再起動する必要があります。

- SOAインフラストラクチャが管理サーバーにデプロイされている場合は、再起動する必要があります。

- SOAインフラストラクチャが管理対象サーバーまたは管理対象サーバーのクラスタにデプロイされている場合は、これらのサーバーをすべて再起動する必要があります。

3.1.3 監査証跡、ペイロード検証およびデフォルト問合せ期間の構成

SOAインフラストラクチャでペイロード検証、監査証跡およびデフォルト問合せ期間を構成できます。次の表に、各プロパティの説明を示します。

監査証跡、ペイロード検証およびデフォルト問合せ期間を構成する手順は、次のとおりです。

1. 使用環境に適した変更を行います。

要素

説明

監査レベル

メッセージ・トラッキング・インフラストラクチャによって収集する情報のレベルを選択します。この情報は、SOAインフラストラクチャに関連付けられたインスタンス・データ・ストア(データベース)に収集されます。この設定によって、ログ・ファイルへの書込み内容が影響を受けることはありません。

- オフ: ビジネス・フロー・インスタンス・トラッキングおよびペイロード・トラッキング情報は収集されません。ビジネス・フロー・インスタンスはこれ以上作成できません。ロギングは実行されません。Oracle Enterprise Manager Fusion Middleware Controlでロギングとインスタンスの表示を無効にすると、インスタンスの処理でパフォーマンスが少し向上することがあります。インスタンスは作成されますが、表示されません。

- 開発: ビジネス・フロー・インスタンス・トラッキングとペイロード詳細トラッキングの両方を有効化します。ただし、この設定はパフォーマンスに影響を与える可能性があります。このレベルは主に、テストおよびデバッグの際に便利です。

- 本番: ビジネス・フロー・インスタンス・トラッキングが収集されますが、Oracle Mediatorサービス・エンジンではペイロード詳細が収集されず、BPELプロセス・サービス・エンジンではassignアクティビティ用のペイロード詳細が収集されません(その他のBPELアクティビティのペイロード詳細は収集されます)。このレベルは、通常の本番操作に最適です。これはデフォルト値です。

SOAコンポジット・アプリケーションの監査レベルを下げること、およびOracle SOA Suiteスキーマへの書込みの詳細は、「監査レベルの低減」を参照してください。

ペイロードの検証

受信メッセージと送信メッセージの検証を有効にする場合に選択します。スキーマに準拠しないペイロード・データが捕捉され、フォルトとして表示されます。デフォルトでは、このチェック・ボックスは選択されていません。

デフォルト問合せ期間

インスタンスとフォルトのデータを取得する期間を指定します。またはデフォルト値の24時間を受け入れます。このプロパティは、即時利用可能な問合せによってデフォルトでフェッチされるインスタンスおよびフォルト・データの量を制御します。この値は、問合せ/検索の機能があるページ(たとえば、問合せ機能を含むダッシュボード・ページ・リージョン、フロー・インスタンス・ページ、エラー・ホスピタル・ページ、リシーケンサ・ページなど)のデフォルトの時間範囲値としても表示されます。必要に応じて、対応するページでこの値をオーバーライドできます。

注意: Oracle Enterprise Manager Fusion Middleware Controlの複数のページおよび問合せのパフォーマンスに大きく影響するため、期間を設定することを強くお薦めします。

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

3. プロパティを変更した後に元の値にリセットする場合は、「元に戻す」をクリックします。

3.1.4 UDDIレジストリ・プロパティの構成

SOAインフラストラクチャで実行されているSOAコンポジット・アプリケーションは、UDDIレジストリに統合できます。このUDDIレジストリでは、公開サービスの検索、およびサービスに関するメタデータの管理(セキュリティ、トランスポートまたはサービスのクオリティ)を実行するための標準ベースの基盤が提供されます。ニーズを満たす公開されたサービスを参照および選択できます。

「ユーザー」および「パスワード」プロパティは、UDDIレジストリが保護されている場合に適用できます。これらのプロパティは、Oracle Service Registry (OSR)のセキュアHTTP構成にのみ使用されます。「照会URL」プロパティはパブリックです。

UDDIレジストリ・プロパティを構成する手順は、次のとおりです。

1. 使用環境に適した変更を行います。

要素

説明

例

照会URL

問い合せるマスター・レジストリのURLを入力します。このURLでスレーブ・レジストリ自体を参照しないでください。参照すると、データの一部を失う可能性があります。照会URLによって、完全標準のUDDIバージョン3構造が取得されます。これは、UDDIレジストリ接続の作成ウィザードで指定したUDDI照会URLと同じです。

http://master.mycompany.com:8888/registry/uddi/inquiry

ユーザー

レジストリ照会ユーザーを入力します。

admin

パスワード

マスター・レジストリ照会ユーザーのパスワードを入力します。

問題のないセキュリティ・プラクティスを使用したパスワードを入力してください。

エンドポイント参照とサービス・キーの設定の詳細は、「Oracle Service Registryと統合している場合のエンドポイント参照およびサービス・キーの変更」を参照してください。

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

3. プロパティを変更した後に元の値にリセットする場合は、「元に戻す」をクリックします。

3.1.5 コールバック・サーバーおよびサーバーURLの構成

「サーバーURL」セクションには、次のプロパティが表示されます。ここでプロパティを明示的に設定しない場合、プロパティ値は実行時にOracle WebLogic Serverクラスタ、Webサーバーまたはローカル・サーバーのプロパティを問い合せて決定されます。

コールバック・サーバーおよびサーバーURLを構成する手順は、次のとおりです。

1. 使用環境に適した変更を行います。

要素

説明

コールバック・サーバーURL

コールバック・サーバーURLを入力します。この設定は、SOAコンポジット・アプリケーション・サービスおよび参照コールバックのすべてに適用されます。通常、この設定は、http://host:portの形式になります。SOAPサービスURLを構成するために使用されます(たとえば、非同期でレスポンスをコール元に送信するサービス・コール先の場合はhttp://host:port/endpoint-context-uri)。

サーバーURL

サーバーURLを入力します。このURLは、具体的なWSDLファイルでサービスのSOAPアドレスの一部として公開されます。

注意: SOAPの最適化は自動的に構成されます。したがって、12cにアップグレードし、既存のアプリケーションで最適化されたショートカットを使用する場合、最適化されたコールがアクティブになるのは、ホスト名の値(composite.xmlファイルのWSDL URLを参照)と「サーバーURL」の値が一致する場合のみです。両方の値をホスト名(例: myhost)または完全ドメイン名(例: myhost.domain.com)に設定してください。両方の値が一致しない場合は、最適化されたローカル・コールではなく、通常のSOAPコールが実行されます。

ローカルの最適化の詳細は、「ローカルの最適化の構成」を参照してください。

注意:

「コールバック・サーバーURL」および「サーバーURL」の値を変更する場合は(たとえば、テスト環境から本番環境に移行する場合)、WSDLを再生成するためにOracle WebLogic Serverを再起動する必要があります。

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

3. プロパティを変更した後に元の値にリセットする場合は、「元に戻す」をクリックします。

3.1.6 分析およびセンサーの構成

「分析とセンサーの構成」セクションでは、分析、BPELセンサーおよびコンポジット・センサーの収集を管理できます。デフォルトでは、すべての選択が有効です。

「SOAインフラストラクチャの共通プロパティ」ページで選択を無効または有効にする場合は、次の優先順位に注意してください。

- 共通プロパティ・ページで選択を無効にすると、すべてのSOAコンポジット・アプリケーションでその選択に関するデータのコレクションが無効になります。たとえば、共通プロパティ・ページでコンポジット・センサーを無効にする場合、この変更の後に作成された任意のフロー・インスタンスに関するコンポジット・センサーの詳細は収集されません。

- 共通プロパティ・ページで選択を有効にすると、個々のSOAコンポジット・アプリケーション・レベルでその設定を無効にすることができます。たとえば、共通プロパティ・ページでコンポジット・センサーを有効にし、ホームページの「設定」→「分析とセンサーの有効化/無効化」で個々のSOAコンポジット・アプリケーション(LoanFlowなど)のコンポジット・センサーを無効にする場合、この変更の後にLoanFlow SOAコンポジット・アプリケーションの任意のインスタンスに対してコンポジット・センサーの詳細は収集されません。ただし、他のすべてのフロー・インスタンスはコンポジット・センサーの詳細を収集し続けます。

分析およびセンサーを構成する手順は、次のとおりです。

1. 使用環境に適した変更を行います。

要素

説明

分析

SOAコンポジット・アプリケーション内の分析のコレクションを管理する場合に使用します。有効な場合、分析では、次のタスクを実行できます。

- プロセスまたはプロセス内のセクションの特定の時点でビジネス・インジケータを測定します。

- Oracle BAM Serverに送信され、分析やグラフィカル表示に使用されるBPELプロセス・メトリックを取得します。

BPELセンサー

SOAコンポジット・アプリケーション内のBPELセンサーの詳細のコレクションを管理する場合に使用します。有効な場合、BPELセンサーでは、コンポジットに定義されている任意のフォルト、アクティビティおよび変数センサーが収集されます。

コンポジット・センサー

SOAコンポジット・アプリケーション内のコンポジット・センサーの詳細のコレクションを管理する場合に使用します。有効な場合、コンポジット・センサーでは、次のタスクが実行されます。

- 受信メッセージおよび送信メッセージを監視できます。

- Oracle Enterprise Manager Fusion Middleware ControlのSOAコンポジット・アプリケーションの「フロー・インスタンス」ページの検索ユーティリティでコンポジット・センサーの詳細を指定します。この処理によって、特定のインスタンスを検索できます。

- 受信メッセージおよび送信メッセージから計算されたJMSデータをパブリッシュします。

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

3. プロパティを変更した後に元の値にリセットする場合は、「元に戻す」をクリックします。

個々のSOAコンポジット・アプリケーションでの分析およびセンサーの設定の詳細は、「分析、BPELセンサーおよびコンポジット・センサー・データの収集の無効化および有効化」を参照してください。

3.1.7 データ・ソースおよびWebサービス・バインディング・プロパティの構成

データ・ソースを使用すると、データベース・サーバーへの接続を取得できます。

データ・ソースおよびWebサービス・バインディング・プロパティを構成する手順は、次のとおりです。

1. 「拡張」セクションを展開します。

「データソース」セクションには、次のプロパティが表示されます。

2. 使用環境に適した変更を行います。

要素

説明

例

サーバー・データ・ソースJNDI

サーバー・データソースのJNDIロケーションが表示されます。「構成」をクリックして、Oracle WebLogic Server管理コンソールの「データ・ソース構成」ページに進みます。このデータソースに対しては、グローバル・トランザクション・サポートを無効にする必要があります。

jdbc/SOALocalTxDataSource

サーバー・トランザクション・データ・ソースJNDI

サーバー・トランザクション・データソースのJNDIロケーションが表示されます。「構成」をクリックして、Oracle WebLogic Server管理コンソールの「データ・ソース構成」ページに進みます。グローバル・トランザクションのデータソースを構成する必要があります。

jdbc/SOADataSource

致命的でない接続の再試行回数

失敗するまでに致命的でない接続エラーを再試行できる最大回数を入力します。このタイプのエラーは、デハイドレーション・ストアでの接続エラー(Oracle Real Application Clustersのフェイルオーバー、データベース停止など)に対して発生します。

10

「Webサービス・バインディング・プロパティ」セクションには、次のオプションが表示されます。

3. 使用環境に適した変更を行います。

要素

説明

例

Oracle SSL暗号

Oracleでサポートされている暗号のリストを入力します。

暗号スイートは、データ送信に対してセキュリティを提供する一連のアルゴリズムです。SSL接続内でのデータの移動を可能にするには、使用する共通アルゴリズムについて、接続の両側がネゴシエーションする必要があります。

SSL_RSA_WITH_RC4_128_MD5

Oracle Walletパスワード

キーストア用のウォレット・パスワードを入力します。

問題のないセキュリティ・プラクティスを使用したパスワードを入力してください。

チャンクの使用

選択すると、SOAP over HTTP配信用のデータのチャンクが有効になります。

- -

チャンク・サイズ

チャンク・サイズを指定します。値は999以下である必要があります。このサイズはSOAP over HTTP配信で使用され、バイト単位で指定します。

500

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

5. プロパティを変更した後に元の値にリセットする場合は、「元に戻す」をクリックします。

3.1.8 SOAインフラストラクチャ拡張構成プロパティの構成

拡張パラメータを変更するには、「詳細SOAインフラ拡張構成プロパティ」をクリックします。これにより、「システムMBeanブラウザ」が開きます。表示されるプロパティの一部を次に示します。各プロパティには説明が記載されています。

- AuditConfig: BPELメッセージ・リカバリのステータス。このプロパティには、次のキーが含まれています。

- excludeBpelMaxCreationTimeキー: リカバリが必要なメッセージを除外する期間を設定できます。詳細は、「SOAインフラストラクチャまたは個々のパーティションの全体的ステータスの監視」を参照してください。

- CreateWSCallTrackingMBean: Webサービス・コールの経過時間を追跡するMBeanの作成を制御します。経過時間のしきい値を超えると、インシデントが作成されます。trueに設定した場合は、監視を作成できます。この設定は、SOAインフラストラクチャ内のすべてのSOAコンポジット・アプリケーションに適用されます。詳細は、「監視および通知の作成」を参照してください。

- GlobalTxMaxRetry: 呼出し例外を再試行できる最大回数。

- GlobalTxRetryInterval: 呼出し例外の再試行間隔(秒数)。

- HttpServerURL: WSDLファイルでプロセスのSOAPアドレスの一部として公開されるHTTPプロトコルURL。

- HttpsServerURL: WSDLファイルでプロセスのSOAPアドレスの一部として公開されるHTTPSプロトコルURL。

- KeystoreLocation: Oracle SOA Suiteキーストアへのパス。

- UddiCacheLifetime: UDDIエンドポイント・キャッシュの存続期間。

3.2 管理対象サーバーとSOAインフラストラクチャの停止と起動

メンテナンスまたは構成変更後の再起動のために、Oracle Enterprise Manager Fusion Middleware ControlでSOAインフラストラクチャを停止して起動できます。このことを行うには、SOAインフラストラクチャがインストールされている管理対象サーバーを停止して起動します。これにより、管理対象サーバーとSOAインフラストラクチャの両方が再起動されます。

注意:

- 11g リリース1 (11.1.1.4.0)からは、ナビゲータの「soa-infra」メニューからSOAインフラストラクチャを停止および起動できなくなりました。

- 管理サーバーのみが含まれ、管理対象サーバーが含まれない、開発者用の構成を使用することもできます。

サーバー起動時の問題の詳細は、「サーバーのトラブルシューティング」を参照してください。

管理対象サーバーとSOAインフラストラクチャを起動および停止する手順は、次のとおりです。

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

「WebLogicドメイン」メニューから

ナビゲータの「WebLogicドメイン」フォルダから

a. 「制御」を選択します。

a. 管理対象サーバー(たとえば、「soa_server1」)を右クリックします。

b. 「制御」を選択します。

2. 管理対象サーバーとSOAインフラストラクチャを停止するには、「停止」を選択します。

3. 管理対象サーバーとSOAインフラストラクチャの停止の確認が表示されたら、「OK」をクリックします。

4. 停止の完了を待ちます。

5. 管理対象サーバーとSOAインフラストラクチャを起動するには、「起動」を選択します。

ノード・マネージャによる管理対象サーバーの停止および起動の詳細は、Oracle WebLogic Serverノード・マネージャの管理を参照してください。

WLSTコマンドによる管理対象サーバーの停止および起動の詳細は、Oracle Fusion Middlewareの管理を参照してください。

3.2.1 SOAコンポジット・アプリケーションの状態およびSOAインフラストラクチャの停止

SOAインフラストラクチャの停止後、SOAコンポジット・アプリケーションの状態は、コンポジットが停止していることを示すように更新されません。コンポジットにアクセスしようとすると、コンポジット詳細を取得できない旨のエラー・メッセージが表示されます。

soa-infra runtime connection error  An error happened while connecting to
soa-infra runtime at  t3://address:8001/soa-infra.

このメッセージによって、システム内で別の問題が発生していると考える可能性があります。しかし、この場合はそうではありません。

このメトリックは、コンポジットが有効かどうか、SOAインフラストラクチャの起動に依存しているかどうかを示すため、これらのコンポジットの状態は「稼働中」また、場合によっては「保留」と表示されます。さらに、クラスタ内の他の管理対象サーバーではコンポジットは依然としてアクティブで、リクエストを受信できます。

3.2.2 リタイアされたコンポジットがアクティブ化されているときは、SOAインフラストラクチャを再起動しても、エンドポイントがアクティブ化されない

アダプタ・エンドポイントがあるSOAコンポジット・アプリケーションがリタイア状態にある場合は、次のアクションを実行した場合にエンドポイントはアクティブになりません。

- SOAインフラストラクチャの再起動

- SOAコンポジット・アプリケーションのアクティブ化

これは、ファイルやレコードなどがエンドポイント・アダプタによって取得されないためです。回避策として、SOAインフラストラクチャの再起動後にSOAコンポジット・アプリケーションを再デプロイします。

3.2.3 cwallet.ssoにSOAマップが含まれている場合に、SOAインフラストラクチャの起動が失敗する

cwallet.ssoにSOAマップがある場合は、SOAインフラストラクチャの起動を試行すると、次のようなエラー・メッセージが表示されます。

Caused By: java.security.UnrecoverableKeyException: Password verification
failed
at
sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:769)
at
sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:38)
at java.security.KeyStore.load(KeyStore.java:1185)
at oracle.j2ee.ws.saaj.util.SSLUtil.loadKeyStore(SSLUtil.java:73)
at
oracle.j2ee.ws.saaj.util.SSLUtil.getKeyManagerFactory(SSLUtil.java:88)
at oracle.j2ee.ws.saaj.util.SSLUtil.getKeyManagers(SSLUtil.java:97)
at
oracle.j2ee.ws.saaj.util.SSLUtil.createSSLSocketFactory(SSLUtil.java:50)
at
oracle.integration.platform.common.SSLSocketFactoryManagerImpl.getSSLSocketFac
tory(SSLSocketFactoryManagerImpl.java:58)
at oracle.fabric.common.wsdl.WSDLManager.init(WSDLManager.java:356)
at oracle.fabric.common.wsdl.WSDLManager.<init>(WSDLManager.java:101)
at
oracle.fabric.common.metadata.MetadataManagerImpl.getWSDLManager(MetadataManag
erImpl.java:283)
at
oracle.fabric.composite.model.CompositeModel.getWSDLManager(CompositeM

この問題を解決する手順は、次のとおりです。

1. 次のいずれかのアクションを実行します。

- cwallet.ssoでSOAマップを削除します。

- $DOMAIN_HOME/config/fmwconfig/default-keystore.jksを削除します。Oracle Web Services Manager (OWSM)でこのファイルが使用されます。

2. SOAインフラストラクチャを再起動します。

3.3 システムMBeanブラウザでのSOAインフラストラクチャ・サーバーURLプロパティ・ポートの変更

「SOAインフラストラクチャ・プロパティの構成」で説明されているように、「SOAインフラストラクチャの共通プロパティ」ページ以外に、Oracle Enterprise Manager Fusion Middleware Controlの「システムMBeanブラウザ」でSOAインフラストラクチャの「ServerURL」プロパティ・ポートを変更することもできます。

ポートを変更するときは、次の点に注意してください。

- SOAインフラストラクチャと管理対象のOracle WebLogic Serverのポート番号が異なる場合は、Oracle BPM Worklistに接続しようとするとConnectExceptionエラーが発生します。これらのポート番号が一致していることを確認してください。

- Oracle WebLogic Server管理コンソールからSOAインフラストラクチャ・ポートを変更することはできません。Oracle WebLogic Server管理コンソールからは、管理対象のOracle WebLogic Serverのポートのみを変更できます。

SOAインフラストラクチャのポートを変更する手順は、次のとおりです。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

SOAコンポジットのメニューから...

a. 「SOA管理」→「共通プロパティ」の順に選択します。

a. 「soa-infra」を右クリックします。

b. 「SOA管理」→「共通プロパティ」の順に選択します。

a. 「SOAインフラストラクチャの共通プロパティ」を選択します。

2. 「名前」列で「ServerURL」をクリックします。
「属性: ServerURL」ページが表示されます。

3. 「値」フィールドで、ポートを変更します。

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

5. Oracle WebLogic Server管理コンソールで、管理対象のOracle WebLogic Serverのポートを同じ値に変更します。
Oracle WebLogic Serverクラスタの前にロード・バランサを使用する環境では、「ServerURL」プロパティのホストとポートは、Oracle WebLogic Serverのホストとポートと異なっても構いません。これは、Oracle WebLogic Serverクラスタ内の管理対象サーバー間でロード・バランサがリクエストを分散するエンタープライズ・デプロイメント環境では一般的です。詳細は、Oracle SOA Suiteエンタープライズ・デプロイメント・ガイドを参照してください。

3.4 ログ・ファイルの構成

Oracle SOA Suiteのコンポーネントではログ・ファイルが生成され、起動と停止情報、エラー、警告メッセージ、HTTPリクエストに関するアクセス情報および追加情報を含むすべてのタイプのイベントを記録するメッセージが格納されます。

ログ・ファイルを構成するには:

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「ログ」→「ログ構成」の順に選択します。

a. 「soa-infra」を右クリックします。

b. 「ログ」→「ログ構成」の順に選択します。

「ログ構成」ページに、次の詳細が表示されます。

- 「ビュー」リスト。情報を表示するロガーのタイプを選択します。

- 永続: コンポーネントが起動するとアクティブになるロガー。このログ出力の構成詳細はファイルに保存され、ログ・レベルはコンポーネントの再起動後も維持されます。

- アクティブ・ランタイム: 実行時に自動的に作成され、特定の機能領域が実行されるとアクティブになるロガー(例: oracle.soa.b2b、oracle.soa.bpel)。このログ出力のログ・レベルはコンポーネントの再起動後は維持されません。

- ログ出力名、ログ・ファイルに書き込む情報の量とタイプを設定するOracle Diagnostic Logging (ODL)レベル、ログ・ファイルおよびログ・レベルの状態が表示される表。

2. 検索基準(たとえば、soa)を指定して、「検索」アイコンをクリックします。
Oracle SOA Suiteロガーが表示されます。

3. このページで次のログ・ファイル・タスクを実行します。

a. 「ロガー名」列で、ロガー名を開きます。これによって、コンポーネント内の特定のロギング・レベルを指定できます。

b. 「Oracle Diagnostic Loggingレベル」列で、ログ・ファイルに書き込む情報のレベルとタイプを選択します。

c. 「ログ・ファイル」列で、ログ・ファイル構成を作成および編集する特定のログ・ファイルをクリックします。
ODLログ・ファイルの詳細およびログ・ファイルに書き込むロギング情報のレベルとタイプの詳細は、Oracle Fusion Middlewareの管理を参照してください。

4. 「ログ・ファイル」タブをクリックします。
このページを使用して、ログ・ファイル構成を作成および編集できます。ログ・ファイル構成には、ログ・メッセージが記録されるログ・ファイル、ログ・メッセージのフォーマット、使用されるローテーション・ポリシー、およびログ・ファイル構成クラスに基づく他のパラメータが含まれます。

ロギング・レベルおよび表示するOracle SOA Suiteログ・ファイルの設定の詳細は、「トラブルシューティングのためのロギング・レベルの設定」を参照してください。

3.4.1 ログ・ファイルのエンコーディング・プロパティの構成

soa-diagnostic.logファイルのoracle-soa-handlerログ・ハンドラ・プロパティには、SOA_Domain/config/fmwconfig/servers/server_soa/logging.xmlファイルに指定されるエンコーディング・プロパティがありません。かわりに、soa-diagnostic.logファイルにはオペレーティング・システムのデフォルトのエンコーディング・フォーマットで書き込まれます。このため、次の問題が発生する場合があります。

- ロギング情報はsoa-diagnostic.logにサーバーのデフォルトのエンコーディング・フォーマットで書き込まれるため、ASCII以外のエラー・メッセージは読み取れなくなる場合があります。

- Windowsオペレーティング・システムでは、デフォルトのエンコーディング・フォーマットで書き込むことによって、ASCII以外のデータが失われる場合があります。

この問題を回避するには、logging.xmlファイルで、oracle-soa-handlerログ・ハンドラ・プロパティに対して値UTF-8を指定します。

<?xml version='1.0'?>
<logging_configuration>
<log_handlers>
<log_handler name='wls-domain'
class='oracle.core.ojdl.weblogic.DomainLogHandler' level='WARNING'/>
<log_handler name='oracle-soa-handler'
class='oracle.core.ojdl.logging.ODLHandlerFactory'>
<property name='path' value='c:\soa1210.1411\user_
projects\domains\soa/servers/server_soa/logs/soa-diagnostic.log'/>
<property name='maxFileSize' value='10485760'/>
<property name='maxLogSize' value='104857600'/>
<property name='supplementalAttributes' value='J2EE_APP.name,J2EE_
MODULE.name,WEBSERVICE.name,WEBSERVICE_PORT.name,composite_instance_id,component_
instance_id,composite_name,component_name'/>
<property name='encoding' value='UTF-8'/>
</log_handler>
</log_handlers>
...

これで、ログ・ファイルはODLを使用して書き込まれます。ログ・ファイルの内容は、Oracle Enterprise Manager Fusion Middleware Controlから表示できます。

ロギングの詳細は、Oracle Fusion Middlewareの管理を参照してください。

3.4.2 Oracle Enterprise Manager Fusion Middleware Controlページのパフォーマンス問題を診断するロギングの構成

Oracle SOA Suiteでは、APIコールのパフォーマンス・メトリックをログに記録できます。作成されたOracle Enterprise Manager Fusion Middleware Controlページに対する高コストのAPIコールのパフォーマンスをトレースできます。このトレースは、APIコールが効率的に実行されない場合に役立ちます。他の情報とともにview idが次のファイルにログとして記録されます。

FMW_HOME/user_projects/domains/domain_name/servers/weblogic_name/logs/weblogic_name-soa-tracking.trc

たとえば、weblogic_name-soa-tracking.trcファイルに関連付けられたルート・ロブ出力でFINEレベルのロギングを有効化して、診断対象の問題を再生してからロギング・レベルをSEVEREに戻すことができます。ログの内容を分析して、Oracle SOA Suiteで実行された元の操作を精密に指摘できます。

パフォーマンスの問題を診断するロギングを構成する手順は次のとおりです。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「ログ」→「ログ構成」の順に選択します。

a. 「soa-infra」を右クリックします。

b. 「ログ」→「ログ構成」の順に選択します。

「ログ構成」ページが表示されます。

2. 「ロガー名」列で、oracle.soa > oracle.soa.sql.trc.fabricを開きます。

3. ロギング・レベルをFINEに設定します。

4. 「適用」をクリックします。
APIコールを生成したOracle Enterprise Manager Fusion Middleware Controlページは、weblogic_name-soa-tracking.trcファイルにログ記録されます。この例では、/ai/soa/composite (SOAコンポジット・アプリケーションのホーム・ページ)がページとして特定されます。

[2012-08-07T23:21:04.488-07:00] [soa_server1] [TRACE:32] []
[oracle.soa.sql.trc.fabric.toplink_session.tracking_session] [tid:
[ACTIVE].ExecuteThread: '1' for queue: 'weblogic.kernel.Default
(self-tuning)'] [userId: weblogic] [ecid:
6fec0e67fbf81939:-7d87fd84:138e67064fb:-8000-0000000000000dd6,1:24469]
[SRC_CLASS: oracle.integration.platform.instance.store.ToplinkSessionLogger]
[APP: soa-infra] [SOA.toplink.session_name: tracking_session]
[SOA.logging.category: query] [SOA.call_origin_category: /ai/soa/composite]
[SOA.call_origin: em] [SRC_METHOD: log] execute_query

3.5 カスタムXAドライバのサポートのためのドライバ名の変更

デフォルトのSOAインフラストラクチャのデータ・ソースは常にXAに対応しています。データ・ソースがカスタム・ドライバのサポートを必要とする場合は、Oracle WebLogic Serverでドライバ名を変更する必要があります。

次のいずれかの方法で、ドライバ名を変更する手順は、次のとおりです。

- Oracle WebLogic Server管理コンソールで編集します。

1. Oracle WebLogic Server管理コンソールにログインします。

2. ページの左側の「ドメイン構造」で、「サービス」→「データ・ソース」→「SOADatasource」→「接続プール」の順に選択します。

3. 「ドライバ・クラス名」で、値をカスタム・データ・ソース(例: oracle.jdbc.xa.client.myDataSource)に変更します。

4. サーバーを再起動します。

- soaDataSource-jdbc.xmlファイルを編集します。

1. Oracle WebLogic ServerでsoaDataSource-jdbc.xmlファイルを開きます。

2. SOADataSourceドライバ名を.jdbc.OracleDriverからoracle.jdbc.xa.client.myDataSourceに変更します。

<?xml version="1.0" encoding="UTF-8"?>
<jdbc-data-source
/. . .
. . .
/  <name>SOADataSource</name>
<jdbc-driver-params>
<url>jdbc:oracle:thin:myhost.us.example.com:1537:co0yf470</url>
<driver-name>*oracle.jdbc.xa.client.myDataSource*</driver-name>
<properties>
<property>
<name>user</name>
<value>fusion_soainfra</value>
</property>
</properties>
/  . . .
. . ./
</jdbc-driver-params>
/. . .
. . ./
</jdbc-data-source>

3.6 XAデータ・ソースへのデフォルト以外のXAトランザクション・タイムアウト値の指定

XAデータ・ソースのデフォルトのXAトランザクション・タイムアウト値は、0秒です。このデフォルト値はOracle WebLogic Server管理コンソールで変更できます。次の手順に従います。

XAデータ・ソースにデフォルト以外のXAトランザクション・タイムアウト値を指定する手順は、次のとおりです。

1. Oracle WebLogic Server管理コンソールにログインします。

2. ページの左側の「ドメイン構造」で、「サービス」→「データ・ソース」の順に選択します。

3. 「データ・ソース」表の「名前」列で、EDNDataSource (イベント配信ネットワーク・トランザクションの場合)、またはSOADataSource (その他のすべてのタイプのトランザクションの場合)を選択します。

4. 上部にある「構成」タブで、「トランザクション」サブタブをクリックします。

5. 「XAトランザクション・タイムアウト」フィールドに、値を秒単位で入力します。

6. 「XAトランザクション・タイムアウトの設定」チェック・ボックスを選択します。このチェック・ボックスは、新しいXAトランザクション・タイムアウト値を有効にするために選択する必要があります。

7. 「保存」をクリックします。

3.7 データベース固有の処理スレッドの構成

クライアントのリクエストが高い頻度で届くと、リクエストはキューに収集され、データベース接続が使用できるまで待機します。受信リクエストの同時処理数を増やすために、次のプロパティを変更できます。

- Oracle WebLogic Server管理コンソールのSOADataSourceプロパティ

- システムMBeanブラウザのSOAMaxThreadsConfigプロパティによる、最大スレッド数を計算するために使用される割合

SOAMaxThreadsConfigのincomingRequestsPercentageおよびinternalProcessingPercentageの要素は、処理タスクの組合せがデータベース接続数を超えにくくするために定義されます。最大スレッドに関するこれらの制約に使用されるスレッド制限数は、Oracle WebLogic Server管理コンソールのSOADataSourceプロパティの最大接続数値に基づいて計算されます。

SOADataSourceプロパティの最大接続数を変更すると、バックグラウンド・プロセスが開始され、incomingRequestsPercentageおよびinternalProcessingPercentageの両方の要素に定義された最大スレッド数が再調整されます。自動調整の操作を続行できるようにするには、Oracle WebLogic Serverの構成編集ロックを取得する必要があります。すでにロックを取得している場合は、ロックを解放して自動調整を続行できるようにします。

内部処理と受信リクエストに割当済の割合は調整できます。割当のデフォルトの割合では、内部処理タスクがデータベース接続のプール・サイズの65%までを使用できます。受信リクエストは、データ・ソース・プール・サイズの15%を使用し、残りの20%分はアダプタとイベント配信ネットワークの処理用です。

3.7.1 SOADataSourceプロパティの最大接続数を変更する手順は、次のとおりです。

1. Oracle WebLogic Server管理コンソールにログインします。

2. 「ドメイン構造」で、「サービス」→「データ・ソース」の順に選択します。

3. ページの上部で、「接続プール」をクリックします。

4. 「名前」列で、「SOADataSource」を選択します。

5. 「最大接続数」フィールドの値を更新します(たとえば、200スレッドの負荷にあわせて300など)。デフォルト値は50です。

6. 「保存」をクリックします。

3.7.2 SOAMaxThreadsConfigプロパティを構成する手順は、次のとおりです。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

SOAコンポジットのメニューから...

a. 「SOA管理」→「共通プロパティ」の順に選択します。

a. 「soa-infra」を右クリックします。

b. 「SOA管理」→「共通プロパティ」の順に選択します。

a. 「SOAインフラストラクチャの共通プロパティ」を選択します。

2. 「詳細SOAインフラ拡張構成プロパティ」をクリックします。

3. 「SOAMaxThreadsConfig」を展開します。

4. 使用環境に適した変更を行います。

たとえば、これらのスレッド値にあわせて次のように変更します。

- incomingRequestsPercentage: 20 (10スレッドにあわせて)

- internalBufferPercentage: 50 (25にあわせて)

- internalProcessingPercentage: 30 (15スレッドにあわせて)

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

6. プロパティを変更した後に元の値にリセットする場合は、「元に戻す」をクリックします。

3.8 ローカルの最適化の構成

ローカルの最適化とは、2つのSOAコンポジット・アプリケーションが同じSOAサーバー(JVM)にある環境で、直接Java呼出しによってSOAコンポジット・アプリケーションが別のSOAコンポジット・アプリケーションを呼び出すプロセスです。

一般的に、直接Java呼出しはSOAP over HTTPコールより効率的です。したがって、直接Java呼出しの条件を満たしている場合は常に、Oracle SOA Suiteでは、同じ場所に存在するコンポジット間のサービス・コールを最適化します。

3.8.1 ローカルの最適化を使用するための条件チェック

Oracle SOA Suiteでは、ローカルの最適化が可能かどうかを判断するために、次の条件チェックを実行します。

- コンポジット間呼出しである必要があります。これは最も基本的な条件で、クライアント・サービスとターゲット・サービスの両方が同じSOAインフラストラクチャ(つまり、同じSOAサーバー)に基づいて実装されている場合に、直接Javaコールが可能になります。

- 参照(ターゲット)サービスを実装するコンポジットがアクティブである必要があります。この条件ではターゲット・コンポジットが起動して実行中であることが必要で、これにより、参照サービスが使用可能であることが保証されます。

注意:

ターゲット・コンポジットの状態は「オン」および「アクティブ」である必要があります。状態が「停止済」または「リタイア」の場合は、ローカルの最適化の対象になりません。

- クライアント・コンポジットとターゲット・コンポジットは同じサーバー上に存在する必要があります。これは、直接Java呼出しの明白な要件です。また、Oracle SOA Suiteで、(クライアント・コンポジットがデプロイされている)サーバーのホスト構成に対して、参照(ターゲット)サービス・エンドポイントURIで指定したホストとポート値を比較するのは重要なステップです。ホストとポート値が一致する場合は、クライアント・コンポジットとターゲット・コンポジットが同じサーバー上に存在すると判断できます。ただし、スタンドアロン・サーバー設定とクラスタ・サーバー設定の両方を使用し、ロード・バランサ構成が必要になる可能性がある場合、この比較は必ずしも単純ではありません。したがって、次に、すべてのプラットフォームでサーバー構成が正しいことを確認する条件チェックをステップごとに示します。

- 「SOAインフラストラクチャ・プロパティの構成」で説明したように、「SOAインフラストラクチャの共通プロパティ」ページで「サーバーURL」構成プロパティ値をチェックします。

- 指定されていない場合は、クラスタMBeanのFrontendHostおよびFrontendHTTPPort (また、SSLが有効化されている場合はFrontendHTTPSPort)の構成プロパティ値をチェックします。

- 指定されていない場合は、Oracle WebLogic Server MBeanからFrontendHostおよびFrontendHTTPPort (または、SSLが有効な場合はFrontendHTTPSPort)構成プロパティ値をチェックします。

- 指定されていない場合は、DNS解決されたINETアドレスのlocalhostを使用します。

- 参照サービス・エンドポイントURLで指定したポート値が、構成されたサーバー・ポート値と一致するかどうかをチェックします。エンドポイントURLにポート値が指定されていない場合、Oracle SOA Suiteでは、HTTP URLの場合は80、HTTPS URLの場合は443を使用します。

- ポート値が一致する場合、サーバーURL、つまり、http(s)://host:port(hostとportは前のチェックから取得)が、参照エンドポイント・アドレスのサーバーURLと比較されます。URLは正規値に解決され、エンドポイントURLホストがlocalhostまたは127.0.0.1の場合もこの比較が行われます。

- Oracle SOA Suiteでは、サーバーURLの比較で値trueが返された場合、コンポジットは同じ場所に存在すると判断します。

- セキュリティ・ポリシー構成は、クライアント・コンポジットとサーバー・コンポジットの一方または両方に適用されている場合、ローカルの最適化に対応している必要があります。ポリシー構成およびローカルの最適化については、「コンポジット間呼出しでのポリシー・アタッチメントおよびローカルの最適化」を参照してください。

「フローのトレース」ページの「トレース」セクションで、コールによってローカルの最適化が行われたかどうかを確認できます。図3-1に示すように、呼出し元コンポジットと呼出し先コンポジットの参照とサービスに対して(ローカル呼出し)というテキストが表示されます。

図3-1 「フローのトレース」ページの「トレース」セクションに表示されるローカルの最適化の詳細

「フローのトレース」ページの詳細は、「ビジネス・フロー・インスタンスのフロー・トレースの監視」を参照してください。

3.8.2 ローカルの最適化のオーバーライドまたは強制

ローカルの最適化をオーバーライドまたは強制するために、2つの構成プロパティが用意されています。

- oracle.webservices.local.optimization
デフォルトでは、Oracle SOA Suiteはローカルの最適化を実行します。ただし、composite.xmlファイルのoracle.webservices.local.optimizationバインディング・プロパティを使用してこの動作をオーバーライドできます。このプロパティをfalseに設定すると、ローカルの最適化は実行されず、コンポジット間コールはSOAP and HTTPを介して実行されます。必要に応じて、このプロパティを使用してください。このプロパティの設定については、「コンポジット間呼出しでのポリシー・アタッチメントおよびローカルの最適化」を参照してください。

- oracle.soa.local.optimization.force
oracle.soa.local.optimization.forceプロパティをtrueに設定して、oracle.webservices.local.optimizationプロパティをオーバーライドすると、最適化を強制的に実行できます。このプロパティは、次のシナリオの場合に使用します。

- サーバー構成がかなり複雑で(たとえば、イントラネットにファイアウォールやプロキシ設定がある場合)、「ローカルの最適化を使用するための条件チェック」で説明した同じ場所に存在するかどうかのチェックで正しい結果が得られない可能性がある場合。

- ユーザーがローカルの最適化のセマンティクスを十分に理解し、システム設定がローカルの最適化に適しており、ローカルの最適化が確実に効率的である場合。

この項で説明していないこれ以外のシナリオでも、最適化を強制する場合があります。

注意:

oracle.webservices.local.optimizationをfalseに設定し、oracle.soa.local.optimization.forceをfalseに設定すると、ローカルの最適化は実行されません。

oracle.soa.local.optimization.forceプロパティのデフォルト値はfalseです。このプロパティをtrueに設定すると、Oracle SOA Suiteでは「ローカルの最適化を使用するための条件チェック」で説明した条件チェックをスキップしますが、ポリシー構成チェックは例外で、このチェックはサービス・コールの整合性を確認して強制するために必要とされます。

Oracle SOA Suiteで常にこのプロパティの設定が優先されることは、このプロパティに関する重要事項の1つです(ポリシー・チェックによって最適化が可能になる場合)。ただし、ローカル呼出しがアプリケーション以外のフォルトまたは例外によって失敗した場合(多くの場合、直接Java呼出しに関連するランタイム・エラー)、構成されたエンドポイントでの後続の呼出し、およびエンドポイントに構成されたすべての有効なエンドポイント・アドレスで、この設定の値が無視されます。

oracle.soa.local.optimization.forceプロパティを有効にする手順は、次のとおりです。

呼び出されるコンポジットのreferenceセクションに、oracle.soa.local.optimization.forceをバインディング・コンポーネント・レベルのプロパティとして追加します。たとえば、コンポジットcomp_comp2がcomp_comp1を呼び出す場合は、comp_comp2のcomposite.xmlファイルのreferenceセクションでこのプロパティを定義します。

<reference name="Service1"
ui:wsdlLocation="http://localhost:8001/soa-infra/services/default/comp_
comp1!1.0/BPELProcess1.wsdl">
<interface.wsdl interface="http://xmlns.oracle.com/comp_comp/comp_
comp1/BPELProcess1#wsdl.interface(BPELProcess1)"
callbackInterface="http://xmlns.oracle.com/comp_
comp/comp_comp1/BPELProcess1#wsdl.interface(BPELProcess1Callback)"/>
<binding.ws port="http://xmlns.oracle.com/comp_comp/comp_
comp1/BPELProcess1#wsdl.endpoint(bpelprocess1_client_ep/BPELProcess1_pt)"
location="http://localhost:8001/soa-infra/services/default/comp_
comp1!1.0/bpelprocess1_client_ep?WSDL">
<property name="oracle.webservices.local.optimization">false</property>
<property name="oracle.soa.local.optimization.force">true</property>
</binding.ws>

参照サービス・コールバックに対してローカル最適化を強制する手順は次のとおりです。

対応する参照サービスの<service>定義で、<callback>要素にoracle.soa.local.optimization.forceプロパティを追加します。

たとえば、composite1がcomposite2を呼び出す場合、compsite2の<service>定義に、次のようにoracle.soa.local.optimization.forceプロパティを追加します。これにより、composite2からcomposite1への非同期コールバックのローカルの最適化が強制されます。

<service ui:wsdlLocation="composite2.wsdl">
. . .
<callback>
<binding.ws
port="http://xmlns.oracle.com/example#wsdl.endpoint(FooService/FooPort)">
<property
name="oracle.soa.local.optimization.force">true</property>
</binding.ws>
</callback>
</service>

最適化、およびWS-AtomicTransaction (WS-AT)トランザクションの詳細は、『Oracle SOA SuiteでのSOAアプリケーションの開発』の最適化有効時にサポートされないWS-ATトランザクションに関する項を参照してください。

3.8.3 ローカルの最適化のロギング

Oracle SOA Suiteでは、ローカルの最適化かSOAP処理かを決定するたびにNOTIFICATION:1(INFO)レベルのロギングが実行されます。詳細またはデバッグ情報が必要な場合は、Oracle Enterprise Manager Fusion Middleware Controlでoracle.integration.platform.blocks.localおよびoracle.integration.platform.blocks.soapロガーをTRACE:1(FINE)レベルで設定します。

3.8.4 ローカル最適化コールのユースケース

このローカル最適化コールのユースケースで説明する内容は次のとおりです。

- コンポジットAが同じサーバー上にあり関連付けられているコンポジットBをコールする環境でコンポジットBに到達不能な場合にローカル最適化コールがどのように機能するか(表3-1)。

- Oracle WebLogic Serverがリスニングするポートではないポート値でロード・バランサ・アドレスを作成した場合にどのようになるか(表3-2)。

表3-1 コンポジットに到達不能の場合のローカル最適化コール

シナリオ

説明

ローカル最適化コールの失敗時にどのようになるか。

ローカル最適化コールの試行前にコンポジットBのチェックが実行されます。

このチェックに失敗した場合(コンポジットBに到達不能)、SOAインフラストラクチャで例外がスローされBPELフォルトに変換されます。このBPELフォルトには、コンポジットBが到達不能であることに関する情報が組み込まれます。

関連付けられたコールの再試行が可能であるか。

基本チェックの実行後にローカル最適化コールが試行されます。このコールが失敗すると、SOAPを介して再起動されます。ただし、SOAPを介した再起動を行うには次の条件に合致している必要があります。

- ローカル最適化を強制するためのoracle.soa.local.optimization.force WSバインディング・プロパティがtrueに設定されている必要があります。この条件は、後方互換性を維持する目的で提供されています。

- 例外がビジネス例外であってはいけません。

関連付けられたコールの再試行が可能な場合(たとえば、コンポジットまたはエンドポイントでフォルトのポリシーが再試行に設定されている場合など)、コールが再度最適化されるか、ローカル・コンテナの終了してロード・バランサへのアクセスを試行するか。

ローカルでの送信の試行時にコールが初めて失敗した場合は、その情報がキャッシュされます(つまり、ローカルでの失敗)。

その後のコールについては、コールがSOAPを介して送信されます(このときはローカル最適化コールの再試行は行われません)。

表3-2 Oracle WebLogic Serverがリスニングするポートではないポート値でのロード・バランサ・アドレスの作成

シナリオ

説明

Oracle WebLogic Serverがリスニングするポートではないポート値でロード・バランサ・アドレスを作成する場合に、ロード・バランサのアドレスとしてサーバーURL (SOAインフラストラクチャの「共通プロパティ」ページ)、およびフロントエンド・ホスト/ポート(Oracle WebLogic Serverの「HTTP」タブ内)を指定できますか。

はい。サーバーURL、またはフロントエンド・ホスト/ポートは、ローカル最適化ルールのアドレスの識別子としてネットワーク・リクエストの送信先の実際のアドレスより詳細度が高くなります。

コールを実行する際にローカル最適化でポートを使用しませんか(たとえば、ポート2011を介してコンポジットAがコンポジットBをコールする場合など)。

使用します。このポートは、ローカル・コールを実行するために、ターゲットが関連付けられているかどうかを調べる比較の実行のみに使用されます。

3.9 複数のSOAコンポジット・アプリケーションのグローバル・トークン変数の管理

構成プランはコンポジット別です。このため、SOAコンポジット・アプリケーションを環境間で移動すると、構成プランのそれぞれで一部の値の置き換えが必要になります。各プランの値の置換を回避するため、Oracle Enterprise Manager Fusion Middleware ControlのSOAコンポジット・アプリケーションの特定のURIにグローバル・トークン変数を定義できます。

グローバル・トークン変数には、次の利点があります。

- 複数のSOAコンポジット・アプリケーションが特定のサーバー上でホストされる複数の異なるサービスを起動する場合は、単一のグローバル・トークン変数を使用して、コンポジット間でこのサーバーを参照できます。個別の構成プランが不要になり単一のトークン値セットを更新すれば済むため、開発作業が簡素化されます。たとえば、10個の異なる構成プランでサーバーのホスト名を更新するかわりに、グローバル・トークン変数を使用してこの名前をグローバルに設定します。この値は、デプロイされたSOAコンポジット・アプリケーションのcomposite.xmlファイルのbinding.ws要素内のホスト名のグローバル・トークン変数の値を取得および置換します。

- グローバル・トークン変数を使用することは、実行時サーバーにデプロイされるOracle SOA Suiteメタデータには環境固有値が含まれていないことを意味します。

- クラスタ環境では、グローバル・トークン変数の変更が管理サーバーで実行され、管理対象サーバーのすべてに伝播されます。

グローバル・トークン変数の管理には、次のオプションを使用できます。

- Oracle Enterprise Manager Fusion Middleware Controlの「トークン構成」ページを使用して、グローバル・トークン変数の管理(作成、編集および削除)を行います。

- トークンは、ws.bindingロケーションのホスト、ポート、プロトコル、およびreferenceタグ内のすべてのプロパティのみでサポートされます。

- serverURLという名前の事前定義のグローバル・トークン変数を使用します。

注意:

- ダッシュなどの特殊文字を含むトークン名(例: host-name)は作成しないでください。特殊文字があるとSOAコンポジット・アプリケーションの起動時にNull Pointer Exceptionエラーが発生して起動が失敗します。

- 作成できるのは、composite.xmlファイルで使用されるトークンのみです。

- composite.xmlファイルのimport要素でのグローバル・トークン変数の使用はサポートされません。

3.9.1 「トークン構成」ページでのグローバル・トークン変数の管理

「トークン構成」ページでは、グローバル・トークン変数を管理できます。このページでは、次の操作を実行できます。

- ローカルmdm-url-resolver.xmlファイルからの変数をシステムのmdm-url-resolver.xmlファイルに追加して、必要に応じて編集します。

- システムのmdm-url-resolver.xmlファイル内の変数を管理します。

「トークン構成」ページでグローバル・トークン変数を管理する手順は次のとおりです。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「SOA管理」→「トークン構成」を選択します。

a. 「soa-infra」を右クリックします。

b. 「SOA管理」→「トークン構成」を選択します。

「トークン構成」ページが表示されます。

2. 実行するグローバル・トークン変数の構成アクションを選択します。

使用目的

移動先の手順

mdm-url-resolver.xmlファイルの変数をシステムのmdm-url-resolver.xmlファイルの変数に追加することを選択します。

3

システムのmdm-url-resolver.xml内の変数を管理します。

4

3. ローカル・ファイルの変数を追加するには、次の手順を実行します。

a. 「トークンの一括追加」をクリックします。

b. 「参照」をクリックして、ローカル・ファイル・システムからmdm-url-resolver.xmlファイルを選択します。アップロードを成功させるには、ローカル・ファイルが次の書式に従っている必要があります。この例では、ホスト名、ポートおよびプロトコルにグローバル・トークン変数が定義されています。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>
URL Resolver file used by the Metadata manager to resolve $<variable>
in URLs
</comment>
<entry key="host">mymachine.us.example.com</entry>
<entry key="port">8001</entry>
<entry key="protocol">http</entry>
</properties>

c. 「追加」をクリックします。
ローカル・ファイルのコンテンツが、システムのmdm-url-resolver.xmlファイルのコンテンツに追加されます。システムのmdm-url-resolver.xmlファイルに既存のグローバル・トークン変数は上書きされません。

d. 変数の編集が必要な場合は、「構成ファイルの変更」をクリックして、手順4に進みます。

4. システムのmdm-url-resolver.xmlファイル内の変数を管理するには、次の手順を実行します。

a. 「構成ファイルの変更」をクリックします。
最初に「トークンの一括追加」を選択してファイルをアップロードした場合は、ローカルmdm-url-resolver.xmlファイルとシステムのmdm-url-resolver.xmlファイルのグローバル・トークン変数のトークン名と値が表書式で表示されます。列は、昇順または降順で並べ替えることができます。変数に重複はなく、ローカル・ファイルの変数がシステム・ファイルに既存の場合は表示されません。

最初に「構成ファイルの変更」を選択した場合は、システムのmdm-url-resolver.xmlファイル内のグローバル・トークン変数がトークン名と変数が表書式で表示されます。

b. 管理対象のグローバル・トークン変数を選択して、特定のタスクを実行します。

注意:

変更を行ったら、「保存」をクリックしてから、「トークンの一括追加」モードに切り替えるか、このページから別のページにナビゲートする必要があります。これらのアクションを実行するとコミットされていない変更が失われます。

要素

説明

i. クリックすると、新規トークン名と値を追加するための「トークンの追加」ダイアログが起動されます。既存のトークン名を追加しようとすると、別の名前を指定するように求めるメッセージが表示されます。別の名前を入力するか、このダイアログを閉じて「編集」アイコンをクリックし、既存の名前を変更します。

ii. 「OK」をクリックして、「トークンの追加」 ダイアログでの変更内容を保存します。

iii. 「保存」をクリックして、システムのmdm-url-resolver.xmlファイルでの変更内容を保存します。

i. クリックすると、選択したトークン名、値、またはその両方を編集するための「トークンの編集」ダイアログが起動されます。

ii. 「OK」をクリックして、「トークンの編集」 ダイアログでの変更内容を保存します。

iii. 「保存」をクリックして、システムのmdm-url-resolver.xmlファイルでの変更内容を保存します。

i. クリックすると、既存のトークン名と値が削除されます。

ii. 「OK」をクリックして確定します。

iii. 「保存」をクリックして、システムのmdm-url-resolver.xmlファイルに対する変更内容を保存します。

i. クリックすると、トークン構成に加えたすべての変更がコミットされます。これで、トークン名と値の新規作成、編集、または削除が永続化されます。このアクションによって、システムのmdm-url-resolver.xmlファイルに加えた変更内容がコミットされます。

i. 最後に「保存」をクリックしてから行ったすべての変更を元に戻す場合にクリックします。

ii. 確認を求められたら、「はい」をクリックします。

c. トークン値の追加、変更、または削除の実行後は、SOAインフラストラクチャを再起動してください。詳細は、「管理対象サーバーとSOAインフラストラクチャの停止と起動」を参照してください。
更新内容がクラスタ全体に伝播されます。

d. 実行時にグローバル・トークン変数を置換する方法の詳細は、「実行時にグローバル・トークン変数を置換する方法」を参照してください。

3.9.2 実行時にグローバル・トークン変数を置換する方法

注意:

Oracle Enterprise Manager Fusion Middleware Controlにグローバル・トークン変数を使用するSOAコンポジット・アプリケーションをデプロイすると、システムのmdm-url-resolver.xmlファイルですべてのトークンが構成されていることを確認するように求める警告メッセージが表示されます。詳細は、「SOAコンポジット・アプリケーションのデプロイ」を参照してください。

「トークン構成」ページで指定したトークン名と置換値が、次のディレクトリにあるシステムのmdm-url-resolver.xmlファイルに追加されています。

$MIDDLEWARE_HOME/user_projects/domains/domain_name/config/fmwconfig/
mdm-url-resolver.xml

たとえば、「トークン構成」ページを使用して、4つのグローバル・トークン変数名と値が定義されているとします。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>
URL Resolver file used by the Metadata manager to resolve $<variable> in
URLs
</comment>
<entry key="myprotocol">http</entry>
<entry key="myhost">mymachine.us.example.com</entry>
<entry key="myport">8001</entry>
</properties>

デプロイされたSOAコンポジット・アプリケーションのcomposite.xmlが実行時にロードされ、ファイル内のURIによって指定されたリソースが取得されると、URI内のグローバル・トークン変数の値が「トークン構成」ページで指定された値に置き換えられます。

たとえば、次のcomposite.xmlファイルは、これらのトークンを使用してbinding.ws要素のURIを指定します。

<?xml version="1.0" encoding="UTF-8"?>
<composite...>
. . .
. . .
<reference name="Service" ui:wsdlLocation="...">
. . .
<binding.ws port="..."
location="${myprotocol}://${myhost}:${myport}/soa-infra/services/default/
mycomposite/bpelprocess1_client_ep?WSDL" soapVersion="1.1">
</binding.ws>
</reference>
. . .
</composite>

実行時にWSDL定義ファイルが取得される場合、トークンはmdm-url-resolver.xml構成ファイル内の値によって置き換えられ、次のURIが作成されます。

http://mymachine.us.example.com:8001/soa-infra/services/default/myComposite/
bpelprocess1_client_ep?WSDL

3.9.3 事前定義されたグローバル・トークン変数の使用

リソースURLではserverURLという名前の事前定義のグローバル・トークン変数を使用できます。このトークンは、実行時にOracle Enterprise Manager Fusion Middleware ControlのSOAインフラストラクチャの「共通プロパティ」ページの「サーバーURL」プロパティの設定によって置き換えられます。

事前定義のグローバル・トークン変数を使用する手順は次のとおりです。

1. SOAインフラストラクチャの「共通プロパティ」ページの「サーバーURL」フィールドに値(例: my.host.com:8080)を入力します。このプロパティを変更した場合は、サーバーの再起動が必要です。図3-2に詳細を示します。

図3-2 SOAインフラストラクチャの「共通プロパティ」ページの「サーバーURL」フィールド

2. composite.xmlファイルにserverURLトークンを入力します。

http://${serverURL}/somePath/someReource.xml

これで、デプロイメント時にトークンが置換された後に次のURIが生成されます。

http://my.host.com:8080/somePath/someResource.xml

「サーバーURL」プロパティ、およびSOAインフラストラクチャの「共通プロパティ」ページの詳細は、「SOAインフラストラクチャ・プロパティの構成」を参照してください。

3.10 SOAでのフォルト増大の回避

リジリエンシまたはブレーカを使用すると、SOAコンポジット内のダウンストリーム・エンドポイントが停止した場合にアップストリーム・エンドポイントが自動的に一時停止されるようにシステムを構成できます。これにより、サーバーでのフォルトの増大を回避し、フォルトの発生したインスタンスを一括でリカバリする必要がなくなります。ダウンストリーム・エンドポイントが再開されると、アップストリーム・エンドポイントが自動的に再開されます。WebサービスとRESTサービスについては、一時停止/再試行の期間の後に送信される新しいメッセージによって、サービスが戻ります。

注意:
このSOA Suite機能は、Oracle Integration継続的可用性の一部です。Oracle SOA Suite for Middleware Optionsの詳細は、Oracle Fusion Middlewareライセンス情報を参照してください。

リジリエンシ(ブレーカ)を、SOAインフラストラクチャ・レベルで構成することによってグローバルに有効化します。有効化すると、すべてのコンポジット内ですべてのダウンストリーム・エンドポイントが監視されます。ダウンストリーム・エンドポイントで、リジリエンシ構成設定で指定したしきい値を超えるエラーが発生した場合、そのダウンストリーム・エンドポイントに対応するアップストリーム・エンドポイントが自動的に一時停止されます。したがって、たとえば、参照ファイル・アダプタがディレクトリへの書込みに失敗した場合、アップストリームWebサービスを自動的に一時停止できます。システムは、ダウンストリーム・ファイル・アダプタが再開されたかどうかを定期的に確認し、アダプタが再開されるとWebサービスを再有効化します。

次のタイプのアップストリーム・エンドポイントは自動的に一時停止できます。

- Webサービス: Webサービスが一時停止されている間、受信リクエストは拒否されます。
12.2.1.1.0以降、Webサービスに複数の操作がある場合、メッセージ送信元の操作のみが一時停止されます。

- RESTサービス: 12.2.1.1.0以降、アップストリームRESTサービスは自動で一時停止できます。RESTサービスに複数の操作がある場合、メッセージ送信元の操作のみが一時停止されます。

- アダプタ: このリリースでは、JMSアダプタ、AQアダプタ、DBアダプタ、ファイル・アダプタ、Appsアダプタ、SAPアダプタ、MQアダプタ、UMSアダプタおよびFTPアダプタを自動的に一時停止できます。

- EDNサブスクライバ: ダウンストリーム・エンドポイントに最も近いEDNサブスクライバが一時停止されます。12.2.1リリースでは、コンポーネント内のすべてのサブスクライバ(BPELまたはMediator)は、ブレーカがトリガーされると一時停止していました。12.2.1.1.0では、メッセージ送信元のサブスクライバのみが一時停止されます。

注意:
1つのダウンストリーム・エンドポイントに多数のアップストリーム・エンドポイントを対応させることができます。ダウンストリーム・エンドポイントにデータをアクティブに集約しているアップストリーム・エンドポイントのみが一時停止されます。

一時停止されたサービスの表示と再開

リジリエンシが発生した結果として一時停止されたサービスは、「SOAインフラストラクチャ」の「ダッシュボード」ページの「レジリエンシ - 一時停止されたサービス」セクションに表示されます。

リジリエンシの設定によって、ダウンストリーム・エンドポイントが再開されると、一時停止されたサービスが自動的に再開されます。

「ダッシュボード」の一時停止メッセージをクリックすると、一時停止されたサービスの詳細が表示されます。一時停止の原因となったリジリエンシ・パラメータの詳細(y分間にx件のエラー)が表示されます。ダウンストリーム・エンドポイントおよびSOAコンポジットの名前も表示されます。「再開」をクリックすると、サービスを手動で再開できます。

次の例に、ダウンストリーム・エンドポイント(FileWrite)に1分間に2回エラーが発生したために一時停止されているアップストリームWebサービス(Mediator1_ep)を示します。

次の例では、一時停止しているEDNサブスクライバを示します。コンポーネント名とサブスクライバ詳細の両方が表示されています。

リジリエンシ関連のメッセージは、ログにも書き込まれます。「ログ・メッセージ」ページで“CircuitBreaker”などの文字列を検索すると、リジリエンシに関連するメッセージをフィルタ処理で除外できます。

3.10.1 グローバル・レベルでのリジリエンシの構成

レジリエンシ構成ページでは、レジリエンシを有効または無効にして、グローバル・レジリエンシ設定を指定します。

1. 「SOAインフラストラクチャ」メニューから、「SOA管理」→「レジリエンシ構成」の順に選択します。
「レジリエンシ構成」ページが表示されます。図3-3に「レジリエンシ構成」ページを示します。

図3-3 「レジリエンシ構成」ページ

2. 「有効」チェック・ボックスを選択して、リジリエンシを有効化します。
有効にすると、ダウンストリーム・エンドポイントでエラーが監視され、これらのエラーが指定したしきい値を超えると、アップストリーム・エンドポイントが自動的に一時停止されます。

「失敗率」や「再試行間隔」などの他のリジリエンシ構成パラメータも有効になります。

3. 「失敗率」を、エラーの数と継続時間(分)を入力して指定します。
たとえば、5分間に10件のエラーを指定した場合、ダウンストリーム・エンドポイントで5分間に10回エラーが発生すると、リジリエンシ機能がトリガーされます。

4. 「再試行間隔」を分単位で指定します。

- 「自動再試行の無効化」を選択した場合、自動再試行は無効になります。この場合、アップストリーム・エンドポイントを手動で再開する必要があります。

一時停止されているアップストリーム・エンドポイントは、ダウンストリーム・エンドポイントが再開されたかどうかを確認するために、「再試行間隔」ごとに一時的に再有効化されます。したがって、「再試行間隔」で10分間を指定した場合、一時停止されたアップストリーム・エンドポイントは、ダウンストリーム・エンドポイントが再開されたどうかを確認するために、10分ごとに再有効化されます。ダウンストリーム・エンドポイントがまだ停止している場合、アップストリーム・エンドポイントは再び一時停止されます。

5. 注意:
この手順は省略可能です。

「通知の追加」をクリックして、管理者に対するSMS、電子メールおよびIM (インスタント・メッセージ)の通知を構成します。
アップストリーム・エンドポイントが一時停止された場合や、エンドポイントが再開された場合に、管理者に通知できます。

a. 「通知の送信先」で、管理者のサブスクライバIDを入力します。
サブスクライバIDは、選択した通信チャネルに応じて、電子メール・アドレス、電話番号またはIM識別子にできます。

b. 「経由」で、通信チャネルを選択します。
プラス記号(+)で示された「通知の追加」をクリックすると、別の通知チャネルを追加できます。
また、赤色のXで示された「通知の削除」をクリックすると、既存の通知チャネルを削除できます。

6. 注意:
この手順は省略可能です。

追加のリジリエンシ・プロパティを構成するには、「詳細なリジリエンシ構成プロパティ」をクリックします。構成可能なプロパティの詳細は、「グローバルなリジリエンシ・プロパティおよびエンドポイントのリジリエンシ・プロパティ」を参照してください。

7. 「レジリエンシ構成」ページで「適用」をクリックして、変更を保存します。

- 「元に戻す」をクリックすると、このページに行ったすべての変更が元に戻ります。

これで、グローバル・レベルでのリジリエンシの有効化が完了しました。

3.10.2 ダウンストリーム・エンドポイントのグローバルなリジリエンシ設定のオーバーライド

ダウンストリーム・エンドポイントのリジリエンシ設定は微調整が可能で、これらの設定は、そのエンドポイントのグローバルなリジリエンシ設定をオーバーライドします。

たとえば、あるダウンストリーム・ファイル・アダプタの書込みの失敗を監視しない場合、その特定のアダプタのリジリエンシを無効化できます。Oracle Enterprise Manager Fusion Middleware Controlでダウンストリーム・エンドポイントのリジリエンシ設定を構成するには、次の手順を実行します。

1. エンドポイントが含まれるコンポジットの「SOAコンポジット」ページから、「サービスと参照」でエンドポイント名をクリックします。
たとえば、ファイル・アダプタのリジリエンシ設定を微調整する場合、「サービスと参照」でファイル・アダプタの名前をクリックします。

そのエンドポイント用のダッシュボードが表示されます。

2. 「プロパティ」をクリックして、「プロパティ」タブに切り替えます。
コンポーネントのプロパティのリストが表示されます。

3. リジリエンシ・プロパティが表示されていない場合は、プラス(+)記号で示された「追加」ボタンをクリックします。
使用可能なリジリエンシ・プロパティのリストは、「グローバルなリジリエンシ・プロパティおよびエンドポイントのリジリエンシ・プロパティ」を参照してください。

4. 変更するプロパティの値を変更します。

注意:

また、JDeveloperではダウンストリーム・エンドポイントのレシリエンシ・プロパティをオーバーライドできます。

3.10.3 グローバルなリジリエンシ・プロパティおよびエンドポイントのリジリエンシ・プロパティ

システムMBeanブラウザでResiliencyConfig MBean属性を変更して、リジリエンシに関連する拡張構成プロパティをグローバルに設定できます。また、参照エンドポイントのプロパティを変更して、そのエンドポイントのグローバルなリジリエンシ設定をオーバーライドすることもできます。

表3-3 ResiliencyConfigのMBean属性キーおよびエンドポイント・プロパティ

MBeanキー

参照エンドポイント・プロパティ

説明

circuitBreakerEnabled

circuitbreaker.disabled

リジリエンシを有効または無効にします。

failureRate

circuitbreaker.failure.rate

リジリエンシをトリガーするエラー数のしきい値。

failureRateTime

circuitbreaker.failure.rate.time

リジリエンシを起動させるためにエラー(failureRate)が発生する必要がある時間ウィンドウ。

resiliencyNotificationConfigList

アップストリーム・エンドポイントが一時停止された場合や、アップストリーム・エンドポイントが再開された場合に通知する、電子メール・アドレス、電話番号およびIM識別子のリスト。

resumeInitialDelay

circuitbreaker.resume.initial.delay

エンドポイントの再開時に、連続するメッセージの処理と処理の間に待機する時間(ms: ミリ秒)。
これにより、ダウンストリーム・エンドポイントが再度停止した場合にエラーが増大することを回避します。

resumeRampupTime

circuitbreaker.resume.rampup.time

初期遅延が0に減少してからの経過時間(分)。これは、ダウンストリーム・エンドポイントが稼働していると合理的に判断し、システムが遅延なくメッセージの送信を開始できるようになってからの経過時間と等しくなります。
初期遅延は5分ごとに調整されます。

retryTimeInterval

参照エンドポイントのcircuitbreaker.retry.intervalプロパティ。

アップストリーム・エンドポイントを一時的に再有効化し、トリクル・メッセージを送信することにより、ダウンストリーム・エンドポイントがテストされる定期的間隔(分)。

4 SOAインフラストラクチャの監視

この章では、SOAインフラストラクチャまたは個々のパーティションの全体的ステータス、Oracle SOA Suiteのルーティング・トポロジ、SOAインフラストラクチャのパフォーマンス・サマリー・メトリック、メッセージ配信処理リクエスト、およびSOAインフラストラクチャ内のサービスと参照バインディング・コンポーネントを監視する方法について説明します。

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

- SOAインフラストラクチャまたは個々のパーティションの全体的ステータスの監視

- Oracle SOA Suiteルーティング・トポロジの検出

- SOAインフラストラクチャのパフォーマンス・サマリー・メトリックの監視

- メッセージ配信処理リクエストの監視

- SOAインフラストラクチャのサービスおよび参照バインディング・コンポーネントの監視

- IWSレポートを使用したSOA全体の問題の監視とトラブルシューティング

詳細は、「SOAインフラストラクチャ・アプリケーションの概要」を参照してください。

4.1 SOAインフラストラクチャまたは個々のパーティションの全体的ステータスの監視

SOAインフラストラクチャまたは個々のパーティションの「ダッシュボード」ページから、現在の環境の全体的ステータスを監視できます。「ダッシュボード」ページでは、次のような情報を表示できます。

- 関連するすべてのフォルトを含む、SOAランタイムの全体的な状態

- デプロイ済のアプリケーションおよびアダプタ・エンドポイントの状態(たとえば、システムが再起動されたときや、アプリケーションがデプロイまたはアップグレードされたときの問題)。

- 関連するすべてのフォルトを含む、ビジネス・トランザクションの全体的な状態

- 最新の稼働時間範囲(たとえば、24時間)においてシステムで発生した主なイベント。

SOAインフラストラクチャまたは個々のパーティションの「ダッシュボード」ページに表示される情報は、一部のセクションで異なります。表4-1に、「ダッシュボード」ページのセクションとその違いを示します。

表4-1 SOAインフラストラクチャおよび個々のパーティション・レベルの「ダッシュボード」ページのセクション

セクション

SOAインフラストラクチャの「ダッシュボード」ページに表示されるかどうか

個々のパーティションの「ダッシュボード」ページに表示されるかどうか

キー構成

はい

はい、パーティションのワーク・マネージャ・グループも含まれます。

SOAランタイム・ヘルス

はい

いいえ

システム・バックログ

はい

いいえ

ビジネス・トランザクション・フォルト

はい、SOAインフラストラクチャ全体のフォルトがすべて表示されます。

はい、個々のパーティションのみのフォルトが表示されます。

コンポジットおよびアダプタの可用性

はい、SOAインフラストラクチャ全体について、コンポジットおよびアダプタの可用性が表示されます。

はい、個々のパーティションのみについて、コンポジットおよびアダプタの可用性が表示されます。

検索

はい、SOAインフラストラクチャ全体について、すべてのインスタンスと一括リカバリ・ジョブの検索、および保存済の検索が表示されます。

はい、個々のパーティションのみについて、インスタンスと一括リカバリ・ジョブの検索、および保存済の検索が表示されます。

フォルト・アラート

はい、SOAインフラストラクチャ全体のエラー通知アラートが表示されます。

はい、個々のパーティションのみのエラー通知アラートが表示されます。

「ダッシュボード」ページに表示できる情報は、ユーザーの権限に基づきます。たとえば、特定のパーティションの権限しかないユーザーは、SOAインフラストラクチャの「ダッシュボード」ページにアクセスできません。ただし、その特定のパーティションの「ダッシュボード」ページにはアクセスできます。

SOAインフラストラクチャまたは個々のパーティションの全体的ステータスを監視する手順は、次のとおりです。

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

a. SOAインフラストラクチャの全体的ステータスの情報にアクセスする手順は、次のとおりです。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

SOAコンポジットのメニューから...

i. 「ホーム」→「ダッシュボード」の順に選択します。

i. 「SOA」を展開します。

ii. 「soa-infra」→「server_name」の順に選択します。

i. 「SOAインフラストラクチャ」を選択します。

SOAインフラストラクチャの「ダッシュボード」ページには、次の詳細が表示されます。

b. 個々のパーティションの全体的ステータスの情報にアクセスする手順は、次のとおりです。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

i. 「パーティションの管理」を選択します。

ii. 「SOAパーティション」列で特定のパーティションを選択します。

i. 「SOA」を展開します。

ii. 「soa-infra」→「server_name」の順に展開します。

iii. 特定のパーティションを選択します。

選択したパーティションの「ダッシュボード」ページには、次の詳細が表示されます。

次の全体的ステータス監視タスクを実行できます。

- キー構成設定の表示

- SOAインフラストラクチャの全体的なランタイム・ヘルスの表示

- SOAインフラストラクチャのシステム・バックログの表示

- ビジネス・トランザクション・フォルトの表示

- SOAコンポジット・アプリケーションとアダプタの可用性の表示

- インスタンスおよび一括リカバリ・ジョブの検索

- エラー通知アラートの表示

4.1.1 キー構成設定の表示

「キー構成」セクションでは、SOAプロファイル、インスタンス・トラッキング、デフォルト問合せ期間、(パーティションの)ワーク・マネージャ・グループ、および自動パージに関する重要なシステム構成設定を表示できます。SOAインフラストラクチャおよび個々のパーティションの「ダッシュボード」ページに、同じ構成設定が表示されます。また、個々のパーティションの「ダッシュボード」ページには、パーティションのワーク・マネージャ・グループが表示されます。

キー構成設定を表示する手順は、次のとおりです。

1. 「キー構成」セクションには、次の詳細が表示されます。

- SOAインフラストラクチャの「ダッシュボード」ページ上:

- 個々のパーティションの「ダッシュボード」ページ上:

2. このセクションから次の監視タスクおよび管理タスクを実行します。

ページの<Section_Name>セクションの要素を説明しています。" title="" width="90%">

要素

説明

プロファイル

「SOAインフラストラクチャの共通プロパティ」ページで選択した現在の構成プロファイルが表示されます(BPM Classicなど)。SOAプロファイルは、SOA機能のサブセットを提供し、SOAインフラストラクチャの全体的なメモリー・フットプリントを削減します。デフォルト・プロファイルはインストール時に自動的に設定されます。

この値を変更する手順は、次のとおりです。

a. 「プロファイル」フィールドの右側にあるアイコンをクリックします。

b. 「プロファイルの変更」をクリックします。「SOAインフラストラクチャの共通プロパティ」ページが表示されます。

c. リストからプロファイルを選択して、「OK」をクリックします。

d. サーバーを再起動します。

注意: プロファイルの変更が正常に実行されないと、システムが不安定な状態になります。資格のあるSOA管理者のみが、このSOAインフラストラクチャがデプロイされたすべてのOracle WebLogic Serverをただちに再起動する必要があります。そうしないと、システムが不安定な状態になります。プロファイルの詳細は、「Oracle BPM Suiteのプロファイルの構成」を参照してください。

インスタンス・トラッキング

監査レベルの設定(「オフ」、「本番」または「開発」)を表示します。この設定により、メッセージ・トラッキング・インフラストラクチャによって収集される情報のレベルが決定されます。この情報は、SOAインフラストラクチャに関連付けられたインスタンス・データ・ストア(データベース)に収集されます。これらの設定の詳細は、「監査証跡、ペイロード検証およびデフォルト問合せ期間の構成」を参照してください。

この値を変更する手順は、次のとおりです。

a. 「インスタンス・トラッキング」フィールドの右側にあるアイコンをクリックします。

b. 監査レベルの変更をクリックします。「SOAインフラストラクチャの共通プロパティ」ページが表示されます。

c. 「監査レベル」リストから適切な値を選択し、「適用」をクリックします。

デフォルト問合せ期間

インスタンスとフォルトのデータを取得する期間が表示されます。このプロパティは、即時利用可能な問合せによってデフォルトでフェッチされるインスタンスおよびフォルト・データの量を制御します。この値は、問合せ/検索の機能があるページ(たとえば、問合せ機能を含むダッシュボード・ページ・リージョン、フロー・インスタンス・ページ、エラー・ホスピタル・ページ、リシーケンサ・ページなど)のデフォルトの時間範囲値としても表示されます。必要に応じて、対応するページでこの値をオーバーライドできます。

注意: Oracle Enterprise Manager Fusion Middleware Controlの複数のページおよび問合せのパフォーマンスに大きく影響するため、期間を設定することを強くお薦めします。

よりデータ集約型の一部のページでは、パフォーマンス上の理由からデータは最初にプリロードされません。検索またはリフレッシュ・ボタンをクリックして、データを表示するよう明示的にリクエストする必要があります。別の期間を指定しなかった場合、問合せはデフォルトの期間設定を使用して実行されます。

デフォルト値は24時間です。この値は、「SOAインフラストラクチャの共通プロパティ」ページのデフォルト問合せ期間セクションで設定されます。

この値を変更する手順は、次のとおりです。

a. 「デフォルト問合せ期間」フィールドの右にあるアイコンをクリックします。

b. 「デフォルト問合せ期間の変更」をクリックします。「SOAインフラストラクチャの共通プロパティ」ページが表示されます。

c. 「デフォルト問合せ期間」リストで、期間を変更し、「適用」をクリックします。

このプロパティの設定の詳細は、「監査証跡、ペイロード検証およびデフォルト問合せ期間の構成」を参照してください。

ワーク・マネージャ・グループ

パーティションのワーク・マネージャ・グループが表示されます。このセクションは、個々のパーティションの「ダッシュボード」ページにのみ表示されます。

ワーク・マネージャ・グループは、パーティション構成とリクエスト処理を分離します。ワーク・マネージャは、論理スレッド・プールを表すOracle WebLogic Serverエンティティです。これは、作業アイテムが順番に処理を待機するキューに似ています。

詳細は、「ワーク・マネージャ・グループの管理」を参照してください。

自動パージ

Oracle SOA Suiteで、古くなったフロー・インスタンス、アダプタ・レポートおよびフォルト・アラートをデータベースから自動的に削除できるかどうかが表示されます。このオプションは、Oracle SOA Suite製品のインストールに対してデフォルトで有効になります。

この値を変更する手順は、次のとおりです。

a. 「自動パージ」フィールドの右側にあるアイコンをクリックします。

b. 自動パージの設定をクリックします。自動パージ・ページが表示されます。

c. 環境の要件に基づいて、「有効化」チェック・ボックスを選択または選択解除します。

注意: Oracle SOA Suite Quick Startインストール・オプションに含まれるJavaデータベースを使用している場合は、「自動パージ」要素は表示されません。

データベースからのデータの自動削除の詳細は、「Oracle Enterprise Manager Fusion Middleware Controlを使用した大量のインスタンスの削除」を参照してください。

EDNを一時停止

このメッセージが表示されるのは、ビジネス・イベントの配信が停止された場合のみです。これは次のシナリオで発生します。

- システムMBeanブラウザのednプロパティがtrueに設定されたとき。

- パッチが適用され、EDNが自動的に一時停止モードになったとき。パッチに失敗すると、EDNは一時停止モードのままになります。

このプロパティの設定の詳細は、「EDNイベント・バスおよび配信のチューニング」を参照してください。

4.1.2 SOAインフラストラクチャの全体的なランタイム・ヘルスの表示

「SOAランタイム・ヘルス」セクションでは、クラスタまたは単一ノード環境におけるSOAインフラストラクチャの全体的な状態、および11gから12cへのデータの移行が完了しているかどうかを表示できます。このセクションは、SOAインフラストラクチャの「ダッシュボード」ページにのみ表示されます。

SOAインフラストラクチャの全体的なランタイム・ヘルスを表示する手順は、次のとおりです。

1. 「SOAランタイム・ヘルス」セクションには、次の詳細が表示されます。

a. 各ノードのSOAインフラストラクチャが実行中で、すべてのコンポジットが正常にロードされている場合、次のメッセージが表示されます。

b. データ・ソースが停止されている場合、またはSOAサーバーにターゲット設定されていない場合、または機能していない場合(接続タイムアウトなどにより)、次のメッセージが表示されます。

c. Oracle Web Services Manager (OWSM)ポリシー・マネージャが実行していない場合、次のメッセージが表示されます。

2. このセクションから次の監視タスクおよび管理タスクを実行します。

ページの<Section_Name>セクションの要素を説明しています。" title="" width="90%">

要素

説明

データ移行

11gから12cへのデータ・アップグレード・ステータスが表示されます。次のメッセージのリンクが表示される場合があります。

- データ移行が完了していません
このメッセージのリンクをクリックすると、次の詳細を示すメッセージが呼び出されます。アクティブ・インスタンスの移行ステータス(完了または未完了)。非アクティブ・インスタンスの移行ステータス(完了、日付より前でまだ移行されていない、または未完了)。

- データ移行の完了
このメッセージ・リンクの横の「アラート」アイコンをクリックして、アップグレードの前に使用可能だったすべてのデータが現在も使用可能で、レポート移行スクリプトを実行して特定の詳細を表示できることを示すメッセージを呼び出します。

このメッセージを閉じるには、メッセージの右上の「閉じる」アイコンをクリックします。これは、移行完了メッセージを再度表示しないことを選択する確認メッセージを呼び出します。

レポート移行スクリプトを実行するには、Oracle SOA SuiteおよびBusiness Process ManagementのアップグレードのUpgrade Administrationスクリプトの使用に関する項を参照してください。

移行ステータスの詳細は、Oracle SOA SuiteおよびBusiness Process ManagementのアップグレードのFusion Middleware Controlでのアップグレード・ステータスの監視に関する項を参照してください。

soa-infra (server_name)

クラスタ環境または単一ノード環境内のすべてのノードの全体的なステータスを表示します。管理対象サーバーのホームページに移動するには、サーバー名をクリックします。各ノードのSOAインフラストラクチャが実行中で、すべてのコンポジットが正常にロードされている場合、次のメッセージが表示されます。

Initialized Successfully

SOAインフラストラクチャのランタイム環境の全体的な状態に影響を与える可能性のある問題は、いくつかあります。

- (接続タイムアウトなどにより)データ・ソースが停止されている場合または機能していない場合は、次のメッセージが表示されます。

Data Sources unavailable: number

次のデータ・ソースが監視されます。

- EDNDataSource

- EDNLocalTxDataSource

- SOADataSource

- opss-data-source

- mds-SOA

警告メッセージを展開して、影響を受けるデータ・ソース・タイプを表示します(例: EDNDataSource)。データ・ソースをクリックして、「JDBCデータソース(モニタリング)」ページにアクセスできます。

- SOAインフラストラクチャのJava Transaction API (JTA)アプリケーションが実行されていますが、ロードされていないSOAコンポジット・アプリケーションがあります。SOAインフラストラクチャが停止中で、現在初期化中であることを示す警告メッセージが表示されます。SOAインフラストラクチャは、すべてのデプロイ済コンポジットがロードされるまで受信リクエストを管理するために完全には初期化されない場合があります。そのため、Oracle Enterprise Manager Fusion Middleware Controlの一部のページに表示されるレスポンス・メトリックは、実際のステータスを反映していない可能性があります。このことは、SOAインフラストラクチャが複数の管理対象サーバーおよび多数のデプロイ済コンポジットを持つクラスタ内にある場合に最も顕著になります。初期化ステージ中、Oracle Enterprise Manager Fusion Middleware Controlでは、コンポジット・デプロイメント、コンポジット・アンデプロイメントなどの操作を、これらの操作が正常に完了しなくても、実行することができます。このメッセージが表示されている間は、コンポジット・デプロイメント、コンポジット・アンデプロイメントなどの操作を実行しないでください。初期化が完了すると、メッセージは表示されなくなります。このことは、ページをリフレッシュするとわかります。その後、操作を実行できます。

- OWSMポリシー・マネージャが実行されていない場合、次のメッセージが表示されます。

Policy Manager validation failed

- メッセージを開いて、WSM診断にナビゲートをクリックします。

- システムMBeanブラウザで、「操作」をクリックします。

- 「checkPolicyManagerStatus」をクリックします。

- 「起動」をクリックします。

4.1.3 SOAインフラストラクチャのシステム・バックログの表示

「システム・バックログ」セクションでは、キュー内のメッセージ数を表示できます。メッセージ・キューのバックログ数を取得するには、「バックログのリフレッシュ」ボタンをクリックする必要があります。このセクションは、SOAインフラストラクチャの「ダッシュボード」ページにのみ表示されます。

SOAインフラストラクチャでシステム・バックログを表示する手順は、次のとおりです。

1. 「システム・バックログ」セクションには、次の詳細が表示されます。

2. このセクションから次の監視タスクおよび管理タスクを実行します。

ページの<Section_Name>セクションの要素を説明しています。" title="" width="90%">

要素

説明

キュー内のメッセージ

次のメッセージ・タイプについて、キュー内のメッセージ数を表示します。現在キューに入っている次のメッセージ・タイプのメッセージ数は、デフォルトではロードされません。

- BPEL起動

- BPELコールバック

- メディエータ・パラレル・ルーティング

- EDN WLS JMS

バックログのリフレッシュ

クリックすると、キュー内のメッセージ数の表示がリフレッシュされます。

4.1.4 ビジネス・トランザクション・フォルトの表示

「ビジネス・トランザクション・フォルト」セクションでは、SOAインフラストラクチャまたは個々のパーティションにおけるリカバリ不能なフォルト、リカバリが必要なフォルト、リカバリ済のフォルト、および自動的に再試行されたシステム・フォルトを取得する特定の期間を設定できます。デフォルト値は24時間です。

ビジネス・トランザクション・フォルトを表示する手順は、次のとおりです。

1. 「ビジネス・トランザクション・フォルト」セクションには、次の詳細が表示されます。

- SOAインフラストラクチャの「ダッシュボード」ページ上(すべてのパーティション用):

- 個々のパーティションの「ダッシュボード」ページ上(パーティション内のすべてのコンポジット用):

2. このセクションから次の監視タスクおよび管理タスクを実行します。

ページの<Section_Name>セクションの要素を説明しています。" title="" width="90%">

要素

説明

過去の時間間隔

フォルトをチェックする期間を指定します。

「リフレッシュ」アイコン

クリックしてページをリフレッシュすると、SOAインフラストラクチャの各パーティション、または個々のパーティションにおけるリカバリ不能なフォルト、リカバリが必要なフォルト、リカバリ済のフォルト、および自動的に再試行されたシステム・フォルトの合計数、ならびに非アクティブな再シーケンサ・グループ数が表示されます。

エラー・ホスピタル・ページのフォルト詳細にアクセスするには、パーティションの特定のグラフをクリックします。「エラー・ホスピタル」ページにアクセスすると、次が表示されます。

- SOAインフラストラクチャ・レベルでは、「レポート・フィルタ」セクションの「コンポジット」フィルタの「パーティション名」リストに特定のパーティション名が自動的に入力されます。

- 個々のパーティション・レベルでは、「レポート・フィルタ」セクションの「コンポジット」フィルタの「コンポジット」フィールドに特定のSOAコンポジット・アプリケーションが自動的に入力されます。

- SOAインフラストラクチャおよび個々のパーティション・レベルにおける、非アクティブ(失敗およびタイムアウト)のリシーケンサ・グループが表示されます。「非アクティブなリシーケンス・グループ」リンクをクリックすると、「メディエータ・リシーケンス・グループ」ページにアクセスします。

4.1.5 SOAコンポジット・アプリケーションとアダプタの可用性の表示

「コンポジットとアダプタの可用性」セクションでは、起動しなかったコンポジット、接続性エラーがあるアダプタ、コンポジット・エンドポイントおよびアダプタ・エンドポイントに対してスケジュールされた停止時間をリストできます。このセクションは、クラスタ環境と単一ノード環境の両方に表示されます。

SOAコンポジット・アプリケーションとアダプタの可用性を表示する手順は、次のとおりです。

1. View the following details in the 「コンポジットとアダプタの可用性」セクションには、次の詳細が表示されます。SOAインフラストラクチャの「ダッシュボード」ページでは、SOAインフラストラクチャにおけるすべてのコンポジットおよびアダプタの可用性が表示されます。個々のパーティションの「ダッシュボード」ページでは、そのパーティション内のみのすべてのコンポジットおよびアダプタの可用性が表示されます。

2. コンポジット起動エラーが発生する場合、メッセージを展開して、エラーが発生したSOAコンポジット・アプリケーションの名前と時刻を表示します。

3. EIS接続性エラーが表示される場合、メッセージを展開して、エラー・タイムスタンプの上にカーソルを置き、フォルトの詳細を表示します。

4. このセクションから次の監視タスクおよび管理タスクを実行します。

ページの<Section_Name>セクションの要素を説明しています。" title="" width="90%">

要素

説明

次のコンポジットとアダプタの可用性の詳細を取得するクラスタ環境または単一ノード環境内のSOAインフラストラクチャを選択します。クラスタ環境では、すべての管理対象サーバーがリストに表示されます。

- コンポジットの起動エラーのステータス。

- EIS接続エラー・ステータス: エラーは、エンドポイントとEIS間の接続が停止している場合に表示されます(たとえば、データベース・アダプタの場合は、データベースが停止しているとき、ファイル・アダプタの場合は、ファイルが指定した場所に存在しなかったりファイルが読取りまたは書込み可能ではないとき)。これらのエラーは、アダプタ・サービス・バインディング・コンポーネント・エンドポイントに該当し、参照バインディング・コンポーネント・エンドポイントには該当しません。

- コンポジットの停止時間のステータス(稼働中または停止): 停止時間のステータスは通常、スケジュールされた停止時間を指し、このリストの最初の2つのステータスより計画的です。

エラーが発生すると、警告を示す記号とエラー数がセクションの横に表示されます。

a. 問題があるコンポジット・エンドポイントまたはアダプタ・エンドポイントのリストを表示するには、セクションを展開します。

b. エラーの詳細をより具体的に表示するには、エラーの説明をクリックします。

c. ホームページに移動するには、コンポジットまたはアダプタの名前をクリックします。

4.1.6 インスタンスおよび一括リカバリ・ジョブの検索

「検索」セクションでは、最近のインスタンスおよび一括リカバリ・ジョブを検索できます。「一括リカバリ・ジョブ」検索オプションは、Oracle Enterprise Schedulerがデプロイされていない場合は表示されません。

インスタンスおよび一括リカバリ・ジョブを検索する手順は、次のとおりです。

1. 「検索」セクションには、次の詳細が表示されます。

a. 「インスタンス」をクリックすると、事前シード済のカスタム・インスタンス検索フィルタが表示されます。

b. 「一括リカバリ・ジョブ」をクリックすると、事前シード済のジョブ検索フィルタが表示されます。

2. このセクションから次の監視タスクおよび管理タスクを実行します。

ページの<Section_Name>セクションの要素を説明しています。" title="" width="90%">

要素

説明

インスタンス

最近のインスタンスを検索する場合に選択します。この検索では、「SOAインフラストラクチャの共通プロパティ」ページの「デフォルト問合せ期間」プロパティで指定された期間内に作成されたインスタンスが返されます。検索するデフォルト期間は24時間です。

a. 検索を開始するには、事前定義済の検索問合せリストおよび保存済の検索問合せリスト内のリンクのいずれかをクリックします。
フォルトあり: この検索では、フォルトがある最新のインスタンスが返されます。

すべて: この検索では、デフォルトの期間内に作成されたインスタンスがすべて返されます。

保存済検索: 実行に使用できる保存済検索を表示します。フロー・インスタンス・ページまたはエラー・ホスピタル・ページで保存済の検索を作成して、このパーティション名を指定すると、その検索がこのリストに表示されます。

または

a. 次のいずれかの要素の値を入力して、「インスタンスの検索」をクリックします。
コンポジット

インスタンス名またはインスタンスID

センサー名

センサー値

検索結果が表示されたフロー・インスタンス・ページにリダイレクトされます。

一括リカバリ・ジョブ

最新の一括リカバリ・ジョブを検索する場合に選択します。この検索は、Oracle Enterprise Schedulerがデプロイされている場合のみ表示され、「SOAインフラストラクチャの共通プロパティ」ページの「デフォルト問合せ期間」プロパティで指定された期間内に作成されたジョブを返します。(「Oracle Enterprise Scheduler」ページには、より多くの検索オプションが用意されています。)

a. 事前定義された検索問合せのリスト内のリンクのいずれかをクリックします。検索結果が表示されるOracle Enterprise Schedulerページにリダイレクトされます。
エラー

保留中

すべて

または

a. 特定の一括リカバリ・ジョブを検索するには、「ジョブ・リクエストID」にそのジョブIDの値を入力し、「ジョブ・ステータスの確認」をクリックします。このフィールドは、Oracle Enterprise Schedulerがデプロイされている場合に表示されます。

ジョブのステータスを表示するため、Oracle Enterprise Schedulerのジョブ・ページにリダイレクトされます。

ジョブ・リクエストIDの詳細は、「単一操作での一括フォルト・リカバリおよび終了の実行」を参照してください。

Oracle Enterprise Manager Fusion Middleware ControlでのOracle Enterprise Schedulerの使用方法の詳細は、『Oracle Enterprise Schedulerの管理』を参照してください。

4.1.7 エラー通知アラートの表示

適切な権限がある場合は、「フォルト・アラート」セクションでは、SOAインフラストラクチャおよび個々のパーティションのエラー通知アラートを表示できます。システムにエラーがない場合、このセクションでは、フォルト・アラートのリストの位置に「アラートは検出されませんでした。」というメッセージが表示されます。

エラー通知アラートを表示する手順は、次のとおりです。

アラートは、ルール条件が満たされた場合にトリガーされます(たとえば、48時間以内に10を超えるフォルトが発生した場合にトリガーするアラートを定義します)。エラー・アラートは、「エラー通知ルールの作成」ページで「ダッシュボードへのアラートの送信」オプションが選択されている場合に表示されます。特定のフォルト条件が満たされたときに送信されるエラー通知ルールは、「エラー通知ルールの作成」ページで作成します。

1. 「フォルト・アラート」セクションには、次の詳細が表示されます。

- SOAインフラストラクチャの「ダッシュボード」ページ上:

- 個々のパーティションの「ダッシュボード」ページ上(すべてのフィールドは無効になり、パーティション名が表示されます):

2. このセクションから次の監視タスクおよび管理タスクを実行します。

ページの<Section_Name>セクションの要素を説明しています。" title="" width="90%">

要素

説明

ルール

選択すると、次のエラー通知アラートが表示されます。

- すべて: クリックするとすべてのアラートが表示されます。

- システム: クリックすると、SOAインフラストラクチャ・レベルで作成されたアラートが表示されます。

- パーティション。クリックして、アラートを表示するパーティションを選択します。

フォルト番号をクリックして、「エラー・ホスピタル」ページのエラー詳細にアクセスします。

Alert_Name

次の詳細が表示されます。

- アラートの名前。
このアラートをトリガーしたエラー通知ルールを表示するには、アラート名をクリックします。

- アラートに関連付けられているフォルトの数。
フォルト番号をクリックすると、エラー・ホスピタル・ページに移動して、フォルトの詳細を確認できます。フォルト・アラートが最初に発生したときと最後に発生したときは、右側の「レポート・フィルタ」セクションの「時間」の部分が自動的に選択されて表示されます。

- アラートがトリガーされた時刻。

注意: 「エラー通知ルールの作成」ページで「ダッシュボードへのアラートの送信」を選択しない場合、アラートはダッシュボード・ページに表示されません。

詳細は、「エラー通知ルールの作成」を参照してください。

4.2 Oracle SOA Suiteルーティング・トポロジの検出

既存のOracle SOA Suite環境の管理作業時は、トポロジ・ビューアが便利です。トポロジ・ビューアは、デプロイされているリソース(サーバー、データベースおよびデータ・ソース、SOAコンポジット・アプリケーションなど)とこれらの関係をグラフィックで迅速に表示します。

トポロジ・ビューアは、コンポーネントおよび要素間のルーティング関係を表示します。トポロジ・ビューアを使用すると、Oracle Enterprise Manager Fusion Middleware Control環境を検出して、コンポーネント間でリクエストがどのようにルーティングされるかを確認できます。

たとえば、トポロジ・ビューアを使用すると、次の事項の把握が可能になります。

- SOAサーバーが依存するデータベース

- これらのデータベースへの接続に使用されるデータ・ソース

- 稼働中および停止中のSOAサーバーなどのエンティティ

- 管理サーバーのリクエスト処理時間など、コンポーネントのパフォーマンス・メトリック。

Oracle SOA Suiteルーティング・トポロジを検出する手順は、次のとおりです。

1. 「WebLogicドメイン」メニューから、「ルーティング・トポロジ」をクリックします。

トポロジ・ビューアが表示されます。「トポロジ・ビューア」にOracle Fusion Middlewareコンポーネント(管理サーバー、管理対象サーバー、クラスタ、およびデータベース)のルーティング関係が表示されます。

2. アイコンの左側のハンドルを展開すると、さらに詳細が表示されます。たとえば、soa-infraを展開すると、SOAインフラストラクチャのパーティションを表示できます。

3. パーティションを展開すると、そのパーティションにデプロイされているSOAコンポジット・アプリケーションが表示されます。

4. 「表示方法」リストから、「アプリケーション」を選択します。これで、アプリケーション間のルーティング関係が表示されます。構成済のOracle Metadata Services (MDS)リポジトリも表示されます。

5. トポロジ・ビューアの上にある上矢印をクリックすると、ステータスが実行中のターゲットが表示されます。

6. 「オプション」アイコンから、「注釈」を選択して、様々なエンティティの状態、停止しているサーバー、およびコンポーネントのキー・パフォーマンス・メトリックなどの詳細を表示するオプションを選択します。

7. コンポーネント(soa-infraなど)を右クリックすると、操作を実行するためのメニューが起動されます。たとえば、「ホーム」をクリックして、アプリケーションの「ダッシュボード」ページにアクセスします。

8. コンポーネント間のラインをクリックすると、使用されているホスト、ポート、データベースなどのJDBCルーティング関係が表示されます。

9. いずれかのエンティティ(「AdminServer」など)の端にカーソルを合わせると、小さいアイコンが起動します。

10. アイコンを選択すると、サーバー・タイプ、ホスト名およびポートに関する詳細が表示されます。

11. 「詳細」をクリックすると、その他の詳細が表示されます。

トポロジ・ビューアの詳細は、『Oracle Fusion Middlewareの管理』のルーティング・トポロジの表示に関する項を参照してください。

4.3 SOAインフラストラクチャのパフォーマンス・サマリー・メトリックの監視

「パフォーマンス・サマリー」ページでは、SOAインフラストラクチャのパフォーマンス・メトリックのサマリーを表示できます。

「パフォーマンス・サマリー」ページには、デフォルトで次の情報がグラフィック表示されています。

- サーバーの最終再起動以降のSOAインフラストラクチャのメッセージの合計数。

- サーバーの最終再起動以降のサービス・コンポーネント・メッセージ(BPELプロセス、Oracle Mediator、ヒューマン・ワークフロー、ビジネス・ルール(デシジョン・サービス))の合計数。

SOAインフラストラクチャのパフォーマンス・サマリー・メトリックを監視する手順は、次のとおりです。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「監視」→「パフォーマンス・サマリー」を選択します。

a. 「soa-infra」を右クリックします。

b. 「監視」→「パフォーマンス・サマリー」を選択します。

「パフォーマンス・サマリー」ページが表示されます。

2. ページの下部に、その他のメッセージ情報が表示されます。

3. 「メトリック・パレットの表示」をクリックすると、SOAインフラストラクチャのすべてのメトリックの階層ツリーが表示されます。このツリーは、メトリックをパフォーマンス・データの様々なカテゴリで整理しています。

4. フォルダを開き、「メトリック・パレット」のメトリックを選択すると、時間の経過に応じたメトリックの変化を示すパフォーマンス・グラフが表示されます。このグラフは自動的にリフレッシュされ、更新されたデータが表示されます。

5. 「スライダ」をクリックしてスライダ・ツールを表示すると、グラフに表示するデータの時間枠を指定できます。

「パフォーマンス・サマリー」ページの詳細は、「パフォーマンス・サマリー」ページのオンライン・ヘルプ、およびOracle Fusion Middlewareの管理のOracle Fusion Middlewareのパフォーマンスの表示に関する項を参照してください。

メッセージ配信処理リクエストの監視の詳細は、「メッセージ配信リクエスト処理の監視」を参照してください。

SOAコンポジット・アプリケーションのサマリー・メトリック監視の詳細は、「SOAコンポジット・アプリケーションのパフォーマンス・サマリー・メトリックの監視」を参照してください。

サービス・エンジン統計の監視の詳細は、下記を参照してください。

- BPELプロセス・サービス・エンジンのリクエスト統計とスレッドパフォーマンス統計の監視

- リクエストのブレークダウン統計の監視

- 「ビジネス・ルール・サービス・エンジンのパフォーマンス統計の監視」。

- 「ヒューマン・ワークフロー・サービス・エンジンのアクティブ・リクエストと操作パフォーマンス統計の監視」。

- 「BPMNプロセス・サービス・エンジンのパフォーマンス統計の監視」。

4.4 メッセージ配信リクエスト処理の監視

SOAインフラストラクチャのメッセージ配信リクエスト処理を監視できます。監視できるのは、サービス・エンジン、サービス・インフラストラクチャおよびバインディング・コンポーネント間のメッセージ配信のメトリックです。一旦メッセージがサービス・エンジンに渡されると、そのメッセージを処理する所要時間(インスタンス処理時間)は、これらのメトリックでは取得できません。

メッセージ配信処理リクエストを監視する手順は次のとおりです。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「監視」→「リクエスト処理」の順に選択します。

a. 「soa-infra」を右クリックします。

b. 「監視」→「リクエスト処理」の順に選択します。

「リクエスト処理」ページでは、次の詳細を監視できます。

- サービス・エンジンおよびサービス・インフラストラクチャでの同期メッセージと非同期メッセージの平均リクエスト処理時間、アクティブ・リクエスト、処理済リクエスト、および失敗したリクエスト。

- サービス(インバウンド)と参照(アウトバウンド)のバインディング・コンポーネントで発生した平均リクエスト処理時間、処理済リクエストおよびエラー。

2. 「サービス・エンジン」セクションで、特定のサービス・エンジン(たとえば、「BPELエンジン」)をクリックし、詳細(そのサービス・エンジンを使用する最新のインスタンスやコンポーネント、最新のフォルト発生など)にアクセスします。

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

- バインディング・コンポーネントの概要

- サービス・エンジンの概要

- サービス・インフラストラクチャの概要

4.5 SOAインフラストラクチャのサービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントの監視

SOAインフラストラクチャにデプロイされたすべてのSOAコンポジット・アプリケーションで使用する、すべてのサービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントを監視できます。サービスは、外部の世界に対して、SOAコンポジット・アプリケーションへのエントリ・ポイントを提供します。サービスのWSDLファイルによって、そのサービスの機能が外部のアプリケーションに通知されます。参照は、SOAコンポジット・アプリケーションから外部にある外部サービスに送信するメッセージを有効にします。

SOAインフラストラクチャのサービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントを監視する手順は、次のとおりです。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「サービスと参照」を選択します。

a. 「soa-infra」を右クリックします。

b. 「サービスと参照」を選択します。

「サービス」ページには、サービスの名前とタイプ、サービスが使用されているSOAコンポジット・アプリケーション、SOAコンポジット・アプリケーションがデプロイされているパーティション、処理されたメッセージの合計数、平均処理時間、およびサービスで発生したフォルトの件数に関する詳細が表示されます。

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

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

4. 「パーティション」列で、特定のパーティションをクリックしてホーム・ページにアクセスします。

5. 「参照」タブをクリックします。
「参照」ページには、参照の名前とタイプ、参照が使用されているSOAコンポジット・アプリケーション、SOAコンポジット・アプリケーションがデプロイされているパーティション、処理されたメッセージの合計数、平均処理時間、および参照で発生したフォルトの件数に関する詳細が表示されます。

6. 「参照」列で、特定の参照をクリックし、そのホーム・ページにアクセスします。

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

8. 「パーティション」列で、特定のパーティションをクリックしてホーム・ページにアクセスします。

サービスと参照の詳細は、「バインディング・コンポーネントの概要」を参照してください

4.6 SOAヘルス・チェックの使用

SOAヘルス・チェック・フレームワークにより、一連のヘルスチェックおよびヘルスチェック・カテゴリが提供され、システムのヘルスを監視できます。チェックには、メモリー・チェック、データソース・チェック、SOAアプリケーション・ターゲット・チェック、BPEL関連チェックなどが含まれます。

起動チェックはサーバーの起動時に自動的に実行され、周期チェックは一定の間隔で実行するようにスケジュールできます。また、WLSTを使用して、個別のヘルス・チェックまたはヘルス・チェック・カテゴリを実行できます。

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

- SOAヘルス・チェック

- SOAヘルス・チェック・カテゴリ

- SOAヘルス・チェックの起動

4.6.1 SOAヘルス・チェック

SOAヘルス・チェックには、メモリー・チェック、データソース・チェック、SOAアプリケーション・ターゲット・チェック、BPEL関連チェックなどが含まれます。

表4-2は、このリリースで使用可能なSOAヘルス・チェックについて説明しています。

表4-2 SOAヘルス・チェック

ヘルス・チェック名

説明

BPELAsyncRequestCheck

BPEL非同期リクエスト・カウントが、構成されたしきい値、1000の範囲内かどうかチェックします。

BPELComponentInstanceCheck

オープンしているBPELコンポーネント・インスタンスの数が、構成されたしきい値、1000の範囲内かどうかチェックします。失敗したBPELコンポーネント・インスタンスの数が、しきい値、500の範囲内かどうかもチェックします。

DatasourceCheck

データソースが、soa-infraアプリケーションで使用するために正常にターゲットされているかどうかチェックします。

それぞれのデータソースでは、チェックを実行して、データソースのターゲットがsoa-infraアプリケーションのすべてのターゲットをカバーしているかどうか確認します。いずれかのsoa-infraアプリケーションが、データソース・ターゲットから1つでも欠けている場合、エラーが発生します。

DBStatsCheck

MDSデータベース統計が最新かどうかチェックします。

EDNMessageCheck

EDNイベント・キューおよびOAOOキュー内の保留メッセージ・カウントが、しきい値の範囲内かどうかチェックします。EDNイベント・キューで使用するしきい値制限は、2000です。OAOOキューで使用するしきい値制限は、5000です。

JDBCPoolsCheck

SOAデータソース、EDNデータソースおよびMDSデータソースが実行時に正常であるかどうかチェックします。

SOAAppCheck

SOAアプリケーションのターゲットを確認します。SOAアプリケーションは、少なくとも、すべてのsoa-infraアプリケーション・ターゲットをターゲットにする必要があります。

SOALibraryCheck

SOAライブラリおよび関連するライブラリのターゲットを確認します。SOAライブラリは、少なくとも、すべてのsoa-infraアプリケーション・ターゲットをターゲットにする必要があります。

ServiceCheck

SOA関連のサービスが機能しているかどうか確認します。現行では、このチェックは、OWSM Policy Managerサービスが機能しているかどうか確認します。

MemoryCheck

使用可能な(空の)ヒープ・メモリーが、構成されたしきい値、25%を超えているかどうかチェックします。

ヘルス・チェックが終了すると、次のいずれかの状態になります。

- 成功: チェックが完了し、合格しました。

- エラー: チェックが完了しましたが、合格しませんでした。

- 警告: チェックが完了し、合格しましたが、注意が必要です。

- 失敗: チェックは完了せず、実行されませんでした。

- スキップ: チェックが適用されない環境です。

- 無効: チェックが無効化され、実行できません。

4.6.2 SOAヘルス・チェック・カテゴリ

SOAヘルス・チェック・フレームワークは、ヘルス・チェックをヘルス・チェック・カテゴリへ論理的にグループ化します。1つのヘルス・チェックは、1つ以上のカテゴリの一部として使用できます。

ヘルス・チェック・カテゴリを、たとえば、WLSTコマンドを使用して実行する場合、カテゴリ内のすべてのヘルス・チェックが自動的に実行されます。特定のヘルス・チェック・カテゴリは自動的に実行されます。たとえば、「起動」カテゴリは、有効化されている場合、サーバーの起動時にすべての起動ヘルス・チェックを実行します。

表4-3は、SOAヘルス・チェック・カテゴリおよびそれらを構成するヘルス・チェックについて説明しています。

表4-3 SOAヘルス・チェック・カテゴリ

ヘルス・チェック・カテゴリ

説明

カテゴリに含まれるデフォルトのヘルス・チェック

起動

サーバー起動時に実行

DatasourceCheck、JDBCPoolsCheck、SOAAppCheck、SOALibraryCheck、ServiceCheck、MemoryCheck

クイック

軽量なチェックのセット

JDBCPoolsCheck、ServiceCheck、MemoryCheck

中間

中間的な程度のチェックのセット

BPELAsyncRequestCheck、BPELComponentInstanceCheck、DBStatsCheck、EDNMessageCheck

拡張

拡張的なチェックのセット

将来的に使用します。

構成

構成のチェック

DatasourceCheck、SOAAppCheck、SOALibraryCheck

4.6.3 SOAヘルス・チェックの起動

SOAヘルス・チェックは、様々な方法で起動できます。サーバーの起動時に自動的に実行されるチェックや、一定の間隔で実行されるチェックを設定できます。ヘルス・チェックを手動で実行するには、WLSTコマンドライン・ユーティリティを使用できます。

サーバーの起動

本番SOAサーバーが起動すると、「起動」カテゴリのヘルス・チェックが自動的に実行されます。起動ヘルス・チェックはデフォルトで自動的に有効化されます。起動時の実行の結果は、SOAサーバー・ログに記録されます。

起動時に実行されないようにするには、WLSTコマンドを使用します。起動時に実行されるテストのカテゴリを、該当するWLSTコマンドを使用して変更することもできます。Oracle Fusion Middleware SOA Suite WLSTコマンド・リファレンスのenableHCStartupRunおよびsetHCStartupRunCategoryに関する項を参照してください。

定期的起動

SOAヘルス・チェックは定期的に実行されるように事前に構成されており、本番SOAサーバーで自動的に実行されます。表4-4に、事前構成された定期的実行を示します。

表4-4 事前構成された定期的実行

定期的実行名

カテゴリ

スケジュール

デフォルトで有効化

頻繁

クイック

2時間おきに毎時07分

はい

毎日

中間

毎日、5時15分

はい

毎週

拡張

毎週、3時30分

いいえ(将来的に使用します)

周期的実行は、デフォルトで有効化されています。周期的実行の結果は、SOAサーバー・ログに記録されます。

周期的実行を無効化したり、周期的実行に関連するヘルス・チェック・カテゴリを変更できます。スケジュールを変更する、または新しい周期的実行を追加できます。Oracle Fusion Middleware SOA Suite WLSTコマンド・リファレンスのcreateHCPeriodicRun、enableHCPeriodicRun、setHCPeriodicRunInterval、setHCPeriodicRunScheduleおよびsetHCPeriodicRunCategoryに関する項を参照してください。

WLSTの起動

WLSTコマンドを使用して、次のことができます。

- ヘルス・チェックをリスト

- ヘルス・チェックを構成

- ヘルス・チェック・カテゴリをリスト

- ヘルス・チェックを名前毎に実行

- ヘルス・チェックのカテゴリを実行

- 結果を取得(HTMLレポートが指定された場所に返ります)

- 結果を削除

すべてのヘルス・チェック・コマンドの詳細は、Oracle Fusion Middleware SOA Suite WLSTコマンド・リファレンスのSOAヘルス・チェックのコマンドに関する項を参照してください。

WLSTコマンドは、オンライン・モードで実行します。SOAサーバーに接続する必要があります。

4.7 IWSレポートを使用したSOA全体の問題の監視とトラブルシューティング

Integration Workload Statistics (IWS)レポートでは、使用状況の分析、考えられるボトルネックとバックログの特定、統合システムのトップダウン分析を行う際に役立つ、SOAシステム全体のレポートが提供されます。

注意:
このSOA Suite機能は、Oracle Integration継続的可用性の一部です。Oracle SOA Suite for Middleware Optionsの詳細は、Oracle Fusion Middlewareライセンス情報を参照してください。

したがって、たとえば、SOAシステム内にシステムを低速にしている負荷のかかっったコンポーネントやエンドポイントがある場合、IWSレポートを使用するとそれらを絞り込むことができます。たとえば、低速のFTPまたはデータベース・アダプタ参照エンドポイントをレポートで特定できます。また同様に、通常より低速で実行されているBPELプロセスも特定できます。BPELキューやEDNキューなどの内部キュー・バックログを参照できます。また、SOAコンポジットに関連するサマリーも表示できます。

IWSレポートには、システム・リソースの使用状況、コンポジット統計、内部システム・キューの統計、同期および非同期のビジネス・プロセスの統計、エンドポイント統計などのメトリックを含めることができます。このリリースでサポートされているコンポーネントには、BPELサービス・エンジン、EDN、Webサービス・バインディング、ファイル・アダプタ、JMSアダプタ、FTPアダプタ、DBアダプタ、AQアダプタおよびMQアダプタがあります。

収集される統計の詳細は、「IWSレポートに含まれる統計」を参照してください。

IWSはパフォーマンス統計の定期的なスナップショットを取得して、これらのレポートを生成します。IWSレポート用に収集するデータの粒度を選択できます。次の表に、データ収集レベルまたは統計レベル、および各レベルで収集されるデータを示します。

表4-5 IWSレポートのデータ収集レベル

データ収集レベル/統計レベル

収集されるデータ

OFF

データは収集されません。これはデフォルトのレベルです。

MINIMUM

システム全体のリソース使用状況データ。

BASIC

MINIMUMで収集されるデータと、サービスおよび参照エンドポイントの統計、BPELおよびEDNバックアップ・キューの統計、BPELインスタンス統計。

NORMAL

BASICで収集されるデータと、BPELアクティビティ(Receive、Invoke、Pick、onMessageなど)に関するデータ。

FINEST

NORMALで収集されるデータと、すべてのBPELアクティビティに関するデータ。

4.7.1 IWSの有効化と構成

Integration Workload Statistics (IWS)スナップショット・データは、定期的な間隔で収集されます。スナップショット・データ収集を有効化し、スナップショット間隔および収集されるデータの粒度を構成できます。

Enterprise Manager Fusion Middleware ControlでIWSを有効化および構成するには、次の手順を使用します。

1. 「SOAインフラストラクチャ」メニューから「モニタリング」→「IWSレポート」を選択します。
「IWSレポート」ページが表示されます。

2. ページの右上付近にある「構成」をクリックします。
「IWSデータ収集の構成」ダイアログが表示されます。

3. 分単位の「スナップショット間隔」を選択します。
スナップショット間隔は、データ・スナップショットが収集される定期的な間隔です。

4. 「データ収集レベル」を選択します。選択したレベルによって、収集されるメトリックが決まります。
デフォルトのレベルはOFFで、IWSデータ収集は無効になります。システム全体のリソース使用状況データのみを収集する場合は、Minimumレベルを使用します。Basicレベルを設定すると、さらにサービスおよび参照エンドポイントの統計、BPELおよびEDNバックアップ・キューの統計、BPELインスタンス統計が追加されます。「Normal」を選択すると、さらにBPELアクティビティ(Receive、Invoke、Pick、onMessageなど)に関するデータが追加されます。Finestレベルでは、さらにすべてのBPELアクティビティに関するデータが追加されます。

5. 「OK」をクリックして、構成の変更を保存します。

これで、IWSデータ収集設定の構成が完了しました。

4.7.2 IWSレポートの生成

IWSレポート・ページでは、システムのボトルネックおよびバックログの特定に役立つSOA全体のレポートを作成できます。Integration Workload Statistics (IWS)には、システム・リソースの使用状況、コンポジット統計、内部システム・キューの統計、同期および非同期のビジネス・プロセスの統計、エンドポイント統計などのメトリックが含まれます。

Enterprise Manager Fusion Middleware ControlでIWSレポートを作成するには、次の手順を使用します。

IWSデータ収集の構成とスナップショット間隔の設定を行っておく必要があります。詳細は、「IWSの有効化と構成」を参照してください。

1. 「SOAインフラストラクチャ」メニューから「モニタリング」→「IWSレポート」を選択します。
「IWSレポート」ページが表示されます。

2. レポートを生成する期間を選択します。「開始日」と「終了日」のタイムスタンプを選択します。
期間がサーバーの再起動後にわたっていないこと、または「データ収集レベル」をOFFに設定してIWSを無効にした期間にわたっていないことを確認します。

3. SOAサーバー名を選択します。
デフォルト・サーバーを受け入れることも、マルチクラスタ環境の場合は別のノードを選択することもできます。クラスタの場合、クラスタ名を選択して、クラスタ内のすべてのノードに関する統合レポートを生成することもできます。

(オプション)ここで手順の結果を入力します。

4. (オプション)コンポジット・パーティションを使用している場合、レポートを特定のパーティションに制限するには、パーティション名を選択します。
「コンポジットの選択」フィールドが表示されます。このオプションでは、選択したパーティション内のすべてのコンポジットからコンポジットを選択できます。

5. 「コンポジットの選択」で、オプションで1つ以上のコンポジット名を選択して、レポートを指定したコンポジット・アプリケーションに制限します。

6. (オプション)表示される結果の数を変更します。
したがって、デフォルトの10を選択した場合は、最も遅いエンドポイント10個、最も実行時間が長いビジネス・プロセス10個、のように選択されます。

7. ウィンドウの右上付近にある適切なレポート形式をクリックして、レポートを生成およびダウンロードします。
CSV (カンマ区切り値)、HTMLおよびXML形式のいずれかを選択できます。

IWSレポートが生成およびダウンロードされます。

4.7.2.1 IWSReport MBeanについて

IWSReport MBeanおよびそれに関連する操作を使用して、Integration Workload Statistics (IWS)レポートで収集されるデータに関する情報を取得できます。スナップショットID、日付、タイムスタンプなどのデータを取得できます。IWSレポート操作を使用すると、提供されたスナップショット・パラメータを使用してIWSレポートを生成できます。

「SOAインフラストラクチャ」メニューから「管理」→「システムMBeanブラウザ」を選択して、システムMBeanブラウザにアクセスします。システムMBeanブラウザの詳細を参照してください。

「アプリケーション定義のMBean」→「oracle.as.soa.iws」→「サーバー: name」→「アプリケーション: name」→「SOAIWSReportMXBean」を選択して、IWSReport MBeanを検索できます。

次の図は、IWSReport MBeanで使用可能な各種の操作とその説明を示しています。

4.7.2.2 IWSレポート生成用のWLSTコマンド

WLSTコマンドを使用して、IWSレポートを生成したり、IWSデータ収集レベルやIWSスナップショット情報などのIWSメトリックを取得できます。

IWS WLSTコマンド

コマンドの詳細なヘルプやパラメータ・リストを取得するには、WLSTオンライン・モードでSOAサーバーに接続している状態で、help(‘command’)と入力します。

次の表に、様々なWLST IWS構成コマンドをリストします。

表4-6 IWS構成コマンド

WLSTコマンド名

説明

getSoaIWSSnapshotInterval

スナップショット・メトリック収集間隔を取得します。

setSoaIWSSnapshotInterval

スナップショット・メトリック収集間隔を分単位で設定します。

getSoaIWSStatisticsLevel

SOA IWS統計レベル(データ収集レベル)を取得します。

setSoaIWSStatisticsLevel

SOA IWS統計レベルを設定します。

getSoaIWSStatisticsLevelList

SOA IWS統計レベル・リストを取得します。

次の表に、様々なWLST IWSスナップショット取得およびレポートのコマンドをリストします。

表4-7 IWSスナップショット取得およびレポートのコマンド

WLSTコマンド名

説明

getSoaIWSSnapshotInfo

指定された時間数について、SOAサーバーまたはすべてのサーバーからのスナップショット情報を取得します。

getSoaIWSSnapshotInfoByDate

指定された期間について、SOAサーバーまたはすべてのサーバーからのスナップショット情報を取得します。

getSoaIWSReportBySnapshotID

指定されたスナップショットIDについて、SOA IWSレポートを生成します。

getSoaIWSReportByDateTime

指定された期間について、SOA IWSレポートを生成します。

4.7.3 IWSレポートに含まれる統計

Integration Workload Statistics (IWS)レポートには、設定したデータ収集レベルに応じた様々な統計が含まれます。レポートには、システム全体のリソース使用状況データに加えて、サービスおよび参照エンドポイントの統計、BPELおよびEDNバックアップ・キューの統計、BPELインスタンス統計を含めることができます。また、BPELアクティビティに関する統計を含めることもできます。

データ収集レベルがfinestに設定されている場合、IWSレポートには大きく分けて次のセクションが含まれます。

- システム・リソースの使用状況
統計には、CPU使用率や(JVMヒープおよび非ヒープ・メモリーの)メモリー使用率などの「Java仮想マシンの統計」、アクティブな接続や接続プールの詳細を示す「SOA DataSource統計」、およびスレッドの詳細を示す「SOAワーク・マネージャ統計」が含まれます。

- コンポジット(ロールアップ)統計
コンポジット・エンドポイントおよび内部バックアップ・キュー(EDNおよびBPELキュー)のフロー率(秒当たりのスループット/トランザクション)や待機時間(ミリ秒)を示すコンポジット関連の統計を集約します。

- 最も遅いコンポジット・エンドポイント
最も遅いエンドポイントの待機時間(ミリ秒)とフロー率(スループット)を示すコンポジット関連の統計を集約します。

- 内部キューのバックアップ
内部システム・キュー(BPELキューおよびEDNキュー)内のバックアップの統計を集約します。

- 最長実行ビジネス・プロセス
実行時間が上位の非同期および同期のビジネス(BPEL)プロセス・インスタンスの統計を集約します

- 最も時間がかかるビジネス・プロセス・アクティビティ
実行時間が上位のビジネス・プロセス・アクティビティ(ReceiveやInvokeなどのBPELアクティビティ)の統計を集約します。

5 ビジネス・フロー・インスタンスのトラッキング

この章では、ビジネス・フロー・インスタンスのステータスをトラッキングする方法について説明します。これには、ビジネス・フローの検索基準の指定と保存、インスタンスの削除と終了、インスタンスの現在の状態の表示、インスタンスのフォルトのリカバリと中断、インスタンスのコンポジット・センサー値の表示、インスタンスの開始コンポジットと参加コンポジットの表示、インスタンスのリシーケンス・グループの表示、およびドメインをまたがるビジネス・フローの表示が含まれます。

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

- SOAインフラストラクチャまたはパーティション・レベルでのビジネス・フロー・インスタンスのトラッキング

リリース12cおよびリリース11gのビジネス・フロー・インスタンス、およびインスタンス間の相違の詳細は、「ビジネス・フロー・インスタンスの概要」を参照してください。

「エラー・ホスピタル」ページのフォルトの管理の詳細は、「エラー・ホスピタルでのフォルトからのリカバリ」を参照してください。

5.1 SOAインフラストラクチャまたはパーティション・レベルでのビジネス・フロー・インスタンスのトラッキング

SOAインフラストラクチャ、個々のパーティション、または個々のSOAコンポジット・アプリケーションの「フロー・インスタンス」ページから、ビジネス・フローのインスタンスをトラッキングできます。1つのビジネス・フロー・インスタンスは、1つのエンドツーエンド・ビジネス・トランザクションに相当します。ビジネス・フローは、単一のSOAコンポジット・アプリケーションまたは特定のビジネス・プロセスを実現するために組み合された複数のSOAコンポジット・アプリケーションで構成されます。

ビジネス・フロー・インスタンスをトラッキングすると、次を識別できます。

- 特定のリクエストに発生したことの特定

- リクエストが受信されたかどうか

- リクエストの処理が完了しているか、それとも進行中か

- 処理が終了している場合、正常に完了したか、それともエラーが発生したか

- 処理が進行中の場合、外部リクエストにスタックして、スケジュールされたリカバリを待っているか、それとも管理アクションを必要としているか

- 多数の失敗の分析および解決
たとえば、バックエンド・サービス(データベースなど)の実行時エラーが発生したとします。ボリュームが大きいシステムでは、1つの原因のため、短期間に非常に大量のフォルトが発生する可能性があります。これらのフォルトは、SOAコンポジット・アプリケーション間に広がる可能性があります。こうした状況において、次を識別できます。

- 失敗の根本原因を特定(通常、1つまたは2つの個別インスタンスを分析することで行います)。

- 異なるSOAコンポジット・アプリケーション間で、失敗の根本原因が同一のリクエストの数を確認。

- 失敗の根本原因とリカバリ・ステータスが同一のすべてのインスタンスに対して、一括リカバリ/終了アクションを適用(たとえば、BPELリカバリやEDNリカバリ)。

- バッチ・サイズを特定。

- オプションでクイック・パージを実行して、次のバッチを処理できるように、処理済のフォルトを除去、またはフォルトを中断。

ビジネス・フロー・インスタンスは、次のレベルの「フロー・インスタンス」ページおよび「エラー・ホスピタル」ページから管理できます。

- SOAインフラストラクチャ・レベル(すべてのパーティションにアクセスを提供)

- 個々のパーティション・レベル

注意:

ビジネス・フロー・インスタンスは、個々のSOAコンポジット・アプリケーションの「フロー・インスタンス」ページからも管理できます。特定のコンポジットによって開始されるフロー、またはコンポジットを経由するフローは、コンポジット・レベルでリストされます。それぞれに対して、別々のフィルタ基準があります。個々のSOAコンポジット・アプリケーション・レベルには、「エラー・ホスピタル」ページはありません。詳細は、「SOAコンポジット・アプリケーション・レベルでのビジネス・フロー・インスタンスのトラッキング」を参照してください。

環境を構成して、上位レベルのSOAインフラストラクチャの「フロー・インスタンス」ページと「エラー・ホスピタル」ページへのアクセスを一部の管理者に与え、個々のパーティションの「フロー・インスタンス」ページと「エラー・ホスピタル」ページに限定したアクセスを残りの管理者に与えることができます。詳細は、「パーティションおよびワーク・マネージャ・グループの管理」を参照してください。

「フロー・インスタンス」ページには、次のいずれかのオプションを使用してアクセスします。

すべてのパーティションのビジネス・フロー・インスタンスにアクセスする手順は、次のとおりです。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

SOAコンポジットのメニューから...

1. 「ホーム」→「フロー・インスタンス」の順に選択します。

1. 「SOA」フォルダを展開します。

2. 「soa-infra」をクリックします。

3. 「フロー・インスタンス」タブをクリックします。

1. 「SOAインフラストラクチャ」を選択します。

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

個々のパーティションのビジネス・フロー・インスタンスにアクセスする手順は、次のとおりです。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

1. 「パーティションの管理」を選択します。

2. 「SOAパーティション」列で、特定のパーティションをクリックします。

3. 「フロー・インスタンス」タブをクリックします。

1. 「SOA」→「soa-infra」の順に展開します。

2. 特定のパーティションをクリックします。

3. 「フロー・インスタンス」タブをクリックします。

個々のSOAコンポジット・アプリケーションのビジネス・フロー・インスタンスへのアクセスの詳細は、「SOAコンポジット・アプリケーション・レベルでのビジネス・フロー・インスタンスのトラッキング」を参照してください。

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

- 包括的なインスタンスおよびフォルト検索基準を指定して保存し、「検索」をクリックするためのユーティリティ。

注意:

「フロー・インスタンス」ページに初めてアクセスする場合、「検索結果」表は空です。「検索」をクリックして、この表にビジネス・フロー・インスタンスの詳細を移入する必要があります。

- ビジネス・フローを一意に識別するフローID、ビジネス・フローを開始するコンポジット(ビジネス・フローは複数のコンポジットにまたがることができます)、フロー・インスタンスの状態(たとえば、正常に完了、実行中、失敗、リカバリが必要など)、インスタンスの開始時間、インスタンスへの最終更新、このフローが開始されたパーティション、フロー・インスタンス名(BPELプロセスまたはOracle Mediatorサービス・コンポーネントで設計時に設定された場合)、およびログ・ファイルへのリンクを表示する「検索結果」表。表にその他の列を表示するには、「表示」→「列」の順に選択します。

- 「エラー・ホスピタル」ページに移動して、「フロー・インスタンス」ページで実行した検索基準の結果を表示するための、「検索結果」表の上にある「エラー・ホスピタル」ボタン。このアクションでは、「検索結果」表の行を選択する必要はありません。フロー・インスタンス・ページに現在表示されているフロー・インスタンスのエラー・レポートを表示するには、このオプションを使用します。エラー・ホスピタル・ページでは、これらのインスタンスの集計フォルト統計を表示できます。また、各個別インスタンスにアクセスせずに、これらのフロー・インスタンスに対して一括リカバリおよび一括中断操作を実行することもできます。

注意:

- ビジネス・フロー・インスタンスおよびフォルトのデータは、インスタンスおよびフォルトを取得する期間で区切られます。現在のデリミタは、「検索結果」表のタイトルの右側に表示されます。デフォルト値は24時間です。この値は、「SOAインフラストラクチャの共通プロパティ」ページのデフォルト問合せ期間プロパティで変更できます。詳細は、「監査証跡、ペイロード検証およびデフォルト問合せ期間の構成」を参照してください。

- 同じSOAコンポジット・アプリケーションをアンデプロイして再デプロイすると、コンポジットのアンデプロイの前に作成されたビジネス・フロー・インスタンスは取得できません。ビジネス・フローは引き続き使用できます。ただし、アクティブなインスタンスは、再デプロイ時の構成に応じて中断されるかそのままになります。詳細は、「SOAコンポジット・アプリケーションの再デプロイ」を参照してください。

次のビジネス・フロー・インスタンスのタスクを実行できます。

- ビジネス・フローの検索基準の指定と保存

- ビジネス・フロー・インスタンスの削除または終了

- ビジネス・フロー・インスタンスの現在の状態の表示

- ビジネス・フロー・インスタンスでのフォルトからのリカバリ

- ビジネス・フロー・インスタンスのコンポジット・センサー値の表示

- ビジネス・フロー・インスタンスでの開始SOAコンポジット・アプリケーションと参加SOAコンポジット・アプリケーションの表示

- ビジネス・フロー・インスタンスのリシーケンス・グループの表示

- ドメインをまたがるビジネス・フローの表示

5.1.1 ビジネス・フローの検索基準の指定と保存

「検索オプション」セクションでは、インスタンスとフォルトの検索基準を包括的に指定および保存できます。検索基準の結果は「検索結果」表に表示されます。保存済の検索基準はユーザー固有のもので、ユーザー間で共通ではありません。Oracle Enterprise Manager Fusion Middleware Controlの各ユーザーは、自分の優先検索を保存できます。作成すると、保存済の検索は「ダッシュボード」ページに表示され、「エラー・ホスピタル」ページと「フロー・インスタンス」ページにもリンクとして表示されます。

ビジネス・フローの検索基準を指定および保存する手順は、次のとおりです。

1. 「検索オプション」アイコンをクリックして、「検索オプション」セクションを表示します。「検索オプション」セクションはスライド・パネルに表示されるため、ページにまったく表示されない場合があります。

「検索オプション」セクションが表示されます。

2. インスタンスとフォルトの検索基準を包括的に指定および保存するには、次の各項を参照してください。

- 「事前定義済のビジネス・フロー・インスタンス検索の実行」

- 「「検索オプション」ツールバーの使用」

- 「検索フィルタの追加および削除」

- 「ビジネス・フロー・インスタンスの検索フィルタ基準の構成および保存」

5.1.1.1 事前定義済のビジネス・フロー・インスタンス検索の実行

優先検索オプションを選択すると、検索基準を入力せずにビジネス・フローを迅速に検索できます。結果は「検索結果」表に表示されます。検索は、事前定義された期間によって制約されます。デフォルトの期間は24時間です。この値は、「SOAインフラストラクチャ」メニューの「SOA管理」からアクセスできる、「SOAインフラストラクチャの共通プロパティ」ページの「デフォルト問合せ期間」プロパティを変更することによって変更できます。

次のオプションを使用できます。

- 最新のインスタンス: 最新のインスタンスを表示します。

- フォルトがあるインスタンス: フォルトがある最近のインスタンスを表示します。この事前定義済の検索オプションは、「エラー・ホスピタル」ページでも使用できます。ここでは、「レポート・フィルタ」リストから選択できます。

- リカバリ可能なインスタンス: リカバリを待つ最新のインスタンスを表示します。

「検索オプション」セクションの上部で、検索用のオプションを選択します。

または

検索結果は「検索結果」表に表示されます(この例では、「リカバリ可能なインスタンス」オプションの検索結果が表示されています)。

事前定義された検索の実行の詳細は、「フロー・インスタンス」ページの「weblogic」メイン・メニューの「ヘルプ」→「このページのヘルプ」の順に選択します。

保存済検索の詳細は、「「検索オプション」ツールバーの使用」を参照してください。

5.1.1.2 「検索オプション」ツールバーの使用

「検索オプション」ツールバーでは、事前定義済またはカスタム検索の実行、検索基準の保存、表示された検索基準のリセット、検索のブックマーク、およびフィルタの追加と削除などの検索関連のタスクを実行できます。デフォルトでは、事前定義の検索のみを呼び出すことができます。カスタム検索を保存することによって、使用可能な検索のリストを拡張できます。「検索オプション」ツールバーはスライド・パネルに表示されるため、ページにまったく表示されない場合があります。まだ開かれていない場合は、大きい「検索オプション」アイコンをクリックすることによって呼び出すことができます。

「検索オプション」セクションのツールバーに移動します。

次のオプションを使用できます。

要素

説明

現在呼び出されている保存済検索を最後に保存された値にリセットする場合にクリックします。これは、保存済検索を変更したときに問合せの構築プロセスを再開する場合に便利です。

現在の検索基準を保存する場合にクリックします。これにより、選択した検索フィールドとその値の両方が保存され、後で同じ検索を実行したり、結果の新しいセットを表示できるようになります。

検索を保存するときに名前を指定する必要があります。既存の保存済の検索を上書きすることはできませんが、異なる名前で保存することはできます。作成した保存済の検索は削除できます。保存済の検索を管理するには、「検索オプション」リストから「すべての保存済検索」を選択します。

現在の検索基準をブックマークする場合にクリックします。検索パラメータを含むURLとともにメッセージが表示されます。このURLをブラウザのブックマーク・ウィンドウ、電子メールまたはチャットにコピーします。生成されたURLには、選択した検索フィールドとその値の両方に関する情報が含まれます。これにより、後で同じ検索を実行したり、結果の新しいセットを表示できます。

「検索オプション」ツールバーの詳細は、「フロー・インスタンス」ページの「weblogic」メイン・メニューの「ヘルプ」→「このページのヘルプ」の順に選択します。

5.1.1.3 検索フィルタの追加および削除

構成用に表示される検索フィルタの追加および削除を実行できます。フィルタは、検索基準の作成に使用できるビジネス・フローの属性です。フィルタを選択してから、「検索オプション」セクションでカスタマイズできます。指定された検索基準を持つフィルタは、結果の問合せが実行されるときに(論理的AND値として処理されて)まとめて追加されます。空のフィールドは無視されます。

1. 「フィルタの追加/削除」をクリックします。

選択に使用できるフィルタが表示されます。一部のフィルタは相互依存しています。これらを削除すると、現在の検索パラメータはリセットされることがあります。時間フィルタは必須のため、削除できません。

2. 検索基準で使用する適切なフィルタを選択および選択解除して、「OK」をクリックします。

3. 「検索」をクリックします。

選択された条件は、「検索オプション」セクションに表示されます。「ビジネス・フロー・インスタンスの検索フィルタ基準の構成および保存」で説明しているように、選択したフィルタをさらにカスタマイズできます。

5.1.1.4 ビジネス・フロー・インスタンスの検索フィルタ基準の構成および保存

「検索フィルタの追加および削除」で選択した各検索フィルタのパラメータを構成して、ビジネス・フローインスタンスの検索問合せを作成できます。「検索結果」表に検索結果が表示されます。

1. 「検索オプション」セクションに移動します。

2. 該当する検索フィルタのパラメータを構成します。空白のままのフィルタは無視されます。これらを削除する必要はありません。各フィルタの構成の詳細は、「フロー・インスタンス」ページの「weblogic」メニューの「ヘルプ」→「このページのヘルプ」の順に選択します。

要素

説明

時間

過去の特定の時刻に検索問合せを制限します。ビジネス・フローを検索するには時間フィルタが必要です。1つ以上の時間フィルタが必要です。複数の時間フィルタのリストが表示された場合は、両方の値を指定するようにします。「オプション」をクリックすると、選択できるフィルタが表示されます。選択すると、検索対象の期間を指定できます。

- インスタンス作成済(デフォルトで表示され、選択を解除できません)

- インスタンス更新済

- フォルトが発生しました

また、「カスタム期間」チェック・ボックスを選択して、カスタムの検索対象期間を指定することもできます。この検索は、3つの期間すべてに対するものです(インスタンス作成済、インスタンス更新済、およびフォルトが発生しました)。

コンポジット

ビジネス・フローの検索問合せ対象を特定のコンポジットに制限します。

- パーティション・レベルで検索する場合、そのパーティションのSOAコンポジット・アプリケーションによって参加および起動されたインスタンスのみが戻されます。

- SOAインフラストラクチャ・レベルで検索する場合、任意のパーティションのSOAコンポジット・アプリケーションによって参加および起動されたインスタンスが返されます。

次のタスクを実行します。

- 選択したコンポジットで開始されたビジネス・フローにのみ検索対象を制限するには、「開始中」を選択します。このコンポジット内のすべてのビジネス・フローを検索するには、関連を選択します。

- 検索するパーティションを選択します。個々のパーティション・レベルでフロー・インスタンス・ページにアクセスする場合、そのパーティションはすでに選択されており、変更できません。パーティションを選択しないと、すべてのパーティションが検索されます。

- 特定のSOAコンポジット・アプリケーション名をリストから選択するか、「検索」をクリックして、検索対象の名前の全体または部分を指定します。名前の一部検索では、名前の先頭部分の入力のみサポートし、大文字と小文字を区別します。コンポジットを指定しない場合、すべてのパーティションが検索されます。

リシーケンサ

検索するリシーケンサ・グループを選択します。リシーケンサ・コンポーネントが参加しているビジネス・フローに検索対象を制限するには、このフィルタを使用します。このセクションを空白のままにすると、この検索フィルタは無視されます。Oracle Mediatorのリシーケンサは、関連しているが順序が正しくないメッセージ・ストリームの順序を直します。

- 任意のグループ: すべてのグループ内のすべてのリシーケンス・フローを検索する場合に選択します。

- 特定のグループ: 特定のリシーケンス・グループに関連付けられたビジネス・フローを検索する場合に選択します。グループの名前と場所を指定します。この場所は、グループを含むOracle MediatorコンポーネントとSOAコンポジット・アプリケーションのリビジョンです。グループ名フィルタは、1つのグループ・インスタンスのみを返します。

リシーケンス・グループの詳細は、「リシーケンス・グループの監視」を参照してください。

フロー・インスタンス

特定のビジネス・フロー・インスタンスを検索するには、少なくとも次のいずれかの方法でインスタンスを識別します。

- フローID: フローID、開始ECIDまたは相関フローIDを使用して検索する場合に選択します。

- インスタンス名: Oracle JDeveloperで設計時に作成したフロー・インスタンスの名前またはタイトルを指定します。

- コンポジット・インスタンス名: コンポジット・インスタンスの名前またはタイトルを指定します。リリース11gからアップグレードされたSOAコンポジット・アプリケーションには、コンポジット・インスタンスの名前またはタイトルを含めることができます。

- センサー値の追加(最大6): 最大6個のコンポジット・センサーの名前と値のペアを指定する場合にクリックします。

注意: 手動で名前を入力するか、ルックアップ機能を使用して、「センサー名」フィールドを移入できます。ルックアップ機能を使用する場合、検索に追加する各センサーのコンポジットを指定する必要があります。すべてのセンサーベースの検索条件が論理ANDで接続されます。ただし、異なるコンポジットの複数のセンサーを指定すると、空の結果表になる可能性があります。ベスト・プラクティスとして、同じフロー・インスタンスに一致する値がある可能性が高くなるため、同じコンポジットのセンサーを使用してください。

次の追加のセンサーのガイドラインに注意してください:

- すべてのセンサー条件が論理ANDで接続されます。別のセンサー名を入力できません。検索では、すべての名前と一致するインスタンスを検索します。

- 名前を手動で入力する場合、正確なセンサー名および値を指定する必要があります。

- 各センサーの名前および値を指定する必要があります。

- 「値」フィールドを空のままにすることはサポートされていません(結果が戻されません)。値にかかわらず、検索を使用してセンサーが定義されているすべてのインスタンスを検索することはできません。

- 等号(=)以外の演算子を使用する場合、ルックアップ機能を使用します。

- コンポジットではなく正確なセンサー名がわかっている場合、すべてのコンポジットのインスタンスを検索するメイン検索を使用します。ただし、選択対象のセンサーのリストを表示する場合、ルックアップ機能を使用します。ルックアップ機能でコンポジットを最初に指定するため、コンポジット名も把握する必要があります(一度に1つのコンポジットのセンサーを検索します)。また、すべてのコンポジットがリストされます: 定義されたセンサーを使用したコンポジットと使用しないコンポジット。各コンポジットの試行が効率的ではありません。

状態

特定の状態のビジネス・フローにのみ検索を制限します。状態の説明の詳細は、「ビジネス・フロー・インスタンスの現在の状態の表示」を参照してください。

アクティブなインスタンスを検索するには、「アクティブ」を選択します。アクティブ・インスタンスは、いずれの終了状態にも達していません。リストがリフレッシュされ、さらにフィルタ処理を行うための次の選択肢が表示されます。

- すべてアクティブ

- リカバリ

- 一時停止

- 実行中

アクティブでないインスタンスを検索するには、「非アクティブ」を選択します。非アクティブ・インスタンスは、いずれかの終了状態に達しています。リストがリフレッシュされ、さらにフィルタ処理を行うための次の選択肢が表示されます。

- すべて非アクティブ

- 完了

- 失敗

- 中断

フォルト

ビジネス・フローの検索対象をフォルトがあるものに制限します。このフィールドを空白のままにすると、このフィルタは無視されます。検索対象のフォルトのタイプを指定する場合に選択します。

- 全フォルト: 任意のタイプのフォルトを含むビジネス・フローを検索する場合に選択します。

- リカバリが必要です: 続行するために人的リカバリを待機しているスタック・フローを検索する場合に選択します。リカバリの特定のタイプをさらに指定するには、フォルト・リカバリ・タイプ・フィルタを使用します。

- リカバリ不可: リカバリ不可のフォルトを含むフローを検索する場合に選択します。

- リカバリ済: リカバリ済のフォルトを少なくとも1つ含むフローを検索する場合に選択します。

- システム自動再試行:システム自動再試行が発生した、失敗したフローを検索する場合に選択します。

フォルト・フィルタをさらにカスタマイズする場合は、「フォルト」フィルタの横にある「詳細」をクリックして追加のフィルタ属性を表示します。

- フォルト・リカバリ・タイプ: 失敗したビジネス・フローの検索を、特定のタイプのリカバリ・アクションを待機しているスタック・フローに絞り込みます。このフィールドは、「フォルト」フィルタで「リカバリが必要」を選択し、「詳細」をクリックした場合にのみ使用可能です。このフィールドを空白のままにした場合、フォルト・リカバリ・タイプ・フィルタは無視されます。フォルト・リカバリ・タイプは次のとおりです。
管理リカバリ

BPELアクティビティ・リカバリ

BPEL起動メッセージ・リカバリ

BPELコールバック・メッセージ・リカバリ

EDNリカバリ

メディエータ・リカバリ

ヒューマン・ワークフロー・リカバリ

拒否されたメッセージ・リカバリ

- フォルト・タイプ: 失敗したビジネス・フローの検索をフィルタ処理します。このフィールドを空白のままにした場合、「フォルト・タイプ」フィルタは無視されます。そのフォルト・タイプを含むフローのみに検索を制限するには、次のいずれかを選択します。
システム: ネットワーク・エラーまたは他のタイプのエラー(データベース・サーバーやWebサービスにアクセスできないなど)。

ビジネス: 処理される情報に問題がある場合に生成されるアプリケーション固有のフォルト(データベースで社会保障番号が見つからないなど)。

OWSM: SOAコンポジット・アプリケーション、サービス・コンポーネントまたはバインディング・コンポーネントにアタッチされたポリシーのエラー。ポリシーはメッセージの配信にセキュリティを適用します。

- フォルト所有者: フォルトが処理された特定のコンポーネント、サービスまたは参照(フォルトの所有者とも呼ばれる)を選択します。失敗したビジネス・フローの検索を絞り込むには、このフィルタを使用します。空白のままにした場合、「フォルト所有者」フィルタは無視されます。フォルト所有者はフォルトの場所と類似していますが、これらは常に同じではありません。フォルト所有者はリカバリを実行するコンポーネントまたはリカバリを試行する場所で、その場合はフローが再実行されます。フォルトの場所、は作成された、またはフォルトの原因となったコンポーネントです。

- フォルト詳細: 失敗したビジネス・フローの検索をフィルタ処理します。すべてのフィールドを空白のままにした場合、「フォルト詳細」フィルタは無視されます。フォルトに関する次の詳細の少なくとも1つを指定します。これらの値が設定されていないフォルトのみを検索するには、検索フィールドにNOT SPECIFIEDを入力します。
エラー・メッセージの内容: 同じエラー・メッセージ・テキストを持つ、失敗したビジネス・フローのみを検索する場合に使用します。メッセージの任意の部分を入力できます。この検索では大文字と小文字が区別されます。

フォルト名: NegativeCreditなどの説明的な特定のフォルト名を持つ、失敗したビジネス・フローのみを検索する場合に使用します。正確な名前(文字列全体)を入力する必要があります。この検索では大文字と小文字が区別されます。

フォルト・コード: 同じフォルト・コードを持つ、失敗したビジネス・フローのみを検索する場合に使用します。

フォルト検索基準をカスタマイズするには、「フォルト詳細」の横の「詳細」をクリックして、その他の構成フィールド(HTTPホスト、JNDI名、イベント名およびイベント・ネームスペースなど)を表示します。

ユーザー

Oracle Enterprise Managerの特定のユーザーまたはビジネス所有者に関連付けられているすべてのインスタンスを検索します。ユーザーは、ユーザーの資格証明が明示的に伝播されたSOAコンポジット・アプリケーションでのみ設定されます(たとえば、コンポジットに、コンポジットWebサービスにアタッチされたユーザー認証OWSMポリシーがある場合)。

3. 将来の使用に備えて検索基準を保存する場合は、「検索の保存」アイコンをクリックして名前を指定します。

保存済の検索は、「検索オプション」ドロップダウン・リスト、および「エラー・ホスピタル」ページの「レポート・フィルタ」セクションから選択できるようになります。

4. 検索基準の作成の完了後、「検索」をクリックします。

5. 「検索結果」表には、検索結果が表示されます。

6. 「エラー・ホスピタル」をクリックすると、検索結果に集計済のフォルト詳細(フォルト名、フォルトの合計数、リカバリが必要なフォルト、リカバリ不能なフォルト、リカバリ済のフォルト、および自動フォルト再試行など)が表示されます。これにより表内にすでに表示されているすべてのフロー・インスタンスのフォルト情報が集計されるため、選択の必要はありません。

エラー・ホスピタルの詳細は、「エラー・ホスピタルでのフォルトの管理」を参照してください。

5.1.2 ビジネス・フロー・インスタンスの削除または終了

「検索結果」表のビジネス・フロー・インスタンスを削除または中断できます。

1. 「ビジネス・フロー・インスタンスの検索フィルタ基準の構成および保存」,で説明しているように、「検索オプション」セクションに検索基準を指定して、「検索」をクリックします。

「検索結果」表に、ビジネス・フロー・インスタンスが入力されます。

2. 特定のビジネス・フローを選択するか、[Shift]キーを押しながら複数のビジネス・フローをクリックして選択します。

3. 「アクション」リストをクリックして、削除または中断するビジネス・フロー・インスタンスを選択します。表の上にある選択項目の削除アイコンまたは「選択項目を中断」アイコンをクリックすることもできます。

- 選択項目の削除: 表で選択したビジネス・フロー・インスタンスが削除されます。インスタンスの削除の確認を選択すると、ページがリフレッシュされ、削除したインスタンスがリストから削除されます。インスタンスのフロー・トレースの詳細は、いったん削除されたらアクセスできなくなります。

- 選択項目を中断: 表で選択したビジネス・フロー・インスタンスが中断されます。選択したインスタンスの中断を確認すると、ページがリフレッシュされ、中断したインスタンスの状態が「中断」として表示されます。場合によっては、インスタンスの状態の更新に遅延が発生する可能性があります。インスタンスのフロー・トレースおよび監査証跡の詳細は中断された後もアクセスできます。
各インスタンスを個別に選択せずに、検索基準に基づいて大量のインスタンスを中断する場合は、「フロー・インスタンス」ページで「選択項目を中断」アクションを使用しないでください。かわりに、エラー・ホスピタル・ページで「一括中断」オプションを使用してください。

注意:

実行中のインスタンスを選択した場合は、「中断」オプションを使用して、実行中のインスタンスを停止できます。

5.1.3 ビジネス・フロー・インスタンスの現在の状態の表示

ビジネス・フロー・インスタンスを構成するコンポーネントを表示できます。ビジネス・フローは、1つのフロー内で組み合された複数のSOAコンポジット・アプリケーションで構成できます。

1. 「ビジネス・フロー・インスタンスの検索フィルタ基準の構成および保存」,で説明しているように、「検索オプション」セクションに検索基準を指定して、「検索」をクリックします。

「検索結果」表に、ビジネス・フロー・インスタンスが入力されます。

2. 「検索結果」表の「フロー状態」列には、特定のビジネス・フロー・インスタンスの状態が表示されます。

ビジネス・フロー・インスタンスは、次のいずれかの状態で存在します。

状態

説明

実行中

インスタンスは実行中です(たとえば、承認待ちのヒューマン・ワークフロー・サービス・コンポーネントでインスタンスが停止している場合があります)。この状態に関連したリカバリ可能なフォルトはなく、インスタンスはまだ正常に完了していません。

リカバリ

インスタンスのフォルトがリカバリを待機中です。「ビジネス・フロー・インスタンスでのフォルトからのリカバリ」を参照してください。

一時停止

インスタンスは現在一時停止しています。これは、コンポジットのあるバージョンから別のバージョンへの移行に関連しています。これはOracle BPM Suiteコンポーネントに適用されます。

中断

インスタンスはユーザーによって明示的に終了されています。コンポジットがアンデプロイされている場合、実行中のインスタンスは中断としてマークされます。再デプロイ時に、中断するか継続して実行するかを選択できます。

完了

インスタンスは正常に完了し、リカバリ可能またはリカバリ不能なフォルトはありません。

失敗

インスタンスは完了しましたが、リカバリ不能なフォルトがあります。

3. 「フローID」列で特定のフローID番号をクリックすると、ビジネス・フロー・インスタンスの状態に関する、さらに具体的な詳細にアクセスできます。

「フローのトレース」ページが表示され、フローが取ったパスが表示されます(エントリ・ポイント、実行されたコンポーネント、および終了ポイント)。フローのトレースは、「監査レベル」プロパティが「本番」または「開発」に設定されている場合にのみ使用できます。監査レベルが「オフ」の場合、トレース・ビューはコンポーネント・インスタンスのリストに置き換えられます。「フローのトレース」ページの「フォルト」タブを使用して、フォルトからリカバリできます。

4. 「トレース」表で特定のサービス・コンポーネントをクリックすると、監査証跡およびプロセス・フローが表示されます。「アクション」リストを選択することで、フロー・トレースのXMLを表示することもできます。

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

- 「ビジネス・フロー・インスタンスのフロー・トレースの監視」

- BPMNプロセス・サービス・コンポーネントの監査証跡およびプロセス・フローの表示

注意:

Oracle Service Busリリース11g (リリース11.1.1.4から11.1.1.7)からOracle SOA Suiteリリース12cの直接バインディング・サービスを起動すると、Oracle Enterprise Manager Fusion Middleware Controlリリース12cの「フローのトレース」ページの「トレース」表にエントリが表示されず、Oracle Service Busから直接バインディング・サービスが起動されたことが表示されます。このタイプの起動の表示はサポートされていません。

Oracle Service Busリリース12cからのOracle SOA Suiteリリース12c直接バインディング・サービスの起動は、Oracle Enterprise Manager Fusion Middleware Controlの「フローのトレース」ページの「トレース」表に表示されます。

直接バインディング・サービスは、Oracle Service Busのフロー内で、またはOracle Service Busのフローの最初または途中にも表示されます。

5.1.4 ビジネス・フロー・インスタンスでのフォルトからのリカバリ

選択したビジネス・フローでリカバリ可能と識別されているフォルトをリカバリできます。

1. 「ビジネス・フロー・インスタンスの検索フィルタ基準の構成および保存」,で説明しているように、「検索オプション」セクションに検索基準を指定して、「検索」をクリックします。
「検索結果」表に、ビジネス・フロー・インスタンスが入力されます。

2. 「検索結果」表の「フロー状態」列で、「リカバリ」とラベル付けされたフォルトのあるインスタンスを特定します。この状態のフォルトはリカバリを待機中です。

3. ビジネス・フロー・インスタンスを選択して、「詳細の表示」をクリックします。
「検索結果」表の下に、「フォルト」タブが表示されます。このタブには、エラー・メッセージ、フォルト所有者(フォルトが処理されたサービス・コンポーネント、サービス・バインディング・コンポーネントまたは参照バインディング・コンポーネント)、フォルトが発生したコンポジット、フォルトの時間(フォルトがリカバリ可能な場合)、およびフォルト・ログへのリンクが表示されます。その他の列を表示するには、「表示」→「列」の順に選択します。「列のリセット」を選択すると、「フォルト」表の列の並べ替えや列の表示/非表示などのすべてのカスタマイズが削除されます。

4. 「エラー・メッセージ」列で、エラー・メッセージにカーソルを置くとエラー・メッセージ全体が表示され、赤いフォルト・アイコンをクリックするとメッセージをコピーするポップアップ・ダイアログが表示されます。また、「リカバリ」列内のリンクまたはアイコンにカーソルを置くと、どのタイプのリカバリが必要か表示できます。

5. フォルト・リカバリを実行する方法を選択します。いずれかの方法を使用して、自動的にリカバリを実行するか、管理者操作を介してリカバリを実行することができます。この管理者操作によるアクションは、Oracle JDeveloperで設計したfault-policies.xmlファイルのora-human-interventionアクションで定義します。

フォルト・リカバリの実行場所

移動先の手順

表の上の「リカバリ」リスト

6

「リカバリ」列の「リカバリが必要」メッセージ

7

6. フォルト・リカバリを実行する表の列を選択します。

a. 表の上のリカバリ・リストから、実行するフォルト・リカバリ・アクションを選択します。「再試行」および「中断」オプションは、すべてのリカバリ可能なフォルトで使用できます。「続行」、「再スロー」および「リプレイ」オプションは、SOAコンポジット・アプリケーションにアタッチされたフォルト・ポリシー・ファイルの内容によって決まります。

「フォルト詳細およびリカバリ・オプション」ダイアログが表示されます。

b. 手順8に進みます。

7. 「リカバリ」列で、「リカバリが必要」メッセージをクリックします。

フォルトを説明するダイアログが表示されます。

a. 「再試行」または「中断」をクリックして、自動的に再試行するか、フォルトを中断します。または、「その他のリカバリ・オプション」をクリックして、管理者操作を実行します。
自動リカバリが成功した場合は、「フロー・インスタンス」ページの「検索結果」表のフローがリフレッシュされ、別のフロー状態が表示されます(たとえば、リカバリが完了に変更されるなど)。場合によっては、更新された状態の取得が遅れ、その結果変更された状態が表示されないことがあります。ただし、どの場合でも、リカバリ要求が送信されたことを示す確認メッセージが表示されます。フォルト・レベルのボタンで、またはページ・レベルの「リフレッシュ」ボタンで、明示的なページ・レベルのリフレッシュを実行します。

「その他のリカバリ・オプション」をクリックした場合は、「フォルト詳細およびリカバリ・オプション」ダイアログが表示されます。

b. 手順8に進みます。

8. 「フォルト詳細およびリカバリ・オプション」ダイアログの「リカバリ・オプション」セクションには、フォルト・リカバリを実行するためのオプションが表示されます。BPELメッセージ・リカバリなどのその他のリカバリ・タイプは、異なる一連のオプションを表示します。フォルト・ポリシーによってトリガーされたリカバリやBPEL起動、コールバックおよびアクティビティ・メッセージ・リカバリなど、どのようなタイプのフォルトでもこのコンソールからリカバリできます。リリース11gでは、BPELプロセス・サービス・エンジンの「リカバリ」タブを参照しても、起動、コールバックおよびアクティビティ・リカバリを実行できます。

9. 「リカバリ・アクション」リストから、実行するアクションを選択します。

アクション

説明

アクションの対象

中断

インスタンス全体を終了します。

BPELプロセスとOracle Mediator

再試行

インスタンスを直接再試行します。このリカバリ・アクションを使用するシナリオ例は、ネットワーク・エラーのためにサービス・プロバイダにアクセスできないことが原因でフォルトが発生した場合の例です。ネットワーク・エラーは現在解決しています。

BPELプロセスとOracle Mediator

続行

フォルトを無視して処理を続行します(フォルト・アクティビティには成功のマークが付けられます)。

BPELプロセス

再スロー

現在のフォルトを再スローします。フォルトの処理に、BPELフォルト・ハンドラ(catchブランチ)が使用されます。デフォルトでは、再スロー・フォルト・ポリシーが明示的に指定されていない場合、すべての例外がフォルト管理フレームワークによって捕捉されます。

BPELプロセス

リプレイ

フォルトが発生したスコープ全体を再度リプレイします。

BPELプロセス

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

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

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

フォルト・ポリシーの設計の詳細は、『Oracle SOA SuiteでのSOAアプリケーションの開発』のFault Management Frameworkによるフォルトの処理に関する項を参照してください。

5.1.5 ビジネス・フロー・インスタンスのコンポジット・センサー値の表示

「コンポジット・センサー値」タブには、選択したビジネス・フローで検出されたコンポジット・センサーの値が表示されます。コンポジット・センサーは、メッセージにトラッキング可能なフィールドを実装する手段を提供します。コンポジット・センサーは、フローに関連付けられたSOAコンポジット・アプリケーションのサービスおよび参照バインディング・コンポーネントに含まれる場合があります。このタブにデータが表示されるのは、センサーがコンポジットに対して定義されており、選択したビジネス・フローによって取得された値がnullでない場合のみです。

1. 「ビジネス・フロー・インスタンスの検索フィルタ基準の構成および保存」,で説明しているように、「検索オプション」セクションに検索基準を指定して、「検索」をクリックします。

「検索結果」表に、ビジネス・フロー・インスタンスが入力されます。

2. 「検索結果」表で特定のビジネス・フロー・インスタンスを選択して、「詳細の表示」をクリックします。

3. 「コンポジット・センサー値」タブをクリックします。

このタブには、このフローに含まれるコンポジット・センサー名とそれらの値が表示されます。

コンポジット・センサーの詳細は、『Oracle SOA SuiteでのSOAアプリケーションの開発』の「コンポジット・センサーの定義」を参照してください。

5.1.6 ビジネス・フロー・インスタンスでの開始SOAコンポジット・アプリケーションと参加SOAコンポジット・アプリケーションの表示

ビジネス・フロー・インスタンスに参加しているSOAコンポジット・アプリケーションをすべて表示できます。このタブには、このフローに関連付けられたコンポジットのリスト、フローにおけるそれらの順序(ビジネス・フローを開始したコンポジット、およびそのビジネス・フローに参加したすべての後続のコンポジット)、特定のコンポジットがフローに入った時間、およびログへのリンクが表示されます。

ビジネス・フロー・インスタンスの開始コンポジットおよび参加コンポジットを表示する手順は、次のとおりです。

1. 「ビジネス・フロー・インスタンスの検索フィルタ基準の構成および保存」,で説明しているように、「検索オプション」セクションに検索基準を指定して、「検索」をクリックします。

2. 「検索結果」表で特定のビジネス・フロー・インスタンスを選択して、「詳細の表示」をクリックします。

3. 「コンポジット」タブをクリックします。

このビジネス・フロー・インスタンスに含まれる開始SOAコンポジット・アプリケーションおよび参加SOAコンポジット・アプリケーションが表示されます。「名前」列には、フロー・インスタンス・タイトルの値が表示されます(リリース11gでは、コンポジット・インスタンスごとにタイトルまたは名前を指定しました)。リリース12cでは、この値は「名前」列に表示されます。

5.1.7 ビジネス・フロー・インスタンスのリシーケンス・グループの表示

「リシーケンス・グループ」タブが表示されるのは、リシーケンス・コンポーネントがフローに参加している場合のみです。このようなフロー・インスタンスは、小さなトリプル矢印のアイコンで示されます。Oracle Mediatorのリシーケンサは、関連しているが順序が正しくないメッセージ・ストリームの順序を直します。グループは、最後の処理時間によって順序付けられます(最近のものが先頭)。または、グループ名または状態によって並べ替えることもできます。

フロー・インスタンス・ページの「リシーケンス・グループ」タブでは、表の行を選択したり任意のアクションを実行することはできません。

1. 「ビジネス・フロー・インスタンスの検索フィルタ基準の構成および保存」,で説明しているように、「検索オプション」セクションに検索基準を指定して、「検索」をクリックします。

2. 「検索結果」表で、リシーケンス・グループが含まれる特定のビジネス・フロー・インスタンスを選択して、「詳細の表示」をクリックします。

3. 「リシーケンス・グループ」タブをクリックします。

グループ名、グループの場所、グループの状態、および最後に処理された時間が表示されます。

4. 「グループ」列で、名前をクリックするとグループの詳細が表示されます。

リシーケンス・グループにフォルトがある場合、「フォルト」タブをクリックして、リシーケンスされたフロー・インスタンスに関連付けられたフォルトを表示できます。リカバリ可能なフォルトは、「フォルト」タブからリカバリできます。

5. 「すべてのリシーケンス・グループ」をクリックして「メディエータ・リシーケンス・グループ」ページにアクセスすると、グループ名、グループが含まれるOracle MediatorおよびSOAコンポジット・アプリケーション、グループの状態(タイムアウトや失敗など)、最後の処理時間、およびバックログ・メッセージの合計数など、定義されているすべてのグループに関する詳細が表示されます。

詳細は、「リシーケンス・グループの監視」を参照してください。

5.1.8 ドメインをまたがるビジネス・フローの表示

フロー相関IDは、ドメインをまたがるビジネス・フローを一意に識別するGUID値です。フロー相関IDはフローIDとは異なります。後者は、1つのOracle SOA Suiteドメイン内のビジネス・フローを一意に識別します。2つのOracle SOA Suiteドメインを超えるビジネス・フローは、1つのフロー相関IDと2つのフローIDを持ちます。同様に、Oracle SOA Suiteの外部で生じたビジネス・フローはOracle SOA Suiteスキーマにアクセスできないため、フローIDを作成できません。ただし、フロー相関IDは作成できます。

ドメインをまたがるビジネス・フローを表示する手順は、次のとおりです。

1. 「ビジネス・フロー・インスタンスの検索フィルタ基準の構成および保存」,で説明しているように、「検索オプション」セクションに検索基準を指定して、「検索」をクリックします。

2. 「検索結果」表の「表示」メイン・メニューから「列」→「相関フローID」の順に選択します。

フロー相関IDはすべて表に表示されます。

SOAコンポジット・アプリケーションがOracle Enterprise Schedulerリクエストを発行すると、(フローIDではなく)フロー相関IDがOracle Enterprise Schedulerに伝播され、「リクエスト詳細」ページの「実行ステータス」セクションの「発行フローID」フィールドに表示されます。リクエストに関連付けられたOracle Enterprise Scheduler送信者フロー相関IDは、DMS(ダイナミック・モニタリング・サービス)フローIDに対応します。DMSフローIDは、SOAフロー相関IDに対応します。

5.1.9 同じリビジョン番号を持つ再デプロイされたコンポジットのパーティション・レベルおよびコンポジット・レベルの検索結果

パーティション固有の検索では、すべてのバージョンのSOAコンポジット・アプリケーション(同じリビジョン番号で再デプロイされたものも含む)が表示されるのに対し、コンポジット固有の検索では、現在のデプロイメントのバージョンのみが表示されます。リビジョン番号は変更されないため、「フロー・インスタンス」ページの「検索結果」表のどの行がどのバージョンに属しているかを特定することは不可能です。これは、パーティション・レベルの検索では混乱を招く可能性がありますが、コンポジット・レベルの検索ではそうではありません。この状況を回避するには、デプロイメントごとにリビジョン番号を増分します。これにより、複数のデプロイメントがあることがより明らかになります。

たとえば、次のような場合を考えてみます。

1. コンポジットAをデプロイして、複数のインスタンスを作成します。コンポジット固有の検索およびパーティション固有の検索の両方でこれらのインスタンスが表示されます。

2. コンポジットAを再デプロイおよび上書きして、インスタンスを作成します。コンポジット固有の検索では、最新のバージョンに加えて、最初のリビジョンからのインスタンスが表示されます。パーティション固有の検索では、最新のバージョンに加えて、最初のリビジョンからのインスタンスが表示されます。

3. コンポジットAをアンデプロイして再デプロイし、インスタンスを作成します。コンポジット固有の検索では、最新のバージョンからのインスタンスのみが表示されます。パーティション固有の検索では、既存のバージョンに加えて、最初および2番目のバージョンからのすべてのインスタンスが表示されます。

6 エラー・ホスピタルでのフォルトからのリカバリ

この章では、フォルト検索基準の指定および保存、集計済フォルト統計の表示、単一操作での一括フォルト・リカバリおよび一括フォルト終了の実行、単一のフォルト・リカバリを実行するためのリカバリ可能なフォルトへのアクセス、特定のフォルト条件が満たされた場合にアラート・メッセージの送信をトリガーするエラー通知ルールの作成など、エラー・ホスピタルでフォルトからリカバリする方法について説明します。

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

- エラー・ホスピタルでのフォルトの管理

- エラー通知ルールの作成

ビジネス・フロー・インスタンスのステータスをトラッキングする方法の詳細は、「ビジネス・フロー・インスタンスのトラッキング」を参照してください。

6.1 エラー・ホスピタルでのフォルトの管理

「エラー・ホスピタル」ページでは、Oracle SOA Suite内で発生するすべてのフォルトを管理し、フォルト・データに関連付けられている集計済の統計を表示できます。

「エラー・ホスピタル」ページには次の利点があります。

- Oracle SOA Suite内で発生するすべての集計済フォルトの管理およびリカバリを行う単一の場所(拒否メッセージ・リカバリおよびBPELメッセージ・リカバリを含む)。フォルトが発生したサービス・エンジンまたはバインディング・コンポーネントとは関係なく、「エラー・ホスピタル」ページから次のレベルでフォルトを管理します。

- システム全体のフォルト・データすべてがビジネス・フロー・インスタンスごとに集計されるSOAインフラストラクチャ・レベル。

- 特定のパーティションに関連付けられているビジネス・フロー・インスタンスのフォルト・データのみが集計される個々のパーティション・レベル。

- 特定のフォルト条件が満たされた場合にアラートをトリガーするエラー通知ルール構成。たとえば、48時間以内に10件を超えるエラーが発生するとアラートをトリガーするようにルールを定義します。

- フォルトのフィルタリング機能と検索機能、およびフォルト統計を名前別、コード別、タイプ別、所有者別およびその他のグループ化基準で集計する機能。

- 一括フォルト・リカバリおよび終了機能。

- フォルト傾向を調査するための、集計済フォルトに関連付けられているフロー・インスタンスの詳細。

エラー・ホスピタルでフォルトを管理する手順は、次のとおりです。

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

すべてのパーティションのフォルトにアクセスする手順は、次のとおりです。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

SOAコンポジットのメニューから...

1. 「ホーム」→「エラー・ホスピタル」を選択します。

1. 「SOA」→「soa-infra」の順に展開します。

2. 「soa-infra (server_name)」をクリックします。

3. 「エラー・ホスピタル」タブをクリックします。

1. 「SOAインフラストラクチャ」を選択します。

2. 「エラー・ホスピタル」タブをクリックします。

個々のパーティションのフォルトにアクセスする手順は、次のとおりです。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

1. 「パーティションの管理」を選択します。

2. 「SOAパーティション」列で特定のパーティションを選択します。

3. 「エラー・ホスピタル」タブをクリックします。

1. 「SOA」→「soa-infra (server_name)」を展開します。

2. 特定のパーティションを選択します。

3. 「エラー・ホスピタル」タブをクリックします。

「エラー・ホスピタル」ページに、次の詳細が表示されます。

- 包括的なフォルト検索基準を指定および保存するためのユーティリティ。「検索」をクリックします。

注意:

「エラー・ホスピタル」ページに初めてアクセスする場合、フォルト統計表は空です。表にフォルト詳細を移入するには、「検索」をクリックする必要があります。

- フォルト名、フォルト合計数、リカバリが必要なフォルト、リカバリ不能なフォルト、リカバリ済のフォルトおよび自動フォルト再試行数を表示するフォルト統計表。集計済フォルトに関連付けられたフロー・インスタンスを検索するには数字をクリックします(これにより、「フロー・インスタンス」ページに移動します)。表の最初の列に異なるフォルト属性(フォルトの名前、コード、タイプ、所有者、その他のグループ化基準など)を表示するには、「グループ化」リストを選択します。表にその他の列を表示するには、「表示」→「列」を選択します。

- フォルト統計表の上にある「一括リカバリ」および「一括中断」ボタン。選択された類似するフォルトのグループに1回の操作で一括アクション(リカバリまたは中断)を実行します。

注意:

- Oracle Enterprise Manager Fusion Middleware Control内の任意の場所でフォルト・リンクまたは同様のリンクをクリックすると、フォルト・レポート・データがすでに表示された「エラー・ホスピタル」ページに移動します。たとえば、「検索結果」表(「フロー・インスタンス」ページ上にビジネス・フロー・インスタンスが表示されている)の上にある「エラー・ホスピタル」ボタンをクリックすると、それらのフロー・インスタンスに関してレポートされた集計済のフォルト統計が表示されます。また、「ダッシュボード」ページの「ビジネス・トランザクション・フォルト」セクションのグラフ内の特定のフォルト状態をクリックすると、選択した状態のフォルト・レポート・データが表示された「エラー・ホスピタル」ページが開きます。

- レポート・データは、インスタンスおよびフォルトを取得する期間で区切られます。現在のデリミタは、フォルト統計表のタイトルの右側に表示されます。デフォルト値は24時間です。この値は、「SOAインフラストラクチャの共通プロパティ」ページのデフォルト問合せ期間プロパティで変更できます。詳細は、「監査証跡、ペイロード検証およびデフォルト問合せ期間の構成」を参照してください。

次のフォルト管理タスクを実行できます。

- フォルト検索基準の指定および保存

- フォルト傾向の調査のための集計済フォルト統計の表示

- 単一操作での一括フォルト・リカバリおよび終了の実行

- 単一のフォルト・リカバリ操作を実行するためのフォルト統計表でのフォルトへのアクセス

6.1.1 フォルト検索基準の指定および保存

「レポート・フィルタ」セクションでは、フォルトの検索基準を指定および保存できます。検索結果はフォルト統計表に表示されます。

フォルト検索基準を指定および保存する手順は、次のとおりです。

1. 「検索」アイコンをクリックして「レポート・フィルタ」セクションを表示します。「レポート・フィルタ」セクションはスライド・パネルに表示されるため、ページに常に表示されているとはかぎりません。

「レポート・フィルタ」セクションが表示されます。

2. 包括的なフォルトの検索基準を指定および保存するには、次の各項を参照してください。

- 事前定義済フォルト・インスタンスおよびカスタム検索の実行

- レポート・フィルタ・ツールバーの使用

- フォルト検索フィルタ基準の構成および保存

6.1.1.1 事前定義済フォルト・インスタンスおよびカスタム検索の実行

事前定義済の検索オプションを選択すると、検索基準を入力することなく、フォルトをすぐに検出できます。結果は、フォルト統計表に表示されます。検索は、事前定義された期間によって制約されます。デフォルトの期間は24時間です。この値は、「SOAインフラストラクチャ」メニューの「SOA管理」からアクセスできる、「SOAインフラストラクチャの共通プロパティ」ページの「デフォルト問合せ期間」プロパティを変更することによって変更できます。

次のオプションを使用できます。

- フォルトがあるインスタンス: フォルトがある最近のインスタンスを表示します。この事前定義済検索オプションは、「フロー・インスタンス」ページでも使用できます。ここでは、「検索オプション」リストから選択するか、「フォルトがあるインスタンス」リンクをクリックします。

- すべての保存済検索: 作成済および保存済のカスタム検索を表示します。保存された検索は、「ダッシュボード」ページの「検索」リージョンにも表示されます。

事前定義済またはカスタムのフォルト・インスタンス検索を実行する手順は、次のとおりです。

「検索オプション」セクションの上部で、検索用のオプションを選択します。

検索結果はフォルト統計表に表示されます。

事前定義されたフォルト・インスタンス検索の詳細は、「エラー・ホスピタル」ページの「weblogic」メニューの「ヘルプ」→「このページのヘルプ」の順に選択します。

保存済検索の詳細は、「レポート・フィルタ・ツールバーの使用」を参照してください。

6.1.1.2 レポート・フィルタ・ツールバーの使用

「レポート・フィルタ」ツールバーを使用すると、表示されたフォルト検索フィルタ基準のリセット、フォルト検索フィルタ基準の保存、検索のブックマークなど、検索に関連するタスクを実行できます。デフォルトでは、事前定義の検索のみを呼び出すことができます。カスタム検索を保存することによって、使用可能な検索のリストを拡張できます。「レポート・フィルタ」ツールバーはスライド・パネルに表示されるため、ページに常に表示されているとはかぎりません。まだ開かれていない場合は、大きい「検索オプション」アイコンをクリックすることによって呼び出すことができます。

「レポート・フィルタ」ツールバーを使用する手順は、次のとおりです。

「レポート・フィルタ」セクションのツールバーに移動します。

次のオプションを使用できます。

要素

説明

現在呼び出されている保存済検索を最後に保存された値にリセットする場合にクリックします。これは、保存済検索を変更したときに問合せの構築プロセスを再開する場合に便利です。

現在の検索基準を保存する場合にクリックします。これにより、選択した検索フィールドとその値の両方が保存され、後で同じ検索を実行したり、結果の新しいセットを表示できるようになります。検索は、グローバルではなくユーザーごとに保存されます。たとえば、ユーザーAはOracle Enterprise Manager Fusion Middleware Controlにログインして、ユーザーBの保存済の検索基準にアクセスできません。

検索を保存するときに名前を指定する必要があります。既存の保存済の検索を上書きすることはできませんが、異なる名前で保存することはできます。作成した保存済の検索は削除できます。保存済の検索を管理するには、「レポート・フィルタ」リストから「すべての保存済検索」を選択します。

現在の検索基準をブックマークする場合にクリックします。検索パラメータを含むURLとともにメッセージが表示されます。このURLをブラウザのブックマーク・ウィンドウ、電子メールまたはチャットにコピーします。生成されたURLには、選択した検索フィールドとその値の両方に関する情報が含まれます。これにより、後で同じ検索を実行したり、結果の新しいセットを表示できます。

「レポート・フィルタ」ツールバーの詳細は、「エラー・ホスピタル」ページの「weblogic」メニューの「ヘルプ」→「このページのヘルプ」の順に選択します。

6.1.1.3 フォルト検索フィルタ基準の構成および保存

フォルト検索問合せを作成するには、各検索フィルタのパラメータを構成します。検索結果はフォルト統計表に表示されます。

フォルト検索フィルタ基準を構成および保存する手順は、次のとおりです。

1. 「レポート・フィルタ」セクションに移動します。

2. 検索基準を指定します。フォルト検索基準をさらにカスタマイズする場合は、「フォルト」の横にある「詳細」をクリックして、フォルト所有者、リカバリ・タイプ、フォルト・タイプ、フォルト詳細(エラー・メッセージの内容、フォルト名、フォルト・コード、HTTPホストおよびJNDI名)などの追加構成フィールドを表示します。

3. 該当する検索フィルタのパラメータを構成します。空白のままのフィルタは無視されます。これらを削除する必要はありません。各フィルタの構成の詳細は、「エラー・ホスピタル」ページの「weblogic」メニューの「ヘルプ」→「このページのヘルプ」の順に選択します。

要素

説明

時間

過去の特定の時刻に問合せを制限するには、このフィルタを使用します。フォルトを検索するには時間フィルタが必要です。両方のリストから値を選択していることを確認してください。たとえば、最後の2週間に問合せを制限するには「2」と「週」を選択します。

「オプション」をクリックすると、選択できるフィルタが表示されます。選択すると、検索対象の期間を指定できます。

- インスタンス作成済(デフォルトで表示され、選択を解除できません)

- インスタンス更新済

- 障害が発生しました(デフォルトで表示されますが、選択を解除できます)

また、「カスタム期間」チェック・ボックスを選択して、カスタムの検索対象期間を指定することもできます。

コンポジット

フォルトの検索問合せ対象を特定のコンポジットに制限します。

- パーティション・レベルで検索する場合、そのパーティションのSOAコンポジット・アプリケーションによって参加および起動されたフォルトのみが戻されます。

- SOAインフラストラクチャ・レベルで検索する場合、任意のパーティションのSOAコンポジット・アプリケーションによって参加および起動されたフォルトが返されます。

次のタスクを実行します。

- 選択したコンポジットで開始されたフォルトにのみ検索対象を制限するには、「開始中」を選択します。このコンポジット内のすべてのフォルトを検索するには、「参加中」を選択します。

- 検索するパーティションを選択します。個々のパーティション・レベルで「エラー・ホスピタル」ページにアクセスする場合、そのパーティションはすでに選択されており、変更できません。SOAインフラストラクチャ・レベルでパーティションを選択しないと、すべてのパーティションが検索されます。

- 特定のSOAコンポジット・アプリケーション名をリストから選択するか、「検索」をクリックして、検索対象の名前の全体または部分を指定します。名前の一部検索では、名前の先頭部分の入力のみサポートし、大文字と小文字を区別します。コンポジットを指定しない場合、すべてのパーティションが検索されます。

リシーケンサ

検索するリシーケンサ・グループを選択します。リシーケンサ・コンポーネントが参加しているビジネス・フローに検索対象を制限するには、このフィルタを使用します。このセクションを空白のままにすると、この検索フィルタは無視されます。Oracle Mediatorのリシーケンサは、関連しているが順序が正しくないメッセージ・ストリームの順序を直します。

- 任意のグループ: すべてのグループ内のすべてのリシーケンス・フロー内のフォルトを検索する場合に選択します。

- 特定のグループ: 特定のリシーケンス・グループに関連付けられたフォルトを検索する場合に選択します。グループの名前と場所を指定します。この場所は、グループを含むOracle Mediatorサービス・コンポーネントとSOAコンポジット・アプリケーションのリビジョンです。グループ名フィルタは、1つのグループ・インスタンスのみを返します。

リシーケンスの詳細は、『Oracle SOA SuiteでのSOAアプリケーションの開発』のOracle Mediatorのリシーケンスに関する項および「リシーケンス・グループの監視」を参照してください。

状態

アクティブなインスタンスを検索するには、「アクティブ」を選択します。アクティブ・インスタンスは、いずれの終了状態にも達していません。リストがリフレッシュされ、さらにフィルタ処理を行うための次の選択肢が表示されます。

- すべてアクティブ: 非終了状態のすべてのビジネス・フローが検索されます。

- リカバリ: リカバリ可能なフォルトが含まれるビジネス・フロー(リカバリ可能なフォルト、リカバリ済フォルトおよびシステム自動再試行はすべてこのカテゴリに含まれます)。特定のタイプのリカバリをさらに指定するには、「フォルト」フィルタを使用します(「フォルト」リストからの「リカバリが必要です」の選択、「詳細」のクリック、およびフォルト・リカバリ・タイプ・リストからのオプションの選択など)。

- 一時停止: 通常、SOAコンポジット・アプリケーションのバージョン間の移行に関連するビジネス・フロー。

- 実行中: 現在実行中のビジネス・フロー。このフローには、承認を待機中のヒューマン・タスク・コンポーネントが含まれる可能性があります。

アクティブでないインスタンスを検索するには、「非アクティブ」を選択します。非アクティブ・インスタンスは、いずれかの終了状態に達しています。リストがリフレッシュされ、さらにフィルタ処理を行うための次の選択肢が表示されます。

- すべて非アクティブ: 終了したすべてのビジネス・フローが検索されます。

- 完了: ビジネス・フローは完了しています。リカバリを待機するフォルトはありません。

- 失敗: リカバリ不能なフォルトがある、完了したビジネス・フローが検索されます。フォルト・タイプや他のフォルト詳細に基づいてさらにフィルタするには、「フォルト」フィルタを使用します。たとえば、「状態」が「失敗」に設定されている場合、「リカバリ不可」または「全フォルト」が使用できます。

- 中断: ユーザーによって明示的に終了されたビジネス・フロー、またはシステム・エラーが発生したビジネス・フローが検索されます。

「状態」フィールドを空白のままにした場合、「状態」フィルタは無視されます。

フォルト

ビジネス・フローの検索対象をフォルトがあるものに制限します。このフィールドを空白のままにすると、このフィルタは無視されます。検索対象のフォルトのタイプを指定する場合に選択します。

- 全フォルト: 任意のタイプのフォルトを含むビジネス・フローを検索する場合に選択します。

- リカバリが必要です: 続行するために人的リカバリ・アクションを待機しているスタック・フローを検索する場合に選択します。リカバリの特定のタイプをさらに指定するには、「フォルト・リカバリ・タイプ」フィルタを使用します。

- リカバリ不可: リカバリ不可のフォルトを含むフローを検索する場合に選択します。「リカバリ不可」のフォルトには、中断および失敗したインスタンスも含まれます。

- リカバリ済: リカバリ済のフォルトを少なくとも1つ含むフローを検索する場合に選択します。

- システム自動再試行:システム自動再試行が発生した、失敗したフローを検索する場合に選択します。これは、フォルト・ポリシー構成自動再試行にのみ適用されます。

フォルト・フィルタをさらにカスタマイズする場合は、「フォルト」の横にある「詳細」をクリックして追加のフィルタ属性を表示します。

- フォルト・リカバリ・タイプ: 失敗したビジネス・フローの検索を、特定のタイプのリカバリ・アクションを待機しているスタック・フローに絞り込みます。このフィールドは、「フォルト」フィルタで「リカバリが必要」を選択し、「詳細」をクリックした場合にのみ使用可能です。このフィールドを空白のままにした場合、フォルト・リカバリ・タイプ・フィルタは無視されます。フォルト・リカバリ・タイプは次のとおりです。
管理リカバリ

BPELアクティビティ・リカバリ

BPEL起動メッセージ・リカバリ

BPELコールバック・メッセージ・リカバリ

EDNリカバリ

メディエータ・リカバリ

ヒューマン・ワークフロー・リカバリ

拒否されたメッセージ・リカバリ

- フォルト・タイプ: 失敗したビジネス・フローの検索をフィルタ処理します。このフィールドを空白のままにした場合、「フォルト・タイプ」フィルタは無視されます。そのフォルト・タイプを含むフローのみに検索を制限するには、次のいずれかを選択します。
システム: ネットワーク・エラーまたはデータベース・サーバーやWebサービスにアクセスできないなどのエラー。

ビジネス: 処理される情報に問題がある場合に生成されるアプリケーション固有のフォルト(データベースで社会保障番号が見つからないなど)。

OWSM: SOAコンポジット・アプリケーション、サービス・コンポーネントまたはバインディング・コンポーネントにアタッチされたポリシーのエラー。ポリシーはメッセージの配信にセキュリティを適用します。

- フォルト所有者: フォルトが処理された特定のコンポーネント、サービスまたは参照(フォルトの所有者とも呼ばれる)を選択します。失敗したビジネス・フローの検索を絞り込むには、このフィルタを使用します。空白のままにした場合、「フォルト所有者」フィルタは無視されます。フォルト所有者はフォルトの場所と類似していますが、これらは常に同じではありません。このフィルタの詳細は、「エラー・ホスピタル」ページのオンライン・ヘルプを参照してください。

- フォルト詳細: 失敗したビジネス・フローの検索をフィルタ処理します。すべてのフィールドを空白のままにした場合、「フォルト詳細」フィルタは無視されます。フォルトに関する次の詳細の少なくとも1つを指定します。これらの値が設定されていないフォルトのみを検索するには、検索フィールドにNOT SPECIFIEDを入力します。
エラー・メッセージの内容: 同じエラー・メッセージ・テキストを持つ、失敗したビジネス・フローのみを検索する場合に使用します。メッセージの任意の部分を入力できます。この検索では大文字と小文字が区別されます。

フォルト名: NegativeCreditなどの説明的な特定のフォルト名を持つ、失敗したビジネス・フローのみを検索する場合に使用します。正確な名前(文字列全体)を入力する必要があります。この検索では大文字と小文字が区別されます。

フォルト・コード: 同じフォルト・コードを持つ、失敗したビジネス・フローのみを検索する場合に使用します。

フォルト検索基準をさらにカスタマイズする場合は、「フォルト詳細」の横にある「詳細」をクリックして、HTTPホスト、JNDI名、イベント名、イベント・ネームスペースなどの構成フィールドを表示します。

4. 将来の使用に備えて検索基準を保存する場合は、「検索の保存」アイコンをクリックして名前を指定します。

保存済の検索が、「レポート・フィルタ」ドロップダウン・リストおよび「フロー・インスタンス」ページの「検索オプション」セクションで選択できるようになります。

5. 検索基準の作成の完了後、「検索」をクリックします。

検索結果がフォルト統計表に表示されます。

6.1.2 フォルト傾向の調査のための集計済フォルト統計の表示

フォルト統計表には、次のいずれかの方法で指定および作成されたフォルト・データのレポートが表示されます。

- 「エラー・ホスピタル」ページの「レポート・フィルタ」セクションで指定および作成されたもの。

- 「フロー・インスタンス」ページの「検索オプション」セクションで指定および作成され「検索結果」表に表示された後、「検索結果」表の上にある「エラー・ホスピタル」リンクをクリックすることによりフォルト統計表に表示されたもの。

データは常に、「グループ化」リストから選択された主なフォルト属性(「フォルト名」や「フォルト・コード」など)の1つによって集計されます。デフォルトの集計は「フォルト名」によるものです。

「エラー・ホスピタル」ページには個々の失敗したインスタンスは表示されません。フォルトがある個々のビジネス・フローを追跡するには、次のいずれかのタスクを実行します。

- 「フロー・インスタンス」ページに移動し、「フォルトがあるインスタンス」をクリックします。

- 「エラー・ホスピタル」ページのフォルト統計表でフォルト数をクリックし、「フロー・インスタンス」ページの「検索結果」表にあるそのフォルトの詳細にアクセスします。

フォルト統計表では、フォルトの傾向を調査できます(診断目的など)。たとえば、「フォルト・コード」によって集計することにより、最もフォルトが多いのはどのコードであるかを確認できます。また、1回の操作で選択した類似フォルトのグループに対して一括アクション(リカバリまたはアラート)を実行することもできます。

6.1.2.1 集計済のフォルト統計を表示してフォルトの傾向を調査する手順:

1. 「フォルト検索基準の指定および保存」で説明しているように「レポート・フィルタ」セクションで検索基準を指定し、「検索」をクリックします。
フォルト統計表にフォルトの詳細が移入されます。これにより、フォルト合計数、リカバリが必要なフォルト、リカバリ不能なフォルト、リカバリ済のフォルトおよび自動フォルトのエントリが表示されます。

フォルト統計表の上にある凡例に、フォルトの状態を識別するために表の列内で使用される色の記号が表示されます。

状態

説明

リカバリ不可

リカバリ不能なフォルトの合計数を表示します。これには失敗および中断したフォルトも含まれます。

列内で値をクリックすると、「フロー・インスタンス」ページの「検索結果」表に移動し、リストがフィルタ処理されて、リカバリ不能なフォルトに関連付けられているフロー・インスタンスが表示されます。末期的(致命的)なフォルトはリカバリできません。

リカバリが必要

リカバリ可能なフォルトの合計数を表示します。

列内で値をクリックすると、「フロー・インスタンス」ページの「検索結果」表に移動し、リストがフィルタ処理されて、リカバリ可能なフォルトに関連付けられているフロー・インスタンスが表示されます。これらはスタック・フローを続行できるように人的リカバリ・アクションを待機しているフォルトです。

リカバリ済

リカバリ済のフォルトの合計数を表示します。

列内で値をクリックすると、「フロー・インスタンス」ページの「検索結果」表に移動し、リストがフィルタ処理されて、リカバリ済のフォルトに関連付けられているフロー・インスタンスが表示されます。これらはリカバリ・アクションが正常に実行されたリカバリ可能なフォルトです。処理はビジネス・フロー・インスタンスで再開されました。

システム自動再試行

システムによって自動的に再試行されたフォルトの合計数を表示します。

列内で値をクリックすると、「フロー・インスタンス」ページの「検索結果」表に移動し、リストがフィルタ処理されて、システムによって再試行されたフォルトに関連付けられているフロー・インスタンスが表示されます。

2. フォルト統計表の上にある「グループ化」リストから、データの集計に使用するフォルト属性を選択します。デフォルトの集計フィールドは「フォルト名」です。

次のオプションを使用できます。

要素

説明

フォルト名

フォルト名別に集計されます。この集計オプションはデフォルトで選択されます。

フォルト・コード

フォルト・コード別に集計されます。

フォルト・タイプ

フォルト・タイプ別に集計されます。

- システム: ネットワーク・エラーまたはデータベース・サーバーやWebサービスにアクセスできないなどのエラー。

- ビジネス: 処理される情報に問題がある場合に生成されるアプリケーション固有のフォルト(データベースで社会保障番号が見つからないなど)。

- OWSM: SOAコンポジット・アプリケーション、サービス・コンポーネントまたはバインディング・コンポーネントにアタッチされたOWSMポリシーのエラー。ポリシーでは、メッセージ配信に対してセキュリティが適用されます。

コンポジット

SOAコンポジット・アプリケーション名別に集計されます。

パーティション

フォルトが発生したSOAコンポジット・アプリケーションのパーティション別に集計されます。

フォルト所有者

フォルトを処理したサービス・コンポーネント、サービス・バインディング・コンポーネントまたは参照バインディング・コンポーネントの名前別に集計されます。場合によっては、これはフォルトの所有者とフォルトの場所の両方であることがあります。

フォルト所有者タイプ

フォルトを処理したサービス・コンポーネント、サービス・バインディング・コンポーネントまたは参照バインディング・コンポーネントのタイプ別に集計されます(たとえば、BPELプロセス・サービス・コンポーネントがフォルトを所有する場合、BPELが表示されます)。

JNDI名

JNDI名別に集計されます(たとえば、eis/FileAdapter)。

HTTPホスト

フォルトが発生したHTTPホスト別に集計されます。

3. 「フォルト・コード」を選択する場合、最初の列の各行は特定のコードを表し、その他の列はコードごとに集計されたフォルト統計を表します。選択内容にかかわらず、表のその他の行には、フォルトの合計数、リカバリ可能フォルト、リカバリ不能フォルト、現在リカバリ済のフォルトの数、およびフォルトの発生後に実行された自動再試行回数が常に表示されます。

4. 「フォルト・タイプ」を選択する場合、最初の列の各行は特定のフォルト・タイプを表し、その他の列はタイプごとに集計されたフォルト統計を表します。リストで他の選択をした場合と同様に、表示された合計、リカバリ可能およびリカバリ済の数をクリックすると、「フロー・インスタンス」ページにアクセスしてフォルトのリカバリ・アクションを実行できます。

5. 「コンポジット」を選択する場合、最初の列の各行は特定のSOAコンポジット・アプリケーション名を表し、その他の列はコンポジットごとに集計されたフォルト統計を表します。

6.1.3 単一操作での一括フォルト・リカバリおよび終了の実行

リカバリ可能なフォルトが含まれるフォルト統計表の任意の集計済フォルト行で、一括フォルト・リカバリおよび一括フォルト終了を実行できます。これらのアクションを実行するオプションは、フォルト統計表の上に表示されます。

一括フォルト・リカバリおよび終了を実行する手順は、次のとおりです。

1. 「フォルト検索基準の指定および保存」で説明しているように「レポート・フィルタ」セクションで検索基準を指定し、「検索」をクリックします。

フォルト統計表にフォルトの詳細が移入されます。

2. 「リカバリが必要」列に1つ以上の値が含まれている表の行を選択します。このオプションでは単一のインスタンスのリカバリも可能です。

3. 表の上の該当するアクションをクリックします(この例では「一括リカバリ」が選択されています)。行を右クリックして同じアクションを表示することも可能です。

ページの<Section_Name>セクションの要素を説明しています。" title="" width="90%">

要素

説明

一括リカバリ

このオプションを選択して一括リカバリを実行します。一括リカバリを行うことができるのは、リカバリ可能と示されているフォルトを含む行のみです。

一括中断

このオプションを選択して一括終了を実行します。リカバリ可能と識別されたフォルトが含まれる行、および「システム自動再試行」列のフォルトが含まれる行を一括で終了できます。

これにより、その集計済の行に関連付けられているすべてのリカバリ可能なフォルトに対してリカバリが試行されます。この例では、選択された行の「リカバリが必要」列には、リカバリが必要な3つのフォルトが含まれています。

4. 一括リカバリを続行するか確認するプロンプトが表示されたら「はい」をクリックします。「スケジュール・プロパティ」および「スロットル・プロパティ」セクションを展開してリカバリ詳細を表示することもできます。

注意:

スケジュール・プロパティおよびスロットル・プロパティは、Oracle Enterprise Scheduler以外の設定には適用されません。一括リカバリをスケジュールできるのは、Oracle Enterprise Schedulerを使用する場合のみです。それ以外の場合、このダイアログに「スケジュール・プロパティ」および「スロットル・プロパティ」は含まれず、一括リカバリは即時に試行されます。Oracle Enterprise Scheduler以外の設定で一括リカバリ・ジョブのステータス・リンクをクリックすると、一括リカバリ実行に対応するログが表示されるログ・ビューア・ページに移動します。

リカバリが進行中であることを示すメッセージが表示されます。Oracle Enterprise Schedulerがデプロイされている場合、メッセージ内のリンクをクリックして、Oracle Enterprise Schedulerの「リクエスト詳細」ページにアクセスできます。Oracle Enterprise Schedulerがデプロイされていない場合、ジョブIDをクリックすると、「ログ・メッセージ」ページが起動されます。

Oracle Enterprise Schedulerのジョブ・リクエスト番号およびフォルト・アラート・メッセージに関して、次の詳細を確認してください。

- ジョブ・リクエスト番号は、「ダッシュボード」ページの「検索」セクションで「一括リカバリ・ジョブ」をクリックして「ジョブ・リクエストID」フィールドで番号を指定することによって検索できます。IDをクリックすると、Oracle Enterprise Schedulerの「ジョブ・リクエスト」ページに移動します。詳細は、「インスタンスおよび一括リカバリ・ジョブの検索」を参照してください。

- アラート・メッセージがトリガーされると、「ダッシュボード」ページの「フォルト・アラート」セクションに名前が表示されます。詳細は、「エラー通知アラートの表示」を参照してください。

5. 一括リカバリ・ジョブがOracle Enterprise Schedulerジョブ・リクエスト番号を使用して処理中であることを確認するには、「OK」をクリックします。

6. 「エラー・ホスピタル」ページの上部にある「リフレッシュ」アイコンをクリックします。

フォルト・リカバリが成功すると、フォルト統計表の「リカバリ済」列に表示されるリカバリ済のフォルトの数が増えます(この例では3つ増えています)。

7. 「リカバリ済」列で、数字をクリックします。

「フロー・インスタンス」ページが表示されます。以前は「状態」列で「リカバリ」として表示されていたビジネス・フロー・インスタンスが、今は「検索結果」表に「完了」として表示されています。

8. 「検索結果」表でビジネス・フロー・インスタンスを含む行を選択し、「詳細の表示」をクリックします。

「フロー・インスタンス」ページの下部に「フォルト」タブが表示されます。「リカバリ」列で、フォルトのステータスが「リカバリ済」と表示されます。

6.1.4 単一のフォルト・リカバリ操作を実行するためのフォルト統計表でのフォルトへのアクセス

「エラー・ホスピタル」ページには個々の失敗したインスタンスは表示されません。ただし、「エラー・ホスピタル」ページのフォルト統計表でフォルト数をクリックすると、「フロー・インスタンス」ページの「検索結果」表にあるそのフォルトにアクセスして、単一のフォルト・リカバリ操作を実行できます。

フォルト統計表のフォルトにアクセスして単一のフォルトのリカバリを実行する手順は、次のとおりです。

1. 「フォルト検索基準の指定および保存」で説明しているように「レポート・フィルタ」セクションで検索基準を指定し、「検索」をクリックします。たとえば、「フォルト」フィルタで「リカバリが必要」を選択します。

フォルト統計表に、リカバリが必要なフォルトの詳細が移入されます。

2. 「リカバリが必要」列で、特定のフォルト名について、リカバリが必要なフォルトの数をクリックします。1より大きい数字でもかまいません。このオプションでは単一のインスタンスのリカバリも可能です。

「フロー・インスタンス」ページの「検索結果」表に移動します。

リカバリが必要なフォルトが表示されます。別の列(たとえば、フォルト統計表の「フォルトの合計」列または「リカバリ済」列)の値をクリックした場合、その選択に該当する結果が表示されます。

3. 「検索結果」表で特定の行を選択し、「詳細の表示」をクリックします。

ページがリフレッシュされ、「フォルト」(選択中)、「センサー値」、「コンポジット」および(リシーケンス・グループがコンポジットに含まれている場合)「リシーケンス・グループ」タブが「検索結果」表の下に表示されます。各タブではフローに関する特定の詳細が説明されます。

4. 「フォルト」タブからフォルト・リカバリ・アクションを実行する方法は、「ビジネス・フロー・インスタンスでのフォルトからのリカバリ」のステップ4を参照してください。

6.1.5 その他のメッセージおよびフォルト・リカバリ動作シナリオの理解

この項では、「エラー・ホスピタル」ページでのその他のフォルト・メッセージの動作の問題について説明します。

6.1.5.1 「エラー・ホスピタル」ページでリカバリ可能なメッセージがリカバリ不能として表示される

クラスタの1つのノード(管理対象サーバー)でメッセージ配信が失敗した場合に、未配信のメッセージが次のように表示されます。

- 「エラー・ホスピタル」ページでは「リカバリ不能」

- BPELプロセス・サービス・エンジンの「リカバリ」ページでは「リカバリ可能」

これは、BPELプロセス起動アクティビティがサーバー停止中に処理された場合に発生します。正常な停止が発生した場合でも、これらのアクティビティは完了しない場合があります。この場合、BPELプロセス・サービス・エンジンではサーバーの停止中にビジネス・フロー状態が更新できないため、「エラー・ホスピタル」ページにはインスタンスが実行中およびリカバリ不能と表示されます。

BPEL起動アクティビティは、BPELプロセス・サービス・エンジンの「リカバリ」ページで手動でリカバリできます。その他の場合、自動リカバリ中にリカバリされます。

詳細は、「BPELプロセス・サービス・エンジンのメッセージ・リカバリの実行」を参照してください。

6.1.5.2 リカバリ不能なバインディング・コンポーネントのフォルトがリカバリ可能と表示される

データベース・アダプタ参照バインディング・コンポーネントによって返されたFabricInvocationException.RetryType.NO_RETRYエラーが、バインディング・フォルトとして処理されます。このフォルトは再試行できませんが、次のように表示されます。

- BPELプロセス・サービス・エンジンの「リカバリ」ページには、リカバリ可能というメッセージが表示されます。

- このメッセージのために、BPELプロセス起動アクティビティのリカバリ・キューでフロー状態がリカバリ可能と表示されます。

これは予想された動作です。12c (12.1.3)では、共通のフォルトおよびBPELプロセス・メッセージがリンクされています。これにより、フォルトとフロー状態の両方で起動アクティビティのリカバリが必要だと示されます。

詳細は、「BPELプロセス・サービス・エンジンのメッセージ・リカバリの実行」を参照してください。

6.1.5.3 関連付けられたインスタンス・フォルトのない、リカバリを待つBPELプロセス・メッセージが「エラー・ホスピタル」ページに表示されない

BPELプロセス・サービス・エンジンの「リカバリ」ページからのリカバリを待機しているメッセージがあり、インスタンスに関連付けられたフォルトがない場合は、これは「エラー・ホスピタル」ページに表示されません。これは、次の場合に発生する可能性があります。

- コールバック・メッセージの着信が遅れ、インスタンスが既に完了していた場合。

- reenableAggregationOnComplete=trueでメッセージの集約を使用して競合状態が発生した場合。複数のメッセージが同時に送信され、それらのほとんどが中間プロセス受信メッセージとしてマークが付けられており、それらを取得する新しいインスタンスがない場合。

メッセージ集約の詳細は、『Oracle SOA SuiteでのSOAアプリケーションの開発』の同じインスタンスへのメッセージのルーティングに関する項を参照してください。

6.2 エラー通知ルールの作成

特定のフォルト条件が満たされたときにアラート・メッセージをトリガーするエラー通知ルールを、SOAインフラストラクチャまたは個々のパーティション・レベルで作成できます。たとえば、48時間以内に10件を超えるエラーが発生するとアラートを送信するようにルールを作成できます。アラートは、「エラー通知アラートの表示」.で説明されているように「ダッシュボード」ページの「フォルト・アラート」セクションに送信されるようにすることも、電子メール・アドレスのようなデリバリ・チャネルに送信されるようにすることもできます。

注意:

エラー通知ルールを作成するには、SOAインフラストラクチャにOracle Enterprise Schedulerがデプロイされている必要があります。Oracle Enterprise Schedulerがデプロイされていないと、このページにはアクセスできません。

エラー通知ルールには次の利点があります。

- システムで発生したフォルトが集計された通知

- 再発生の間隔を構成できるスケジュール・ベースの通知システム。たとえば、ルール基準が満たされた場合、24時間ごとにアラートを送信します。

- ルールが構成済のフォルトおよび通知チャネル仕様。フォルト・ポリシーがトリガーされると、電子メールが送信されます。

フォルト通知ルールは次のレベルで作成できます。

- SOAインフラストラクチャ(システム全体のアラートの場合)

- 個々のパーティション・レベル(パーティションに固有のアラートの場合)

ルールの作成、更新および削除には、次のロールが必要です。

- partition_nameApplicationOperator: このロールはパーティション固有です。このパーティション固有のロール内のユーザーには、そのパーティションのアラートを管理する権限があります。

- MiddlewareOperator

- MiddlewareAdministrator

- SOAAdmin

- SOAOperator

詳細は、「パーティションへのアクセスの保護」を参照してください。

Oracle Enterprise Manager Fusion Middleware Controlでのルールの表示については、次の詳細を確認してください。

- SOAインフラストラクチャ(システム全体)レベルで作成されたルールは、個々のパーティション・レベルの「エラー通知ルール」ページには表示されません。

- 個々のパーティション・レベルで作成されたルールは、SOAインフラストラクチャ(システム全体)レベルの「エラー通知ルール」ページには表示されません。

SOAインフラストラクチャの「ダッシュボード」ページの「フォルト・アラート」セクションには、すべてのパーティションを含む、すべてのシステム全体のアラートが表示されます。

6.2.1 エラー通知ルールを作成する手順は、次のとおりです。

1. エラーの発生時にアラート通知を受信するには、ユーザーのアドレスと、使用する配信チャネル(電子メール、IMまたはSMS)を指定する必要があります。これらのタスクは、Oracle Enterprise Manager Fusion Middleware Controlの異なるページで実行されます。

配信チャネルの種類

実行するタスク

電子メール

a. 「ワークフロー通知プロパティ」ページで電子メール・アドレスを構成します。
「ヒューマン・ワークフロー通知プロパティの構成」を参照してください。

b. 完了したら、「ワークフロー通知プロパティ」ページの「「メッセージング・ドライバ」ページに移動」をクリックします。

c. 「ユーザー・メッセージング・サービス」ページで電子メール・ドライバを構成します。
Oracle User Messaging Serviceの管理の電子メール・ドライバの構成に関する項を参照してください。

SMS

a. 「ユーザー・メッセージング・サービス」ページで、ショート・メッセージ・ピア・ツー・ピア(SMPP)ドライバを構成します。
Oracle User Messaging Serviceの管理のSMPPドライバの構成に関する項を参照してください。

IM

a. 「ユーザー・メッセージング・サービス」ページで、Extensible Messaging and Presence Protocol (XMPP)を構成します。
Oracle User Messaging Serviceの管理のXMPPドライバの構成に関する項を参照してください。

2. 適切なレベルでアラートを作成します。
SOAインフラストラクチャ・レベルでエラー通知ルールを作成する手順は、次のとおりです。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「エラー通知ルール」を選択します。

a. 「SOA」を展開します。

b. 「soa-infra (server_name)」を右クリックします。

c. 「エラー通知ルール」を選択します。

個々のパーティション・レベルでエラー通知ルールを作成する手順は、次のとおりです。

特定のパーティションの「SOAパーティション」メニューから...

ナビゲータのSOAフォルダから...

a. 「エラー通知ルール」を選択します。

a. 特定のパーティションを右クリックします。

b. 「エラー通知ルール」を選択します。

「エラー通知ルール」ページに、次の詳細が表示されます。

- 既存のルールおよび各ルールに関する詳細を表示する「エラー通知ルール」表。管理する1つ以上のルールを選択します。

- 新規ルールの作成、既存のルールからの新規ルールの作成、ルールの編集、ルールの削除、ルールの無効化およびルールの検索を行うためのリンク。詳細は、「エラー・ホスピタル」ページで「weblogic」アイコンをクリックし、「ヘルプ」→「このページのヘルプ」の順に選択します。

3. 次のいずれかの方法で新規のルールを作成します。

a. 「作成」をクリックして新しいルールを作成します。

または

a. 「類似作成」をクリックして、選択したルールから新規ルールを作成します。

4. 次の情報を入力します。

要素

説明

名前

ルールの名前を入力します。新しいルールが保存されたら、その名前は変更できません。この名前は、「ダッシュボード」ページに表示されるアラートや、電子メール、SMSまたはインスタント・メッセージング(IM)などのチャネルを介して通知の受信者に送信されるアラートにも使用されます。

説明

ルールの説明を入力します。この説明は管理者にのみ表示されます。この説明は、ダッシュボード・ページでアラートを表示したりフォルトの通知アラートを受信するエンド・ユーザーには表示されません。

スケジュール名

事前定義されたスケジュールを選択します。これは、スケジューラをトリガーする頻度を指定します(たとえば、2分おきにスケジューラを起動)。スケジュールを選択すると、ページがリフレッシュされ、「スケジュールの説明」フィールドおよび「頻度」フィールドが表示されます。

スケジュール名は、Oracle Enterprise Manager Fusion Middleware Controlの「スケジュールの作成」ページで定義します。

a. ナビゲータで、「スケジューリング・サービス」→「ESSAPP」の順に展開するか、「soa-infra (server_name)」を右クリックして「スケジュールの定義」をクリックします。

b. 「スケジューリング・サービス」メニューから、「ジョブ・リクエスト」→「スケジュールの定義」を選択します。
選択可能な「スケジュール名」リストのスケジュールが表示されます。

c. 「作成」をクリックして、追加のスケジュールとその実行頻度を作成します。
注意: スケジュール名を定義する際に、/oracle/apps/ess/custom/soaのスケジュール・パッケージ名が指定されていることを確認してください。それ以外の場合、スケジュールが作成されますが、「エラー通知ルールの作成」または「エラー通知ルールの編集」ページではアクセスできません。

Oracle Enterprise Manager Fusion Middleware ControlでのOracle Enterprise Schedulerの使用方法の詳細は、『Oracle Enterprise Schedulerの管理』を参照してください。

説明。

「スケジュールの作成」ページで構成したスケジュールの説明が表示されます。

頻度

「スケジュールの作成」ページで構成したスケジュールの頻度が表示されます。

5. IF-THEN表を使用してフォルト通知ルールを定義し、「適用」をクリックします。

要素

説明

IF

ルールのIF部分を定義します。少なくとも1つのルール条件が必須であり、削除できません。

- SOAインフラストラクチャ・レベルでの必須パラメータは次のとおりです。
フォルトが過去48時間に発生

- 個々のパーティション・レベルでの必須パラメータは次のとおりです。
フォルトが過去48時間に発生

パーティションはpartition_nameです

デフォルト値の48は編集できます。

追加のルール条件はオプションです。各条件は1回のみ追加できます。条件が追加されると、使用可能な条件のリストから削除されます。

ルール条件を選択し、値を割り当てるには、+記号をクリックします。たとえば、デフォルトのパーティションで48時間以内に3件を超えるフォルトが発生するとアラートをトリガーするようにルールを定義します。

フォルトが過去48時間に発生した場合、および

パーティションがdefaultの場合、および

フォルト数が3を超える場合

THEN

ルールのTHEN部分を定義します。THEN条件の任意の数を指定できます。少なくとも1つの条件が必要です。(「ダッシュボードにアラートを送信」は有効な条件です。)

- ダッシュボードにアラートを送信

指定したフォルト条件が満たされたときに、SOAインフラストラクチャまたはパーティション・レベルの「ダッシュボード」ページの「フォルト・アラート」セクションにアラートを送信するかどうかを選択します。ダッシュボード・ページがフォルト・アラートでいっぱいにならないように、この選択には注意してください。このオプションを選択しない場合、アラートはダッシュボード・ページに表示されません。

- Delivery_Channel経由でユーザーにメッセージを送信

アラート通知を受信するユーザーのアドレスと、使用するデリバリ・チャネル(電子メール、IMまたはSMS)を指定します。ユーザーを削除するには、-記号をクリックします。入力したユーザーの連絡先情報が正しいことを確認するのは自分の責任です。

注意: 「ヒューマン・ワークフローの通知プロパティの構成」で説明しているように、「ワークフロー通知プロパティ」ページで通知電子メール・プロパティを構成する必要もあります。また、Oracle User Messaging Serviceでデリバリ・チャネルを構成する必要もありますが、これには、「ワークフロー通知プロパティ」ページで「「メッセージング・ドライバ」ページに移動」ページ・リンクをクリックしてアクセスできます。

アラートの受信者が受信する通知メッセージには次の詳細が含まれます。メッセージの内容は構成できません。

- フォルトの情報。例:
16 faults occurred in the last 48 hours

- この通知アラートのフォルトの詳細を表示するためのエラー・ホスピタル・ページへのリンク。エラー・ホスピタル・ページでは、個々のフロー・インスタンス、およびフォルトの詳細を表示するためにドリルダウンできます。

Oracle User Messaging Serviceでのデリバリ・チャネルの構成の詳細は、Oracle User Messaging Serviceの管理を参照してください。

完了すると、アラート通知ルールの設計は次のようになります。

デフォルトでは、アラートは使用可能です。アラートを無効にするには、通知ルールの編集ページでアラートを選択し、「無効化」をクリックします。このボタンは、選択された1つ以上のアラートの有効化または無効化を切り替えます。

エラー通知ルール基準が満たされると、アラートがトリガーされ、「ダッシュボード」ページの「フォルト・アラート」セクションにSOAインフラストラクチャ・レベルまたはパーティション・レベルで表示されます。ルールが起動される頻度は、ステップ5で「スケジュール名」リストから選択した内容に基づきます。

a. フォルトの数を示すリンクをクリックします。
「エラー・ホスピタル」ページが表示されます。

b. 「検索」をクリックします。
フォルト統計表にフォルトの詳細が表示され、「レポート・オプション」セクションの「時間」フィルタの「フォルトが発生しました」フィールドに、「エラー通知ルールの作成」ページで指定された時間間隔が移入されます。

c. 「リカバリ可能」列でフォルト・リカバリを実行する値をクリックします。詳細は、「エラー通知アラートの表示」を参照してください。

6. エラー通知アラートを受信した場合(電子メールなど)、電子メール内のリンクをクリックすると「エラー・ホスピタル」ページにアクセスできます。

16 Faults occurred in the last 48 hours
Click the link for more details http://link_to_Error_Hospital_Page

Oracle JDeveloperのフォルト管理フレームワークでのアラート割当ての詳細は、『Oracle SOA SuiteでのSOAアプリケーションの開発』のフォルト・ポリシー・ウィザードを使用してフォルト・ポリシーを設計する方法に関する項を参照してください。

ロールの詳細は、「パーティションへのアクセスの保護」を参照してください。

6.2.2 期限切れのスケジュールに関連付けられたエラー通知ルール

ルールに関連付けられたスケジュールが期限切れになると、そのルールを有効化、無効化または削除することはできません。以下のエラー・メッセージが表示されます。

<Error> <oracle.soa.scheduler> <BEA-000000> <ESS-01054 Cannot hold request 5.
Current state is Finished.
oracle.as.scheduler.IllegalStateException: ESS-01054 Cannot hold request 5.
Current state is Finished.
at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:258)
at
weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:472
)
at

ルールにアクティブなスケジュールがある場合は、これらのアクションを実行できます。

7 SOAフォルダおよびワーク・マネージャ・グループの管理

この章では、フォルダとワーク・マネージャ・グループを管理する方法、およびフォルダにセキュアにアクセスする方法について説明します。これには、フォルダを作成、削除および編集する方法、コンポジットで一括ライフサイクル管理タスクを実行する方法、ワーク・マネージャ・プロパティを表示および構成する方法、ワーク・マネージャ保留中/完了済リクエストを表示する方法、ワーク・マネージャ・グループを表示および作成する方法、SOAフォルダ・ロールを表示する方法およびSOAフォルダ・ロールにユーザーを割り当てる方法が含まれます。

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

- SOAフォルダの管理

- ワーク・マネージャ・グループの管理

- SOAフォルダへのアクセスの保護

特定のフォルダの全体的ステータスの監視の詳細は、「SOAインフラストラクチャまたは個々のパーティションの全体的ステータスの監視」を参照してください。

特定のフォルダのビジネス・フロー・インスタンスのステータスのトラッキングの詳細は、「ビジネス・フロー・インスタンスのトラッキング」を参照してください。

特定のフォルダのエラー・リカバリの実行の詳細は、「エラー・ホスピタルでのフォルトからのリカバリ」を参照してください。

7.1 SOAフォルダの管理

SOAコンポジット・アプリケーションは、フォルダと呼ばれるSOAインフラストラクチャの個別セクションにデプロイすることができます。コンポジットをフォルダにデプロイすると、次のことができるようになります。

- SOAコンポジットを論理的にグループ化

- 特定のフォルダ内のすべてのSOAコンポジット・アプリケーションに対して、次の一括ライフサイクル管理を実行

- すべてのコンポジットの起動

- すべてのコンポジットのシャットダウン

- すべてのコンポジットのリタイア

- すべてのコンポジットのアクティブ化

- すべてのコンポジットのアンデプロイ

- フォルダへのアクセスの保護

SOAコンポジット・アプリケーションのデプロイには、フォルダが1つ以上必要です。defaultというデフォルト・フォルダがOracle SOA Suiteで自動的に組み込まれます。デフォルトのフォルダは削除できます。既存のフォルダの名前を変更することはできません。フォルダの作成と削除のみがサポートされています。

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

注意:

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

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

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

フォルダを管理するには、次の手順を行います:

次のいずれかのオプションを使用して、SOAフォルダの管理ページにアクセスします。

SOAインフラストラクチャのメニューから...

ターゲット・ナビゲーション・ツリーのSOAノードから...

1. 「SOAフォルダの管理」を選択します。

1. 「SOA」ノードを開きます。

2. 「soa-infra」を右クリックして、「SOAフォルダの管理」を選択します。

SOAフォルダの管理ページに、次の詳細が表示されます。

- 特定のフォルダを検索するためのユーティリティ。フォルダ名のすべてまたは一部を入力し、「検索」アイコンをクリックするか、[Return]キーを押します。検索では大文字と小文字は区別されません。

- フォルダを作成、削除および編集するためのリンク。

- 選択したフォルダのすべてのコンポジットを起動、シャットダウン、アクティブ化およびリタイアするための「コンポジット制御」リスト。

- このフォルダにデプロイするための、またはこのフォルダからすべてアンデプロイするための「デプロイメント」リスト。

- 各フォルダ、ワーク・マネージャ・グループ、各フォルダ内のアクティブおよびリタイア状態のSOAコンポジット・アプリケーション・リビジョンの数、および各フォルダに含まれているコンポジットの名前(「表示」リンクの下)がリストされる表。

次のフォルダ管理タスクを実行できます。

- SOAフォルダの作成

- フォルダの削除

- SOAフォルダのワーク・マネージャ・グループの変更

- SOAフォルダのコンポジットに対する一括ライフサイクル管理タスクの実行

フォルダの概念の詳細は、「SOAフォルダの概要」を参照してください。

7.1.1 SOAフォルダの作成

フォルダは、SOAフォルダの管理ページから作成できます。

注意:

フォルダを作成する前に、Oracle WebLogic Server管理コンソールのチェンジ・センターでセッション・ロックが解除されていることを確認する必要があります。

フォルダを作成するには、以下の手順に従います。

1. 「SOAフォルダの管理」で説明しているとおり、SOAフォルダの管理ページにアクセスします。

2. 「作成」をクリックします。
「新規SOAフォルダの作成」ダイアログが表示されます。

a. 「名前」フィールドに、フォルダ名を入力します。

注意:

名前は次の規則に準拠している必要があります。

- ASCII文字と数字を使用できます。

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

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

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

- スペースは使用できません。

有効な名前の例は、mypartition、partition2、dept-a、customer_servicesおよび22です。無効な名前の例は、-part2、/partition、およびnullまたは空の名前です。

b. 「ワーク・マネージャ・グループ」リストから既存のワーク・マネージャ・グループを選択するか、「追加」をクリックして新規ワーク・マネージャ・グループを作成します。新規ワーク・マネージャ・グループの作成方法は、「ワーク・マネージャ・グループの表示および作成」を参照してください。
既存のフォルダの名前の変更や、デプロイしたコンポジット・アプリケーションを後で別のフォルダに転送することはできません。

3. 「作成」をクリックします。
新しいフォルダがパーティションの管理ページの「SOAフォルダ」列に表示されます。次に、「デプロイメント」ドロップダウン・リストから「このフォルダにデプロイ」を選択することで、コンポジットをこのパーティションにデプロイできます。デプロイした後は、コンポジットを異なるフォルダに転送できなくなります。

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

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

7.1.2 フォルダの削除

注意:

少なくとも1つのフォルダが必要です。すべてのフォルダを削除した場合、SOAコンポジット・アプリケーションをデプロイできません。

フォルダは、SOAフォルダの管理ページから削除できます。

次の点に注意してください。

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

- 選択したフォルダを削除する前に、そのフォルダに含まれるSOAコンポジット・アプリケーションのリビジョンがすべてアンデプロイされます。アンデプロイされたコンポジットのすべてのアクティブなインスタンスの状態は中断に変更されます。

フォルダを削除するには:

1. 「SOAフォルダの管理」で説明しているとおり、SOAフォルダの管理ページにアクセスします。

2. 特定のフォルダを選択して、「削除」をクリックします。
「SOAフォルダの削除」ダイアログが表示されます。

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

フォルダにデプロイされたすべてのコンポジットがアンデプロイされ、ナビゲータに表示されなくなります。次に、フォルダはSOAフォルダの管理ページの「SOAフォルダ」列から削除されます。

7.1.3 SOAフォルダのワーク・マネージャ・グループの変更

フォルダに関連付けられたワーク・マネージャ・グループは、既存のグループを選択するか、新規グループを作成することにより変更できます。

注意:

フォルダのワーク・マネージャ・グループを変更する前に、Oracle WebLogic Server管理コンソールのチェンジ・センターでセッション・ロックが解除されていることを確認する必要があります。

フォルダのワーク・マネージャ・グループを変更する手順は、次のとおりです。

1. 「SOAフォルダの管理」で説明しているとおり、SOAフォルダの管理ページにアクセスします。

2. 特定のフォルダを選択して、「編集」をクリックします。

「SOAフォルダの編集」ダイアログが表示されます。

3. 「ワーク・マネージャ・グループ」リストから既存のワーク・マネージャ・グループを選択するか、「追加」をクリックして新規ワーク・マネージャ・グループを作成します。新規ワーク・マネージャ・グループの作成方法は、「ワーク・マネージャ・グループの表示および作成」を参照してください。

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

5. ワーク・マネージャ・グループの変更を有効にするには、サーバーを再起動します。

7.1.4 SOAフォルダのコンポジットに対する一括ライフサイクル管理タスクの実行

SOAフォルダの管理ページ、または特定のフォルダのSOAフォルダ・ページで、特定のフォルダ内のすべてのSOAコンポジット・アプリケーションに対して一括ライフサイクル管理タスクを実行できます。

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

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

1. 「SOAフォルダの管理」で説明しているとおり、SOAフォルダの管理ページにアクセスします。
2つのドロップダウン・リストを使用すると、一括ライフサイクル管理アクションを実行できます。

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

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

SOAフォルダの管理ページでは、これらのリストは「SOAフォルダ」表の上に表示されます。

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

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

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

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

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

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

b. 「OK」をクリックして続行します。

注意:

「コンポジット制御」リストから「すべてリタイア」を選択すると、そのフォルダ内のすべてのコンポジットがリタイアされ、その際にデフォルトや最後のアクティブ・コンポジットがリタイアされることを示す警告メッセージは表示されないため、注意が必要です。

これは、特定フォルダ内の全コンポジットの一括リタイアメントの実行時に予期される動作です。

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

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

- このフォルダ内のすべてのコンポジットをアンデプロイします。
選択内容の確認を求めるダイアログが表示されます。操作が完了すると、ページ上部に確認メッセージが表示されます。

7.2 ワーク・マネージャ・グループの管理

各フォルダは、ワーク・マネージャで構成されるワーク・マネージャ・グループに関連付けられている必要があります。ワーク・マネージャは、論理スレッド・プールを表すOracle WebLogic Serverエンティティです。これは、作業アイテムが順番に処理を待機するキューに似ています。ワーク・マネージャで処理する作業の優先度を定義できます。ワーク・マネージャはスレッド・プールを内部で自動的に管理し、最適なスケジュールを可能にします。ワーク・マネージャは、次の機能を提供します。

- 単一の内部グローバル・プール。

- 複数の優先度ベースのワーク・リクエスト・キュー。優先度は、ワーク・マネージャの制約に基づいて内部的に計算されます。

- ワーク・ロードに基づいて自動的に追加および削除される新規スレッド。

Oracle WebLogic Serverは、Oracle SOA Suiteのかわりにスレッド・プールを管理します。定義された条件に基づいて、必要なスレッド数を自動的に制御します。優先度を定義すると、Oracle WebLogic Serverによって、さらにスレッドが必要かどうかが判断されます。

Oracle WebLogic Server管理コンソールで作業優先度を定義する方法は2つあります。

- リクエスト・クラス:

- 共有するサーバー・リソースの必要な割合を定義します

- 必要なアプリケーション・レスポンス時間を定義します

- 制約:

- 最大スレッド制約: 制約に達した場合、同時実行数が限度を下回るまで、サーバーはこのタイプのリクエストをスケジュールしません。値を指定しない場合、デフォルト値は無制限になります。

- 最小スレッド制約: デッドロックを避けるために、影響を受けたリクエストにサーバーが割り当てるスレッド数を確保します。デフォルト値は0です。

- 容量: 容量に達すると、サーバーはリクエストを拒否します。

注意:

最大スレッドおよび最少スレッドは、ワーク・マネージャ名を使用して定義され、複数のワーク・マネージャで共有できます。ワーク・マネージャはドメイン・レベルで定義されます。

Oracle WebLogic Serverには、多くのOracle SOA Suiteワーク・マネージャが含まれています。これらのワーク・マネージャに自動的に関連付けられるOracle SOA Suiteワーク・マネージャ・グループを作成できます。ワーク・マネージャ・グループは、特定のフォルダのOracle SOA Suiteバックグラウンド作業を処理するための専用ワーク・マネージャで構成されます。ワーク・マネージャ・グループは、フォルダ構成とリクエスト処理を分離します。ワーク・マネージャ・グループは、複数のフォルダで共有できます。

マッピングは次のように機能します。

- サービス・エンジン・スレッド・プール(BPEL呼出しプールなど)と、ワーク・マネージャ・グループのワーク・マネージャとの間のマッピング。

- 1つのフォルダと1つのワーク・マネージャ・グループとの間のマッピング。ワーク・マネージャ・グループは、特定のフォルダのバックグラウンド処理タスクのためのすべての論理スレッド・プールで構成されます。複数のフォルダで1つのワーク・マネージャ・グループを共有できます。例:

- デフォルトおよび人事管理のフォルダを標準ワーク・マネージャ・グループに関連付けることができます。

- 営業のフォルダを優先度の高いワーク・マネージャ・グループに関連付けることができます。

ただし、それぞれのフォルダが関連付けられるのは、1つのワーク・マネージャ・グループのみです。

7.2.1 ワーク・マネージャ・プロパティの表示および構成

次のオプションのいずれかを使用して、ワーク・マネージャ・プロパティを表示および構成できます。

- 次のプロパティを構成します。

- データ・ソース内のデータベース接続数を構成するための、Oracle WebLogic Server管理コンソールのSOADataSourceプロパティ。

- グループ内の各種ワーク・マネージャの割合を割り当てる、システムMBeanブラウザのSOAMaxThreadsConfigプロパティ

最大スレッド制約は、これらの設定に基づいて自動的に作成されます。詳細は、「データベース固有の処理スレッドの構成」を参照してください。

- Oracle WebLogic Server管理コンソールから、最小スレッド、最大スレッドおよび容量の制約などのワーク・マネージャ・プロパティを構成します。このオプションは、最初のオプションに比べてより高度な方法です。詳細は、「ワーク・マネージャ制約の表示および構成」を参照してください。

7.2.1.1 ワーク・マネージャ制約の表示および構成

Oracle WebLogic Server管理コンソールで、Oracle SOA Suiteのワーク・マネージャを表示および構成できます。

1. Oracle WebLogic Server管理コンソールにログインします。

2. ドメイン名(たとえば、soainfraなどの名前)の下の「ドメイン構造」で、「環境」→「ワーク・マネージャ」の順に展開します。

各パーティションに自動的に含まれているデフォルトのワーク・マネージャが表示されます。グループのワーク・マネージャの名前には、パーティション名の接頭辞が付きます(この例ではdefault)。これにより、どのパーティションにどのワーク・マネージャが割り当てられているかをすぐに識別できます。

3. 「次」をクリックして、パーティションに自動的に含まれているその他のワーク・マネージャを表示します。

4. 特定のワーク・マネージャをクリックして、リクエスト・クラスおよび制約の設定の詳細を表示します。設定は必要に応じて変更できます。

7.2.2 ワーク・マネージャの保留中のリクエストおよび完了したリクエストの表示

各ワーク・マネージャの保留中のリクエストおよび完了したリクエストの数を表示できます。

1. Oracle WebLogic Server管理コンソールにログインします。

2. ナビゲータの「soainfra」の下で、「デプロイメント」をクリックします。

3. 表で、「soa-infra」を参照して選択します。

4. 上部で、「監視」、「負荷」の順にクリックします。

ワーク・マネージャの保留中のリクエストおよび完了したリクエストの詳細が表示されます。クライアントが開始したすべての作業を処理するために、Oracle WebLogic Serverのデフォルトのスレッドが使用されます。

ワーク・マネージャ・スレッドが利用できないために発生する例外メッセージの詳細は、「受信処理のためのワーク・マネージャ・スレッドが利用不可能」を参照してください。

7.2.3 ワーク・マネージャ・グループの表示および作成

パーティションごとにワーク・マネージャ・グループを作成できます。グループを作成する際、「ワーク・マネージャ・グループの管理」で示されているOracle SOA Suiteのワーク・マネージャが自動的にグループに追加されます。Oracle SOA Suiteには、defaultという名前のデフォルトのワーク・マネージャ・グループが自動的に含まれています。

注意:

ワーク・マネージャ・グループを作成または削除する前に、Oracle WebLogic Server管理コンソールのチェンジ・センターでセッション・ロックが解除されていることを確認する必要があります。

ワーク・マネージャ・グループを作成する手順は、次のとおりです。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「ワーク・マネージャ・グループ」を選択します。

a. 「soa-infra」→「server_name」を右クリックします。

b. 「ワーク・マネージャ・グループ」を選択します。

ワーク・グループの管理ページが表示されます。

2. ワーク・マネージャ・グループを展開して、各グループに自動的に作成されたワーク・マネージャ、最大スレッド制約値とクラス、最小スレッド制約値とクラス、およびフェア・シェア・リクエスト・クラスを表示します。制約では、ワーク・マネージャで処理する作業の構成値を定義します。
ファイル共有リクエスト・クラスは、Oracle WebLogic Serverが要求にスレッドを割り当てる際に使用するスケジューリングのガイドラインを表します。リクエスト・クラスを設定すると、優先度の高い作業は、それより前に発行された作業があってもその重要度が低ければ、その作業より先にスケジューリングされるようにできます。Oracle WebLogic Serverでは、各モジュールへのリクエストの完了までにかかる時間が考慮されます。

フェア・シェア・リクエスト・クラスは、要求の処理に必要なスレッド使用時間の平均を指定します。フェア・シェア・リクエスト・クラスの値は、割合ではなく相対値で指定します。したがって、2つのリクエスト・クラスを400と100で定義した場合、これらの相対値は、80と20または4と1で定義した場合と同じになります。

たとえば、RequestClass1、RequestClass2、およびRequestClass3のフェア・シェア値がそれぞれ10、20、および50であるとします。次のフリー・スレッドがRequestClass1の処理を実行するのは、12.5% (10/80)の確率です。同様に、RequestClass2は25% (20/80)の確率、RequestClass3は62.5% (50/80)の確率で処理されます。

3. 「ビュー」リストから「メトリック」を選択して、次のプロセスの数を表示します。

- 完了

- アクティブで保留中

- アクティブでスタック中

4. 「サーバー」リストから、統計を表示するクラスタ内の管理対象サーバーを選択します。

5. 「作成」をクリックします。
「ワーク・マネージャ・グループの作成」ダイアログが表示されます。

6. 名前とオプションの説明を入力し、「OK」をクリックします。

ワーク・マネージャ・グループが表(この例では、testgroup)に表示されます。Oracle SOA Suiteのワーク・マネージャは、ワーク・マネージャ・グループに自動的に含められ、ワーク・マネージャ・グループ名の下に表示されます。

7. 「SOAインフラストラクチャ」メニューから、「パーティションの管理」を選択します。

8. 次のいずれかの方法で、ワーク・マネージャ・グループをパーティションに割り当てます。

a. 「パーティションの作成」で説明しているように、「作成」をクリックして、ワーク・マネージャ・グループを割り当てる新規パーティションを作成します。

b. 「パーティションのワーク・マネージャ・グループの変更」で説明しているように、「編集」をクリックして、選択したパーティションのワーク・マネージャ・グループを変更します。
この変更では、サーバーの再起動が必要です。

注意:

現在パーティションに割り当てられているワーク・マネージャ・グループは削除できません。

7.3 SOAフォルダへのアクセスの保護

すべてのフォルダは、アプリケーション・ロールとフォルダ・ロールによって自動的に保護されています。フォルダ・ベースのセキュリティには次の利点があります。

- 管理アクセス制御

- 情報へのアクセス制御は、フォルダ・レベルで提供されます。表示できるのは、アクセス権のあるフォルダおよびコンポジットのみです。たとえば、Partition1のみへのアクセス権のあるユーザーは、Partition1とそこにデプロイされたコンポジットのみを表示できます。このユーザーは、その他のフォルダを表示できません。

- 各フォルダの別個のロールへの異なるユーザーの関連付け。

- フォルダ別のインスタンス・データのストライプ化

- 「フロー・インスタンス」や「エラー・ホスピタル」などのOracle Enterprise Manager Fusion Middleware Controlのページには、フォルダ別にフィルタ処理されたインスタンス・データが表示されます。

- アクセス制御に基づいて、監査証跡が表示されます。

- フォルダ・レベルのリソース管理

- フォルダごとに別々のスレッド・プールおよびワーク・マネージャが構成されます。詳細は、「ワーク・マネージャ・グループの管理」を参照してください。

アプリケーション・ロールとフォルダ・ロールは、Java権限クラスおよびアクションの様々な組合せで構成されます。

表7-1に、Oracle SOA Suite全体のアプリケーション・ロールを示します。これらのアプリケーション・ロールは、特定のフォルダに制限されません。

表7-1 アプリケーション・ロール

アプリケーション・ロール

説明

MiddlewareOperator

このロールは、次の機能を提供します。

- Oracle SOA Suiteの継続運用を確実なものにします。

- デプロイ済のSOAコンポジット・アプリケーションが正常に稼働していない場合に主要な連絡先を提示します。

- 監査レベルなどの運用設定をカスタマイズし、エラー通知ルールを構成し、コンポジットの有効化、無効化および監視を行い、コンポジット・センサーを管理します。

MiddlewareAdministrator

このロールは、次の機能を提供します。

- Oracle Fusion Middlewareサーバーの継続運用を確実なものにします。

- デプロイ済SOAコンポジット・アプリケーションに対して常に責任があるわけではありません。

- Oracle SOA Suiteの継続運用に必要なタスクを実行するために、運用ロールのバックアップおよびスーパーユーザー・アクセスを提供します。

表7-2 に、各フォルダに使用できるロールを示します。これらのフォルダ固有のロールには、権限クラスとアクションの様々な組合せが含まれます。

表7-2 フォルダ・ロール

フォルダ・ロール

説明

Composer

ビジネス・ルール、セキュリティ・ポリシー、フォルト・ポリシーなどのSOAコンポジット・アプリケーション・アーティファクト用。

Deployer

新規SOAコンポジット・アプリケーションのデプロイ、既存SOAコンポジット・アプリケーションのアップグレード、ならびに継続的な統合および構築プロセスの管理用。

Tester

本番前システムでのテストの実行用(通常、コマンド行ツール、Oracle Enterprise Manager Fusion Middleware Controlおよびカスタム・ユーザー・インタフェースを組み合せて使用)。

Monitor

フォルダにデプロイされたSOAコンポジット・アプリケーションの正常な運用のため。

ApplicationOperator

ユーザーからの苦情の処理、および自動プロセスで失敗に終わるリクエストに対する判断用。管理者は、これらのトランザクションに関する通知を受信し、フォルトからのリカバリまたはトランザクションの終了のための手段を講じることができます。

注意: このロールには、DeployerおよびTesterロールは含まれていません。

次のフォルダ・アクセス管理タスクを実行できます。

- SOAフォルダ・ロールの表示

- 各SOAフォルダ・ロールに割り当てられた権限の表示

- SOAフォルダ・ロールへのユーザーの割当て

- その他の権限およびロール動作のシナリオの理解

7.3.1 SOAフォルダ・ロールの表示

アプリケーション・ロール・ページで、各フォルダに関連付けられたロールを表示できます。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAノードから...

a. 「セキュリティ」→「アプリケーション・ロール」の順に選択します。

a. 「SOA」を展開します。

b. 「soa-infra (server_name)」を右クリックします。

c. 「セキュリティ」→「アプリケーション・ロール」の順に選択します。

アプリケーション・ロール・ページが表示されます。

2. 「アプリケーション・ロールの検索」アイコンをクリックします。
各フォルダについて、表7-2で説明したロールが表示されます。

- folder_name_Monitor

- folder_name_Composer

- folder_name_Tester

- folder_name_Deployer

- folder_name_ApplicationOperator

7.3.2 各SOAフォルダ・ロールに割り当てられた権限の表示

アプリケーション・ポリシー・ページで、各フォルダ・ロールに割り当てられた権限を表示できます。

注意:

Oracle SOA Suiteのロールは、これらのロールにOracle Enterprise Schedulerの権限を付与します。これらの権限は権限セットです。権限セットは現在、Oracle Enterprise Manager Fusion Middleware Controlには表示されません。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAノードから...

a. 「セキュリティ」→「アプリケーション・ポリシー」の順に選択します。

a. 「SOA」を展開します。

b. 「soa-infra (server_name)」を右クリックします。

c. 「セキュリティ」→「アプリケーション・ポリシー」の順に選択します。

2. 表でフォルダ・ロールを選択します。
ページの下部がリフレッシュされ、選択したフォルダ・ロールに割り当てられた権限クラスおよびアクションが表示されます。

7.3.3 SOAフォルダ・ロールへのユーザーの割当て

フォルダでユーザーが処理するのに必要な特定のSOAフォルダ・ロールを割り当てることができます。これらのロールにより、Oracle Enterprise Manager Fusion Middleware Controlでユーザーが実行できるタスクが決まります。

リリース12cの次の認可チェックの変更に注意してください。

- 認可チェックは、権限に対して行われます。これにより、これらの権限に基づいたより詳細なOracle SOA Suiteロールが可能になります。

- Oracle WebLogic Serverモニター・ロールおよび適切なOracle SOA Suiteロールのみが、Oracle Enterprise Manager Fusion Middleware Controlアクセスに必要です。

- Oracle SOA Suite監視のための追加の権限を備えたWLSOperatorおよびWLSAdminを付与しないようにしてください。

次のフォルダ・レベルの権限とロールをサポートします。

- リリース11gでは、Oracle SOA Suite APIおよびランタイムは、Oracle SOA Suiteアプリケーション・ロールを使用して保護されており、Oracle Enterprise Manager Fusion Middleware ControlではOracle WebLogic Serverエンタープライズ・ロールを使用してユーザー・アクションを保護していました。ロールのマッピングが必要でした。

- リリース12gでは、Oracle SOA Suite APIとランタイムおよびOracle Enterprise Manager Fusion Middleware Controlは両方とも、Oracle SOA Suite権限を使用してアクションおよびユーザー・インタフェースを保護します。(Oracle SOA Suiteアプリケーション・ロールは一連の権限で構成されます。)そのため、ユーザーをアプリケーション・ロールの1つにマッピングすると、それらに必要な権限が付与されます。

SOAフォルダ・ロールにユーザーを割り当てるための手順は、次のとおりです。

1. フォルダ・ロールを割り当てるユーザーを作成します。

a. ナビゲータで、「WebLogicドメイン」→「soainfra」を選択します。

b. 「WebLogicドメイン」メニューから「セキュリティ」→「ユーザーとグループ」を選択します。

c. 「ユーザー」タブで、「作成」アイコンをクリックしてユーザーを作成します。

d. ユーザー名とパスワードを作成して、「OK」をクリックします。

注意:

Oracle WebLogic Server管理コンソールでユーザーを作成する場合、Monitorロールが必要なのは、フォルダ固有のユーザーのみです。このロールは、これらのユーザーがOracle Enterprise Manager Fusion Middleware Controlにアクセスできるようにします。Administratorロールが必要なのは、システム管理者またはスーパーユーザーのみです。

2. Oracle Enterprise Manager Fusion Middleware Controlに、Oracle WebLogic Server管理ロールを含むユーザー・アカウントでログインします。アプリケーション・ポリシーはOracle Platform Security Servicesによって制御されます。Oracle Platform Security Servicesに直接アクセスしてSOAロールを作成できます。このロールは、アプリケーション・ロールを表示して、手順1で作成したユーザーにマップできるようにします。

3. 次のいずれかのオプションを使用して、「アプリケーション・ロール」ページにアクセスします。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「セキュリティ」→「アプリケーション・ロール」の順に選択します。

a. 「SOA」→「soa-infra」の順に展開します。

b. 「soa-infra (server_name)」を右クリックします。

c. 「セキュリティ」→「アプリケーション・ロール」の順に選択します。

4. 「アプリケーション・ロールの検索」アイコンをクリックします。

5. ユーザーにマップするフォルダ・ロールを選択して、「編集」をクリックします。
この例では、フォルダconsoleTestsのApplicationOperatorロールが選択されています。すべてのフォルダで、表7-2 に示したフォルダ・ロールが自動的に割り当てられます。

「アプリケーション・ロールの編集」ページが表示されます。

6. 「追加」をクリックします。
「プリンシパルの追加」ダイアログが表示されます。

7. 「タイプ」リストから、「ユーザー」を選択します。これが、この権限に割り当てられるユーザーになります。

8. 「表示名」フィールドの右側にある「検索」アイコンをクリックします。

9. 表示されたリストから、手順1で作成したユーザーを選択して、「OK」をクリックします。

これにより、選択したユーザーがフォルダconsoleTestsのフォルダ・ロールApplicationOperatorに追加されます。

10. 必要に応じて、その他のアプリケーション・ロールを選択し、「編集」をクリックして、さらにユーザーを追加します。

11. Oracle Enterprise Manager Fusion Middleware Controlからログアウトします。

12. 手順9でフォルダ・ロールに割り当てたユーザーとして、Oracle Enterprise Manager Fusion Middleware Controlにログインします。
ユーザーに付与されたのはconsoleTestsフォルダのみに対する権限のため、次の制限があります。

- アプリケーション・ナビゲータで、SOA以外のフォルダを開くことはできません。

- アプリケーション・ナビゲータで表示できるのは、ユーザーがメンバーであるconsoleTestsフォルダのみです。ユーザーが属していないフォルダはすべて表示されません。

- その他のフォルダを作成できません。

- 「SOAインフラストラクチャの共通プロパティ」ページのプロパティを変更できません。

注意:

「アプリケーション・ロール」ページでアプリケーション・ロールを作成してユーザーに割り当てた場合、「アプリケーション・ポリシー」ページで検索しても、そのロールは即時に表示されません。ロールが表示されるようにするには、「アプリケーション・ポリシー」ページでポリシーを作成して、アプリケーション・ロールおよび一部の権限に割り当てます。これらのアクションにより、ロールが表示されるようになります。

7.3.4 その他の権限およびロール動作のシナリオの理解

この項では、その他の権限およびロール動作のシナリオについて説明します。

7.3.4.1 様々なSOAフォルダにおける開始コンポジットおよび参加コンポジットの権限の理解

様々なフォルダの開始SOAコンポジット・アプリケーションおよび参加SOAコンポジット・アプリケーションに対して実行できる管理操作は、ビジネス・フロー・インスタンスの開始コンポジットに基づいており、参加コンポジットには基づいていません。

たとえば、次のような場合を考えてみます。

1. Oracle WebLogic Server管理コンソールの「セキュリティ・レルム」セクションで、Monitorグループを割り当てるユーザー(たとえば、soamonuserという名前)を作成します。

2. Oracle Enterprise Manager Fusion Middleware Controlに(たとえば、weblogicユーザーとして)ログインします。

3. defaultフォルダがすでに存在することを前提として、新規フォルダ(この例では、testという名前)を作成します。

4. 「SOAインフラストラクチャ」メニューから、「セキュリティ」→「アプリケーション・ロール」の順に選択します。

5. soamonuserユーザーをtest_ApplicationOperatorロールに追加します。

6. SOAコンポジット・アプリケーション(この例では、ResponseCreditRatingという名前)をdefaultフォルダにデプロイします。

7. SOAコンポジット・アプリケーション(この例では、RequestCreditRatingという名前)をtestフォルダにデプロイします。

8. RequestCreditRatingのインスタンスを作成し、「フロー・インスタンス」ページの「コンポジット」タブで、インスタンスの詳細を確認します。このビジネス・フロー・インスタンスのコンポジットのロールは、次のとおりです。

- 開始コンポジット: RequestCreditRating

- 参加コンポジット: ResponseCreditRating

9. soamonuserユーザーで、Oracle Enterprise Manager Fusion Middleware Controlにログインします。

soamonuserユーザーは、testフォルダに対して管理権限があり、defaultフォルダに対して何の権限もありません。ただし、soamonuserユーザーは、開始RequestCreditRatingコンポジットのインスタンスを中断および削除できます(一方、このインスタンス・フローは、soamonuserが権限を持たないdefaultフォルダの参加ResponseCreditRatingコンポジットも呼び出します)。

7.3.4.2 SOAフォルダにおけるOracle SOA Composerの権限アクションの表示

Oracle SOA Composerユーザーには、フォルダ内のすべてのアーティファクト(ドメイン値マップ(DVM)、ビジネス・ルール、コンポジット・センサーなど)に対して、デフォルトで次の権限アクションがあります。

- CompositePermissionのread権限アクション(そのフォルダ内のすべてのアーティファクトを調べるため)。

- CompositePermissionのwrite権限アクション(そのフォルダ内のすべてのアーティファクトを変更するため)。

- SOAPlatformPermissionのread-shared-data権限アクション(共有フォルダ内のすべてのアーティファクトを調べるため)。共有フォルダは、SOAコンポジット・アプリケーション間のすべての共有アーティファクトの場所のことで、複数のフォルダにまたがることができます。

- SOAPlatformPermissionのwrite-shared-data権限アクション(共有データ・フォルダ内のすべてのアーティファクトを変更するため)。

共有データの詳細は、『Oracle SOA SuiteでのSOAアプリケーションの開発』の「SOA設計時のMDSリポジトリでの共有データの管理」を参照してください。

フォルダに対するOracle SOA Composerの権限アクションを表示する手順は、次のとおりです。

1. 「SOAインフラストラクチャ」メニューから、「セキュリティ」→「アプリケーション・ポリシー」の順に選択します。

2. 「アプリケーション・セキュリティ権限の検索」アイコンをクリックします。

3. 表で「folder_name_Composer」を選択します。

権限アクションがページの下部に表示されます。

7.3.4.3 「MDS構成」ページおよびOracle SOA Suiteの権限の理解

Oracle Enterprise Manager Fusion Middleware Controlの「MDS構成」ページでは、Oracle SOA Suiteの権限は理解されません。たとえば、次のような場合を考えてみます。

1. Oracle WebLogic Server管理コンソールで、ユーザーを作成してMonitorグループに割り当てます。

2. Oracle Enterprise Manager Fusion Middleware Controlにログインし、アプリケーション・ロール・ページでdefault_Composerロールをそのユーザーに割り当てます(この例ではdefaultがフォルダを表しています)。

3. そのユーザーでOracle Enterprise Manager Fusion Middleware Controlにログインしなおして、「SOAインフラストラクチャ」メニューから、「管理」→「MDS構成」の順に選択します。

4. 「インポート」および「エクスポート」のオプションが無効になっているのがわかります。これは予想された動作です。

回避策として、Oracle SOA Suiteユーザーは、Oracle Enterprise Manager Fusion Middleware Controlの特定のSOAコンポジット・アプリケーションの「SOAコンポジット」メニューから使用できる「SOAデプロイ」および「エクスポート」の操作を使用して、共有データの読取りと書込みを行うことができます。

第IV部 SOAコンポジット・アプリケーションおよびインスタンスの管理

この部では、SOAコンポジット・アプリケーションおよびインスタンスの管理方法について説明します。

この部は、次の章で構成されています。

- SOAコンポジット・アプリケーションの保護

- SOAコンポジット・アプリケーションのモニタリング

- SOAコンポジット・アプリケーションのデプロイおよび管理

- SOAコンポジット・アプリケーションのビジネス・フロー・インスタンスの管理

- データベース増分管理戦略の策定

- データベース増分の管理

- SOAコンポジット・アプリケーションに関する問題の診断

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

この章では、SOAコンポジット・アプリケーション固有のセキュリティ構成手順について説明します。ほとんどのSOAコンポジット・アプリケーションのセキュリティ手順では、SOA固有の構成手順は必要ありません。これらのタスクを実行するための別のドキュメントへの参照を示します。

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

- SOAコンポジット・アプリケーションの保護の概要

- Oracle BPM Worklistを使用したOracle HTTP Serverの構成

- SOAインフラストラクチャのSAMLメッセージ保護付きポリシー構成の設定

- Oracle BPM WorklistおよびOracle Business Process Managementユーザーの自動認証

- 認証プロバイダの設定

- NTLM認証をリクエストするWebサービスの起動

- SSLの構成

- ヒューマン・ワークフローWSDLファイルに対するセキュリティの構成

注意:

ポリシーのアタッチおよびデタッチについては、次の各項を参照してください。

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

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

- 「ポリシーの管理」。

- ヒューマン・ワークフロー・サービス・コンポーネント・ポリシーの管理

- 「バインディング・コンポーネントのポリシーの管理」

8.1 SOAコンポジット・アプリケーションの保護の概要

この章では、SOAコンポジット・アプリケーション固有のセキュリティ手順について説明します。ほとんどのSOAコンポジット・アプリケーションのセキュリティ手順は、SOA固有の手順を必要とせず、表8-1に示すドキュメントに従って実行できます。

表8-1 セキュリティに関するドキュメント

セキュリティ情報

参照ガイド

Oracleシングル・サインオン(OSSO)構成を含むOracle Fusion Middlewareの保護

Oracle Platform Security Servicesによるアプリケーションの保護

Webサービスの保護および管理

『Webサービスの管理』

Oracle WebLogic Serverのセキュリティの理解

Oracle WebLogic Server セキュリティの理解

Oracle WebLogic Serverの本番環境の保護

Oracle WebLogic Serverの本番環境の保護

Oracle WebLogic Serverの保護

Oracle WebLogic Serverセキュリティの管理 12c (12.2.1)

Oracle WebLogic Serverで使用する新規セキュリティ・プロバイダの開発

Oracle WebLogic Serverセキュリティ・プロバイダの開発

Oracle WebLogic ServerのWebサービスの保護

Oracle WebLogic ServerのWebLogic Webサービスの保護

Oracle WebLogic Serverのセキュリティ・プログラミング

WebLogicセキュリティ・サービスを使用したアプリケーションの開発

Oracle User Messaging Serviceの保護

Oracle User Messaging Serviceの管理

8.2 Oracle BPM Worklistを使用したOracle HTTP Serverの構成

Oracle BPM WorklistがOracle HTTP Server経由で動作するように、Oracle HTTP Serverのmod_wl_ohs.confファイルに/integrationの場所を追加する必要があります。

<Location /integration>
SetHandler weblogic-handler
#   PathTrim /weblogic
ErrorPage  http:/WEBLOGIC_HOME:WEBLOGIC_PORT/
</Location>

8.3 SOAインフラストラクチャのSAMLメッセージ保護付きポリシー構成の設定

この項では、Oracle WebLogic Scripting Tool (WLST)を使用して、SOAインフラストラクチャのメッセージ保護付きSecurity Assertion Markup Language (SAML)ポリシー構成を設定および検証する方法を説明します。この項の例では、タスク問合せサービスの構成について説明します。ただし、これらの説明はSAMLトークン・ポートをサポートするすべてのヒューマン・ワークフロー・サービスに関連します。

- アクティビティ・ガイド問合せサービス

- アクティビティ・ガイド・メタデータ・サービス

- アクティビティ・ガイド管理サービス

- タスク問合せサービス

- タスク・サービス

- タスク・メタデータ・サービス

- ランタイム構成サービス

- タスク・エビデンス・サービス

- ユーザー・メタデータ・サービス

別のサービスのポリシーを変更する場合は、同じWLSTコマンドをそのサービスのSAMLトークン・ポートに適用する必要があります。

SAMLメッセージ保護付きポリシー構成を設定する手順は、次のとおりです。

1. WLSTを使用してSOAドメイン(たとえば、base_domain)にログインします。

2. 既存の即時利用可能なwss10_saml_token_service_policyというサービス・ポリシーをデタッチします。

wls:/base_domain/domainRuntime> detachWebServicePolicy('/base_domain/soa
_server1/soa-infra','integration/services/TaskQueryService','web',
'WorkflowProvider','TaskQueryServicePortSAML','oracle/
wss10_saml_token_service_policy')

3. アプリケーションを再起動して、ポリシーまたは構成の変更をアクティブ化します。

4. 新しいポリシーをアタッチします。この場合、ポリシーにはoracle/wss10_saml_token_with_message_protection_service_policyという名前が付けられます。

wls:/base_domain/domainRuntime> attachWebServicePolicy('/base_domain/soa
_server1/soa-infra','integration/services/TaskQueryService',
'web','WorkflowProvider','TaskQueryServicePortSAML','ora
cle/wss10_saml_token_with_message_protection_service_policy')

5. アプリケーションを再起動して、ポリシーまたは構成の変更をアクティブ化します。

6. ポリシーを表示して検証します。

wls:/base_domain/domainRuntime> listWebServicePolicies('/base_domain/soa
_server1/soa-infra','integration/services/TaskQueryService',
'web','WorkflowProvider','TaskQueryServicePortSAML')
TaskQueryServicePortSAML :
security :
oracle/wss10_saml_token_with_message_protection_service_policy,
enabled=true
Attached policy or policies are valid; endpoint is secure.

7. キーストアを作成して、orakeyという別名を追加し、Oracle Web Service Manager (OWSM)構成を実行して、SAMLメッセージ保護付きポリシーをアクティブ化します。次に例を示します。

keytool -genkeypair
-keystore  domain_home/config/fmwconfig/default-keystore.jks
-keyalg RSA
-dname "cn=consumer,dc=example,dc=com"
-alias clientalias
-keypass  password
-storepass password
-validity 3600

keytool -exportcert
-keystore domain_home/config/fmwconfig/default-keystore.jks
-v
-alias clientalias
-storepass password
-rfc
-file domain_home/config/fmwconfig/certificate.cer

keytool -importcert
-keystore domain_home/config/fmwconfig/default-keystore.jks
-alias orakey
-file domain_home/config/fmwconfig/certificate.cer
-storepass password
createCred(map="oracle.wsm.security", key="keystore-csf-key",
user="owsm", password="welcome1", desc="Keystore key")
createCred(map="oracle.wsm.security", key="enc-csf-key",
user="clientalias", password="welcome1", desc="Encryption key")
createCred(map="oracle.wsm.security", key="sign-csf-key",
user="clientalias", password="welcome1", desc="Signing key")

8. サーバーを再起動します。

8.4 Oracle BPM WorklistおよびOracle Business Process Managementユーザーの自動認証

この項では、様々な環境でOracle BPM WorklistおよびOracle Business Process Managementのユーザーを認証する方法について説明します。

8.4.1 SAML SSO環境でのOracle BPM Worklistユーザーの自動認証

SAML SSO環境で最初のOracle BPM Worklistから2番目のOracle BPM Worklistにアクセスするとき自動認証されるようにするには、次の手順を実行する必要があります。この手順を実行しないと、2番目のOracle BPM Worklistにアクセスするときに再度ログインするように求められます。この環境では、最初のOracle BPM WorklistはSAML IDプロバイダとして構成され、アクセスする2番目のOracle BPM WorklistはSAMLサービス・プロバイダとして構成されます。

SAML SSO環境でOracle BPM Worklistユーザーを自動認証する手順は、次のとおりです。

1. /integration/worklistapp/*をworklistappのリダイレクトURLとして、SAMLサービス・プロバイダ・サイトのSAML2IdentityAsserter構成に追加します。

a. Oracle WebLogic Server管理コンソールで、「セキュリティ・レルム」を選択します。

b. サービス・プロバイダのレルムをクリックします。

c. 「プロバイダ」タブを選択し、「認証」サブタブを選択します。

d. プロバイダ・リストから、SAML 2.0 IDアサーション・プロバイダと説明されているプロバイダを選択します。
SAML IDアサーション・プロバイダ構成が見つからない場合は、Oracle WebLogic Serverのセキュリティの管理の説明に従ってください。

e. 「管理」タブを選択します。
「管理」タブには、IDプロバイダ・パートナのリストが表示されます。これらは、このSAML IDサービス・プロバイダ・サイトのSAML IDプロバイダ・パートナとして構成されているホストです。この構成手順は、Oracle BPM Worklistがホスト管理されるIDサービス・プロバイダ・サイトで実行されることに注意してください。

f. ユーザーが最初のログインを実行するIDプロバイダ・サイトを選択します。

g. 「リダイレクトURI」フィールドが表示されるまでページを下にスクロールします。

h. /integration/worklistapp/*をリストに追加します。

この手順を実行した後、通常の/integration/worklistappというURLを使用してSAML IDプロバイダ・サイトでOracle BPM Worklistにログインできます。必要に応じて、SAMLサービス・プロバイダ・サイトでURL /integration/worklistapp/ssologinに移動できます。ここで、Oracle BPM Worklistにアクセスして自動認証されます。

SAML2IdentityAsserterおよびWebブラウザとHTTPクライアントを使用したSSOの構成の詳細は、Oracle WebLogic Serverのセキュリティの管理を参照してください。

8.4.2 SAML SSO環境でのOracle BPM Workspaceユーザーの自動認証

SAML SSO環境で最初のOracle BPM Workspaceから2番目のOracle BPM Workspaceにアクセスするときに自動的に認証されるようにするには、次の手順を実行する必要があります。この手順を実行しないと、2番目のOracle BPM Workspaceにアクセスするときに再度ログインするように求められます。この環境では、最初のOracle BPM WorkspaceはSAML IDプロバイダとして構成され、アクセスする2番目のOracle BPM WorkspaceはSAMLサービス・プロバイダとして構成されます。

SAML SSO環境でOracle BPM Workspaceユーザーを自動認証する手順は、次のとおりです。

1. workspaceのリダイレクトURLとして、SAMLサービス・プロバイダ・サイトのSAML2IdentityAsserter構成に/bpm/workspace/*を次のように追加します。

a. Oracle WebLogic Server管理コンソールで、「セキュリティ・レルム」を選択します。

b. サービス・プロバイダのレルムをクリックします。

c. 「プロバイダ」タブを選択し、「認証」サブタブを選択します。

d. プロバイダ・リストから、SAML 2.0 IDアサーション・プロバイダと説明されているプロバイダを選択します。
SAML IDアサーション・プロバイダ構成が見つからない場合は、Oracle WebLogic Serverのセキュリティの管理の説明に従ってください。

e. 「管理」タブを選択します。
「管理」タブには、IDプロバイダ・パートナのリストが表示されます。これらは、このSAML IDサービス・プロバイダ・サイトのSAML IDプロバイダ・パートナとして構成されているホストです。この構成手順は、Oracle BPM Workspaceがホスト管理されるIDサービス・プロバイダ・サイトで実行されることを忘れないでください。

f. ユーザーが最初のログインを実行するIDプロバイダ・サイトを選択します。

g. 「リダイレクトURI」フィールドが表示されるまでページを下にスクロールします。

h. リストに/bpm/workspace/*を追加します。

この手順の実行後は、/bpm/workspaceの通常のURLを使用してSAML IDプロバイダにあるOracle BPM Workspaceにログインできます。必要に応じて、SAMLサービス・プロバイダ・サイトでURL /bpm/workspace/ssologinに移動でき、ここからOracle BPM Workspaceにアクセスすると自動認証されます。

SAML2IdentityAsserterおよびWebブラウザとHTTPクライアントを使用したSSOの構成の詳細は、Oracle WebLogic Serverのセキュリティの管理を参照してください。

8.4.3 SAML SSO環境でのOracle Business Process Composerユーザーの自動認証

SAML SSO環境で最初のOracle Business Process Composerから2番目のOracle Business Process Composerにアクセスするときに自動的に認証されるようにするには、次の手順を実行する必要があります。この手順を実行しないと、2番目のOracle Business Process Composerにアクセスするときに再度ログインするように求められます。この環境では、最初のOracle Business Process ComposerはSAML IDプロバイダとして構成され、アクセスする2番目のOracle Business Process ComposerはSAMLサービス・プロバイダとして構成されます。

SAML SSO環境でOracle Business Process Composerユーザーを自動認証する手順は、次のとおりです。

1. composerのリダイレクトURLとして、SAMLサービス・プロバイダ・サイトのSAML2IdentityAsserter構成に/bpm/composer/*を次のように追加します。

a. Oracle WebLogic Server管理コンソールで、「セキュリティ・レルム」を選択します。

b. サービス・プロバイダのレルムをクリックします。

c. 「プロバイダ」タブを選択し、「認証」サブタブを選択します。

d. プロバイダ・リストから、SAML 2.0 IDアサーション・プロバイダと説明されているプロバイダを選択します。
SAML IDアサーション・プロバイダ構成が見つからない場合は、Oracle WebLogic Serverのセキュリティの管理の説明に従ってください。

e. 「管理」タブを選択します。
「管理」タブには、IDプロバイダ・パートナのリストが表示されます。これらは、このSAML IDサービス・プロバイダ・サイトのSAML IDプロバイダ・パートナとして構成されているホストです。この構成手順は、Oracle Business Process Composerがホスト管理されるIDサービス・プロバイダ・サイトで実行されることを忘れないでください。

f. ユーザーが最初のログインを実行するIDプロバイダ・サイトを選択します。

g. 「リダイレクトURI」フィールドが表示されるまでページを下にスクロールします。

h. リストに/bpm/composer/*を追加します。

この手順の実行後は、/bpm/composerの通常のURLを使用してSAML IDプロバイダにあるOracle Business Process Composerにログインできます。必要に応じて、SAMLサービス・プロバイダ・サイトでURL /bpm/composer/ssologinに移動でき、ここからOracle Business Process Composerにアクセスすると自動認証されます。

SAML2IdentityAsserterおよびWebブラウザとHTTPクライアントを使用したSSOの構成の詳細は、Oracle WebLogic Serverのセキュリティの管理を参照してください。

8.4.4 Windowsのネイティブ認証環境でのOracle BPM Worklistユーザーの自動認証

Kerberosを使用したWindowsのネイティブ認証をOracle BPM Worklistで使用するには、保護されたURL /integration/worklistapp/ssologinを使用する必要があります。たとえば、Windowsのネイティブ認証を構成した後は、次のようにOracle BPM Worklistにアクセスします。

http://host_name.domain_name:8001/integration/worklistapp/ssologin

Microsoftクライアントを使用したSSOの構成の詳細は、Oracle WebLogic Serverのセキュリティの管理を参照してください。

8.4.5 Windowsのネイティブ認証環境でのOracle Business Process Composerユーザーの自動認証

Kerberosを使用したWindowsのネイティブ認証をOracle Business Process Composerで使用するには、保護されたURL bpm/composer/ssologinを使用する必要があります。たとえば、Windowsのネイティブ認証を構成した後は、次のようにProcess Composerにアクセスします。

http://host_name.domain_name:8001/bpm/composer/ssologin

Microsoftクライアントを使用したSSOの構成の詳細は、Oracle WebLogic Serverのセキュリティの管理を参照してください。

8.5 認証プロバイダの設定

使用する認証プロバイダは、認証プロバイダのリスト内で最初に表示される必要があります。この項では、最初の認証プロバイダを設定する方法を説明します。

8.5.1 Oracle Internet Directoryを最初の認証プロバイダとして表示

Oracle BPM Worklistおよびワークフロー・サービスでは、Java Platform Security (JPS)と、ユーザーおよびロールAPIが使用されます。このため、Oracle Internet Directoryでワークフローが使用されるときは、Oracle Internet Directoryオーセンティケータが最初のプロバイダとして表示される必要があります。Oracle Internet Directoryが最初に表示されない場合(たとえば、DefaultAuthenticatorの下に表示される場合)、ログイン認証は失敗します。

認証プロバイダの順序の変更の詳細は、Oracle WebLogic Serverのセキュリティの管理を参照してください。

8.5.2 デフォルトの認証プロバイダを使用したWebベースのアプリケーションへのアクセス

Oracle Internet Directoryの認証を使用している場合、Webベースのアプリケーションへのログインが失敗することがあります。これは、Oracle WebLogic Serverの構成が、デフォルトの認証の前にOracle Internet Directoryの認証を使用するように設定されている場合に起こります。

この場合、次のエラーが発生することがあります。

"@ User "weblogic" is not found in configuration "jazn.com" Check if the user
exists in the repository specified by the configurations. Check the error stack
and fix the cause of the error. Contact oracle support if error is not fixable."

セキュリティ・プロバイダの順序は次のようにしてください。

1. デフォルトの認証

2. Oracle Internet Directory/LDAP認証

8.5.3 複数の認証プロバイダの有効化

「裁決プロバイダ」は、1つのセキュリティ・レルムで複数の認証プロバイダが構成されている場合に、処理方法を決定します。

裁決プロバイダの詳細と複数の認証プロバイダの有効化の詳細は、『Oracle WebLogic Serverのセキュリティの管理』のWebLogic裁決プロバイダの構成に関する項を参照してください。

8.6 NTLM認証をリクエストするWebサービスの起動

NT LAN Manager (NTLM)認証をリクエストするWebサービスを起動しようとするときは、composite.xmlファイルで次のプロパティを設定する必要があります。

- oracle.webservices.auth.username

- oracle.webservices.auth.password

- oracle.webservices.preemptiveBasicAuth

oracle.webservices.preemptiveBasicAuthは、falseに設定する必要があります。

次の例で詳細を示します。

<reference name="Service1" ui:wsdlLocation="test1.wsdl">
<interface.wsdl
interface="http://tempuri.org/#wsdl.interface(IService1)"/>
<binding.ws

port="http://tempuri.org/#wsdl.endpoint(Service1/BasicHttpBinding_IService1)"
location="test1.wsdl" soapVersion="1.1">
<property name="weblogic.wsee.wsat.transaction.flowOption"
type="xs:string" many="false">WSDLDriven</property>

<property name="oracle.webservices.auth.username"
type="xs:string" many="false">test</property>
<property name="oracle.webservices.auth.password"
type="xs:string" many="false">password</property>
<property name="oracle.webservices.preemptiveBasicAuth"
type="xs:string" many="false">false</property>
</binding.ws>
</reference>

これらのプロパティを設定していない場合は、BPELプロセスがWebサービスを起動しようとしたときに次のエラーが発生します。

setting preemptive basic auth" and "invoke failed...Bad response: 401 Unauthorized

8.7 SSLの構成

この項では、Oracle SOA SuiteおよびOracle Business Process Managementの環境でSecure Socket Layer (SSL)を構成する方法について説明します。

8.7.1 HTTPSポートで構成されたSOA/BPMサーバーでのSSL証明書の使用

SOA/BPMサーバーがHTTPSポートで構成されている場合は、SSL証明書が次の標準に従っていることを確認します。

- サーバーがSSLクライアント(ブラウザ、または通知送信者などの他の内部クライアント)に提示する証明書は、その独自のトラスト・ストア(CAストア)で信頼される証明書です。

- サーバーの証明書が自己署名されている場合は、その証明書がトラスト・ストアに追加されていることを確認します。

このようにされていない場合は、タスク通知の送信時に問題が発生する可能性があります。たとえば、サーバー出力ログ(soa_server_name.out)で、次のタスク通知エラー・メッセージを受信できます。

<Sep 13, 2011 12:59:41 AM PDT> <Error> <oracle.soa.services.workflow.common>
<BEA-000000> <<.>
ORABPEL-0
at
oracle.bpel.services.workflow.task.notification.
TaskNotifications.getEmailPaylOad
(TaskNotifications.java:1354)
at
oracle.bpel.services.workflow.task.notification.
TaskNotifications.getEmailNotificationContent
(TaskNotifications.java:987)
at
weblogic.jms.client.JMSSession$UseForRunnable.run
(JMSSession.java:5170)
at
weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerI
mpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
Caused By: javax.net.ssl.SSLKeyException: [Security:090477]Certificate chain
received from myhost.us.example.com - 10.232.152.78 was not trusted causing
SSL handshake failure.
at
com.certicom.tls.interfaceimpl.TLSConnectionImpl.
fireException(UnknownSource)
at
com.certicom.tls.interfaceimpl.TLSConnectionImpl.
fireAlertSent(UnknownSource)
at
com.certicom.tls.record.handshake.HandshakeHandler.
fireAlert(Unknown Source).
ficationContent(TaskNotifications.java:987)
at
weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5170)
at
weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerI
mpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
Caused By: javax.net.ssl.SSLKeyException: [Security:090477]Certificate chain
received from myhost.us.example.com - 10.232.152.78 was not trusted causing
SSL handshake failure.
at
com.certicom.tls.interfaceimpl.TLSConnectionImpl.
fireException(UnknownSource)
at
com.certicom.tls.interfaceimpl.TLSConnectionImpl.
fireAlertSent(UnknownSource)
at
com.certicom.tls.record.handshake.HandshakeHandler.
fireAlert(Unknown Source

概念および構成の詳細は、Oracle WebLogic Serverのセキュリティの管理を参照してください。

8.7.2 SSLで管理対象サーバーを全部構成する、または構成しないための推奨事項

SSL (SOA、BAMなど)で管理対象サーバーを全部構成するか、構成しないかのいずれかをベスト・プラクティスとしてお薦めします。一部の管理対象サーバーをSSLで構成し、他の管理対象サーバーを構成しないと、Oracle BPM WorklistおよびOracle Web Services Manager (OWSM)では好ましくない結果になる可能性があります。たとえば、SSL構成された管理対象サーバー(bam_server)が存在する場合、SSLの構成がないサーバーはOWSMでは使用されません。SSL構成されたサーバーが停止した場合、OWSMは停止状態になり、Oracle BPM Worklistが停止状態になる原因となります。詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のポリシー・マネージャへの接続不可能に関する項を参照してください。

8.7.3 Oracle BPM Worklistでの非SSLからSSL構成への切替え

Oracle BPM Worklistで非SSLからSSL構成に切り替えるには、Oracle WebLogic Server管理コンソールで「フロントエンド・ホスト」および「フロントエンドHTTPSポート」フィールドを設定する必要があります。そうしないと、To-Doタスクを作成しようとしたときにエラーが発生します。

Oracle BPM Worklistで非SSLからSSL構成に切り替える手順は、次のとおりです。

1. Oracle WebLogic Server管理コンソールにログインします。

2. 「環境」セクションで「サーバー」を選択します。

3. 管理対象サーバーの名前(たとえば、soa_server1)を選択します。

4. 「プロトコル」を選択し、次に「HTTP」を選択します。

5. 「フロントエンド・ホスト」フィールドに、Oracle BPM Worklistがあるホスト名を入力します。

6. 「フロントエンドHTTPSポート」フィールドに、SSLリスナー・ポートを入力します。

7. 「保存」をクリックします。

8.7.4 SOAコンポジット・アプリケーションの双方向SSL通信の構成

Oracle SOA Suiteでは、Oracle WebLogic ServerとOracle Secure Socket Layer (SSL)スタックの両方を使用し、て双方向SSL通信を構成します。

- インバウンドのWebサービス・バインディングの場合、Oracle SOA SuiteではOracle WebLogic Serverインフラストラクチャを使用し、SSL用にOracle WebLogic Serverライブラリを使用します。

- アウトバウンドのWebサービス・バインディングの場合、Oracle SOA SuiteはJRF HttpClientを使用するため、SSLにはOracle JDKライブラリを使用します。

このように違いがあるため、次のJVMオプションを使用してOracle WebLogic Serverを起動します。

SOAコンポジット・アプリケーションの双方向SSL通信を構成する手順は、次のとおりです。

1. 次のファイルを開きます。

- UNIXオペレーティング・システムでは、$MIDDLEWARE_HOME/user_projects/domains/domain_name/bin/setDomainEnv.shを開きます。

- Windowsオペレーティング・システムでは、MIDDLEWARE_HOME\user_projects\domains\domain_name\bin\setDomainEnv.batを開きます。

2. サーバーで一方向SSL(サーバー認可のみ)が有効化されている場合は、次の行をJAVA_OPTIONSセクションに追加します。

-Djavax.net.ssl.trustStore=your_truststore_location

双方向SSLの場合は、キーストア情報(場所とパスワード)は不要です。

また、次の手順を実行してSOAコンポジット・アプリケーションの双方向SSLが別のSOAコンポジット・アプリケーションまたは別の非SOAアプリケーションを起動できるようにします。

注意:

サーバーとクライアントの両方が双方向のSSLについて構成されているものとします。

8.7.4.1 SOAコンポジット・アプリケーションが別のアプリケーションを呼び出すために双方向SSLを有効化する手順は、次のとおりです。

1. クライアント側で、キーストアの場所を指定します。

a. 「SOAインフラストラクチャ」メニューから、「SOA管理」→「共通プロパティ」の順に選択します。

b. ページの下部で、「詳細SOAインフラ拡張構成プロパティ」をクリックします。

c. 「KeystoreLocation」をクリックします。

d. 「値」列に、キーストアの場所を入力します。

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

f. 「戻る」をクリックします。

2. クライアント側のDOMAIN_HOME\config\soa-infra\configuration\soa-infra-config.xmlでキーストアの場所を指定します。

<keystoreLocation>absolute_path_to_the_keystore_location_and_the_file_name
</keystoreLocation>

3. Oracle JDeveloperでの設計時に、composite.xmlファイル内の参照セクションをoracle.soa.two.way.ssl.enabledプロパティで更新します。

<reference name="Service1"
ui:wsdlLocation=". . .">
<interface.wsdl interface=". . ."/>
<binding.ws port=". . .">
<property name="oracle.soa.two.way.ssl.enabled">true</property>
</binding.ws>
</reference>

4. Oracle Enterprise Manager Fusion Middleware Controlで、「WebLogicドメイン」→「domain_name」の順に選択します。

5. 「domain_name」を右クリックし、「セキュリティ」→「資格証明」と選択します。

6. 「マップの作成」をクリックします。

7. 「マップ名」フィールドに名前(SOAなど)を入力し、「OK」をクリックします。

8. 「キーの作成」をクリックします。

9. 次の詳細を入力します。

フィールド

説明

マップの選択

ステップ7で作成したマップ(この例ではSOA)を選択します。

キー

キー名を入力します(KeystorePasswordがデフォルトです)。

タイプ

「パスワード」を選択します。

ユーザー名

ユーザー名を入力します(KeystorePasswordがデフォルトです)。

パスワード

キーストアに対して作成したパスワードを入力します。

注意:

SSLをOracle WebLogic Serverで設定する場合は、キーの別名が必要です。別名の値として「mykey」を入力する必要があります。この値は必須です。

10. Oracle Enterprise Manager Fusion Middleware Controlでキーストアの場所を設定します。方法については、ステップ1を参照してください。

11. httpsおよびsslportを使用してSOAコンポジット・アプリケーションを起動するように、composite.xmlを変更します。たとえば、次の太字で示されている構文を変更します。

<?xml version="1.0" encoding="UTF-8" ?>
<!-- Generated by Oracle SOA Modeler version 1.0 at [4/1/09 11:01 PM]. -->
<composite name="InvokeEchoBPELSync"
revision="1.0"
label="2009-04-01_23-01-53_994"
mode="active"
state="on"
xmlns="http://xmlns.oracle.com/sca/1.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:orawsp="http://schemas.oracle.com/ws/2006/01/policy"
xmlns:ui="http://xmlns.oracle.com/soa/designer/">
<import
namespace="http://xmlns.oracle.com/CustomApps/InvokeEchoBPELSync/BPELProcess1"
location="BPELProcess1.wsdl" importType="wsdl"/>
<import namespace="http://xmlns.oracle.com/CustomApps/EchoBPELSync/
BPELProcess1"location="http://hostname:port/soa-infra/services/default/EchoBPEL
Sync/BPELProcess1.wsdl"
importType="wsdl"/>

httpsおよびsslportを使用するように変更します。

location="https://hostname:sslport/soa-infra/services/default/EchoBPELSync
/BPELProcess1.wsdl"

8.7.5 Oracle JDeveloperの一方向SSL環境での参照の呼出し

Webサービスを一方向SSL環境でSOAコンポジット・アプリケーションからの外部参照として呼び出す場合は、サーバーの証明書名(CN)とホスト名が完全に一致することを確認します。これにより、正しいSSLハンドシェイクが保証されます。

たとえば、Webサービスの名前がadfbcで、証明書のサーバー名がmyhost05の場合、次の構文ではSSLハンドシェイク例外が発生します。

<import namespace="/adfbc1/common/"

location="https://myhost05.us.example.com:8002/CustomApps-adfbc1-context-root/Ap
pModuleService?WSDL"
importType="wsdl"/>
<import namespace="/adfbc1/common/" location="Service1.wsdl"
importType="wsdl"/>

importの順序を入れ替えると、SSLハンドシェイクに成功します。

<import namespace="/adfbc1/common/" location="Service1.wsdl"
importType="wsdl"/>
<import namespace="/adfbc1/common/"
location="https://myhost05.us.example.com:8002/CustomApps-adfbc1-context-root/Ap
pModuleService?WSDL"
importType="wsdl"/>

この問題に関連して次の制限があります。

- Oracle WebLogic Server管理コンソールにあるようなホスト名の検証を無視するオプションはOracle JDeveloperにありません。これは、Oracle JDeveloperで使用されているSSLキットが異なるためです。トラスト・ストアのみコマンド行から構成できます。他のすべての証明書引数は渡されません。

- WSDLファイルで、https://hostnameは前述のように証明書内の名前と一致する必要があります。ブラウザで行う場合と同じ手順は実行できません。たとえば、証明書のCNのホスト名がmyhost05.us.example.comの場合、ブラウザではmyhost05、myhost05.us.example.comまたはIPアドレスを使用できます。Oracle JDeveloperでは、必ず証明書内の名前と同じ名前(myhost05.us.example.com)を使用する必要があります。

8.7.6 Oracle SOA SuiteおよびOracle HTTP ServerのSSL通信の構成

ここでは、Oracle SOA SuiteとOracle HTTP Server間でSSL通信を構成する手順について説明します。

8.7.6.1 Oracle HTTP ServerのSSL通信の構成

Oracle HTTP ServerのSSL通信を構成する手順は、次のとおりです。

1. <Location /integration/services>場所ディレクティブを使用してmod_ssl.confを更新します。

LoadModule weblogic_module   ${ORACLE_HOME}/ohs/modules/mod_wl_ohs.so

<IfModule mod_weblogic.c>
WebLogicHost host.domain.com
WLLogFile <logdir>/ohs_ssl.log
Debug ALL
DebugConfigInfo ON
SecureProxy ON
MatchExpression *.jsp
WlSSLWallet <OHS_
HOME>/instances/instance1/config/OHS/ohs1/keystores/default
</IfModule>

<Location /soa-infra>
WebLogicPort 8002
SetHandler weblogic-handler
ErrorPage http://host.domain.com:port/error.html
</Location>

<Location /b2bconsole>
WebLogicPort 8002
SetHandler weblogic-handler
ErrorPage http://host.domain.com:port/error.html
</Location>

<Location /b2b>
WebLogicPort 8002
SetHandler weblogic-handler
ErrorPage http://host.domain.com:port/error.html
</Location>

<Location /integration/worklistapp>
WebLogicPort 8002
SetHandler weblogic-handler
ErrorPage http://host.domain.com:port/error.html
</Location>

<Location /integration/services>
WebLogicPort 8002
SetHandler weblogic-handler
ErrorPage http://host.domain.com:port/error.html
</Location>

<Location /DefaultToDoTaskFlow>
WebLogicPort 8002
SetHandler weblogic-handler
ErrorPage http://host.domain.com:port/error.html
</Location>

<Location /OracleBAM>
WebLogicPort 9002
SetHandler weblogic-handler
ErrorPage http://host.domain.com:port/error.html
</Location>

<Location /OracleBAMWS>
WebLogicPort 9002
SetHandler weblogic-handler
ErrorPage  http://host.domain.com:port/error.html
</Location>

<Location /sdpmessaging/userprefs-ui/>
WebLogicPort 8002
SetHandler weblogic-handler
ErrorPage http://host.domain.com:port/error.html
</Location>

2. 「SOAコンポジット・アプリケーションの双方向SSL通信の構成」の説明に従って、Oracle WebLogic Serverを起動します。

8.7.6.2 Oracle Client、Oracle HTTP ServerおよびOracle WebLogic Serverの証明書の構成

Oracle Client、Oracle HTTP ServerおよびOracle WebLogic Serverの証明書を構成する手順は、次のとおりです。

1. Oracle HTTP Serverウォレットからユーザー証明書をエクスポートします。

orapki wallet export -wallet . -cert cert.txt  -dn 'CN=\"Self-Signed
Certificate for ohs1 \",OU=OAS,O=ORACLE,L=REDWOODSHORES,ST=CA,C=US'

2. エクスポートした証明書をOracle WebLogic Serverトラスト・ストアに信頼できる証明書としてインポートします。

keytool -file cert.txt -importcert -trustcacerts -keystore DemoTrust.jks

3. Oracle WebLogic Serverトラスト・ストアから証明書をエクスポートします。

keytool -keystore DemoTrust.jks -exportcert -alias wlscertgencab -rfc -file
certgencab.crt

4. エクスポートした証明書をOracle HTTP Serverウォレットに信頼できる証明書としてインポートします。

orapki wallet add -wallet . -trusted_cert -cert certgencab.crt -auto_login_only

5. Oracle HTTP Serverを再起動します。

6. 「SOAコンポジット・アプリケーションの双方向SSL通信の構成」の説明に従って、Oracle WebLogic Serverを再起動します。

8.7.7 ビジネス・フロー・インスタンスとOracle WebCache間のSSLの構成

Oracle WebCacheおよびOracle HTTP Server環境では、「Webサービスのテスト」ページでOracle WebCacheとの通信が必要になる場合があります。したがって、ビジネス・フロー・インスタンスとOracle WebCache間でSSLを構成する必要があります(つまり、ユーザー証明書をOracle WebCacheウォレットからエクスポートし、その証明書をOracle WebLogic Serverトラスト・ストアに信頼できる証明書としてインポートします)。

8.7.8 設計時の一方向SSLでのカスタム・トラスト・ストアの使用

keytoolやorapkiなどのツールで作成したカスタム・トラスト・ストアを使用している場合にHTTPSを介してSOAコンポジット・アプリケーションを別のコンポジットから起動するには、Oracle JDeveloperで次の操作を実行します。

設計時に一方向SSLでカスタム・トラスト・ストアを使用する手順は、次のとおりです。

1. 参照セクションでWSDLファイルをフェッチするには、「ツール」→「プリファレンス」→「HTTPアナライザ」→「HTTPS設定」→「クライアントの信頼する証明書キーストア」でトラスト・ストア情報を設定します。

2. SSL対応サーバーへのデプロイメント時に、コマンド行でJSSEプロパティを使用します。

jdev -J-Djavax.net.ssl.trustStore=your_trusted_location

8.7.9 SSL対応の管理対象サーバーにデプロイ済の非同期プロセスの構成による、HTTPを介した別の非同期プロセスの呼出し

次の環境を作成するとします。

- 非同期BPELプロセスAが非同期BPELプロセスBを起動する

- 非同期BPELプロセスAは一方向SSL対応の管理対象サーバーにデプロイされる

- すべてのWSDL参照およびバインディングでプレーンHTTPを使用する

実行時に、WSDLはHTTPSを介して検索され、非同期BPELプロセスBからのコールバック・メッセージが失敗します。

この問題を解決するには、callbackServerURLプロパティをcomposite.xmlファイルの参照バインディング・レベルで渡す必要があります。これは、特定の参照呼出しのコールバックURLの値を示します。コールバックはデフォルトのHTTPSではなく、HTTPを介して実行されます。クライアント・コンポジットがSSL管理対象サーバーで実行されている場合、コールバックはデフォルトでSSLになります。

<binding.ws port="http://xmlns.oracle.com/Async/AsyncSecondBPELMTOM/BPELProcess1#wsdl.
endp oint(bpelprocess1_client_ep/BPELProcess1_pt)"
location="http://localhost:8000/soa-infra/services/default/AsyncSecondBPELMTOM/
bpelprocess1_client_ep?WSDL">
<wsp:PolicyReference URI="oracle/wss_username_token_client_policy"
orawsp:category="security" orawsp:status="enabled"/>
<wsp:PolicyReference URI="oracle/wsaddr_policy" orawsp:category="addressing"
orawsp:status="enabled"/>
<property name="callbackServerURL">http://localhost:8000/</property>
</binding.ws>

8.8 ヒューマン・ワークフローWSDLファイルに対するセキュリティの構成

ヒューマン・ワークフロー・サービスのWSDLファイルを外部コンシューマに公開しない場合は、各サービスのWSDL公開フラグをfalseに設定します。

<expose-wsdl>false</expose-wsdl>

9 SOAコンポジット・アプリケーションのモニタリング

この章では、SOAコンポジット・アプリケーションのパフォーマンス・サマリー・メトリックの監視、SOAコンポジット・アプリケーションのグラフィック表示、SOAコンポジット・アプリケーションのサービス・バインディング・コンポーネントと参照バインディング・コンポーネントの処理済メッセージの合計および平均処理時間の監視の各方法について説明します。

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

- SOAコンポジット・アプリケーションのパフォーマンス・サマリー・メトリックの監視

- SOAコンポジット・アプリケーションのダイアグラムの表示

- SOAコンポジット・アプリケーションのサービス・コンポーネントおよびサービス・バインディング・コンポーネントの監視

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

9.1 SOAコンポジット・アプリケーションのパフォーマンス・サマリー・メトリックの監視

「パフォーマンス・サマリー」ページでは、SOAコンポジット・アプリケーションのパフォーマンス・メトリックのサマリーを表示できます。

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

SOAコンポジットのメニューから...

ナビゲータのSOAフォルダから...

a. 「監視」→「パフォーマンス・サマリー」を選択します。

a. 「soa-infra」の下にあるパーティションを展開します。

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

c. 「SOAコンポジット」メニューから、「監視」→「パフォーマンス・サマリー」を選択します。

「パフォーマンス・サマリー」ページには、デフォルトで次の情報がグラフィック表示されています。

- 最後のサーバー再起動時以降のビジネス・フロー・インスタンスの合計数。

- サーバーの最終再起動以降のフォルトの合計数。

2. 「メトリック・パレットの表示」をクリックすると、SOAコンポジット・アプリケーションのすべてのメトリックの階層ツリーが表示されます。このツリーは、メトリックをパフォーマンス・データの様々なカテゴリで整理しています。

3. フォルダを開き、「メトリック・パレット」のメトリックを選択すると、時間の経過に応じたメトリックの変化を示すパフォーマンス・グラフが表示されます。このグラフは自動的にリフレッシュされ、更新されたデータが表示されます。

4. 「スライダ」をクリックしてスライダ・ツールを表示すると、グラフに表示する時間枠を指定できます。

「パフォーマンス・サマリー」ページの詳細は、「パフォーマンス・サマリー」ページのオンライン・ヘルプ、およびOracle Fusion Middlewareの管理のOracle Fusion Middlewareのパフォーマンスの表示に関する項を参照してください。

SOAインフラストラクチャのパフォーマンス・サマリー・メトリックの監視の詳細は、「SOAインフラストラクチャのパフォーマンス・サマリー・メトリックの監視」を参照してください。

メッセージ配信処理リクエストの監視の詳細は、「メッセージ配信リクエスト処理の監視」を参照してください。

サービス・エンジン統計の監視の詳細は、下記を参照してください。

- BPELプロセス・サービス・エンジンのリクエスト統計とスレッドパフォーマンス統計の監視

- リクエストのブレークダウン統計の監視

- ビジネス・ルール・サービス・エンジンのパフォーマンス統計の監視

- 「ヒューマン・ワークフロー・サービス・エンジンのアクティブ・リクエストと操作パフォーマンス統計の監視」

- 「BPMNプロセス・サービス・エンジンのパフォーマンス統計の監視」

9.2 SOAコンポジット・アプリケーションのダイアグラムの表示

Oracle JDeveloperで設計したSOAコンポジット・アプリケーションのダイアグラムは、Oracle Enterprise Manager Fusion Middleware Controlから表示できます。

注意:

SOAコンポジット・アプリケーションをOracle JDeveloperリリース11gを使用して設計した場合は、ダイアグラムを表示できず、エラー・メッセージが表示されます。この問題を解決するには、Oracle JDeveloperリリース12cでコンポジットを再度オープンしてデプロイします。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「ホーム」を選択します。

b. 「デプロイ済コンポジット」タブを選択します。

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

a. 「soa-infra」の下にあるパーティションを展開します。

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

2. 「コンポジット定義」をクリックします。
SOAコンポジット・アプリケーションのデザイン・ビューが表示されます。

3. ダイアグラム上部で、「コントロール・パネルの表示」アイコンをクリックします。

4. オプションを選択してダイアグラムのビューをカスタマイズします。

- ズームしてあわせる

- ズーム・イン

- ズーム・アウト

5. 「ソース」タブをクリックし、SOAコンポジット・アプリケーションのcomposite.xmlソース・ファイルを表示します。

9.3 SOAコンポジット・アプリケーションのサービス・コンポーネントおよびサービス・バインディング・コンポーネントの監視

SOAコンポジット・アプリケーションのサービス・コンポーネントおよびサービス・バインディング・コンポーネントと、サービス・バインディング・コンポーネントと参照バインディング・コンポーネントの処理済メッセージの合計数および平均処理時間を監視できます。

SOAコンポジット・アプリケーションのサービス・コンポーネントおよびサービス・バインディング・コンポーネントを監視する手順は、次のとおりです。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「ホーム」を選択します。

b. 「デプロイ済コンポジット」タブを選択します。

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

a. 「soa-infra」の下にあるパーティションを展開します。

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

「ダッシュボード」ページに、次の詳細が表示されます。

- コンポジットのライフサイクル状態のアクション(リタイア、アクティブ化、停止および起動)のサマリー。「ダッシュボード」ページの上部に表示されます。これらの状態の詳細は、「デプロイ済SOAコンポジット・アプリケーションの状態管理」を参照してください。

- このSOAコンポジット・アプリケーションで使用されるサービス・コンポーネントの名前およびタイプ。

- このSOAコンポジット・アプリケーションで使用されるサービス(インバウンド)バインディング・コンポーネントと参照(アウトバウンド)バインディング・コンポーネントの名前およびタイプ。

- サービス・バインディング・コンポーネントと参照バインディング・コンポーネントの処理済メッセージの合計数および平均処理時間に関する詳細

2. 「コンポーネント」セクションの「名前」列で、サービス・コンポーネントをクリックしてホーム・ページにアクセスします。

3. 「サービスと参照」セクションの「名前」列で、サービスまたは参照をクリックしてホーム・ページにアクセスします。

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

- ビジネス・フロー・インスタンスの概要

- サービス・コンポーネントの概要

- バインディング・コンポーネントの概要

- ログ・ファイルの表示および検索の詳細は、Oracle Fusion Middlewareの管理を参照してください。

10 SOAコンポジット・アプリケーションのデプロイおよび管理

この章では、SOAコンポジット・アプリケーションのデプロイ、再デプロイおよびアンデプロイ、デプロイ済SOAコンポジット・アプリケーションの状態の管理、SOAコンポジット・アプリケーションのテストの自動化、ポリシーの管理、デプロイ済コンポジットのエクスポート、分析データ、BPELセンサー・データ、コンポジット・センサー・データの収集の無効化および有効化、ランタイム・アプリケーションへのリンクなどの、SOAコンポジット・アプリケーションのデプロイおよび管理方法について説明します。

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

- SOAコンポジット・アプリケーションのデプロイ

- アンデプロイメントまたは再デプロイメント時のインスタンス、フォルトおよび拒否メッセージの中断状態への更新

- SOAコンポジット・アプリケーションの再デプロイ

- SOAコンポジット・アプリケーションのアンデプロイ

- デプロイされたSOAコンポジット・アプリケーションの状態の管理

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

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

- デプロイ済のSOAコンポジット・アプリケーションのエクスポート

- 分析データ、BPELセンサー・データ、コンポジット・センサー・データの収集の無効化および有効化

- ランタイム・アプリケーションへのリンク

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

- SOAコンポジット・アプリケーション・アーカイブと、テスト、開発および本番の各環境で使用するURLとプロパティ値を定義する構成プランの作成方法は、『Oracle SOAスイートでのSOAアプリケーションの開発』を参照してください。

- antスクリプトを使用したデプロイは、『Oracle SOAスイートでのSOAアプリケーションの開発』を参照してください。

- Oracle WebLogic Scripting Tool (WLST)を使用したデプロイの詳細は、『SOA Suite WLSTコマンド・リファレンス』を参照してください

注意:

Oracle Enterprise Manager Fusion Middleware Controlがシングル・サインオン(SSO)対応の環境で実行されている場合は、SOAコンポジットのデプロイ、SOAコンポジットのアンデプロイおよびSOAコンポジットの再デプロイの各ウィザードの最後のステップの一部として、ユーザー名およびパスワード資格証明の入力を再度求められます。この情報は、Oracle Enterprise Manager Fusion Middleware Controlセッションごとに1回のみ要求されます。

10.1 SOAコンポジット・アプリケーションのデプロイ

SOAコンポジット・アプリケーションは、SOAコンポジットのデプロイ・ウィザードを使用して、Oracle Enterprise Manager Fusion Middleware Controlからデプロイできます。最初に、デプロイ可能なアーカイブをOracle JDeveloperで作成するか、antやWLSTコマンドライン・ツールを使用して作成する必要があります。「SOAコンポジットのデプロイ」ウィザードで、次のいずれかをデプロイします。

- 最初の新規SOAコンポジット・アプリケーション。

- 旧リビジョン(1.0など)と新リビジョン(2.0など)。旧リビジョンへの影響はありません。最後にデプロイされたリビジョンが、そのコンポジットの新しいデフォルト・リビジョンになります(デプロイメントのこの後の手順で他のリビジョンを指定しない場合にかぎります)。

- 共有データJARファイルおよび異なるリビジョン(たとえば、1.0)が現在デプロイされているSOAコンポジット・アプリケーションの複数のリビジョン(たとえば、2.0、3.0および4.0)を含むSOAバンドル(ZIPファイル)。このオプションでは、リビジョン1.0、2.0、3.0および4.0をまとめてデプロイできます。SOAバンドルをデプロイすると、すべての共有メタデータJARファイルが最初にデプロイされ、その後コンポジットSARファイルがランダムにデプロイされます。
バンドルには、異なるコンポジットのリビジョンを含めることもできます。すべてのリビジョンが同じコンポジット・アプリケーションのリビジョンである必要はありません。ただし、同じバンドル内にコンポジット間の相互参照は存在できません。たとえば、コンポジットAのリビジョン1.0はコンポジットBのリビジョン1.0を参照できません。

デプロイメントによって、SOAインフラストラクチャのコンポジット・アプリケーションが抽出されてアクティブ化されます。アプリケーションをデプロイした後は、インスタンスの作成、プロパティの構成、パフォーマンスの監視、インスタンスの管理、ポリシーとフォルトの管理などの管理タスクを実行できます。

注意:

- アプリケーションの既存のリビジョンを再デプロイする場合は、このウィザードを使用しないでください。かわりに「SOAコンポジットの再デプロイ」ウィザードを使用してください。

- ユーザーOracleSystemUserは削除しないでください。SOAコンポジット・アプリケーションのデプロイメントなど、Oracle SOA Suiteが正常に機能するには、このユーザーが必要です。

10.1.1 SOAコンポジット・アプリケーションをデプロイする手順:

1. 次のいずれかのオプションを使用して、「SOAコンポジットのデプロイ」ウィザードにアクセスします。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

「SOAインフラストラクチャ・ホーム」ページから...

SOAコンポジットのメニューから...

a. 「SOAデプロイ」→「デプロイ」を選択します。

a. 「soa-infra」を右クリックします。

b. 「SOAデプロイ」→「デプロイ」を選択します。

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

b. 「コンポジット」表の上にある「デプロイ」をクリックします。

a. 「SOAデプロイ」→「別のコンポジットをデプロイ」を選択します。

注意:

また、次の方法を使用しても、「SOAコンポジットのデプロイ」ウィザードにアクセスできます。

- 「パーティションの管理」ページ、または個別のパーティションのホーム・ページの「デプロイメント」ドロップダウン・リストから、「このパーティションにデプロイ」を選択

- 個別のパーティションのホーム・ページの上部にある「SOAパーティション」から

- ナビゲータ内で個別のパーティションを右クリック

「アーカイブの選択」ページが表示されます。

2. 「アーカイブまたは展開済ディレクトリ」セクションで、デプロイするSOAコンポジット・アプリケーションのアーカイブを指定します。アーカイブには、デプロイするコンポジットのプロジェクト・ファイルが格納されています(たとえば、単一アーカイブのHelloWorld_rev1.0.jar、または複数アーカイブのOrderBooking_rev1.0.zip)。この情報は必須です。

3. 「構成プラン」セクションで、アーカイブに含める構成プランを指定します(オプション)。構成プランを使用して、異なる環境で使用するURLおよびプロパティ値を定義できます。構成プランは、プロセスのデプロイメント時に、プロジェクトを別のターゲット環境に適合させるために置換する必要のある値に関するSOAプロジェクトを検索する際に使用されます。

4. 「次へ」をクリックします。
「ターゲットの選択」ページが表示されます。

このページには、SOAコンポジット・アプリケーション・アーカイブをデプロイする先のOracle SOA Suite管理対象サーバーまたはクラスタがリストされます。

5. このSOAコンポジット・アプリケーションをデプロイする先のパーティションを選択します。
パーティションを使用すると、SOAコンポジット・アプリケーションを異なるセクションに論理的にグループ化できます。使用可能なパーティションが1つのみである場合も、そのパーティションを明示的に選択する必要があります。デプロイした後は、コンポジットを別のパーティションに転送できなくなります。

存在しないパーティションにSOAコンポジット・アプリケーションをデプロイする場合は、ウィザードを終了し、コンポジットをデプロイする前にパーティションを作成します。「SOAインフラストラクチャ」メニューからアクセスできる「パーティションの管理」ページでパーティションを作成します。

サーバーにパーティションが含まれていない場合は、そのサーバーにコンポジット・アプリケーションをデプロイできません。また、サーバーが実行中の状態でない場合も、このアーカイブはデプロイできません。デフォルトでは、Oracle SOA Suiteには、defaultという名前のパーティションが自動的に含まれています。デフォルト・パーティションは削除できます。

注意:

タスク・マップ属性(以前のフレックス・フィールド・マッピング)およびルール(例: 休暇ルール)などのヒューマン・ワークフロー・アーティファクトは、タスク定義のネームスペースに基づいて定義されます。そのため、ヒューマン・ワークフロー・タスクのあるSOAコンポジット・アプリケーションを複数のパーティションにデプロイする場合は、次の問題が発生します。

- タスク定義タイプが同じ場合は、あるパーティションで定義されたマップ属性は他のパーティションでも参照できます。

- あるパーティションのタスク定義で定義されたルールは、他のパーティションの同じ定義に適用できます。

「パーティションの管理」ページまたは特定のパーティションのホーム・ページの「デプロイメント」ドロップダウン・リストから「このパーティションにデプロイ」を選択して「SOAコンポジットのデプロイ」ウィザードを起動する場合は、デプロイ先のパーティションが選択されています。したがって、「ターゲットの選択」ページはスキップされます。

6. 「次へ」をクリックします。
「確認」ページが表示されます。

7. 選択内容を確認します。
SOAコンポジット・アプリケーションでグローバル・トークン変数を使用している場合は、システムのmdm-url-resolver.xmlファイルですべてのトークンが構成済であることを確認するよう求める警告メッセージが表示されます。トークンがシステムで構成されていない場合、または場所が不適切な場合(たとえば、composite.xmlファイルのimportセクション)、SOAコンポジット・アプリケーションはデプロイされず、エラー・メッセージが表示されます。グローバル・トークン変数の管理の詳細は、「複数のSOAコンポジット・アプリケーションのグローバル・トークン変数の管理」を参照してください。

8. SOAコンポジット・アプリケーションをデフォルトのリビジョンとしてデプロイするかどうかを選択します。デフォルトのリビジョンは、新しいリクエストを受信するとインスタンス化されます。

9. 「デプロイ」をクリックします。
処理メッセージが表示されます。

この時点では、デプロイメント操作を取り消すことができません。ブラウザ・ページを閉じてもデプロイメントは続行されます。

10. デプロイメントが完了すると、新規にデプロイしたコンポジット・リビジョンのホーム・ページが自動的に表示されます。ページの上部に、コンポジットが正常にデプロイされたことを示す確認メッセージが表示されます。バンドルのデプロイメントの場合は、SOAインフラストラクチャの「デプロイ済コンポジット」ページが表示されます。

構成プランの作成およびOracle JDeveloperからのアプリケーションのデプロイの詳細は、『Oracle SOA SuiteでのSOAアプリケーションの開発』を参照してください。

10.1.2 その他のデプロイ動作のシナリオの理解

この項では、その他のデプロイ動作のシナリオについて説明します。

10.1.2.1 複数のADFタスク・フォーム・デプロイメントのPermGenメモリー要件

ADFタスク・フォームのデプロイメントごとに、SOAおよびBPMサーバーのメモリー消費量は増加します。一般的な推奨事項として、本番環境でPermGenメモリーの設定が要求されていない場合は、Oracle JRockitを使用してください。

本番環境でOracle JDKを使用する必要があるときに複数のタスク・フォームをデプロイしてjava.lang.OutOfMemoryError: PermGen spaceエラーが発生した場合は、$Domain/bin/setSOADomainEnv.shファイルのPermGenメモリー(Unix)、またはDOMAIN_HOME\bin\setSOADomainEnv.cmdファイル (Windows)を環境に適した値に更新します。

10.1.2.2 タスク・フローを持つSOAコンポジット・アプリケーションのデプロイ

タスク・フローのEnterprise Resource Archive (EAR)ファイルを持つSOAコンポジット・アプリケーションを、Oracle Enterprise Manager Fusion Middleware ControlまたはOracle WebLogic Server管理コンソールから複数パーティションの環境にデプロイする場合は、パーティションの詳細を指定できません。パーティションを指定するには、生成されるEARファイル(ファイルのプロジェクト・バージョンが変更されません)にパーティション名を含めるようにhwtaskflow.xmlファイルを変更します。このファイルは、TaskFormプロジェクトのadfmsrcディレクトリ(たとえば、HelpDeskRequestTaskFlow\adfmsrc\hwtaskflow.xml)にあります。次の例で詳細を示します。

<hwTaskFlows
xmlns="http://xmlns.oracle.com/bpel/workflow/hwTaskFlowProperties">
<ApplicationName>worklist</ApplicationName>
<LookupType>LOCAL</LookupType>
<TaskFlowDeploy>false</TaskFlowDeploy>
<PartitionName>partition2</PartitionName>

すべてのパーティションでSOAコンポジット・アプリケーションのタスク・フローをデプロイする場合は、PartitionNameを空白のままにします。異なるパーティション上のコンポジットにそれぞれ異なるタスク・フローを使用する場合は、PartitionNameを指定する必要があります。

なお、他のパーティションで同じタスク・フロー・プロジェクトを再利用する場合は、Webコンテキスト・ルートを変更する必要があります。

10.1.2.3 antスクリプトおよびWLSTコマンドライン・ツールによるSOAコンポジット・アプリケーションのデプロイ

SOAコンポジット・アプリケーションは、antスクリプトおよびWLSTコマンド行ツールを使用してもデプロイできます。

- antスクリプトを使用したデプロイの詳細は、『Oracle SOAスイートでのSOAアプリケーションの開発』を参照してください。

- WLSTを使用したデプロイの詳細は、SOA Suite WLSTコマンド・リファレンスを参照してください。

10.2 アンデプロイメントまたは再デプロイメント時のインスタンス、フォルトおよび拒否メッセージの中断状態への更新

SOAコンポジット・アプリケーションをアンデプロイまたは再デプロイすると、インスタンス、フォルトおよび拒否メッセージの一部の状態の動作は中断状態に更新されます。この項では、次のインスタンス、フォルト、および拒否メッセージで、どの状態が中断に更新されるかについて説明します。

- SOAコンポジット・ビジネス・フロー・インスタンス

- Oracle Mediatorインスタンス

- BPELプロセス・インスタンス

- Oracle BPMNインスタンス

- ヒューマン・ワークフロー・タスク・インスタンス

- ビジネス・ルール・インスタンス

- Oracle B2Bインスタンス

- 参照バインディング・コンポーネント・インスタンス

- 拒否メッセージ

- ビジネス・フロー・インスタンスのフォルト

注意:

ビジネス・フロー・インスタンスに関して、次の詳細を確認してください。

- 中断としてマークされなくなったインスタンスでもパージは可能です。

- 完了または失敗状態にあるインスタンスは、アンデプロイメントまたは再デプロイメントの後で中断に変更されません。これは、リリース11g (11.1.1.6)以前からの変更点です。

表10-1に、SOAコンポジット・アプリケーションの再デプロイメントまたはアンデプロイメントの際に中断に更新される状態を示します。

表10-1 アンデプロイメントまたは再デプロイメント時に、中断に更新されるインスタンス、フォルトおよび拒否メッセージの状態

要素

中断に更新されるインスタンス、フォルトおよび拒否メッセージの状態

SOAコンポジット・ビジネス・フロー・インスタンス

次のフロー・インスタンスは、中断に更新されます。

- 実行中

- リカバリが必要

- 一時停止

Oracle Mediatorインスタンス

次のインスタンス状態は、関連コンポジットが再デプロイおよびアンデプロイされると、中断に更新されます。

- 実行中

- リカバリが必要

BPELプロセス・インスタンス

次のインスタンス状態は、関連コンポジットが再デプロイおよびアンデプロイされると、中断に更新されます。

- 実行中

- リカバリが必要

同じリビジョンIDのSOAコンポジット・アプリケーションを再デプロイでき、最初のインスタンスを中断とマークしないシナリオがあります。詳細は、「最初の実行中インスタンスを中断状態に変更せずに同じリビジョンIDのSOAコンポジット・アプリケーションを再デプロイ」を参照してください。

Oracle BPMN

次のインスタンス状態は、関連コンポジットが再デプロイおよびアンデプロイされると、中断に更新されます。

- 実行中

- リカバリが必要

ヒューマン・ワークフロー・タスク・インスタンス

次のインスタンス状態は、関連コンポジットが再デプロイおよびアンデプロイされると、中断に更新されます。

- 割当て済

- 情報のリクエスト中

- 結果を更新

- 一時停止

- アラート済

ビジネス・ルール・インスタンス

次のインスタンス状態は、関連コンポジットが再デプロイおよびアンデプロイされると、中断に更新されます。

- 実行中

- 正常終了

- フォルト

参照バインディング・コンポーネント・インスタンス

参照バインディング・コンポーネント・インスタンスは、中断への更新が行われません。かわりに、参照バインディング・コンポーネントの元の状態が保持されます。

- 正常終了

- ポリシー・フォルト

- ビジネス・フォルト

- フォルト (ポリシーまたはビジネス以外)

拒否メッセージ

拒否メッセージに関連付けられた次のエラー・カテゴリは、中断状態に更新されます。

- システム

- ビジネス

- ポリシー

- 中断

- 不明

インスタンスのフォルト

ビジネス・フロー・インスタンスのフォルトに関連付けられた次のエラー・カテゴリは、中断状態に更新されます。

- システム

- ビジネス

- ポリシー

- 中断

- 不明

再デプロイメントおよびアンデプロイメントの詳細は、「SOAコンポジット・アプリケーションの再デプロイ」および「SOAコンポジット・アプリケーションのアンデプロイ」を参照してください。

10.3 SOAコンポジット・アプリケーションの再デプロイ

SOAコンポジット・アプリケーションは、SOAコンポジットの再デプロイ・ウィザードを使用して、Oracle Enterprise Manager Fusion Middleware Controlから再デプロイできます。「SOAコンポジットの再デプロイ」ウィザードを使用すると、次のような結果になります。

- 同じSOAコンポジット・アプリケーションをアンデプロイして再デプロイすると、コンポジットのアンデプロイの前に作成されたビジネス・フロー・インスタンスは取得できません。これは、コンポジットをデプロイしてアンデプロイした後、再度デプロイした場合、2つのコンポジットは同一とみなされないためです。アンデプロイとは、コンポジット(および関連アーティファクト全部)がシステムから削除されていることを意味します。再デプロイされたコンポジットは、まったく新しいコンポジットとして処理されます。

- 現在デプロイされているSOAコンポジット・アプリケーションのリビジョンの新規バージョンが同じデプロイメント・ターゲットに再デプロイされます(たとえば、古いバージョン1.0が新規バージョン1.0として再デプロイされます)。

- このリビジョンの現在デプロイされている古いバージョンに実行中のインスタンスがある場合は、それらのインスタンスを中断状態に変更するかどうかを選択できます。「SOAコンポジットの再デプロイ」ウィザードの「実行中インスタンス」セクションの説明は、手順6を参照してください。
インスタンスの状態はインスタンス・リストで使用可能であり、監査およびフローのトレースの詳細にアクセスできます。

再デプロイメント時に中断に更新されるインスタンス、フォルト、拒否メッセージの状態の詳細は、「アンデプロイメントまたは再デプロイメント時のインスタンス、フォルトおよび拒否メッセージの中断状態への更新」を参照してください。

注意:

- デプロイされたアプリケーションの複数のリビジョンを管理する場合(例: リビジョン1.0および2.0)、このウィザードを使用しないでください。かわりに「SOAコンポジットのデプロイ」ウィザードを使用してください。

- 複数のSOAコンポジット・アプリケーションを一度に再デプロイする機能はサポートされていません。

アプリケーションを再デプロイする手順は、次のとおりです。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

「SOAインフラストラクチャ・ホーム」ページから...

SOAコンポジットのメニューから...

a. 「SOAデプロイ」→「再デプロイ」の順に選択します。
「コンポジットの選択」ページが表示されます。

b. 「SOAコンポジット・デプロイ」セクションで、再デプロイするSOAコンポジット・アプリケーションのリビジョンを選択し、「次へ」をクリックします。

a. 「soa-infra」を右クリックします。

b. 「SOAデプロイ」→「再デプロイ」の順に選択します。
「コンポジットの選択」ページが表示されます。

c. 「SOAコンポジット・デプロイ」セクションで、再デプロイするSOAコンポジット・アプリケーションのリビジョンを選択し、「次へ」をクリックします。

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

b. 「コンポジット」表で、特定のSOAコンポジット・アプリケーションを選択します。一度に再デプロイできるのは1つのアプリケーションのみです。

c. 「コンポジット」表の上にある「再デプロイ」をクリックします。

a. 「SOAデプロイ」→「再デプロイ」の順に選択します。

注意:

「SOAコンポジットの再デプロイ」ウィザードには、パーティションを右クリックし、「SOAデプロイ」→「再デプロイ」の順に選択することによってもアクセスできます。

「アーカイブの選択」ページが表示されます。

2. 「アーカイブまたは展開済ディレクトリ」セクションで、再デプロイするSOAコンポジット・アプリケーションのリビジョンの場所を選択します。

3. 「構成プラン」セクションで、アーカイブに含める構成プランを指定します(オプション)。

4. 「次へ」をクリックします。
「確認」ページが表示されます。

5. 「デフォルトのリビジョン」セクションで、SOAコンポジット・アプリケーションを、デフォルトのリビジョンとして再デプロイするかどうかを選択します。

6. 「実行中インスタンス」セクションで、現在のビジネス・フロー・インスタンスの実行を継続するかどうかを選択します。

- 実行中インスタンスを中断状態に変更

- 選択すると、SOAコンポジット・アプリケーションが再デプロイされた後に、現在実行中のインスタンスが中断状態に変更されます。

- 再デプロイ時にインスタンスを続行(現在のインスタンス状態は変更されません)

注意:

このオプションは、Oracle BPM SuiteがSOAインフラストラクチャにインストールされている場合に表示され、BPMコンポジットのデプロイメントに対してのみサポートされます。次のようなデプロイでは、このオプションを選択しないでください。

- Oracle BPM SuiteもインストールされているSOAインフラストラクチャ環境からのSOAコンポジット・アプリケーション

- 永続的なBPELプロセスが組み込まれているBPMコンポジット(そのプロセスが変更されているかどうかにかかわらず)、またはデハイドレーション・コールがある埋込みJavaスニペットが組み込まれているBPELプロセス。永続的なBPELプロセスとは、実行が完了するまで時間がかかるプロセスです。永続的なBPELプロセスの例には、非同期プロセス(非同期プロセスは常に永続プロセスです)や、waitアクティビティなどの永続的なアクティビティが含まれる同期プロセスがあります。
このオプションを選択して永続的なBPELプロセスを再デプロイしようとすると、デプロイメントは失敗します。

- 選択すると、BPMコンポジット・アプリケーションが再デプロイされた後も、インスタンスの実行は継続されます。この場合、これらのインスタンスの状態は中止に変更されません。
各サービス・コンポーネントのインスタンスは、それぞれ再デプロイ後に異なる動作を行います。次の詳細事項を理解しておいてください:

対象

説明

Oracle Business Process Management Notation (BPMN)のインスタンス

インスタンスを手動で移行する必要があります。

BPMNサービス・コンポーネントのインスタンスは、再デプロイ後にOracle Enterprise Manager Fusion Middleware Controlで実行中と表示されます。ただし、再デプロイしたアプリケーションが正常に実行されるようにするため、Oracle BPMワークスペースで、移行が保留中の状態のインスタンスを検索して、これらのインスタンスを新しいコンポーネント定義に手動で移行します。

Oracle Business Process Management Notation (BPMN)のインスタンス

インスタンスを手動で移行する必要があります。

BPMNサービス・コンポーネントのインスタンスは、再デプロイ後にOracle Enterprise Manager Fusion Middleware Controlで実行中と表示されます。ただし、再デプロイしたアプリケーションが正常に実行されるようにするため、Oracle BPMワークスペースで、移行が保留中の状態のインスタンスを検索して、これらのインスタンスを新しいコンポーネント定義に手動で移行します。

7. 「再デプロイ」をクリックします。
処理メッセージが表示されます。

この時点では、デプロイメント操作を取り消すことができません。ブラウザ・ページを閉じてもデプロイメントは続行されます。

8. 再デプロイが完了したら、「閉じる」をクリックします。
再デプロイメントが完了すると、新規に再デプロイしたコンポジット・リビジョンのホーム・ページが自動的に表示されます。ページの上部に、コンポジットが正常に再デプロイされたことを示す確認メッセージが表示されます。

10.3.1 最初の実行中インスタンスを中断状態に変更せずに同じリビジョンIDのSOAコンポジット・アプリケーションを再デプロイ

最初の実行中インスタンスを中断状態に変更せずに、同じリビジョンIDのSOAコンポジット・アプリケーションを再デプロイできます。再デプロイできる状況は、次のとおりです。

- コンポジットに永続的なBPELプロセスが組み込まれていない場合。永続的なBPELプロセスは、実行が完了するまで時間がかかります。永続的なBPELプロセスの例には、非同期プロセス(非同期プロセスは常に永続プロセスです)や、waitアクティビティなどの永続的なアクティビティが含まれる同期プロセスがあります。

- 最後のデプロイ以降、永続的なBPELプロセスがいずれも変更されていない場合。

再デプロイ中、最後のデプロイ以降にBPELコンポーネントが変更されているかどうかを確認するためにチェックが実行されます。変更が検出されると、再デプロイは拒否されます。

次のガイドラインに留意してください。

- パートナ・リンクの変更または削除はできません。

- デハイドレーション・アクティビティは完全一致する必要があります。たとえば、元のBPELプロセスに受信アクティビティが3つあった場合、変更後のプロセスにも同じ受信アクティビティが3つ必要です。

10.3.1.1 同期および非同期BPELプロセスの再デプロイ動作の例

この項では、再デプロイ動作の例をいくつか示します。

次のアクションを実行して同期プロセスを再デプロイするとします。

1. 同期BPELプロセスAが組み込まれているSOAコンポジット・アプリケーションをデプロイします。

2. コンポジットのインスタンスをいくつか起動します。

3. アクティビティを追加および削除して、同期BPELプロセスAを変更します。

4. コンポジットをプロミスキャス・モードで再デプロイします。

前述のアクションにより、次のようになります。

- 同期BPELプロセスAの古いインスタンスは、中断とマークされません。

- 古いインスタンスの監査証跡には、古いプロセスの実行が表示されます。

- 新しいインスタンスの監査証跡には、新しいプロセスの実行が表示されます。

次のアクションを実行して、アクティビティを待機している非同期プロセスを再デプロイするとします。

1. 非同期BPELプロセスBが組み込まれているSOAコンポジット・アプリケーションをデプロイします。このプロセスは、デハイドレーション・アクティビティ(待機/受信) act1を待機しています。

2. act1の後にアクティビティを追加および削除して、同期BPELプロセスBを変更します。

3. コンポジットをプロミスキャス・モードで再デプロイします。

前述のアクションにより、次のようになります。

- 非同期BPELプロセスBの古いインスタンスは、中断とマークされません。

- 古いインスタンスの監査証跡には、引き続き古いプロセスの実行が表示されます。

- 新しいインスタンスの監査証跡には、新しいプロセスの実行が表示されます。

- act1を待機している非同期BPELプロセスBのインスタンスは、新しいプロセス定義を使用するアクティビティから続行します。

注意:

ヒューマン・タスクを待機している非同期プロセスの場合、このシナリオでの動作は、受信アクティビティを待機している場合と同じです。

次のアクションを実行して、削除済アクティビティを待機している非同期プロセスを再デプロイするとします。

1. act1の後にアクティビティを追加および削除し、アクティビティact1も削除して、非同期BPELプロセスBを変更します。

2. プロセスをプロミスキャス・モードで再デプロイします。

前述のアクションにより、新しいプロセス定義にアクティビティact1が含まれている必要があることを示すエラーでデプロイは失敗します。

10.4 SOAコンポジット・アプリケーションのアンデプロイ

SOAコンポジット・アプリケーションは、SOAコンポジットのアンデプロイ・ウィザードを使用して、Oracle Enterprise Manager Fusion Middleware Controlからアンデプロイできます。「SOAコンポジットのアンデプロイ」ウィザードを使用すると、次のような結果になります。

- アプリケーションのこのリビジョンの構成や監視ができなくなります。

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

- 現在実行中のインスタンスの状態が中止になり、このコンポジットに送信された新しいメッセージは処理されません。

- アンデプロイしたコンポジット・アプリケーションのインスタンスの状態は「中断」に設定されます。インスタンスの状態はインスタンス・リストで使用可能であり、監査証跡およびフローのトレースの詳細にアクセスできます。

- SOAコンポジット・アプリケーションのデフォルトのリビジョン(たとえば、2.0)をアンデプロイした場合、アプリケーションの次に使用可能なアクティブなリビジョン(たとえば、1.0)が新しいデフォルトとして自動的に指定されます。

- デフォルトのコンポジット・リビジョンをアンデプロイした場合、このウィザードの終了時に警告メッセージが表示されます。
使用可能なアクティブ・リビジョンが存在しない場合にデフォルトのリビジョンをアンデプロイすると、コンポジットが新しい受信リクエストを処理できなくなる可能性があります。デフォルトのリビジョンをアンデプロイする前に、デプロイ済のコンポジットのアクティブなリビジョンを最低1つは設定しておくことをお薦めします。

このリビジョンをアンデプロイしたときに、そのコンポジットのアクティブなリビジョンが見つからない場合、リタイア済のリビジョンが自動的に新しいデフォルトのリビジョンとして指定されます。このウィザードを閉じた後に、警告メッセージが表示されます。リタイア済のコンポジット内の現在実行中のインスタンスはすべて正常に終了しますが、これらのインスタンスは受信リクエストを処理することはできません。現在のデフォルトのリビジョンをアンデプロイした後に、このコンポジットに対する新規の受信リクエストを処理するには、新しいリビジョンをデプロイするか、以前にリタイアしたリビジョンを再アクティブ化する必要があります。

アンデプロイメント時に中断に更新されるインスタンス、フォルト、拒否メッセージの状態の詳細は、「アンデプロイメントまたは再デプロイメント時のインスタンス、フォルトおよび拒否メッセージの中断状態への更新」を参照してください。

注意:

現在のアプリケーションの既存のリビジョンをアンデプロイしてから再デプロイする場合、このウィザードを使用しないでください。かわりに「SOAコンポジットの再デプロイ」ウィザードを使用してください。「SOAコンポジットの再デプロイ」ウィザードを使用すれば、SOAコンポジット・アプリケーションの既存のリビジョンを再デプロイし、リビジョンの現在デプロイされているバージョンの古い方を削除(上書き)できます。

アプリケーションをアンデプロイする手順は、次のとおりです。

注意:

複数のSOAコンポジット・アプリケーションが同じパーティションにある場合は、まとめてアンデプロイできます。詳細は、「パーティションおよびワーク・マネージャ・グループの管理」を参照してください。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

「SOAインフラストラクチャ・ホーム」ページから...

SOAコンポジットのメニューから...

a. 「SOAデプロイ」→「アンデプロイ」の順に選択します。
「コンポジットの選択」ページが表示されます。

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

a. 「soa-infra」を右クリックします。

b. 「SOAデプロイ」→「アンデプロイ」の順に選択します。
「コンポジットの選択」ページが表示されます。

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

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

b. 「コンポジット」表で、特定のSOAコンポジット・アプリケーションを選択します。一度にアンデプロイできるのは1つのアプリケーションのみです。

c. 「コンポジット」表の上にある「アンデプロイ」をクリックします。

a. 「SOAデプロイ」→「アンデプロイ」の順に選択します。

注意:

「SOAコンポジットのアンデプロイ」ウィザードには、次の追加のパーティション・オプションを使用してアクセスすることもできます。

- パーティションを右クリックし、「SOAデプロイ」→「このパーティションからすべてアンデプロイ」の順に選択します。

- パーティションのホーム・ページで「デプロイメント」→「このパーティションからすべてアンデプロイ」の順に選択します。

- 「パーティションの管理」ページで、選択したパーティションに対して「デプロイメント」→「このパーティションからすべてアンデプロイ」の順に選択します。

「確認」ページが表示されます。

2. 確認した後は、「アンデプロイ」をクリックします。デプロイ済コンポジット・アプリケーションの最後に残ったリビジョンをアンデプロイしようとすると、警告が表示されます。
処理メッセージが表示されます。

この時点では、アンデプロイ操作を取り消すことができません。ブラウザ・ページを閉じてもアンデプロイメントは続行されます。

3. アンデプロイメントが完了すると、SOAインフラストラクチャの「デプロイ済コンポジット」ページが自動的に表示されます。ページの上部に、コンポジットが正常にアンデプロイされたことを示す確認メッセージが表示されます。

注意:

パーティションが削除されると、そのパーティション内のすべてのSOAコンポジット・アプリケーションが自動的にアンデプロイされます。そのパーティション内のすべてのアプリケーションがアンデプロイされることを示すメッセージが表示されます。

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

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

- SOAインフラストラクチャの「デプロイ済コンポジット」ページ。このページには、SOAインフラストラクチャにデプロイされたすべてのSOAコンポジット・アプリケーションがリストされます。

- 特定のSOAコンポジット・アプリケーションのアプリケーション・ホーム・ページ(すべてのタブ)。

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

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

アクション

SOAインフラストラクチャの「デプロイ済コンポジット」ページでの実行の可否

アプリケーションのホーム・ページ(すべてのタブ)での実行の可否

停止と起動

はい

はい

リタイアとアクティブ化

はい

はい

デフォルトとして設定

はい

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

- 可: 同じコンポジット・アプリケーションのバージョンが複数ある場合は、デフォルトのバージョンを除き、同じコンポジットの他の全バージョンでこのオプションが表示されます。

デプロイ

はい

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

アンデプロイ

はい

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

再デプロイ

はい

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

テスト

不可

はい

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

不可

はい

設定: ペイロードの検証

不可

はい

設定: 分析とセンサーの有効化/無効化

不可

はい

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

不可

はい

注意:

SOAコンポジット・アプリケーションのXML定義を表示するには、「コンポジット定義」タブの下部にある「ソース」タブをクリックします。

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

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

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

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

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

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

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

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

SOAコンポジットのメニューから...

a. 「ホーム」を選択します。

a. 「soa-infra」をクリックします。

a. 「SOAインフラストラクチャ」を選択します。

2. 「デプロイ済コンポジット」タブをクリックします。
「デプロイ済コンポジット」ページに、次の詳細が表示されます。

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

- アクティブなSOAコンポジット・アプリケーションのみを検索するためのチェック・ボックス。

- SOAコンポジット・アプリケーションのライフサイクルの状態(起動、停止、デフォルトとして設定など)を管理するための一連のオプション。

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

注意:

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

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

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

アクション

説明

停止

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

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

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

起動

停止したコンポジット・アプリケーションのリビジョンを再起動します。これにより、新規リクエストを処理できるようになります(却下されません)。メッセージのリカバリは発生しません。

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

リタイア

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

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

起動済のビジネス・フロー・インスタンスへのコールバックは、適切に配信されます。

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

デフォルトのコンポジット・リビジョンをリタイアしようとする場合、またはデフォルトのコンポジット・リビジョンをすでにリタイアした場合、次の点に注意してください。これらの点を記載した警告ページも表示されます。

- デフォルトのコンポジット・リビジョンをリタイアしようとするときに、そのコンポジットの他のアクティブなリビジョンが見つかった場合、見つかったコンポジットが新しいデフォルトのリビジョンとして指定されます。アクティブなリビジョンが複数ある場合は、(タイムスタンプを基準にして)直前にデフォルトのリビジョンだったアクティブなコンポジットが、デフォルトのリビジョンとして指定されます。その後、リタイアされたリビジョンを再アクティブ化しても、デフォルトのリビジョンに自動的に戻ることはありません。再度、明示的にデフォルトのリビジョンに指定する必要があります。

- デフォルトのコンポジット・リビジョンをリタイアして、そのコンポジットのアクティブなリビジョンが見つからない場合、新しいデフォルトのリビジョンは指定されず、警告メッセージが表示されます。リタイアしたリビジョンが、デフォルトのリビジョンのままになります。ただし、このコンポジットでは、受信リクエストを処理できません。このコンポジットに対する新規の受信リクエストを処理するには、新しいリビジョンをデプロイするか、以前にリタイアしたリビジョンの1つを再アクティブ化する必要があります。

アクティブ化

リタイア状態のコンポジット・アプリケーションのリビジョンをアクティブ化します。このオプションでの次の動作に注意してください。

- デプロイされると、すべてのコンポジット・アプリケーションは自動的にアクティブになります。

- 新しくデプロイされたコンポジット・アプリケーションの他のリビジョンはアクティブのままで、自動的にリタイアされることはありません。必要であれば、これらは明示的にリタイアする必要があります。

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

デフォルトとして設定

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

デフォルトのリビジョンは、コンポジット・アプリケーションがリタイアされると、変更される場合があります。変更は、そのコンポジットのアクティブなリビジョンが他にあるかどうかに基づいて行われます。詳細は、この表の「リタイア」アクションの説明を参照してください。

デフォルトのリビジョンは、デフォルトのコンポジット・アプリケーションのリビジョンがアンデプロイされると、自動的に変更されます。

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

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

デプロイ

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

- 最初の新規SOAコンポジット・アプリケーション。

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

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

詳細は、「SOAコンポジット・アプリケーションのデプロイ」および「パーティションおよびワーク・マネージャ・グループの管理」を参照してください。

アンデプロイ

選択したコンポジット・アプリケーションのリビジョンをアンデプロイします。このアクションの結果は次のようになります。

- コンポジット・アプリケーションのこのリビジョンは、構成およびモニターできなくなります。

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

- すでに完了したプロセスは表示できません。

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

- コンポジット・アプリケーションのデフォルトのリビジョン(たとえば、2.0)をアンデプロイした場合、コンポジット・アプリケーションの次に使用可能なアクティブなリビジョン(たとえば、1.0)がデフォルトになります。
使用可能なアクティブ・リビジョンが存在しない場合に古いデフォルトのリビジョンをアンデプロイすると、コンポジットが新しい受信リクエストを処理できなくなる可能性があります。デフォルトのリビジョンをアンデプロイする前に、デプロイ済のコンポジットのアクティブなリビジョンを最低1つは設定しておくことをお薦めします。

デフォルトのリビジョンをアンデプロイしたときに、そのコンポジットのアクティブ・リビジョンが見つからない場合、リタイア済のリビジョンが自動的に新しいデフォルトのリビジョンとして指定されます。このウィザードを閉じた後に、警告メッセージが表示されます。リタイア済のコンポジット内の現在実行中のインスタンスはすべて正常に終了しますが、これらのインスタンスは受信リクエストを処理することはできません。現在のデフォルトのリビジョンをアンデプロイした後に、このコンポジットに対する新規の受信リクエストを処理するには、新しいリビジョンをデプロイするか、以前にリタイアしたリビジョンを再アクティブ化する必要があります。

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

詳細は、「SOAコンポジット・アプリケーションのアンデプロイ」および「パーティションおよびワーク・マネージャ・グループの管理」を参照してください。

再デプロイ

SOAコンポジット・アプリケーションの既存のリビジョンを再デプロイします。このアクションの結果は次のようになります。

- 現在デプロイされているSOAコンポジット・アプリケーションのリビジョンの新規バージョンが再デプロイされます(たとえば、古いバージョン1.0が新規バージョン1.0として再デプロイされます)。

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

- このリビジョンの現在デプロイされている古いバージョンに実行中のインスタンスがある場合は、それらのインスタンスを中断状態に変更するかどうかを選択できます。

詳細は、「SOAコンポジット・アプリケーションの再デプロイ」を参照してください。

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

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

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

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

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「ホーム」を選択します。

b. 「デプロイ済コンポジット」タブを選択します。

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

a. 「soa-infra」の下にあるパーティションを展開します。

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

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

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

アクション

説明

停止

このオプションの説明は、「SOAインフラストラクチャ・レベルでのすべてのアプリケーションの状態管理」の手順3にある表を参照してください。

起動

このオプションの説明は、「SOAインフラストラクチャ・レベルでのすべてのアプリケーションの状態管理」の手順3にある表を参照してください。

リタイア

このオプションの説明は、「SOAインフラストラクチャ・レベルでのすべてのアプリケーションの状態管理」の手順3にある表を参照してください。

アクティブ化

このオプションの説明は、「SOAインフラストラクチャ・レベルでのすべてのアプリケーションの状態管理」の手順3にある表を参照してください。

テスト

Webサービスのテスト・ページからテスト・インスタンスを開始できます。

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

詳細は、「ビジネス・フローのテスト・インスタンスの起動」を参照してください

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

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

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

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

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

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

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

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

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

設定: ペイロードの検証

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

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

設定: 分析とセンサーの有効化/無効化

選択すると、SOAコンポジット・アプリケーションで次のデータの収集が有効または無効になります。

- 分析: 分析データ(BPMN測定マークおよびBPELモニター)を収集できます。

- BPELセンサー: BPELのフォルト、アクティビティおよび変数にセンサー・データを収集できます。このオプションは、SOAコンポジット・アプリケーションにBPELセンサーが含まれる場合にのみ表示されます。

- コンポジット・センサー: コンポジット・センサー・データを収集できます。

次のデータ収集アクションを実行できます。

- SOAインフラストラクチャ・レベルのすべてのSOAコンポジット・アプリケーションについて分析データとセンサー・データの収集をグローバルに有効または無効にします。

- 特定のSOAコンポジット・アプリケーションについて分析データとセンサー・データの収集を個別に無効にします。

詳細は、「分析およびセンサーの構成」および「分析、BPELセンサーおよびコンポジット・センサー・データの収集の無効化および有効化」を参照してください。

注意: 「分析とセンサーの有効化/無効化」オプションは、BPELプロセス・サービス・コンポーネントが組み込まれているコンポジットについてのみ表示されます。

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

クリックしてこのSOAコンポジットアプリケーションのエンドポイント・アドレスとすべての外部サービスのWSDLを表示します。

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

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

- SOAコンポジット・アプリケーションのライフサイクル状態の概要

- SOAインフラストラクチャ・プロパティの構成

10.5.3 その他のライフサイクル状態動作のシナリオの理解

この項では、その他のライフサイクルの状態動作の問題について説明します。

10.5.3.1 BPEL処理途中でSOAインフラストラクチャがデプロイされる管理対象のOracle WebLogic Serverの起動および停止

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

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

- 非同期BPELプロセスの場合
BPELのinvokeアクティビティの途中でサーバーが停止すると、BPELが受信したメッセージは処理されません。BPELは再起動時にこれらのメッセージを自動的にリカバリしないため、メッセージを手動でリカバリする必要があります。

10.5.3.2 ビジネス・フロー・インスタンス名の設定

Oracle MediatorおよびOracle BPEL Process Managerでは、設計時にビジネス・フロー・インスタンス名を設定できます。詳細は、『Oracle SOAスイートでのSOAアプリケーションの開発』の設計時のビジネス・フロー・インスタンスまたはコンポジット・インスタンス名の設定方法に関する項を参照してください。

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

SOAコンポジット・アプリケーションのテストを自動化するテスト・ケースを作成、デプロイおよび実行できます。テスト・ケースを使用すると、本番環境へのデプロイメントの前に、SOAコンポジット・アプリケーションとWebサービス・パートナ間の相互作用をシミュレートできます。これにより、本番環境へのデプロイメント準備が完了するまでに、プロセスとWebサービス・パートナの相互作用が期待どおりであるかを確認できます。

Oracle JDeveloperでテスト・ケースを作成し、SOAコンポジット・アプリケーションに組み込みます。このアプリケーションは、その後、次のいずれかの場所からデプロイされて管理されます。

- Oracle Enterprise Manager Fusion Middleware Control (この項で説明)

- Oracle JDeveloper
詳細は、『Oracle SOA SuiteでのSOAアプリケーションの開発』のOracle JDeveloperからのテスト・スイートのデプロイおよび実行方法に関する項を参照してください。

また、SOAコンポジット・アプリケーションのテスト・ケース内に、BPELプロセス・サービス・コンポーネントのテスト・ケースを作成することもできます。

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

注意:

Oracle Enterprise Manager Fusion Middleware ControlからSOAコンポジット・アプリケーションまたはBPELプロセス・サービス・コンポーネントのテストを行う前に、『Oracle SOA SuiteでのSOAアプリケーションの開発』の「SOAコンポジット・アプリケーションのテストの自動化」で、テスト・ケースの作成に関する説明を参照してください。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

SOAコンポジットのメニューから...

a. 「ホーム」を選択します。

b. 「デプロイ済コンポジット」を選択します。

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

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

a. 「soa-infra」の下にあるパーティションを展開します。

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

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

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

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

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

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

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

フィールド

説明

テスト実行名

テスト・インスタンスの名前を入力します。テストの終了時に、レポート詳細がこの名前で取得されます。

タイムアウト

テストを終了させる値(秒単位)を入力します。この時間内にテストが完了しない場合、テストは終了されます。

同時テスト・インスタンスの数

作成するテスト・インスタンスの数を入力します。

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

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

4. 「テスト実行名」列で特定のテスト実行をクリックして、「テスト実行の結果」セクションに詳細を表示します。追加のテスト実行を作成する場合は、「テスト・ケース」ページにいつでも戻ることができます。
「テスト実行の結果」セクションには、実行されたテスト実行の詳細(テスト・サマリー、成功率など)が表示されます。詳細は、「weblogic」リンクの下で、「ヘルプ」→「このページのヘルプ」をクリックします。

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

6. インスタンス番号をクリックして、特定のテスト詳細を表示します。
ユニット・テスト実行を実行して作成されたビジネス・フロー・インスタンスは、黄色のボックスとともに表示されます。これらのインスタンスは、この黄色のボックスによって、「Webサービスのテスト」ページで作成されたり、アプリケーションの外部コンシューマによって自動的に作成されたテスト・インスタンスと区別されます。

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

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

- Oracle JDeveloperでのSOAコンポジット・アプリケーションおよびBPELプロセス・サービス・コンポーネントのテスト・ケースの作成および実行の詳細は、『Oracle SOA SuiteでのSOAアプリケーションの開発』の「SOAコンポジット・アプリケーションのテストの自動化」を参照してください

10.6.1 テスト・スイートの一括実行時のレスポンス・メッセージ・サイズの増加

sca-test antコマンドを使用して、大量のテスト(50テストなど)で構成されるテスト・スイートを一括して実行すると、Oracle Enterprise Manager Fusion Middleware Controlの「ユニット・テスト」ページの「結果」タブに、どのテスト結果も表示されないことがあります。次のエラー・メッセージは、サーバー・ログ・ファイルに表示されます。

<Nov 13, 2013 7:31:45 AM PST> <Error> <Socket> <BEA-000403> <IOException
occurred on socket:
Socket[addr=2606:b400:2010:4049:216:3eff:fe52:613d/2606:b400:2010:4049:216:3ef
f:fe52:613d,port=16139,localport=3872]
weblogic.socket.MaxMessageSizeExceededException: Incoming message of size:
'10000080' bytes exceeds the configured maximum of: '10000000' bytes for
protocol: 't3'.
weblogic.socket.MaxMessageSizeExceededException: Incoming message of size:
'10000080' bytes exceeds the configured maximum of: '10000000' bytes for
protocol: 't3'
at
weblogic.socket.BaseAbstractMuxableSocket.incrementBufferOffset(BaseAbstractMu
xableSocket.java:230)
at
weblogic.rjvm.t3.MuxableSocketT3.incrementBufferOffset(MuxableSocketT3.java:35
1)
at weblogic.socket.SocketMuxer.readFromSocket(SocketMuxer.java:991)
at
. . .
. . .

このエラーは、テスト・レスポンス・メッセージが大きすぎるときに発生します。このエラーを解決するには、MaxMessageSizeプロパティを増やします。

最大応答メッセージ・サイズを大きくする手順は次のとおりです。

1. setDomainEnv.shファイルを開きます。

2. MaxMessageSizeの値を大きくして設定します。

EXTRA_JAVA_PROPERTIES="${EXTRA_JAVA_PROPERTIES}
-Dweblogic.MaxMessageSize=30000000" export EXTRA_JAVA_PROPERTIES
How to Manage SOA Composite Applications with ant Scripts

sca-test antスクリプトの詳細は、『Oracle SOA SuiteでのSOAアプリケーションの開発』のantスクリプトによるSOAコンポジット・アプリケーションのデプロイおよび管理に関する項を参照してください。

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

現在デプロイされているSOAコンポジット・アプリケーションとの間で、セキュリティ・ポリシーをアタッチまたはデタッチできます。ポリシーはメッセージの配信にセキュリティを適用します。ポリシーでは、資格証明をCSFキーストアに入力するか、または証明書を証明書ストアに入力することを要求できます。

注意:

- ポリシーをアタッチする前に、使用可能なポリシーの定義およびユーザー環境で使用するポリシーの詳細は、Oracle Web Services ManagerによるWebサービスの保護およびポリシーの管理に関する項を参照してください。

- ポリシー設定のオーバーライドの詳細は、Oracle Web Services Managerを使用したWebサービスの保護とポリシーの管理のFusion Middleware Controlを使用したポリシー構成プロパティのオーバーライドに関する項を参照してください。

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

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

SOAコンポジットのメニューから...

a. 「ホーム」を選択します。

b. 「デプロイ済コンポジット」を選択します。

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

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

a. 「soa-infra」の下にあるパーティションを展開します。

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

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

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

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

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

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

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

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

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

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

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

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

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

9. 「OK」をクリックします。
アタッチしたポリシーがポリシー表に表示されます。

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

- ポリシーの概要

- 使用可能なポリシーの定義およびユーザー環境で使用するポリシーの詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』を参照してください。

10.7.1 サーバー再起動後にローカル・ポリシーのポリシー・サブジェクトが無効になる可能性がある

SOAコンポジット・アプリケーションにアタッチされたローカル・ポリシーのポリシー・サブジェクトが、サーバー再起動の後に無効になる場合があります。この問題を解決するには、再度WSLT listWebServicePoliciesコマンドを呼び出す必要があります。たとえば、次の手順を実行します。

1. SOAサーバーを再起動します。

2. 使用環境に適したデータを使用して、次のWLSTコマンドを発行します。

wls:/soainfra/serverConfig>
listWebServicePolicies('','default/LocalPolicyTest[1.0]','soa','
bpelprocess1_client_ep','BPELProcess1_pt')

BPELProcess1_pt :
URI="oracle/wss_username_token_service_policy",
category=security, policy-status=null; source=local policy set;
reference-status=enabled; effective=true
Property name="local.policy.reference.source",
value="LOCAL_ATTACHMENT"

このコンテキストではポリシー・サブジェクトは無効で、次のエラーが表示されます。

WSM-02557 : The documents required to configure the Oracle Web Services
Manager runtime have not been retrieved from the Policy Manager
application (wsm-pm), possibly because the application is not running
or has not been deployed in the environment. The query
"/policies/oracle/wss_username_token_service_policy" is queued for later
retrieval.

3. 同じWLSTコマンドを再度発行します。

次のメッセージに示されるように、今回はコマンドは成功します。

The policy subject is secure in this context.

10.7.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 Web Services Managerによる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://myhost.us.example.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>

ローカルの最適化の詳細は、「ローカルの最適化の構成」を参照してください。

10.7.3 WS-RMセッション

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

10.8 デプロイ済のSOAコンポジット・アプリケーションのエクスポート

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

- 元の設計時コンポジット。

- ルール・ディクショナリとドメイン値マップ(DVM)のデプロイ後の変更。

- バインディング・コンポーネントのプロパティなどのデプロイ後のプロパティの変更、監査レベル設定やペイロード検証ステータスなどのコンポジット・プロパティ、およびポリシー・アタッチメント。

注意:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

注意:

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

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

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

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

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

ダイアログが閉じ、SOAコンポジット・アプリケーションのホーム・ページに戻ります。

10.9 分析データ、BPELセンサー・データ、コンポジット・センサー・データの収集の無効化および有効化

SOAコンポジット・アプリケーションの次の分析およびセンサーについて、データの収集を有効および無効にできます。

- 分析(BPMN測定マーカーおよびBPELモニターで構成):
次のタイプのデータを収集できます。

- プロセスまたはプロセス内のセクションにおける特定の時点でのビジネス・インジケータの測定。

- Oracle BAM Serverに送信され、分析やグラフィカル表示に使用されるBPELプロセス・メトリック。

- BPELセンサー:
BPELのフォルト、アクティビティおよび変数のセンサー・データを収集できます。

- コンポジット・センサー:
コンポジット・センサー・データを収集できます。

- 受信メッセージおよび送信メッセージを監視できます。

- 「フロー・インスタンス」ページの「検索オプション」セクションの「フロー・インスタンス」フィルタに、コンポジット・センサーの詳細を指定します。この処理によって、特定のインスタンスを検索できます。

- 受信メッセージおよび送信メッセージから計算されたJMSデータをパブリッシュします。

SOAインフラストラクチャ・レベルの分析データとセンサー・データの収集をグローバルに有効または無効にできます。また、コンポジット・レベルの分析データとセンサー・データの収集を個別に無効にできます。「SOAインフラストラクチャの共通プロパティ」ページまたは個々のSOAコンポジット・アプリケーション・ページの選択項目を無効または有効にする場合は、次の優先順位が発生します。

- 共通プロパティ・ページで選択を無効にすると、すべてのSOAコンポジット・アプリケーションでその選択に関するデータのコレクションが無効になります。たとえば、共通プロパティ・ページでコンポジット・センサーを無効にする場合、この変更の後に作成された任意のフロー・インスタンスに関するコンポジット・センサーの詳細は収集されません。

- 共通プロパティ・ページで選択を有効にすると、個々のSOAコンポジット・アプリケーション・レベルでその設定を無効にすることができます。たとえば、共通プロパティ・ページでコンポジット・センサーを有効にし、ホームページの「設定」→「分析とセンサーの有効化/無効化」で個々のSOAコンポジット・アプリケーション(LoanFlowなど)のコンポジット・センサーを無効にする場合、この変更の後にLoanFlow SOAコンポジット・アプリケーションの任意のインスタンスに対してコンポジット・センサーの詳細は収集されません。ただし、他のすべてのフロー・インスタンスはコンポジット・センサーの詳細を収集し続けます。

単一のコンポジットに対する特定のタイプのサービス・コンポーネントに定義されているセンサーを選択して有効化または無効化することはできません。ただし、「SOAインフラストラクチャの共通プロパティ」ページで、すべてのコンポジットについてサービス・コンポーネント・タイプ固有のセンサーをグローバルに無効にできます。

注意:

「BPELサービス・エンジン・プロパティ」ページでBPELセンサーを無効にすると、「SOAインフラストラクチャの共通プロパティ」ページでBPELセンサーを無効にするのと同じ効果があります。

センサーの詳細は、『Oracle SOA SuiteでのSOAアプリケーションの開発』のOracle BPEL Process Managerのセンサーの使用方法に関する項を参照してください。

BPMN測定の詳細は、Oracle Business Process Managementを使用したビジネス・プロセスの作成を参照してください。

10.9.1 特定のSOAコンポジット・アプリケーションに対する分析およびセンサーの無効化

特定のSOAコンポジット・アプリケーションの分析およびセンサーを無効にする手順は、次のとおりです。

1. 「分析およびセンサーの構成」の手順に従って、「SOAインフラストラクチャの共通プロパティ」ページにアクセスします。

分析、BPELセンサーおよびコンポジット・センサーはすべて、デフォルトでは有効になっています。

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

3. コンポジットの「設定」メニューから、「分析とセンサーの有効化/無効化」を選択します。

分析およびセンサーはすべて、デフォルトでは有効になっています。このコンポジットにはBPELセンサーが組み込まれているため、このメッセージに表示されます。コンポジットにBPELセンサーがない場合、「BPELセンサー」チェック・ボックスは表示されません。

4. 分析およびセンサーをすべて無効にし、「OK」をクリックします。

これにより、この特定のSOAコンポジット・アプリケーションについて分析データとセンサー・データの収集は無効になります。SOAインフラストラクチャ・レベルですべての分析データとセンサー・データの収集は有効であるため、SOAインフラストラクチャの他のSOAコンポジット・アプリケーションはすべて、データの収集を続行します。

10.9.2 すべてのSOAコンポジット・アプリケーションに対する分析およびセンサーの無効化

すべてのSOAコンポジット・アプリケーションの分析およびセンサーを無効にする手順は、次のとおりです。

1. 「分析およびセンサーの構成」の手順に従って、「SOAインフラストラクチャの共通プロパティ」ページにアクセスします。

2. 「分析とセンサーの構成」セクションで、すべてのチェック・ボックスの選択を解除します。

3. 「適用」をクリックし、変更の保存を要求されたら「はい」をクリックします。

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

5. 「設定」メニューから、「分析とセンサーの有効化/無効化」を選択します。

「分析とセンサーの有効化/無効化」ダイアログに、分析およびセンサーすべてがこのコンポジットおよび他のすべてのコンポジットについてグローバルに無効になっていることが表示されます。

10.9.3 すべてのSOAコンポジット・アプリケーションに対する特定の分析およびセンサー設定の選択的な無効化

すべてのSOAコンポジット・アプリケーションについて特定の分析およびセンサーの設定を選択して無効にする手順は、次のとおりです。

1. 「SOAインフラストラクチャの共通プロパティ」ページに戻り、「コンポジット・センサー」以外のチェック・ボックスをすべて選択します。

2. 「適用」をクリックし、確認を要求されたら「はい」をクリックします。

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

4. 「設定」メニューから、「分析とセンサーの有効化/無効化」を選択します。

コンポジット・センサーがグローバルに無効になります。

10.10 ランタイム・アプリケーションへのリンク

Oracle SOA Composerなどの一部のランタイム・アプリケーションには、「リンク」メイン・メニューが組み込まれており、他のランタイム・アプリケーションを参照できます。図10-1に、「リンク」メニューを示します。

図10-1 ランタイム・アプリケーションの「リンク」メイン・メニュー

リンクが表示されるのは、アプリケーションが稼働中でアクセス可能な場合のみです。リンクについて、次のランタイム・アプリケーションがサポートされています。

- Oracle SOA Composer

- Oracle BPM Worklist

- Oracle Business Process Composer

- Oracle Business Process Management Workspace

- Oracle B2Bコンソール

- Oracle SOA Suite for Healthcare

- Oracle MFTコンソール

「リンク」メイン・メニューをカスタマイズして、他のアプリケーションのURLを表示することができます。

「リンク」メイン・メニューをカスタマイズする手順は、次のとおりです。

1. ランタイム・アプリケーションとそのURLおよびポートをリストしたファイルを作成し、ext-app-menu.xmlと名前を付けます。このファイルの内容は次のようになります。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:appMenu xmlns:ns2="http://xml.oracle.com/soa/appMenu">
<groups>
<group>
<app name="Oracle OTN" url="http://otn.oracle.com"/>
<app name="Oracle Home Page" url="http://www.oracle.com"/>
</group>
<group>
<app name="MyApplication" url="http://www.myapplication.com"/>
</group>
</groups>
</ns2:appMenu>

2. $ORACLE_HOME/soa/soa/modules/oracle.soa.ext_11.1.1/classes/META-INFディレクトリにext-app-menu.xmlを追加します。

3. 現行ディレクトリを$ORACLE_HOME/soa/soa/modules/oracle.soa.ext_11.1.1に変更します。

4. antを実行します。

Buildfile: build.xml
create-manifest-jar:
[delete] Deleting:
/scratch/bdhenriq/fmwhome12/soa/soa/modules/oracle.soa.ext_
11.1.1/oracle.soa.ext.jar
[jar] Building MANIFEST-only jar:
/scratch/myhome/fmwhome12/soa/soa/modules/oracle.soa.ext_
11.1.1/oracle.soa.ext.jar
BUILD SUCCESSFUL
Total time: 0 seconds

5. サーバーを再起動します。

11 SOAコンポジット・アプリケーションのビジネス・フロー・インスタンスの管理

この章では、アプリケーションのテスト・インスタンスの起動およびSOAコンポジット・アプリケーションのビジネス・フロー・インスタンスのトラッキングなどの、SOAコンポジット・アプリケーションのビジネス・フロー・インスタンスの管理方法について説明します。

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

- ビジネス・フローのテスト・インスタンスの起動

- SOAコンポジット・アプリケーション・レベルでのビジネス・フロー・インスタンスのトラッキング

11.1 ビジネス・フローのテスト・インスタンスの起動

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

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

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

「コンポジット」メニューからアクセスする手順

a. 「ホーム」を選択します。

b. 「デプロイ済コンポジット」タブを選択します。

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

d. コンポジットのホーム・ページ上部で、「テスト」をクリックします。

a. 「soa-infra」の下にあるパーティションを展開します。

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

c. コンポジットのホーム・ページ上部で、「テスト」をクリックします。

a. 「サービスのテスト」→「client_name」の順に選択します。

注意:

次の場合は、「テスト」ボタンが無効になります。

- SOAコンポジット・アプリケーションのリビジョンが停止状態またはリタイア状態の場合。

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

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

このページには、インスタンスを起動するための様々なオプションが用意されています。少なくとも、使用するXMLペイロード・データをページの下部にある「引数の入力」セクションに指定する必要があります。このページのフィールドの詳細は、右上隅の「weblogic」メニューから「ヘルプ」→「このページのヘルプ」の順に選択します。

「Webサービスのテスト」ページの使用方法の詳細は、Webサービスの管理を参照してください。

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

フィールド

説明

WSDLまたはWADL解析

WSDLまたはWeb Application Description Language (WADL)ファイルを変更する場合は、このリンクをクリックしてファイルをリロードします。

WADLファイルは、REST操作で使用します。詳細は、『Oracle SOA SuiteでのSOAアプリケーションの開発』の「SOAコンポジット・アプリケーションでのREST操作の統合」を参照してください。

リビジョン番号が含まれていない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)は、デフォルトとして設定されたコンポジット・リビジョンによって処理されます。

WSDLまたはWADLアクセスのためのHTTP Basic認証オプション

クリックすると、ユーザー名とパスワード資格証明をHTTPトランスポート・ヘッダーに挿入できます。「ユーザー名」および「パスワード」フィールドは両方とも必須です。

操作

「操作」メニューからテストする操作を選択します。使用可能なオプションはWSDLにより決定されます。

RESTサービスをテストするには、GETまたはPOSTサービス・ポート操作を選択します。

エンドポイントURLの編集

クリックすると、エンドポイントURLを編集できます。

3. 次の各フィールドではデフォルト値をそのまま使用するか、使用するテスト環境に適した値を入力します。
「Webサービスのテスト」ページの下部には、「リクエスト」タブがあります。このタブでは、セキュリティ、サービスのクオリティ、HTTPトランスポート、ストレス・テスト・オプションおよびXML入力引数を指定できます。

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

フィールド

説明

OWSMセキュリティ・ポリシー

WS-SecurityのSOAPヘッダーを挿入します。「ユーザー名」フィールドは必須で、「パスワード」フィールドはオプションです。このオプションを選択すると、ページがリフレッシュされて選択項目のセキュリティ・ポリシーが表示されます。

HTTP Basic認証

ユーザー名とパスワード資格証明をHTTPトランスポート・ヘッダーに挿入します。「ユーザー名」および「パスワード」フィールドは両方とも必須です。

拡張

カスタム・ポリシーを使用してユーザーを認証します(カスタム・ポリシーのURIを指定します)。「ユーザー名」および「パスワード」フィールドはオプションです。

なし

セキュリティ資格証明を指定しない場合に選択します。これはデフォルト選択です。

RESTサービスのテスト時に、SOAPプロトコルは使用されません。セキュリティ・オプションは、「HTTP Basic認証」と「なし」のみです。

4. 次の各フィールドではデフォルト値をそのまま使用するか、使用するテスト環境に適した値を入力します。
「サービスのクオリティ」セクションでは、信頼できるメッセージング(WS-RM)、メッセージ転送最適化メカニズム(MTOM)またはWSアドレスをテストできます。このセクションは、RESTサービスのテスト時には使用できません。このセクションには、次のフィールドがあります。

フィールド

説明

WS-RM

次のオプションのいずれかを選択して、「WS信頼できるメッセージング」プロトコル・ポリシーをテストします。信頼できるメッセージング・ポリシーによって、このプロトコルがサポートされ、メッセージのエンドツーエンド配信が保証されます。

- 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-Addressingポリシーをテストします。WS-Addressingポリシーによって、WS-Addressing仕様に準拠したWS-AddressingヘッダーがSOAPメッセージに含まれていることが検証されます。

- WSDLデフォルト: WSDLのデフォルト動作を実行します。たとえば、WSDLにWS-Addressingポリシーへの参照が含まれる場合は、そのポリシーが適用されます。WSDLにWS-Addressingポリシーへの参照が含まれない場合、WS-Addressingはテストされません。

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

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

5. 次の各フィールドではデフォルト値をそのまま使用するか、使用するテスト環境に適した値を入力します。
「HTTPヘッダー」セクションでは、Webサービスにリクエスト情報を渡すHTTPヘッダーを追加、変更または削除できます。このセクションは、RESTサービスのテスト時には使用できません。このセクションには、次のフィールドがあります。

フィールド

説明

追加

クリックすると、HTTPヘッダーに新しい行を追加して、「名前」および「値」フィールドに適切な情報を入力できます。

削除

このカーソルを「名前」または「値」フィールドのいずれかに置いてクリックすると、選択したHTTPヘッダー行を削除できます。

6. 次の各フィールドではデフォルト値をそのまま使用するか、使用するテスト環境に適した値を入力します。
「追加テスト・オプション」セクションには、次のフィールドがあります。このセクションでは、複数インスタンスを同時に起動する簡単なストレス・テストを指定します。

注意:

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

フィールド

説明

ストレス・テストの有効化

「有効化」をクリックして、簡単なストレス・テストを作成します。このオプションを有効にすると、対話IDは表示されません。

同時スレッド

起動を送信する同時スレッドの数を入力します。デフォルトは5スレッドです。

スレッドごとのループ

操作を起動する回数を入力します。デフォルトは10回です。

ミリ秒単位の遅延

次の操作を起動するまでの遅延をミリ秒単位で指定します。デフォルトは1000ミリ秒(1秒)です。

非同期レスポンス・テスト

非同期Webサービスをテストする場合は、これはテストの実行時に非同期レスポンスをリクエストするかどうかを指定します。

- リソース・キー: 非同期Webサービスのテスト時に、非同期レスポンスと相関する値(testkeyなど)を入力します。各レスポンス・キーは一意である必要があります。非同期レスポンスは、後で非同期レスポンス・テスト・ページで、関連付けたレスポンス・キーを指定して追跡することもできます。

- なし: リソース・キーを指定しない場合に選択します。

7. 次の各フィールドではデフォルト値をそのまま使用するか、使用するテスト環境に適した値を入力します。
「引数を入力」セクションには、XMLペイロード・データを入力するための次のフィールドがあります。

フィールド

説明

ツリー表示

情報を入力するテキスト・フィールドのグラフィカル・インタフェースが表示されます。このフィールドを選択すると、必要なヘッダーとXML構造が自動的に生成されます。

XML表示

値の挿入のためのXMLファイル形式が表示されます。このフィールドには、メッセージのraw XMLペイロードを貼り付けることができます。

検証の有効化

入力引数の検証を有効にする場合に選択します。

8. 「Webサービスのテスト」をクリックします。
テストを終了すると、「レスポンス」タブに結果が表示されます。

注意:

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

9. 「フロー・トレースの起動」をクリックして、インスタンスのフロー・トレースにアクセスします。新しいフロー・インスタンスのIDは、「フローのトレース」ページの右隅に表示されます。

10. コンポジットのホーム・ページに戻るには、ページの上部に表示されるコンポジット名をクリックするか、コンポジット・ターゲット・メニューから「ホーム」を選択します。コンポジットのホーム・ページで、「フロー・インスタンス」をクリックし、「最新のインスタンス」をクリックします。新しいテスト・インスタンスが、インスタンス表の上部に表示されます。

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

- インスタンスの概念の詳細は、「ビジネス・フロー・インスタンスの概要」を参照してください

- ポリシーの概要については、「ポリシーの概要」を参照してください

- 「Webサービスのテスト」ページからのWebサービスのテストおよびポリシーに関する具体的な詳細は、Webサービスの管理を参照してください。

11.1.1 「Webサービスのテスト」ページでのRPC/リテラル・スタイルのWSDLファイルの指定

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

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

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

11.2 SOAコンポジット・アプリケーション・レベルでのビジネス・フロー・インスタンスのトラッキング

SOAインフラストラクチャおよび個々のパーティションでのビジネス・フロー・インスタンスのトラッキングの他に、特定のSOAコンポジット・アプリケーションの「フロー・インスタンス」ページのインスタンスもトラッキングできます。1つのビジネス・フロー・インスタンスは、1つのエンドツーエンド・ビジネス・トランザクションに相当します。ビジネス・フローは、単一のSOAコンポジット・アプリケーションまたは特定のビジネス・プロセスを実現するために組み合された複数のSOAコンポジット・アプリケーションで構成されます。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「ホーム」を選択します。

b. 「デプロイ済コンポジット」タブを選択します。

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

a. 「soa-infra」の下にあるパーティションを展開します。

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

2. 「フロー・インスタンス」をクリックします。

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

- 包括的なインスタンスおよびフォルト検索基準を指定して保存し、「検索」を実行するためのユーティリティ。

注意:

「フロー・インスタンス」ページに初めてアクセスする場合、「検索結果」表は空です。「検索」をクリックして、この表にビジネス・フロー・インスタンスの詳細を移入する必要があります。

- 「検索結果」表。この表には、ビジネス・フローを一意に識別するフロー・トレースID、ビジネス・フローを起動するコンポジット(ビジネス・フローは複数のコンポジットにまたがることができます)、フロー・インスタンスの状態(正常に完了しました、実行中、失敗、リカバリが必要、など)、インスタンス起動時間、インスタンスへの最終更新、このフローが起動されたパーティション、フロー・インスタンス名(設計時にBPELプロセスまたはOracle Mediatorサービス・コンポーネントで設定された場合)およびログ・ファイルへのリンクが表示されます。表にその他の列を表示するには、「表示」→「列」の順に選択します。

注意:

個々のSOAコンポジット・アプリケーションの「フロー・インスタンス」ページには、「エラー・ホスピタル」ページへのリンクはありません。その機能にアクセスするには、SOAインフラストラクチャまたは個々のパーティションの「フロー・インスタンス」ページに移動し、同様の条件で検索を実行し、検索を該当するSOAコンポジット・アプリケーションに限定します。

次のビジネス・フロー・インスタンスのタスクを実行できます。

- ビジネス・フローの検索基準の指定と保存

- ビジネス・フロー・インスタンスの削除または終了

- ビジネス・フロー・インスタンスの現在の状態の表示

- ビジネス・フロー・インスタンスでのフォルトからのリカバリ

- ビジネス・フロー・インスタンスのコンポジット・センサー値の表示

- ビジネス・フロー・インスタンスでの開始SOAコンポジット・アプリケーションと参加SOAコンポジット・アプリケーションの表示

- ビジネス・フロー・インスタンスのリシーケンス・グループの表示

12 データベース増分管理戦略の策定

この章では、データベースの最適なプロファイルまたはサイズの決定、領域使用量、ハードウェア・リソースおよびデータベース・パフォーマンスの監視、増分管理の課題およびテスト戦略について、および領域管理についてなど、データベースの増分管理戦略の策定戦略を説明しています。

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

- データベース増分計画の概要

- データベースのプロファイルまたはサイズの確認

- 領域使用量、ハードウェア・リソース、およびデータベース・パフォーマンスの監視

- 増分管理の課題およびテスト戦略の理解

- 領域管理の理解

パージ・スクリプトおよびコンポーネント表のパーティション化の詳細は、「データベースの増分の管理」を参照してください。

トラブルシューティングの詳細は、「パラレル・パージと表のパーティション化の問題」を参照してください。

注意:

この章は、データベース管理者を対象としています。

12.1 データベース増分計画の概要

Oracle SOA Suite 12c のインストールでは、Oracle SOA Suiteデータベースの増分管理など、データベース管理者にかかわる課題がいくつか存在します。データベース管理の重要性を軽視すると、データベースが本番環境に移行したときに問題が発生する可能性があります。この章は、適切な戦略の決定に役立つもので、また、キャパシティ・プランニング、テストおよび監視の必要性に重点を置いています。

推奨される戦略は、Oracle SOA Suiteインストールのプロファイルまたは予測サイズを基準にします。戦略を実装するツールおよび技術はわかりやすく、推奨事項の単純化に役立ちます。ただし、これは設計どおりに実装しなければならない特定のツール・セットを使用するように管理者を制限するものではありません。

増分管理戦略の効率性およびリソース要件の決定には、テストと監視が必要です。テストにより、ツール、データベースおよびハードウェア・リソースのすべてをまとめて、現在および将来のデータベース増分予測のニーズに合致することが保証されます。

12.2 データベースのプロファイルまたはサイズの確認

ここでは、Oracle SOA Suiteデータベースのプロファイルまたはサイズを確認して、最適な増分管理戦略を決定する戦略を説明します。詳細は、「増分管理の課題およびテスト戦略の理解」を参照してください。

ディスク領域使用量の概算のためにこの項で詳述する計算は、全体的な領域キャパシティ・プランニングの実施に置き換わるものではありません。ただし、この推定は適切な増分管理戦略の結論の導出には十分ですが、ディスクキャパシティ・プランニングの必要性も重要事項です。

注意:

この項の領域計算の説明の詳細では、「領域使用量、ハードウェア・リソース、およびデータベース・パフォーマンスの監視」を頻繁に参照します。

表12-1は、毎日永続的に使用されるコンポジット領域および最小保持領域に基づいて、小規模、中規模および大規模なインストールのプロファイルを示しています。保存ポリシーで数日間以上データを保持できなくてもインスタンスのインフローが高くなることがあるため、これら2つのメトリックは、and/or条件に関連します。

表12-1 Oracle SOA Suiteのデータベース・プロファイル

データベース・プロファイル

毎日永続するコンポジット領域

最小保持領域

小

< 10 GB

< 100 GB

中

10-30 GB

100-300 GB

大

> 30 GB

> 300 GB

12.2.1 データのインフローの確認

コンポジット・インフローおよび領域使用量の比率は、長期間の負荷テスト後に導出される平均として最適であると理解されます。これによって、割り当てられた領域(セグメントのエクステント)の利用を改善できます。インフローを把握するため、次のデータ・ポイントが調査されます。

- 毎日生成されるインスタンス数の確認。

- 各インスタンスが使用するディスク領域の確認。

- 毎日永続的に使用されるコンポジット領域の確認。

- セグメントの領域配分の分析。

12.2.1.1 毎日生成されるインスタンス数の確認

次の計算式を使用して、毎日生成されるインスタンス数を確認します。

Daily-inflow-composite = (Instance Total / Period)

たとえば、合計コンポジット件数100,000で5日間の負荷テストを行い、それに基づいて生成されるインスタンスの平均数を計算します。

(20,000 = (100,000 / 5))

詳細は、「コンポーネントの増加傾向の判定」を参照してください。

12.2.1.2 各インスタンスが使用するディスク領域の確認

次の計算式を使用して、各インスタンスが使用するディスク領域を確認します。

Inflow-space-per-instance = (SOA Schema Size /Instance Total)

たとえば、合計コンポジット数100,000、およびOracle SOA Suiteスキーマ・サイズ約200GBで、各インスタンスが使用する平均ディスク領域を計算します。

(2MB = (200 GB / 100,000))

詳細は、「スキーマの増加傾向の判定」を参照してください。

12.2.1.3 毎日永続的に使用されるコンポジット領域の確認

次の計算式を使用して、毎日永続的に使用されるコンポジット領域を確認します。

Daily-inflow-composite-space = (Daily-inflow-composite * Inflow-space-per-composite)

たとえば、それぞれが2MBの20,000個のコンポジットで、毎日コンポジットが使用する平均ディスク領域を計算します。

(40 GB = (20,000 * 2 MB))

別の方法の例を示します。

Daily-inflow-composite-space = (SOA Schema Size / Period)

12.2.1.4 Oracle SOA Suiteセグメントの領域配分の分析

Oracle SOA Suiteのスキーマの形状を分析して、セグメント領域(表、索引およびラージ・オブジェクト(LOB))の配分を把握し、問題となる可能性がるセグメントを特定できるようにします。

- コンポジットの増加傾向を判定します。詳細は、「コンポーネントの増加傾向の判定」を参照してください。

- 日次の負荷テスト後にコンポーネントの統計を収集して、平均増分を判定できるようにします。

- Oracle SOA Suiteスキーマの増加傾向を判定します。詳細は、「スキーマの増加傾向の判定」を参照してください。

- 日次の負荷テスト後にスキーマ・サイジングの統計を収集して、平均増分を判定できるようにします。

- 最大セグメントを判別します。詳細は、「最大セグメントの判別」を参照してください。

- 表と索引の増加傾向を判定します。詳細は、「表と索引の増加傾向の判定」を参照してください。

- 表および索引の増加統計は、自動ワークロード・リポジトリ(AWR)によって自動的に収集されます。

詳細は、「コンポーネントの増加傾向の判定」を参照してください。

12.2.2 保存ポリシーの策定

コンポジットをデータベース内に保存する期間を検討する必要があります。これはOracle SOA Suiteのスキーマおよびパージ・スクリプトのパフォーマンスに影響します。保存ポリシーに影響するファクタ次のとおりです。

- 法律的な要件

- ライン・オブ・ビジネスの要件

- データの保存に関する全般的な会社のポリシー

保存ポリシーが長くなるほど、格納する必要があるデータの量が増加し、それに応じて必要なディスク容量も多くなります。

12.2.2.1 最小保存ディスク領域の決定

次の計算式を使用して、最小保存ディスク領域を確認します。Daily-inflow-composite-spaceの詳細は、「毎日永続的に使用されるコンポジット領域の確認」を参照してください。

Min-space-retain = Daily-inflow-composite-space * Retention Period in days

たとえば、毎日永続的に使用されるコンポジット領域40GB、保存期間10日間で最小保存ディスク領域を計算します。

(400 GB = (40 GB * 10))

12.2.2.2 最小保存コンポジット数の判定

次の計算式を使用して、最小保存コンポジット数を確認します。Daily-inflow-composite確認の詳細は、「毎日生成されるインスタンス数の確認」を参照してください。

Min-composites-retain = Daily-inflow-composite * Retention Period in days

たとえば、毎日作成されるコンポジット数20,000、および保存期間10日間で最小保存コンポジット数を計算します。

(200,000 = (20,000 * 10))

これにより、10日間の保存ポリシーに基づいて、200,000個のコンポジットが平均400GBのデータを保存すると述べることができます。

注意:

前述の計算により、最小ディスク領域使用量の概算が定義されます。実際の最小ディスク領域使用量は、品質保証テストによってより正確に判定されます。詳細は、「品質保証テスト」を参照してください。

12.2.3 データのアウトフローの確認

コンポジットのアウトフローは、削除されたインスタンス数の測定です。これはデータベース・プロファイルの決定時のファクタではありませんが、増分管理戦略の効率の評価時に重要なメトリックです。

アウトフロー測定の目標は、次の事項を確認することです。

- インフローが削除可能であること。

- できれば、領域使用量の安定状態が最小保存ディスク領域使用量を少し上回るものであること。

詳細は、「最小保存ディスク領域の決定」を参照してください。

次の2つのサイクルを最初に定義する必要があります。

- パージ・サイクル: パージ・スクリプトの複数回の実行が必要になる可能性がある期間を指します。

- メンテナンス・サイクル: すべての領域管理操作の実行が必要な日数を指します。詳細は、「データファイルのコンポーネントの概要」を参照してください。

適切な増分管理戦略には、パージとパーティション化の両方が含まれる場合があります。したがって、アウトフローは適切なパーティションが削除されるまで測定できません。パーティションの削除はメンテナンス操作です。このため、メンテナンス・サイクルが終了するまではアウトフローを測定しても有意義ではありません。

メンテナンス・サイクルの前後に次のメトリックを取得することで、戦略の効率性を把握し、領域配分を再評価できます。

- コンポジットの増加傾向を判定します。詳細は、「コンポーネントの増加傾向の判定」を参照してください。

- Oracle SOA Suiteスキーマの増加傾向を判定します。詳細は、「スキーマの増加傾向の判定」を参照してください。

- 最大セグメントを判別します。詳細は、「最大セグメントの判別」を参照してください。

- 表と索引の増加傾向を判定します。詳細は、「表と索引の増加傾向の判定」を参照してください。

注意:

安定状態に達している場合、コンポーネントおよびスキーマの増分に関するメトリックの前後の差はゼロに近い数値またはマイナスになります。それ以外の場合は、パージ戦略で対処できていないか、データのインフローが増加している可能性があります。

12.2.4 長期間実行されるコンポジットおよび表のパーティション化の確認

長期間実行されるコンポジットは、保存期間より長期にわたってオープンしているコンポジットです。これらのコンポジットはパージ・スクリプトに大きく関係しませんが、表のパーティション化の実装時に影響が感知されます。(「増分管理の課題およびテスト戦略の理解」では、中規模および大規模のインストールでは表のパーティション化を検討するようにお薦めしています。)

パーティション化された表は、その領域がデータベースのALTER TABLE ... DROP PARTITIONコマンドによって再利用されるため、パージ・スクリプトの対象から除外されます(また、除外する必要があります)。長期間実行されるコンポジットは、必要とされる保存期間を超えてオープンした状態で保持されるため、パーティションの削除は行われず、領域の再利用は行われません。したがって、パーティション化された表のサイズを推定する際は、使用される保存期間を実行期間が最長のコンポジットと同じにする必要があります。

Retention period = Longest Running Composite

「増分管理の課題およびテスト戦略の理解」で説明しているように、長時間実行されているトランザクションの領域影響やパーティション表のサイズは、品質保証テストを行うと最も正確に理解できます。ただし、パーティション化された各表で使用される領域を推定する場合は、次の各項の計算を使用してください。

12.2.4.1 パーティション化する各表に対する推奨事項

数日以上の期間にわたって表に負荷をかけて合理的な平均を生成する方法が最も適しています。表12-2に詳細を示します。

表12-2 表のパーティション化の推奨事項

アクション

コマンド

各表で毎日生成される平均の行数を判定します。

(Total rows / period)

最も長く実行されるコンポジットに基づいて、行数を推定します。

((Total rows / period) * Longest running composite in
days)

行の計算に基づいて表と索引の領域使用量を推定します。

「表サイズの推定」および「索引サイズの推定」を参照してください。

注意:

Oracle SOA Suiteリリース11g R1 (11.1.1.6)では、行移行と呼ばれるスクリプトのセットが提供されていました。これらのスクリプトは、パーティション間で長期間実行されるコンポジットを移動し、これによってパーティションの削除を容易にします。ただし、ベスト・プラクティスはパーティション表の領域所要量を計画することであり、行移行スクリプトに依存することではありません。

12.3 領域使用量、ハードウェア・リソース、およびデータベース・パフォーマンスの監視

次の各項では、領域使用量の監視方法について説明します。

- コンポーネントの増加傾向の判定

- スキーマの増加傾向の判定

- 最大セグメントの判別

- 表と索引の増加傾向の判定

- 表サイズの推定

- 索引サイズの推定

- 未使用索引の監視

次の各項では、ハードウェア・リソースとデータベース・パフォーマンスの監視方法を説明します。

- ハードウェア- OSWatcher Black Box

- データベース - AWR/ADDM

- ディスクI/O - Oracle Orion

12.3.1 領域の使用量の監視

領域の監視は、データベース管理者およびシステム管理者にとって計画外停止を回避するための重要な作業です。ここでは、キャパシティ・プランニングおよび増分管理戦略の効率性の判定に役立つアドバイスを提供します。監視およびキャパシティ・プランニングのあらゆる側面の包括的なガイドを提供するものではありません。

12.3.1.1 コンポーネントの増加傾向の判定

コンポーネントのマスター表には、各行の作成日付が記録され、特定期間の増加傾向の判定に使用されます。

- SCA_FLOW_INSTANCE: CREATED_TIME

- CUBE_INSTANCE: CREATION_DATE

ただし、コンポーネントのマスター表への問合せは、定期的なパージによってデータが削除されるために制限され、傾向の予測を困難にします。特定期間全体の傾向を判定するには、関連付けられたタイムスタンプとともにデータを定期的に収集する必要があります。これは、毎日移入される単純なコンポーネント履歴表によって実現できます。増分管理戦略の効率性および増加傾向の判定にはこの表で十分になります。

- パフォーマンス上の理由により、次の例に示すように履歴表をコンポーネント別に作成することが最適である可能性があります。

SQL> CREATE TABLE SOA_FABRIC_HIST (SFH_DATE TIMESTAMP, SFH_COUNT NUMBER);

SQL> INSERT INTO SOA_FABRIC_HIST SELECT SYSTIMESTAMP, COUNT(*) FROM
SCA_FLOW_INSTANCE GROUP BY SYSTIMESTAMP;

SQL> CREATE TABLE SOA_BPEL_HIST (SBH_DATE TIMESTAMP, SBH_COUNT NUMBER);

SQL> INSERT INTO SOA_BPEL_HIST SELECT SYSTIMESTAMP, COUNT(*) FROM CUBE_INSTANCE
GROUP BY SYSTIMESTAMP;

このようになります。

- 表の分析であれば、各コンポーネント表での行数のカウントの代替方法として、USER_TABLESからNUM_ROWS列を問い合せます。

12.3.1.2 Oracle SOA Suiteスキーマの増加傾向の判定

Oracle SOA Suiteスキーマに作成されるオブジェクト(表、索引およびLOB)は、多様な表領域に拡散している場合がありますが、領域使用量をグループ化するためすべて同じ所有者(*soainfra)になります。各コンポジットの領域所要量を判定する際は、索引とLOBセグメントが反映されるため、スキーマ全体を測定することで優れた領域メトリックを取得できます。

単純な履歴表に毎日移入することで、Oracle SOA Suiteスキーマの増加を監視できます。領域管理の効率性の判定にはこの表で十分になります。詳細は、「領域管理の理解」を参照してください。

- 次の例で示すように、オブジェクト・タイプに基づきスキーマの増分表を作成します。

SQL> CREATE TABLE SOA_SIZE_SCHEMA_HIST (SSCH_DATE TIMESTAMP, SSCH_SUM_MB
NUMBER);

SQL> INSERT INTO SOA_SIZE_SCHEMA_HIST SELECT SYSTIMESTAMP, SUM(BYTES)/1024/1024
FROM DBA_SEGMENTS WHERE OWNER='<SOA_OWNER>' GROUP BY SYSTIMESTAMP;

- 最大セグメントと結合してパーティション化や不足領域管理が必要な表を確認する際は、必要に応じて、オブジェクト・タイプ別(表、索引、LOBなど)の履歴表を作成すると便利です。次の例は、履歴表を作成します。

SQL> CREATE TABLE SOA_SIZE_TYPE_HIST (SSCH_DATE TIMESTAMP, SSCH_TYPE
VARCHAR2(18), SSCH_SUM_MB NUMBER);

SQL> INSERT INTO SOA_SIZE_TYPE_HIST SELECT SYSTIMESTAMP, SEGMENT_TYPE,
SUM(BYTES)/1024/1024 FROM DBA_SEGMENTS WHERE OWNER='SOA_OWNER' GROUP BY
SYSTIMESTAMP, SEGMENT_TYPE;

12.3.1.3 最大セグメントの判別

スキーマ内でどのセグメントが最大であるかを把握することは、レンジ・パーティション化された表として管理することが適している表の判別に役立ちます。さらに、最大セグメントを監視することで、不足している領域管理操作や不適切な監査設定を発見できる可能性もあります。

- 次の例に示すように、Oracle SOA Suiteスキーマの最大から20個までのセグメントを特定します。

SQL> SELECT SEGMENT_NAME, SEGMENT_TYPE, (SUM(BYTES)/1024/1024) MB_SIZE FROM
DBA_SEGMENTS WHERE OWNER='SOA_OWNER' AND ROWNUM < 20 GROUP BY SEGMENT_NAME,
SEGMENT_TYPE ORDER BY 3 DESC;

- 次の例に示すように、最大セグメントはLOBセグメントである可能性があります。

SQL> SELECT L.TABLE_NAME, S.SEGMENT_NAME, (SUM(BYTES)/1024/1024) MB_SIZE FROM
DBA_LOBS L, DBA_SEGMENTS S WHERE S.OWNER='<SOA_OWNER>' AND S.SEGMENT_TYPE =
'LOBSEGMENT' AND S.SEGMENT_NAME = L.SEGMENT_NAME AND S.OWNER='SOA_OWNER''
GROUP BY L.TABLE_NAME, S.SEGMENT_NAME;

または

SQL> SELECT L.TABLE_NAME FROM DBA_LOBS L WHERE L.OWNER ='<SOA_OWNER>' AND
L.SEGMENT_NAME = ‘SEGMENT_NAME';

- 個別のセグメントのサイズの判定は次のとおりです。

SQL> SELECT SEGMENT_NAME, (SUM(BYTES)/1024/1024) MB_SIZE FROM DBA_SEGMENTS
WHERE OWNER='SOA_OWNER' AND SEGMENT_NAME = ‘TABLE_NAME' GROUP BY SEGMENT_
NAME;

12.3.1.4 表と索引の増加傾向の判定

DBMS_SPACEパッケージのOBJECT_GROWTH_TREND関数を使用して、表の領域増加傾向を示します。詳細は、Oracle Database管理者ガイドを参照してください。

DBMS_SPACEパッケージ・プロシージャのOBJECT_GROWTH_TREND関数では、特定の時点におけるオブジェクトの領域使用が各行に記述された1行以上の表が作成されます。この関数は、AWRから領域合計を取得するか、現在の領域を計算して、AWRから取得した領域の変化履歴と結合します。

次の例は、SCA_FLOW_INSTANCE表の使用済および割当て済領域の時間経過による増加を示しています。

SQL> SELECT TIMEPOINT, SPACE_USAGE, SPACE_ALLOC, QUALITY FROM TABLE (DBMS_
SPACE.OBJECT_GROWTH_TREND ('DEV_SOAINFRA','SCA_FLOW_INSTANCE','TABLE'));

次の例は、dbms_space.object_growth_trendプロシージャの完全な構文を示します。

dbms_space.object_growth_trend (
object_owner in varchar2,
object_name in varchar2,
object_type in varchar2,
partition_name in varchar2 default null,
start_time in timestamp default null,
end_time in timestamp default null,
interval in dsinterval_unconstrained default null,
skip_interpolated in varchar2 default 'false',
timeout_seconds in number default null,
single_datapoint_flag in varchar2 default 'true')

表12-3は、object_growth_trend関数のパラメータの説明です。

表12-3 OBJECT_GROWTH_TRENDファンクションのパラメータ

パラメータ

説明

object_owner

オブジェクトを含むスキーマ。

object_name

オブジェクトの名前。

OBJECT_TYPE

オブジェクトのタイプ。

partition_name

関連する場合は、表または索引パーティションの名前。関連しない場合はNULLを指定します。

start_time

増加傾向分析の開始を示すタイムスタンプ値。

end_time

増加傾向分析の終了を示すタイムスタンプ値。デフォルトはNOWです。

interval

間隔であるか(yes)、そうでないか(no)。この設定は、結果表がグラフではなく表として表示される場合に便利です。これは、実際の記録間隔が要求されたレポート間隔とどのように関連しているかをより明確に確認できるためです。この関数は、行ごとに1つの間隔のオブジェクトの領域使用情報が表示された表を返します。返される表が非常に大きい場合は、情報が作成されると同時に別のアプリケーションが使用できるように結果がパイプライン化されます。

skip_interpolated

欠落値の補間をスキップするかどうかを指定します(trueまたはfalse)。

timeout_seconds

関数のタイムアウト値(秒)。

single_data_point_flag

統計がないときにセグメントをサンプリングするかどうかを指定します。

返される値を次の例で示します。

TYPE object_growth_trend_row IS RECORD(
timepoint timestamp,
space_usage number,
space_alloc number,
quality varchar(20));

表12-4は、object_growth_trend_rowの戻り値の説明です。

表12-4 OBJECT_GROWTH_TREND_ROWの戻り値

パラメータ

説明

timepoint

レポート間隔の時間を示すタイムスタンプ値。最も古いオブジェクトの記録統計よりも前のtime値の記録は作成されません。

space_usage

オブジェクト・データとして実際に使用されているバイト数。

space_alloc

その時点で表領域のオブジェクトに割り当てられていたバイト数。

quality

要求されたレポート間隔と実際の統計記録が一致している程度を示す値。オブジェクト・サイズ使用統計には保証されているレポート間隔はなく、実際のレポート間隔は時間の経過およびオブジェクトによって変わるため、この情報が役立ちます。

- good: 記録されたタイムスタンプが入力パラメータで指定したintervalの10%以内である記録統計に、timeの値が常に基づいている場合の値。この関数から戻る出力は、Oracle Real Application Clusters環境のすべてのインスタンスで記録された値の集合です。各値は、goodおよびinterpolated値の組合せから計算できます。その値の80%以上がgoodのインスタンス値から導出された場合、戻される集計値はgoodとマークされます。

- interpolated: 値がgoodの基準を満たしていないが、time値の前後の記録統計に基づいている場合。現在のメモリー内統計は、クラスタ内のすべてのインスタンスで収集でき、現時点の記録値として扱うことができます。

- projection: 表が作成された時点でtime値が未来であった場合。Oracle Real Application Clusters環境では、統計の記録ルールによって、どのオブジェクトが選択されるかを各インスタンスが独自に選択できるようになっています。

12.3.1.5 表サイズの推定

dbms_spaceパッケージのcreate_table_costプロシージャを使用すると、既存の表の予想行数を使用するか、表の列定義に基づいて表のサイズを推定できます。表のサイズは、このプロシージャからの表領域の記憶域属性に従って大きく異なる場合があります。このプロシージャには、次の2つのオーバーロードがあります。

- 最初のプロシージャは、表の列情報を取得します。

- 2番目のプロシージャは、表の平均行サイズを取得します。

Oracle SOA Suiteの表は既存のため、2番目のバリアントが最も有益です。次の例は、10000行があり、行の長さの平均が360で、PCT FREEが10の表CUBE_INSTANCEのサイズを推定しています。

1. 次のコマンドを実行します。行の長さの平均と現在のPCT_FREEは、表が分析されていることが確認された後にDBA_TABLESから導出されます。

SQL> SELECT AVG_ROW_LEN, PCT_FREE FROM DBA_TABLES WHERE TABLE_NAME =
'CUBE_INSTANCE' AND OWNER = 'DEV_SOAINFRA';

2. dbms_space.create_table_costプロシージャを実行します。

set serverout on
declare

v_used number(10);
v_alloc number(10);

begindbms_space.create_table_cost
('SOA1_SOAINFRA',360,10000,10, v_used,v_Alloc);
dbms_output.put_line('used bytes: ' || to_char(v_used));
dbms_output.put_line('allocated bytes: ' || to_char(v_alloc));

end;
/

次の例は、列定義に基づいて表の領域使用量を推定しています。

set serveroutput on
declare

v_used_bytes number(10);
v_allocated_bytes number(10);
v_type sys.create_table_cost_columns;

begin

v_type := sys.create_table_cost_columns
( sys.create_table_cost_colinfo('number',9),
sys.create_table_cost_colinfo('varchar2',50),
sys.create_table_cost_colinfo('varchar2',15),
sys.create_table_cost_colinfo('date'f,null),
sys.create_table_cost_colinfo('date'f,null) );
dbms_space.create_table_cost
('users',v_type,10000,7,v_used_bytes,v_allocated_bytes);
dbms_output.put_line('used bytes: ' || to_char(v_used_bytes));
dbms_output.put_line('allocated bytes: ' || to_char(v_allocated_bytes));
end;
/

dbms_space.create_table_costプロシージャの完全な構文を次の例で示します。

- 最初のオーバーロード:

dbms_space.create_table_cost (tablespace_name in varchar2,
colinfos in create_table_cost_columns, row_count in number,
pct_free in number, used_bytes out number,
alloc_bytes out number); create type
create_table_cost_colinfo is object (col_type varchar(200),
col_size number);

- 2番目のオーバーロード:

dbms_space.create_table_cost (tablespace_name in varchar2,
avg_row_size in number, row_count in number, pct_free in number,
used_bytes out number, alloc_bytes out number);

いずれのバリアントでも、表12-5および表12-6に示された入力が必要です。

表12-5 CREATE_TABLE_COSTプロシージャのパラメータ

パラメータ

説明

tablespace_name

オブジェクトが作成される表領域。デフォルトはSYSTEM表領域です。

row_count

表の予測行数。

pct_free

更新の結果、既存の行を将来拡張するために各ブロックで確保される空き領域の割合(パーセンテージ)。

さらに、最初のバリアントには、入力値としてavg_row_sizeも必要で、これは予測された行の平均サイズをバイト単位で示します。

また、2番目のバリアントは、予想された各列値をcolinfosで指定する必要があります。この値は、属性col_type(列のデータ型)とcol_size(列の文字数またはバイト数)で構成されるオブジェクト型です。

表12-6 CREATE_TABLE_COSTプロシージャの戻り値

パラメータ

説明

used_bytes

ブロック・メタデータ、PCT_FREE領域などのオーバーヘッドを含め、データとして使用される実際のバイト数。

alloc_bytes

表領域のエクステントの特性を考慮してオブジェクトに割り当てられる予測領域量。

12.3.1.6 索引サイズの推定

dbms_spaceパッケージのcreate_index_costプロシージャを使用すると、既存の表での索引作成の領域使用コストを推定できます。これを使用して、Oracle SOA Suiteスキーマに索引を追加する際のコストを判定します。

次の例は、データ定義言語(DDL)に基づいて新しい索引のサイズを推定します。

set serveroutput on
declare
v_used_bytes number(10);
v_allocated_bytes number(10);
begin
dbms_space.create_index_cost(
‘create index cube_index on cube_instance(cikey)'
v_used_bytes, v_allocated_bytes);
dbms_output.put_line(‘used bytes: ‘ || to_char(v_used_bytes));
dbms_output.put_line(‘allocated bytes: ‘|| to_char(v_allocated_bytes));end; /

DBMS_SPACE.CREATE_INDEX_COSTプロシージャの完全な構文は次のとおりです。

dbms_space.create_index_cost (ddl in varchar2, used_bytes out number,
alloc_bytes out number, plan_table in varchar2 default null);

このプロシージャには、表12-7に示された入力値が必要です。

表12-7 DBMS_SPACE.CREATE_INDEX_COSTの値

パラメータ

説明

ddl

索引を作成するCREATE INDEX文。DDL文は既存の表に対するものである必要があります。

plan_table

(オプション)使用する計画表の名前。デフォルトはnullです。このプロシージャから戻る結果は、セグメントに対して収集された統計によって異なります。したがって、このプロシージャを実行する直前に必ず統計を取得してください。最近の統計がない状態でもエラーになりませんが、不適切な結果が戻る可能性があります。このプロシージャでは、次の値が戻ります。

- used_bytes
実際の索引データに相当するバイト数。

- alloc_bytes
表領域の索引に割り当てられる領域量。

使用上の注意:

- 索引が作成される表は、すでに存在している必要があります。

- 索引サイズの計算は、セグメント上で集められた統計情報に依存します。

- 表は分析直後である必要があります。

- 正しい統計がないと、結果が不正確になる可能性があります。

12.3.1.7 未使用索引の監視

Oracleデータベースには、索引を監視して使用されているかどうかを判定する手段が用意されています。索引が使用されていない場合は、それを削除して不要な文によるオーバーヘッドを解消できます。

1. 索引使用の監視を開始するには次の文を入力します。

SQL> ALTER INDEX INDEX_NAME MONITORING USAGE;

2. 監視を停止するには次の文を入力します。

SQL> ALTER INDEX INDEX_NAME NOMONITORING USAGE;

監視対象の索引について、その索引が使用されているかどうかを確認するには、ビューV$OBJECT_USAGEを問い合せます。このビューにはUSED列があり、監視期間中に索引が使用されたかどうかによってYESまたはNOの値を持ちます。また、このビューには監視の開始時間と停止時間も記録され、MONITORING列(YES/NO)には使用状況の監視が現在アクティブであるかどうかが示されます。MONITORING USAGEを指定するたびに、指定された索引のV$OBJECT_USAGEビューはリセットされます。前回の使用方法の情報はクリアまたはリセットされ、新しい開始時間が記録されます。NOMONITORING USAGEを指定すると、それ以降の監視は実行されず、監視期間の終了時間が記録されます。次にALTER INDEX...MONITORING USAGE文が発行されるまで、ビューの情報は変更されずに保持されます。

12.3.2 ハードウェア・リソースおよびデータベースの監視

ハードウェア・リソースは増分戦略の実装に選択されたツールをサポートする必要があります。オンライン・トランザクション処理(OLTP)およびメンテナンス期間、特にこれらの期間が重複する際にハードウェア・リソースを監視することが重要です。

12.3.2.1 ハードウェア- OSWatcher Black Box

CPU、ディスク、メモリーおよびネットワークO/Sリソースを監視するため、オラクル社はOSWatcher Black Boxを提供しており、これをOracle SOA Suiteインストールのすべてのレイヤーにインストールする必要があります。

OSWatcher Black Boxは、オペレーティング・システムおよびネットワークのメトリックを収集およびアーカイブして、Oracleサポート・サービスでのパフォーマンスに関連する問題の診断を支援するUNIXシェル・スクリプトのコレクションです。OSWatcher Black Boxは、サーバー上のバックグラウンド・プロセスのセットとして動作し、vmstat、netstat、iostatなどのUNIXユーティリティを起動して定期的にOSデータを収集します。

OSWatcher Black Boxユーザー・ガイドおよび製品は、Metalinkサポート・ノート301137.1からダウンロードできます。

https://support.oracle.com

12.3.2.2 データベース - AWR/ADDM

オラクル社は、データベース・パフォーマンス統計の収集および分析のための、AWRおよび自動データベース診断モニター(ADDM)を用意しています。

AWRは、パフォーマンス統計のスナップショットを定期的に自動収集する構成も、手動でトリガーする構成も可能です。その後ADDMユーティリティで、2つのスナップショット間隔間の統計を分析し、以下が含まれるパフォーマンス・サマリー・レポートを作成できます。

- CPUのボトルネック

- サイズ設定が小さすぎるメモリー構造

- I/O容量の問題

- 高負荷のSQL文

- 高負荷のPL/SQL実行およびコンパイルの問題、および高負荷のJavaの使用

- Oracle Real Application Clusters固有の問題

- アプリケーションによるOracleデータベースの非効率的な使用

- データベース構成の問題

- 同時実行の問題

- ホット・オブジェクト

AWRおよびADDMユーティリティは手動で、またはOracle Enterprise Manager Database Controlから実行できます。詳細は、『Oracle Database 2日でパフォーマンス・チューニング・ガイド』を参照してください。

12.3.2.3 ディスクI/O-Oracle Orion

完全なOracle SOA SuiteのI/O設計は、この章の範囲に含まれていません。ただし、『Oracle Databaseパフォーマンス・チューニング・ガイド』には、適切なアドバイスが記載されています。適切に計画されているI/O計画では、容量、可用性およびパフォーマンスが考慮されます。

AWRレポートは、アクセス頻度の高いセグメント、データファイルおよび表領域を特定します。OSWatcherは、長時間かかるI/Oキューを特定します。これらのツールを組み合せることによって、問題のあるディスク・デバイスおよびファイルが特定されます。これによって、I/Oの均衡化、または低速ボリューム上のRedundant Arrays of Independent Disks (RAID)の変更のためのファイルの再分散の必要性を識別できる可能性があります。

OracleデータベースのI/O調整機能 (Oracle Orion)は、記憶域メディアへのアクセスにOracleデータファイルを使用して、ランダムI/Oを発行します。これにより、データベースの実際のパフォーマンスにほとんど一致する結果が生成されます。Oracle Orionは特に、Oracleと同じI/Oソフトウェア・スタックを使用してOracleデータベースのI/Oワークロードをシミュレートするように設計されています。Oracle Orionは、Oracle Automatic Storage Managementによって実行されるストライプ化の影響をシミュレートすることもできます。詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。

12.4 増分管理の課題およびテスト戦略について

ここでは、Oracle SOA Suiteデータベースの増分管理に適したツールに関する推奨事項を説明しています。提示されるアドバイスは、新規インストール、または現在の戦略に監視や領域管理が不足している既存のインストールに向けたものです。その他の推奨事項は、「パラレル・パージと表のパーティション化の問題」を参照してください。

この項の前に、「領域使用量、ハードウェア・リソース、およびデータベース・パフォーマンスの監視」を参照して、「データベース増分の管理」で説明するOracle SOA Suiteのパージおよびパーティション化ツールについて十分に理解しておくことをお薦めします。

12.4.1 データベース増分管理の課題

ここで説明する課題は、推奨される戦略に関係する状況を説明することによって背景知識を提供します。

12.4.1.1 非効率的な増分管理戦略によるOracle SOA Suiteの表の過度の増大化

非効率的なパージ戦略が実装されていると、Oracle SOA Suiteの表が非常に大きく増大する場合があります。これによって、緊急に領域再利用の必要が発生することになります。表が大きいほど、行の削除や領域の再利用が困難になります。

パラレル・パージ・スクリプトのパフォーマンスは、CPUリソース、ディスクI/Oの速度などのファクタに依存します。ただし、非常に大きな表は問題であることが判明しています。この問題は、削除可能なコンポジットを決定するために解析が必要になるデータ量が原因で生じます。この解析は、パージ・スクリプト全体の経過時間を独占的に使用する場合があります。詳細は、「パラレル問合せスレーブの使用」を参照してください。

この状況は、増分管理戦略の効率性の監視が常に必要であること、および表が非常に大きくなる前に可能なかぎり速やかに対応措置をとる必要があることを強調するものです。

12.4.1.2 インフローを処理できない調整済のパラレル・パージ・スクリプト

パラレル・パージ・スクリプトのパフォーマンスを向上させるため、経過時間の長い表はレンジ・パーティション化してスクリプトから除外できます。ただし、表のパーティション化が本番環境で必要な場合は、これによって停止時間の問題が生じます。表は再定義パッケージによってオンラインでパーティション化できますが、非常に大きい表で発生した場合は、この操作が合理的な時間内に完了しない場合があります。Oracle SOA Suiteリリース11g R1 (11.1.1.6)以降は、パーティション化が可能な表の粒度が改善されています。マスター表のみで高ボリュームの表のパーティション化を実行できます。これによってパーティション化の注目度が上がり、実現性も高くなります。

12.4.1.3 長時間実行されるコンポジットが原因で削除できない表パーティション

長期間実行されるコンポジットは、保存期間より長期にわたってオープンしているコンポジットです。含まれるすべてのコンポジットが完了されるまでは削除できないため、これはOracle SOA Suite の表パーティションに影響を及ぼします。1つのフロー・インスタンスであっても、パーティションの削除および領域の再利用ができなくなる可能性があります。この状況からOracle SOA Suite リリース11g R1 (11.1.1.6)で導入された行移行スクリプトが生まれました。

最も長時間実行されるコンポジットの保存期間を含め、パーティション化された表を収容するために十分なディスク領域を計画します。領域の再利用が緊急に必要な場合は、修正処理として行の移行スクリプトをお薦めします。

行移行スクリプトによるコンポジット・データの移動によって、次の問題が発生します。

- このスクリプトは、スクリプトによるパフォーマンスの問題を回避するためパーティション内のデータの約5%が移動されると想定して作成されています。

- 同一レベルのパーティション化の要件を維持するには、多数の表の行の5%の移動が必要です。同一レベル・パーティション化の詳細は、「参照整合性および同一レベル・パーティション化」を参照してください。

- 5%の任意数は、パーティションのサイズを意味するものではなく、インフロー率およびパーティションの期間(日次、週次および月次)に依存します。

- 最新のパーティション、またはアクティブ・コンポジットのプール専用として作成されたパーティションに実行時間の長いコンポジットの移行を繰り返すと、累積が発生することがあります。

- 特定のパーティションが非常に増大して、別の影響が生じるパージが必要になります。詳細は、「パーティション・プルーニング」を参照してください。

12.4.2 品質保証テスト

ツールおよび技術の習熟および理解を保証するには増分管理戦略のテストが非常に重要です。品質保証テストに使用可能なハードウェア・リソースは本番環境と同じであることはほとんどありません。したがって、管理者が本番稼働ホストに結果を反映する際は慎重に予測する必要があります。

次の項目について説明します。

- Metalinkサポート・ノート1384379.1の確認

- 本番監査レベル設定の構成

- スキーマの作成 - テスト環境

- パラレルまたはシングル・スレッド・スクリプトの実行および領域の再利用

- テスト結果の確認

- ボトルネックを発生する表のパーティション化

- パージ・テストと確認の反復およびパーティション化された表の除外

12.4.2.1 Metalinkサポート・ノート1384379.1の確認

サポート・ノートDoc ID 358.1 メンテナンスおよび管理アドバイザ: Oracle Fusion Middleware (FMW) SOA 11gインフラストラクチャのデータベースを確認します。

https://support.oracle.com

12.4.2.2 本番監査レベル設定の構成

監査設定が本番環境に適しているかを確認します。詳細は、「監査レベルの低減」を参照してください。

12.4.2.3 Oracle SOA Suiteスキーマの作成 - テスト環境

本番環境と比較可能なテスト環境を作成することは困難ですが重要です。パージ・スクリプトのパフォーマンスは、解析が必要なデータの量によっては悪影響を受ける場合があります。したがって、パージのパフォーマンスを把握するにはサイジングが適切なテスト環境が重要です。詳細は、「パラレル問合せスレーブの使用」を参照してください。

スキーマに移入される混在ワークロードは、ペイロード・サイズとコンポジット起動数が本番環境と類似している必要があります。データは、何日分もの負荷をシミュレートして、領域平均と推計サイズの判定を向上させる必要があります。

12.4.2.3.1 インフローおよび推定領域の測定

データの負荷時は、表別の使用領域および各領域の配分の判定に時間をかけてください。インフローの計算の詳細は、「データのインフローの確認」を参照してください。

- コンポジットの増加傾向を判定します。詳細は、「コンポーネントの増加傾向の判定」を参照してください。

- Oracle SOA Suiteスキーマの増加傾向を判定します。詳細は、「スキーマの増加傾向の判定」を参照してください。

パーティション化を念頭に置いてメトリックを収集します。

- 最大セグメントを判別します。詳細は、「最大セグメントの判別」を参照してください。

- 表と索引の増加傾向を判定します。詳細は、「表と索引の増加傾向の判定」を参照してください。

- 表のサイズを推定します。詳細は、「表サイズの推定」を参照してください。

- 索引のサイズを推定します。詳細は、「索引サイズの推定」を参照してください。

12.4.2.3.2 テスト環境の基本ポイント・バックアップ

テスト環境のバックアップを実行します。

12.4.2.4 パラレルまたはシングル・スレッド・スクリプトの実行および領域の再利用

次の2つのサイクルをまず理解しておく必要があります。

- パージ・サイクル: パージ・スクリプトの複数回の実行が必要になる可能性がある期間を指します。

- メンテナンス・サイクル: すべての領域管理操作の実行が必要な日数を指します。詳細は、「データファイルのコンポーネントの概要」を参照してください。

目標は、パージ・スクリプトおよびメンテナンス・操作を実行して、パージに増大の余裕があることを保証してそれぞれに最適なサイクルを判定することです。パージ・スクリプトは、1日に複数回実行する必要がある場合があり、またメンテナンス操作は数日間にまたがる可能性があります。

後続の各項で領域の調整、監視、再利用の方法について説明します。

- パラレル・パージ。詳細は、「パラレル・パージ・スクリプトの実行」を参照してください。

- ハードウェアおよびデータベースの監視。詳細は、「ハードウェア・リソースおよびデータベースの監視」を参照してください。

- 領域管理操作。詳細は、「データファイルのコンポーネントの概要」を参照してください。

12.4.2.5 テスト結果の確認

目標は次のとおりです。

- パージによって、インフローと同等またはそれ以上の領域の削除および再利用を実行できるかを判定します。詳細は、「保存ポリシーの策定」および「データのアウトフローの確認」を参照してください。

- パージ要件に一致させるためにパージの実行が必要な回数およびパージ・サイクルの合計経過時間を判定します。このパージ・サイクルは、その実行に割り当てられた時間の80%以内で完了する必要があります。

- ボトルネックの表を判別します。詳細は、「パージ操作のデバッグとトレース」を参照してください。

- データベースおよびO/Sレポートでのリソース競合および待機を確認します。詳細は、「ハードウェア・リソースおよびデータベースの監視」を参照してください。

12.4.2.6 ボトルネックを発生する表のパーティション化

大規模インストールでは、パージが困難であると確認された表のパーティション化を検討する必要があります。これらの表は、最大の表でもある可能性があります。表のパーティション化は、一括データ削除として実証済の方法です。Oracle SOA Suiteスキーマは、レンジ・パーティション化を容易にするパーティション・キーを備えています。

Oracle SOA Suiteリリース11g R1 (11.1.1.6)以降は、パーティション化が可能な表の粒度が改善されました。マスター表のみで高ボリュームの表のパーティション化を実行できます。これによってパーティション化の注目度が上がり、実現性も高くなります。

- 部分的なパーティション化。

- 長時間実行されるコンポジット。詳細は、「長期間実行されるコンポジットおよび表のパーティション化の確認」を参照してください。

12.4.2.6.1 パーティション化された表による基本ポイント・バックアップ

パーティション化された表が含まれるバックアップを実行します。

12.4.2.7 パージ・テストと確認の反復およびパーティション化された表の除外

「パラレルまたはシングル・スレッド・スクリプトの実行および領域の再利用」および「テスト結果の確認」で説明されているパージ・テストとテスト結果の確認を繰り返します。パーティション化された表は除外します。

12.4.3 推奨される増分管理戦略

次の推奨される増分管理戦略は、Oracle SOA Suiteデータベース・プロファイルを基準にしています。

- 大規模データベース・プロファイルの推奨事項

- 小規模データベース・プロファイルの推奨事項

戦略には、効率性を判定するためのテストが必要です。テストでは以下について確認する必要があります。

- パージ・スクリプトに増大の余裕があること。

- パーティション化された表に十分なディスク領域があること。

- 増大が監視されていること。

- メンテナンス実行時のOLTPパフォーマンスへの影響が最小であること。

12.4.3.1 大規模データベース・プロファイルの推奨事項

大規模なデータベース・プロファイルのあるインストールでは、戦略の一環として表のパーティション化を真剣に検討する必要があります。表のレンジ・パーティション化は大型の表の実証済の管理方法です。

1. レンジ時間隔パーティション化はレンジ・パーティション化の拡張で、データベースはパーティションを自動的に割り当てます。詳細は、「レンジ時間隔パーティション化」を参照してください。

2. パーティション化された表を除いてパラレル・パージを実行します。詳細は、「dbms_schedulerを使用したパラレル・スクリプトでのループされるパージ」を参照してください。

3. パージ・スクリプトを実行する際に、ボトルネックの原因となる表をパーティション化します。詳細は、「コンポーネント表のパーティション化」を参照してください。

4. メンテナンス・サイクルの一環として、領域を再利用します。詳細は、「データファイルのコンポーネントの概要」を参照してください。

5. メンテナンス・サイクルの一環として、適切なパーティションを削除します。詳細は、「検証スクリプトの実行」を参照してください。

6. インフローおよびアウトフローを監視します。詳細は、「保存ポリシーの策定」および「データのアウトフローの確認」を参照してください。

7. データベースおよびハードウェア・リソースを監視します。詳細は、「セグメントおよびデータファイル領域の再利用」を参照してください。

12.4.3.2 小規模データベース・プロファイルの推奨事項

CPU、メモリー、ディスク領域が限定的な小規模インストールでは、シングル・スレッド・パージから開始し、その後パラレル・パージに移ります。

1. シングル・スレッド・パージを実行します。詳細は、「ループされるパージ・スクリプト」を参照してください。

2. パラレル・パージを実行します。詳細は、「dbms_schedulerを使用したパラレル・スクリプトでのループされるパージ」を参照してください。

a. シングル・スレッド・パージを実行していない場合は、パラレル・パージをテストする必要があります。

3. インフローおよびアウトフローを監視します。詳細は、「保存ポリシーの策定」および「データのアウトフローの確認」を参照してください。

4. データベースおよびハードウェア・リソースを監視します。詳細は、「セグメントおよびデータファイル領域の再利用」を参照してください。

12.5 領域管理の理解

この項の情報の多くは、様々なOracle Database管理ガイドにも記載されています。ここに概要が記載された領域管理の概念およびコマンドは、Oracle SOA Suiteのパージ・スクリプトによる領域の再利用に関する誤解を解決します。領域を再利用するには、データベースのメンテナンス操作を実行する必要があります。

デフォルトでは、自動セグメント領域管理(ASSM)によってローカルで管理される表領域にOracle SOA Suiteスキーマが作成されます。したがって、アドバイスはすべてこの状況に限定しています。この項はすべてのデータベース領域管理機能の包括的なガイドを目指したものではありません。

12.5.1 データファイルのコンポーネントの概要

データファイルは、次のコンポーネントに分けることができます。

- セグメント: 特定タイプのデータベース・オブジェクトが格納されます。つまり、表は表セグメントに格納され、索引は索引セグメントに格納されます。

- エクステント: セグメント内のデータ・ブロックの連続したセットです。Oracleデータベースは、セグメントの領域を1つのエクステント単位に割り当てます。

- データ・ブロック: データベース・ブロックとも呼ばれ、データベース記憶域のI/Oの最小単位です。エクステントは複数の連続するデータ・ブロックから構成されます。

- 表領域: 1つ以上の物理データ・ファイルで構成されます。ローカル管理表領域では、データファイル・ヘッダー内に、データファイル本体の空き領域および使用済領域を追跡するためのビットマップが保持されています。各ビットは、1ブロック・グループに対応します。領域の割当てまたは解放時に、Oracleデータベースはビットマップ値を変更して、ブロックの新しいステータスを反映させます。

セグメント、エクステントおよびデータ・ブロックはすべて論理構造です。

図12-1は、論理記憶域と物理記憶域間の関係を示しています。

図12-1 論理記憶域と物理記憶域

12.5.1.1 セグメント最高水位標

領域を管理するため、Oracleデータベースはセグメント内のブロックの状態を追跡します。最高水位標(HWM)は、セグメント内の位置を指し示し、その位置を超えると、データ・ブロックは未フォーマットであり、使用されていません。HWMと低いHWMとの間のブロックに空きがなくなると、HWMが右側に拡張されて、低いHWMも以前のHWMの場所まで拡張されます。図12-2に詳細を示します。データベースにデータが徐々に挿入されるにつれて、HWMは次第に右側へと拡張され、それに伴い、低いHWMもHWMに従って拡張されます。手動でオブジェクトを再構築、切捨て、縮小/割当て解除しないかぎり、HWMは再処理しません。

図12-2 HWM

12.5.2 セグメントおよびデータファイル領域の再利用

次の各項は、セグメントおよびデータ・ファイル領域の再利用に使用される一般的な技術について説明しています。

- オンラインのセグメント縮小の実行

- 未使用領域の割当て解除

- 索引の結合および再構築

- 表パーティションの削除

- セキュアなファイルのLOBの構成

- その他のデータベース管理方法

12.5.2.1 オンラインのセグメント縮小の実行

パージ・スクリプトはデータベース・セグメント(表および索引)から行を削除し、データ・ブロック内の領域を解放して再利用できるようにしますが、一部の領域で小さすぎて再利用できない断片化も発生します。オンラインのセグメント縮小を実行することで、領域の断片化を解消でき、エクステントの再利用が可能になります。縮小操作によって、HWMを下回る空き領域を統合し、セグメントを圧縮できます。その後、HWMを移動してHWMを上回る領域を割当て解除します。

データ操作言語(DML)は、セグメント縮小のデータ移動フェーズでも発行できます。ただし、縮小操作の最後に領域が割当て解除される際は、短い時間ですがDML操作がブロックされます。索引は縮小操作中も維持され、使用可能な状態に保持されます。

セグメント・アドバイザは、オンラインのセグメント縮小を活用できるセグメントを識別できます。ただし、定期パージ後はOracle SOA Suiteセグメントの大半がオンラインの縮小操作の候補になります。セグメント・アドバイザの詳細は、『Oracle Database管理者ガイド』を参照してください。

一般的なオンラインのセグメント縮小手順は次のとおりです。

- 縮小コマンドを実行する目に、行移動を有効化する必要があります。

SQL> ALTER TABLE TABLE_NAME ENABLE ROW MOVEMENT;

- セグメントを縮小します。

SQL> ALTER TABLE TABLE_NAME SHRINK SPACE;

- COMPACT句を指定すると、セグメントの縮小操作を2つのフェーズに分割できます。COMPACTを指定すると、セグメント領域の断片化が解消され、行が圧縮されますが、HWMのリセットおよび領域の割当て解除は延期されます。大型の表では操作を2フェーズに分割すると便利で、割当て解除フェーズのDMLのブロックによる影響が減少します。
オフピーク時にCOMPACT句なしでSHRINK SPACEを再発行することで、第2フェーズを完了できます。

SQL> ALTER TABLE TABLE_NAME SHRINK SPACE COMPACT;

- CASCADE句を指定すると、オブジェクトのすべての依存セグメントにセグメントの縮小操作が拡張されます。たとえば、表セグメントの縮小時にCASCADEを指定すると、表のすべての索引も縮小されます。

SQL> ALTER TABLE TABLE_NAME SHRINK SPACE COMPACT CASCADE;

- 非常に大型の表の場合は、縮小を2フェーズで実行し、CASCADE句を使用しないことをお薦めします。最初にCOMPACT操作を実行すると、多くの場合はその前に基本LOBが圧縮されてから通常の縮小コマンドが実行され、未使用領域が再利用されます。

- オンラインのセグメント縮小は、以下を除くすべてのセグメント・タイプで使用できます。

- 索引構成表(IOT)マッピング表

- 行IDベースのマテリアライズド・ビュー

- ファンクション索引がある表

- セキュアなファイルのLOB

- 圧縮表

表12-8は、オンラインのセグメント縮小の例を示しています。

表12-8 オンラインのセグメント縮小の例

シナリオ

例

大型の表を2フェーズで縮小します。

SQL> ALTER TABLE TABLE_NAME ENABLE ROW MOVEMENT;
SQL> ALTER TABLE TABLE_NAME SHRINK SPACE COMPACT;
SQL> ALTER TABLE TABLE_NAME SHRINK SPACE;

表およびその依存セグメント(BASICFILE LOBセグメントを含む)をすべて縮小します。

SQL> ALTER TABLE TABLE_NAME SHRINK SPACE CASCADE;

BASICFILE LOBセグメントのみを縮小します。

SQL> ALTER TABLE TABLE_NAME MODIFY LOB (LOB_NAME)
(SHRINK SPACE);

パーティション化された表の単一パーティションを縮小します。

SQL> ALTER TABLE TABLE_NAME MODIFY PARTITION P1 SHRINK SPACE;

12.5.2.2 未使用領域の割当て解除

DEALLOCATE UNUSEDコマンドを使用すると、手動で未使用領域を割当て解除できます。このコマンドは、HWMを上回る未使用領域を解放します。オンラインのセグメント縮小でもHWMを上回る領域が解放されます。

SQL> ALTER TABLE TABLE_NAME DEALLOCATE;

オプションのKEEP句を使用して、表、索引、またはクラスタのセグメントに保持する領域量を指定します。

SQL> ALTER TABLE TABLE_NAME DEALLOCATE UNUSED KEEP INTEGER;
SQL> ALTER INDEX INDEX_NAME DEALLOCATE UNUSED KEEP INTEGER;

注意:

DBMS_SPACEパッケージのUNUSED_SPACEプロシージャは、HWMの位置、およびセグメント内の未使用領域量に関する情報を返します。ASSMを使用してローカルで管理されるセグメントでは、SPACE_USAGEプロシージャを使用して未使用領域に関するより精度の高い情報を取得します。(割当て解除された領域の確認にはDBA_FREE_SPACEビューを使用します。)

12.5.2.3 索引の結合および再構築

BTREE索引を再構築するかどうかは、データベース管理者によって見解が異なります。時間の経過とともにOracle SOA Suiteのパージ・スクリプトではOracle SOA SuiteのBTREE索引の大半で断片化が進むため、SQLパフォーマンスを維持するには再構築が必要になります。

パージ・スクリプトはクローズしたコンポジットのみを削除し、オープンのものは各索引のデータ・ブロック内に保持します。Oracle SOA Suiteの索引キーの多くは増大する一方であるため、データ・ブロックの空き領域は再利用されません。

SQL> ALTER INDEX INDEX_NAME REBUILD OR COALESCE

表12-9に、索引の結合および再構築に関するコストと利点を示します。

表12-9 索引の結合と再作成に関するコストと利点

索引の再作成

索引の結合

索引を別の表領域に迅速に移動できます。

索引は別の表領域に移動できません。

高コスト: 多くのディスク領域を必要とします。

低コスト: 多くのディスク領域を必要としません。

新しいツリーを作成して、可能であればその高さを縮小します。

ツリーの同じブランチ内のリーフ・ブロックを結合します。

オリジナルの索引を削除せずに、記憶域パラメータと表領域パラメータを迅速に変更できる。

索引のリーフ・ブロックを迅速に解放できる。

索引の再構築の必要に対して有効な方法の1つに、グローバル・ハッシュ索引への変換があります。一方的に増加するキーをハッシュ化してデータ・ブロックにランダムに分散することによって、領域の再利用が改善されます。これ以外にもホットな索引ブロックのバッファ・ビジー待機の減少などの改善があります。しかし、Oracle SOA Suiteの索引のすべてが、変換に適しているわけではありません。以下のドキュメントを参照してください。

http://www.oracle.com/technetwork/database/options/clustering/overview/index-086583.html

12.5.2.4 表パーティションの削除

表のパーティションを削除すると、表データを一括削除して、領域を再利用できます。Oracle SOA Suite内では、削除が可能であることが確認されるまでパーティションを削除しないでください。詳細は、「検証スクリプトの実行」を参照してください。

12.5.2.4.1 パーティションの削除

SQL> ALTER TABLE TABLE_NAME DROP PARTITION P1;

DROP PARTITION操作は時間が長くかかりますが、UPDATE INDEXES句を指定することで索引の再構築の必要を回避する価値があります。

パーティション化された表に対する表のメンテナンス操作の多くは、対応する索引または索引パーティションを無効化します(UNUSABLEとマーク)。索引全体または各パーティション(グローバル索引の場合)を再作成する必要があります。メンテナンス操作のALTER TABLE文でUPDATE INDEXESを指定すると、データベースでこのデフォルトの動作をオーバーライドできます。この句を指定すると、メンテナンス操作のDDL文の実行時に、データベースにより索引が更新されます。これによって、この項で説明した利点が得られます。

次の操作では、UPDATE INDEXES句がサポートされています。

- ADD PARTITION

- COALESCE PARTITION

- DROP PARTITION

- EXCHANGE PARTITION

- MERGE PARTITION

- MOVE PARTITION

- SPLIT PARTITION

- TRUNCATE PARTITION

状況によっては、問題に対処するために表12-10に示されたパーティション操作が必要になる場合があります。

表12-10 パーティションの操作

パーティションの操作

説明

表パーティションの縮小

SQL> ALTER TABLE TABLE_NAME MODIFY PARTITION P1 SHRINK
SPACE;

表パーティションの切捨て

SQL> ALTER TABLE ... TRUNCATE PARTITION

表パーティションの圧縮

SQL> ALTER TABLE TABLE_NAME MOVE PARTITION PART_NAME
TABLESPACE TABLESPACE_NAME NOLOGGING COMPRESS FOR
OLTP;

重要な制限事項:

- オンラインのセグメント縮小は、圧縮表ではサポートされていません。

- セキュアなファイルのLOBには独自の圧縮方法があります。

- 圧縮技術によって、CPUリソースの使用量が増加します。

- 圧縮を有効化するようにパーティションを変更した場合、その変更は新規データにのみ適用されます。既存データを圧縮するには、パーティションを移動する必要があります。表パーティションを移動すると、新しい表領域を指定しない場合でも、古いパーティション・セグメントが削除され、新しいセグメントが作成されます。

12.5.2.5 セキュアなファイルのLOBの構成

セキュアなファイルとは、従来のLOBアクセスと比較して高速で優れた多数のファクタによってパフォーマンス上の利点を提供するLOB記憶域アーキテクチャです。セキュアなファイルは、現在は基本ファイルと呼ばれる以前のLOB記憶域アーキテクチャの完全なリライトです。

セキュアなファイルでは次の拡張機能がサポートされます。

- 非重複化: 同一のセキュアなファイル・データは1コピーのみ格納されます。

- 圧縮: 記憶域、I/O、Redoログおよび暗号化のオーバーヘッドを削減します。圧縮があるため、セキュアなファイルのLOBではオンラインのセグメント縮小コマンドがサポートされません。

- 暗号化

セキュアなファイルは、Oracle 11gデータベースで導入された機能です。既知の問題を回避するため、利用可能な最新のデータベース・パッチ・セットを適用することをお薦めします。

12.5.2.5.1 セキュアなファイルの要件

セキュアなファイルを使用するには、次の設定が必要です。

1. COMPATIBLE初期化パラメータを11.0.0.0.0より大きく設定します。

SQL> show parameter COMPATIBLE;

2. DB_SECUREFILE初期化パラメータは、LOB記憶域に関するデータベースのデフォルトのアクションを制御します(PERMITTEDの場合のデフォルト)。

SQL> ALTER SYSTEM SET DB_SECUREFILE = 'ALWAYS';
SQL> SHOW PARAMETER DB_SECUREFILE

パラメータ

説明

ALWAYS

ASSM表領域内のすべてのLOBが、セキュアなファイルのLOBとして作成されます。ASSM以外の表領域のLOBは、明示的にセキュアなファイルと指定しないかぎり、基本ファイルのLOBとして作成されます。基本ファイル記憶域オプションは無視され、セキュアなファイルのデフォルトの記憶域オプションがすべての未指定オプションに使用されます。

FORCE

すべてのLOBがセキュアなファイルのLOBとして作成されます。LOBがASSM以外の表領域で作成されと、例外がスローされます。基本ファイル記憶域オプションは無視され、セキュアなファイルのデフォルトの記憶域オプションがすべての未指定オプションに使用されます。

PERMITTED

SECUREFILEキーワードが使用されたときにセキュアなファイルのLOB記憶域を有効化するデフォルト設定。デフォルトの記憶域メソッドはBASICFILEです。

NEVER

セキュアなファイルのLOBは許可されません。

IGNORE:

セキュアなファイルのLOBの作成が行われず、セキュアなファイルの記憶域オプションに関連するすべてのエラーが無視されます。

3. ASSMをサポートするように表領域を構成します。

SQL> SELECT SEGMENT_SPACE_MANAGEMENT FROM DBA_TABLESPACES WHERE TABLESPACE_NAME
= 'TABLESPACE_NAME';

12.5.2.5.2 セキュアなファイルの変換

デフォルトでOracle SOA Suiteの表を作成するリポジトリ作成ユーティリティ(RCU)も基本ファイルを作成します。ただし、SOAスキーマの作成時にはセキュアなファイルのLOBも作成できます。次のプロセスは、作成時にのみ使用されます。その他の場合については、「セキュアなファイルの移行」を参照してください。

1. 要件に一致していること、およびDB_SECUREFILEデータベース初期化パラメータがALWAYSまたはFORCEに設定されていることを確認します。要件の詳細は、「セキュアなファイルの要件」を参照してください。

2. 適切なOracle SOA SuiteのRCUユーティリティを実行して、スキーマを作成します。LOBは基本として定義されていますが、これはセキュアなファイルとして作成されます。基本ファイルのLOB記憶域パラメータは無視されます。

圧縮、非重複化および暗号化の拡張機能はデフォルトでは有効化されていません。

3. 次のコマンドを入力して、セキュアなファイルのLOB列で拡張機能が有効化されているかどうかを判定します。

SQL> SELECT TABLE_NAME, COLUMN_NAME, SECUREFILE, RETENTION, ENCRYPT,
COMPRESSION, DEDUPLICATION FROM DBA_LOBS;

RCUの使用直後に、拡張機能を有効化するALTERコマンドを実行する必要があります。

SQL> ALTER TABLE LOB_TABLE MODIFY LOB(LOB_COLUMN) (COMPRESS);
SQL> ALTER TABLE LOB_TABLE MODIFY LOB(LOB_COLUMN) (DEDUPLICATE);

注意:

圧縮、非重複化または暗号化は、CREATE TABLE文およびオンラインでの再定義によって有効化することをお薦めします。既存のデータの場合、これらの機能をALTER TABLE文を使用して有効化すると、表内のすべてのセキュアなファイルのLOBの読取り、変更、書込みが実行されます。これによって、長時間かかる可能性がある操作の際にデータベースで表のロックが発生します。したがって、移入済の表の変換についてはALTER表コマンドをお薦めできず、ロックの原因になります。

12.5.2.5.3 セキュアなファイルの移行

オンラインの再定義は、セキュアなファイルのLOBへの変換に推奨されるオンラインによる方法です。ただし、オフラインの方法も存在します。

- Create Table as Select (CTAS)スクリプト

- Insert Table as Select (ITAS)

- エクスポート/インポート

オンラインでの再定義の利点

- 表またはパーティションをオフラインにする必要がありません。

- パラレル実行が可能です。

オンラインでの再定義の短所

- 表またはパーティション全体およびすべてのLOBセグメントと同じだけの追加記憶域が必要です。

- グローバル索引の再作成が必要です。

Redo生成の防止やパラレル実行など、オンラインでのREDFINITONパッケージの実行に関するベスト・プラクティスは、『Oracle Database SecureFilesおよびラージ・オブジェクト開発者ガイド』で、BasicFiles LOBからSecureFiles LOBへの列の移行に関する項を参照してください。

12.5.2.6 その他のデータベース管理方法

ここでは、データベース増分管理に利用できるその他の方法について説明します。

12.5.2.6.1 TRUNCATE文

Truncate文では、すべての行が表から削除されます。したがって、Oracle SOA Suiteの本番環境では、これが実行されたり、必要になる可能性はほとんどありません。詳細は、「表削除なしでの実行時表からのレコードの削除」を参照してください。

12.5.3 データファイルのサイズ変更

表領域の領域を使い果たした場合は、まずアプリケーション・エラーと手動の介入を回避するため、データファイルをAUTOEXTENDに設定します。

1. データファイルが自動拡張可能であるかを判定するには、DBA_DATA_FILESビューの列AUTOEXTENSIBLEを問い合せます。

SQL> SELECT AUTOEXTENSIBLE FROM DBA_DATA_FILES

2. ファイルの自動拡張は、データファイルの作成または変更時にAUTOEXTEND ON句を指定することによって指定します。

SQL> ALTER TABLESPACE TABLESPACE_NAME ADD DATAFILE '/U01/DATAFILE.DBF' SIZE 10M
AUTOEXTEND ON;

SQL> ALTER DATABASE DATAFILE '/U01/DATAFILE.DBF' AUTOEXTEND ON;

データファイルの初期割当てが過剰な場合、またはセグメントで過剰な増大が許可されている場合は、データファイルのサイズを変更できます。

データファイルのサイズを変更します。ただし、これは領域がセグメントによって使用されていないことを前提としています。

SQL> ALTER DATABASE DATAFILE '/U01/DATAFILE.DBF'' RESIZE 50M;

必ずしもファイルのサイズを指定した値まで縮小できるわけではありません。使用されれていると、データベースから次のエラーが返されます。

ORA-03297: file contains used data beyond requested RESIZE value

13 データベース増分の管理

この章では、Oracle Enterprise Manager Fusion Middleware ControllまたはSQL*Plusでパージ・スクリプトを使用してデータベース内の大量のフロー・インスタンス、アダプタ・レポートおよびフォルト・アラートの増大化を管理する方法、スキーマ表を時間間隔に基づいてレンジ・パーティション化できるようにする表のパーティション化および表を削除することなく実行時の表のすべてのレコードを削除する切捨てスクリプトについて説明します。

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

- データベース増分の管理の概要

- パージおよびパーティション化の方法の開発

- 大量のフロー・インスタンス、アダプタ・レポートおよびフォルト・アラートの削除

- コンポーネント表のパーティション化

- 表削除なしでの実行時表からのレコードの削除

注意:

表のパーティション化は高度なデータベース・タスクであるため、熟練したデータベース管理者(DBA)のみが実行する必要があります。

データベース増大問題のトラブルシューティングに関する詳細は、「パラレル・パージと表のパーティション化の問題」、「表領域の拡張による実行時の問題の回避」および「大量のトランザクションによるデータベース増大の問題の解決」を参照してください。

データベース増分管理戦略の詳細は、「データベース増分管理戦略の策定」を参照してください。

13.1 データベース増分の管理の概要

Oracle SOA Suiteデータベースのデータ量が増加して非常に大きくなると、データベースのメンテナンスが困難になる場合があります。この課題に対処するため、データベースの増分管理には表13-1に示すようにいくつかの方法が用意されています。

表13-1 データベース増分の戦略

環境

使用

参照先

データベース内の行が100,000を超える小規模な開発インストール

Oracle Enterprise Manager Fusion Middleware Controlの「自動パージ」ページまたはループされるパージ・スクリプト

「Oracle Enterprise Manager Fusion Middleware Controlを使用した大量のインスタンスの削除」

または

「SQL*Plusを使用した大量のインスタンスの削除」

1日当たり10GBのデータを生成し、かつ500GB未満のデータを保存する中規模のインストール

Oracle Enterprise Manager Fusion Middleware Controlの「自動パージ」ページまたは最適なスレッド数でスケジュールされたパラレル・パージ

「Oracle Enterprise Manager Fusion Middleware Controlを使用した大量のインスタンスの削除」

または

「SQL*Plusを使用した大量のインスタンスの削除」

1日に10GBを超えるデータを生成する、または500GBを超えるデータを保存する大規模なインストール

- パーティション化(頻度が低く長時間実行されるプロセス)。

- パラレル・パージとパーティション化の組合せ(数か月に広がる長期間実行プロセス)。たとえば、日次パージと月次のパーティション削除を実行します。

- Oracle Enterprise Manager Fusion Middleware Controlの「自動パージ」ページ

大量のフロー・インスタンス、アダプタ・レポートおよびフォルト・アラートの削除

コンポーネント・データベース表のパーティション化

コンポーネント表のパーティション化

- テスト・シナリオの再作成および再実行の場合

- 本番のカスタマイズおよび新規ジョブ定義を保管できるように本番環境からのスキーマを保持する一方で、すべてのインスタンス・データを状態にかかわりなく切り捨てるようにするための、本番環境またはテスト環境クローンの作成

切捨てスクリプト

表削除なしでの実行時表からのレコードの削除

13.2 パージおよびパーティション化の方法の開発

この項では、デハイドレーション・ストアのパージおよびパーティション化を行う場合に実行できる、アクション・プランの主なポイントを要約します。パージはあらゆるプランの根幹であり、データによって消費される領域が多すぎる場合、または別の理由でデータを削除する場合に実行します。

スキーマのサイズを削減するには、主に、次の3通りの方法があります。

- パージ・スクリプト(次のいずれかの方法で実行できます)

- Oracle Enterprise Manager Fusion Middleware Controlの「自動パージ」ページから自動実行

- SQL*Plusで手動実行

- パージ・スクリプトおよびパーティション化(つまり、表パーティションの削除)

- すべての表のパーティション化

最初の2つの場合では、同じパージ・スクリプトが使用されます。パーティション化する場合でも、パーティション化された表をコメント・アウトするためにパージ・スクリプトを編集する必要があります。

パージ・スクリプトでは、BPEL表から行を削除するために標準のSQL DELETE文を使用します。ほとんどのサイトではこれで十分です。ただし、サイトによっては蓄積されたデータが多すぎて、パージ・スクリプトの実行時間が非常に長くなることがあります。このような場合は、パーティション化の方がより適切な解決策となります。ただし、パーティション化によって非常に多くのデータベース・メンテナンス作業が発生することがトレードオフとなります。また、パーティション化は高度な技術であり、知識のあるDBAが必要となります。一方、パージ・スクリプトは簡単に実行でき、かつ、DBAの専門的な知識を必要としません。

入力メッセージ、データベース増分率およびパージ・プロセスでパージされるデータ量の概要を確認します。入力レートとパージ・レートが同じである場合は、通常のパージで十分です。これ以外の場合、パーティション化を検討します。

パーティション化を使用する場合、ディスク領域を追加し、最終的にパーティションを削除することをお薦めします。ただし、このことによってディスク容量の管理や適切なパーティション・サイズの決定などの追加要件が発生します。パーティション化を使用し、かつ、ディスク領域を解放するためにパージ・スクリプトに依存することは避けてください。

13.3 大量のフロー・インスタンス、アダプタ・レポートおよびフォルト・アラートの削除

フロー・インスタンス、アダプタ・レポートおよびフォルト・アラートは、(Oracle Enterprise Manager Fusion Middleware Controlの「自動パージ」ページから自動で呼び出されるか、SQL*Plusで手動で呼び出す)パージ・スクリプトを使用して削除できます。

次の詳細に注意してください。

- パージ・スクリプトは、完了したインスタンスまたはエラー状態の(失敗した)インスタンスを削除します。詳細は、「パージの状態」を参照してください。

- パージ・スクリプトは、処理中のインスタンスまたはリカバリ可能な(リカバリが必要な状態の)インスタンスを削除しません。

- パージ・スクリプトは、Oracle B2Bを除きすべてのOracle SOA Suite関連の表を削除します。Oracle SOA SuiteおよびOracle B2Bが同一インストールに配置されている場合、Oracle B2Bのパージ・スクリプトも必ず呼び出してください。Oracle SOA SuiteおよびOracle B2Bが別個のインストールに配置されている場合、それぞれの製品スキーマで適切なパージ・スクリプトのみを実行する必要があります。Oracle B2Bのパージの詳細は、Oracle B2Bユーザーズ・ガイドの「データのパージ」および「B2Bコマンド行ツール」を参照してください。

- 12c (12.1.3)以降、Oracle Enterprise Manager Fusion Middleware Controlおよびパージ・スクリプトではMEDIATOR_RESEQUENCER_MESSAGE表およびMEDIATOR_GROUP_STATUS表を削除します。

- SQL*PlusからまたはOracle Enterprise Manager Fusion Middleware Controlの「自動パージ」ページからパージ・スクリプトを実行して、次の表を削除できます。

- MEDIATOR_GROUP_STATUS

- EIS_CONNECTION_DOWN_TIMEおよびMESSAGE_STATISTICS (JCAアダプタ・レポート)。

- FAULT_ALERT

- リシーケンス・グループのグループ情報は削除されません。グループには、そのグループの次のシーケンスIDに関する必須情報が含まれています。この情報をパージすると、最初のシーケンスIDからグループを始めることと同じになり、意図に反することになる可能性があります。

次の各項では、Oracle Enterprise Manager Fusion Middleware Controlの「自動パージ」ページまたはSQL*Plusからパージ・スクリプトを呼び出して、フロー・インスタンス、アダプタ・レポートおよびフォルト・アラートを削除する方法について説明します。

- パージの状態

- 「Oracle Enterprise Manager Fusion Middleware Controlを使用した大量のインスタンスの削除」

- 「SQL*Plusを使用した大量のインスタンスの削除」

- パージのステータスの監視

- データベースSQLトレースの生成

注意:

IBM DB2データベースでは、パージ・スクリプトはサポートされません。

13.3.1 パージの状態

次の状態のインスタンスは、Oracle Enterprise Manager Fusion Middleware Controlまたはパージ・スクリプトを使用してパージします。

- 正常終了

- フォルト

- ユーザーによって終了されました

- 中断

- 不明(インスタンス・トラッキングが無効)

次のインスタンス状態のパージはサポートされていません。

- BPELプロセス・サービス・エンジン・レベルまたはSOAコンポジット・アプリケーション・レベルでのリカバリを保留中のインスタンス

- 実行中のインスタンス

このようなインスタンスをパージするには、まずパージ・スクリプトによってサポートされるインスタンス状態のいずれかに移行する必要があります。

13.3.2 Oracle Enterprise Manager Fusion Middleware Controlによる大量のインスタンスの削除

Oracle Enterprise Manager Fusion Middleware Controlの「自動パージ」ページを使用して、より古いフロー・インスタンス、アダプタ・レポートおよびフォルト・アラートを自動的にデータベースから削除するジョブをスケジュールおよび実行します。

注意:

- ランタイム環境のパフォーマンスを最適化するために、「自動パージ」ページで自動パージを有効にすることをお薦めします。自動パージの状態は、SOAインフラストラクチャおよび個々のパーティション・レベルの「ダッシュボード」ページの「キー構成」セクションに表示されます。自動パージは、12cの新規インストールで自動的に有効になりますが、アップグレードされた環境では有効になりません。

- パージ構成を有効化または変更する前に、重要なデータをバックアップするようにしてください。

- SOA開発者インストール・オプションに含まれるJavaデータベースを使用している場合、「自動パージ」ページは使用できません。truncate_soa_javadb.sqlスクリプトを使用してデータベースをパージします。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

「ダッシュボード」ページの「キー構成」セクションから...

「ダッシュボード」ページの「キー構成」セクションから...

a. 「SOA管理」→「自動パージ」を選択します。

a. 「soa-infra」を右クリックします。

b. 「SOA管理」→「自動パージ」を選択します。

a. 「関連リンク」アイコンをクリックします。

b. 「自動パージ」を選択します。

a. 「自動パージ」の「ステータス」の右側にあるアイコンをクリックします。

b. 表示されたメッセージで、「自動パージの設定」をクリックします。

自動パージ・ページが表示されます。

2. 環境に適した値を選択し、「適用」をクリックします。

フィールド

説明

自動パージ・ジョブ

実行する事前定義済のデータベース・パージ・ジョブを選択します。ジョブを追加することはできません。たとえば、次を選択できます。

- 平日に適切なスケジュール(月曜日から金曜日の午前0時)でdelete_instances_auto_job1を実行します。このジョブは自動的に有効になります。

- より積極的にできる週末のスケジュール(土曜日および日曜日)でdelete_instances_auto_job2を実行します。このジョブは自動的には有効になりません。

警告: 自動パージ・ジョブを有効化または無効化する場合は、別のジョブを選択するか、このページから移動する前に、変更内容を保存するか元に戻す必要があります。そうしないと、現在選択しているジョブに対して行った未保存の変更は失われます。

有効

選択すると、「自動パージ・ジョブ」リストから選択されたデータベース・パージ・ジョブによる自動データベース・パージが有効になります。

有効にした時点で、パージ期間が開始します。たとえば、データの保存フィールドに7日間と指定した場合、このチェック・ボックスを再び有効にした日からデータが保存されます。より新しいデータは作成後7日間保存されます。

カレンダ式アイコン

クリックすると、ジョブのスケジュール設定構文の例が表示されます。環境に合う構文をコピーして、「ジョブ・スケジュール」フィールドに貼り付け、必要に応じて変更します。「詳細情報」をクリックすると、repeat_interval属性を設定してジョブの頻度を構成する方法に関するドキュメントにアクセスします。

ジョブ・スケジュール

インスタンスをパージするジョブ実行スケジュールを指定します。デフォルトのスケジュールでは、毎日午前0時にパージを実行します。これは必須フィールドです。スケジュールを指定するには、有効なカレンダ式を使用します。一般的に使用される式の例を表示するには、「情報」アイコンまたはカレンダ式アイコンをクリックします。スケジュール構文では、大文字と小文字は区別されません。

パージ・タイプ

実行するパージ・スクリプトのタイプを選択します。これは必須フィールドです。

- 単一: バッチによるパージを実行する、単一ループのパージ・スクリプト。

- パラレル: 機能は、単一ループのパージ・スクリプトと同じです。ただし、このオプションでは、dbms_schedulerパッケージが複数のパージ・ジョブを生成でき、各ジョブがサブセット・データを処理します。
注意: 複数CPUホストがある場合は、パラレル・スクリプトの使用が有効です。ただし、パラレル・スクリプトはオフピーク時にのみ有効化することをお薦めします。さらに、オフピーク時にデータをパージするとき、大量のデータをパージする前に索引を削除し、後で索引を追加して戻すことをお薦めします。これにより、パージ処理が高速化され、索引のバランスを維持できます。

単一(ループ)およびパージ・パラレル・スクリプトの詳細は、「ループされるパージ・スクリプト」および「dbms_schedulerを使用したパラレル・スクリプトでのループされるパージ」を参照してください。

データの保持

データを保持する期間(日数)を指定します。ジョブを実行しても、この期間内のデータはパージされません。デフォルト値は7日間です。たとえば、7日間のデータ保持間隔を指定する場合、データは作成されてから7日間、パージから保護されます。システム内にすでに存在する古いデータは、自動パージが有効化されてから7日間保持されます。このプロパティを-1に設定するとデータの保持フィルタを無視できます。

パージする最大フロー

1回のジョブ実行でパージするインスタンス・フローの最大数を選択します。

バッチ・サイズ

一度に削除するビジネス・フローの最大数を選択します。デフォルト値は20000です。

このフィールドが表示されるのは、「パージ・タイプ」リストで「パラレル」が選択されている場合です。

並列度

パラレルで実行するジョブの数を選択します。デフォルト値は4です。

このフィールドが表示されるのは、「パージ・タイプ」リストで「パラレル」が選択されている場合です。

3. システムMBeanブラウザの詳細な構成プロパティを表示して構成するには、「詳細な自動パージ構成プロパティ」をクリックします。

4. 「PurgeJobDetails」をクリックします。
事前定義済の2つのデータベース・パージ・ジョブが表示されます。

- delete_instances_auto_job1

- delete_instances_auto_job2

5. ジョブを展開して、単一パージおよびパラレル・パージのすべてのプロパティを表示します。単一パージとパラレル・パージのいずれかのパージ・タイプが実行されると、選択したタイプに適切なプロパティ値が実行されます。

注意:

詳細パージ・プロパティを編集する必要がある場合は、最新の注意を払ってください。たとえば、ジョブ名を変更しないでください。

6. 値を表示または変更して、「適用」をクリックします。

フィールド

説明

DOP

パラレルで実行するジョブの数を定義します。デフォルト値は4です。

PQS

パラレル問合せスレーブの数を表示します。さらにスレーブを追加して負荷の高いSQLコマンドのパフォーマンスを向上できます。

batchSize

一度に削除できるビジネス・フローの最大数を表示します。デフォルト値は20000です。

有効

データベース・パージ・ジョブが有効になっているかどうかを示します。

executionSchedule

ジョブのスケジュール設定構文を表示します。

ignoreState

trueに設定すると、指定された日付範囲内でオープンおよびクローズされたすべてのインスタンスがパージされます。デフォルト値はfalseです。

注意: オープン・インスタンスのパージは、システムを不整合状態にする可能性があるため、このパラメータは慎重に使用してください。

maxCount

パージするフローの最大数を表示します。

maxCreationPeriodDays

最長の作成期間を日数で表示します。このプロパティは、特定の期間内に作成されたフローを選択するために、minCreationPeriodDaysとともに使用されます。

maxRuntime

パージ・スクリプトがループを終了する有効期限。デフォルト値は60です。この値は分で指定します。

minCreationPeriodDays

最短の作成期間を日数で表示します。このプロパティは、特定の期間内に作成されたフローを選択するために、maxCreationPeriodDaysとともに使用されます。

purgePartitionedComponent

パーティション化された表をパージする必要があるかどうかを示します。trueに設定すると、同じパージ・ジョブが呼び出され、パーティション化されたデータが削除されます。デフォルト値はfalseです。

注意: 表は、パーティション化するとDROP文で維持されるため、パージする必要はありません。

purgeType

単一またはパラレルのいずれかを表示します。

retentionPeriodDays

データを保持する期間(日数)を指定します。パージ・ジョブを実行しても、この期間内のデータはパージされません。

sqlTrace

trueに設定すると、SQLトレースが設定されていることを示します。

SQLトレースの詳細は、Oracle Database SQLチューニング・ガイドを参照してください。

13.3.3 SQL*Plusを使用した大量のインスタンスの削除

注意:

Oracle SOA Suiteリリース11gを12cにアップグレードする際、パージ・スクリプトの実行中にアップグレード・アシスタントを起動しないでください。パージが完了するまで待ってから、アップグレード・プロセスを開始してください。アップグレード・アシスタントを使用してスキーマをアップグレードしようとしたときにパージ・スクリプトが実行中であると、アップグレードは失敗します。アップグレードの詳細は、Oracle SOA SuiteおよびOracle Business Process Managementのアップグレードを参照してください。

SQL*Plusでパージ・スクリプトを実行して、より古いフロー・インスタンス、アダプタ・レポートおよびフォルト・アラート・データをデータベースから削除します。パージ・スクリプトには次の2つのタイプがあります。

- ループされるパージ・スクリプト

- dbms_schedulerを使用したパラレル・スクリプトでのループされるパージ

13.3.3.1 ループされるパージ・スクリプト

マスター・パージ・スクリプトには、バッチによるパージを実行できるループ構文が含まれています。また、このスクリプトにはmax_runtimeパラメータを指定して、このパラメータの値を超過するとループが停止されるようにすることもできます。

マスター・スクリプトはSOAデータベース表のパージを実行します。delete_instancesプロシージャを使用してSOAデータベース表をパージできます。

注意:

パージするインスタンスが多い場合は、max_runtimeを高い値に設定します。この場合、スクリプトが終了するまでの待機時間が長くなることが予想されます。より短い時間でパージ・スクリプトを終了させるには、小さいバッチ・サイズを使用します。

13.3.3.1.1 delete_instancesプロシージャ

インスタンスを削除するにはdelete_instancesプロシージャを使用します。次の例は構文を示しています。

procedure delete_instances (
min_creation_date in timestamp,
max_creation_date in timestamp,
batch_size in integer,
max_runtime in integer,
retention_period in timestamp,
purge_partitioned_component in boolean
ignore_state in boolean
composite_name in varchar2
composite_revision in varchar2
soa_partition_name in varchar2
sql_trace in boolean
PSQ integer
);

表13-2で、スクリプトのパラメータについて説明します。

表13-2 delete_instancesプロシージャのパラメータの説明

パラメータ

説明

min_creation_date

ビジネス・フロー・インスタンスの最短の作成期間(日数)。

max_creation_date

ビジネス・フロー・インスタンスの最長の作成期間(日数)。

batch_size

削除対象に選択され、単一のループ・パージの1回の実行でコミットされるフローの最大数。デフォルト値は20000です。

max_runtime

パージ・スクリプトがループを終了する有効期限。デフォルト値は60です。この値は分で指定します。

retention_period

データを保持する期間(日数)を指定します。ジョブを実行しても、この期間内のデータはパージされません。デフォルト値は7日間です。保存期間はフロー全体に基づきます。期間はSCA_FLOW_INSTANCE.UPDATED_TIMEに対して比較されます。

このパラメータは、CUBE_INSTANCE表のレコードをチェックして削除します。このパラメータの値はmax_creation_date以上である必要があります。デフォルト値はnullです。

BPELインスタンス(CUBE_INSTANCE)のmodify_dateに基づいてビジネス・フロー・インスタンスを保存する場合は、保存期間を指定します。

この例では、BPELインスタンス表のmodify_date (コンポジットのcreated_dateとは異なる場合がある)は、フィルタ処理の第2レベルとして使用されています。

min_creation_date = 1st June 2011
max_creation_date = 30  June 2011
retention_period = 1st July 2011

これにより、コンポジットのcreation_timeが2011年6月1日から2011年6月30日の範囲にあり、CUBE_INSTANCEのmodify_dateが2011年7月1日より前であるすべてのビジネス・フロー・インスタンスが削除されます。

purge_partitioned_component

パーティション化された表をパージする必要があるかどうかを示します。trueに設定すると、同じパージ・ジョブが呼び出され、パーティション化されたデータが削除されます。デフォルト値はfalseです。

注意: 表は、パーティション化するとDROP文で維持されるため、パージする必要はありません。

ignore_state

trueに設定すると、指定された日付範囲内でオープンおよびクローズされたすべてのインスタンスがパージされます。デフォルト値はfalseです。

注意: オープン・インスタンスのパージは、システムを不整合状態にする可能性があるため、このパラメータは慎重に使用してください。

composite_name

SOAコンポジット・アプリケーションの名前。このパラメータをcomposite_revisionパラメータおよびsoa_partition_nameパラメータとともに使用すると、特定のSOAコンポジット・アプリケーションのインスタンスをパージできます。詳細は、「特定のSOAコンポジット・アプリケーションのインスタンスのパージ」を参照してください。

composite_revision

SOAコンポジット・アプリケーションのリビジョン番号。

soa_partition_name

SOAコンポジット・アプリケーションが格納されているパーティション。

sql_trace

trueに設定すると、このパラメータによって、USER_DUMP_DEST初期化パラメータで指定された宛先にトレース・ファイルを生成するSQLトレースが構成されます。SOA_INFRAユーザーは、ALTER SESSION権限が付与されている必要があります。この権限は、トレースの詳細が収集された後にデータベース管理者が取り消すことができます。

GRANT ALTER SESSION TO SOA_INFRA

注意: パフォーマンスに影響するため、このパラメータはデバッグのみに使用してください。

PQS

パラレル問合せスレーブの数を表示します。さらにスレーブを追加して負荷の高いSQLコマンドのパフォーマンスを向上できます。

注意:

- retention_periodに値を指定しない場合、このプロパティの値はmax_creation_dateの値にデフォルトで設定されます(つまり、retention_periodがnullに等しい場合、retention_period = max_creation_date)。この結果は、「dbms_schedulerを使用したパラレル・スクリプトでのループされるパージ」で説明されているスクリプト・パラメータにも適用されます。

- リリース11gから12cにアップグレードしているのではない場合、max_creation_dateおよびmin_creation_dateパラメータはオプションです。パージは、同様にオプションであるretention_periodによって完全に実行できます。

- パージ・スクリプトのパージは、データベースと表内の既存行のみに制限されます。パージ・スクリプトでランタイム実行を調べる方法はありません。このため、パージ・スクリプトでアクティブな行が削除された直後に、(ignore_stateパラメータをtrueに設定して)自動リカバリを試行することが想定されます。このため、パージの実行後に行が作成されます。SCA_FLOW_INSTANCE表の行はすでに削除されているため、この行は不確定のままになります。

13.3.3.2 dbms_schedulerを使用したパラレル・スクリプトでのループされるパージ

このスクリプトは、「ループしたパージ・スクリプト」で説明されているループしたパージ・スクリプトと機能的に同じです。ただし、このスクリプトでは、各ジョブがサブセット・データを処理する複数のパージ・ジョブを生成するためのdbms_schedulerパッケージを使用します。

SOAデータベース表をパージするには、次の手順を使用します。

注意:

複数のCPUを持つホストがある場合、パラレル・スクリプトを使用することが役立ちます。ただし、パラレル・スクリプトはオフピーク時にのみ有効化することをお薦めします。さらに、オフピーク時にデータをパージするとき、大量のデータをパージする前に索引を削除し、後で索引を追加して戻すことをお薦めします。これにより、パージ処理が高速化され、索引のバランスを維持できます。

13.3.3.2.1 パラレルでのdelete_instancesプロシージャ

インスタンスを削除するにはdelete_instancesプロシージャをパラレルで使用します。次の例は構文を示しています。

PROCEDURE delete_instances_in_parallel (
min_creation_date in timestamp,
max_creation_date in timestamp,
batch_size in integer,
max_runtime in integer,
retention_period in integer,
DOP in integer
max_count integer,
purge_partitioned_component in boolean)
ignore_state in boolean
composite_name in varchar2
composite_revision in varchar2
soa_partition_name in varchar2
sql_trace in boolean

表13-3で、スクリプトのパラメータについて説明します。

表13-3 パラレルでのdelete_instancesプロシージャのパラメータの説明

パラメータ

説明

min_creation_date

ビジネス・フロー・インスタンスの最短の作成期間(日数)。

max_creation_date

ビジネス・フロー・インスタンスの最長の作成期間(日数)。

batch_size

削除対象に選択されたフローの最大数。デフォルト値は20000です。

max_runtime

パージ・スクリプトがループを終了する有効期限。デフォルト値は60です。この値は分で指定します。

retention_period

データを保持する期間(日数)を指定します。ジョブを実行しても、この期間内のデータはパージされません。デフォルト値は7日間です。保存期間はフロー全体に基づきます。期間はSCA_FLOW_INSTANCE.UPDATED_TIMEに対して比較されます。デフォルト値はnullです。このパラメータの詳細は、表13-2を参照してください。

DOP

パラレルで実行するジョブの数を定義します。デフォルト値は4です。

max_count

処理される行数を定義します(削除される行数ではありません)。大規模なtemp表が作成され、データに基づいてパージするジョブがスケジュールされます。これはパージする行数の最大値であり、デフォルトで100万に設定されます。デフォルト値は1000000です。

purge_partitioned_component

同じパージを起動して、パーティション化されたデータを削除できます。デフォルト値はfalseです。

注意: 表は、パーティション化するとDROP文で維持されるため、パージする必要はありません。

ignore_state

trueに設定すると、指定された日付範囲内でオープンおよびクローズされたすべてのインスタンスがパージされます。デフォルト値はfalseです。

注意: オープン・インスタンスのパージは、システムを不整合状態にする可能性があるため、このパラメータは慎重に使用してください。

composite_name

SOAコンポジット・アプリケーションの名前。このパラメータをcomposite_revisionパラメータおよびsoa_partition_nameパラメータとともに使用すると、特定のSOAコンポジット・アプリケーションのインスタンスをパージできます。詳細は、「特定のSOAコンポジット・アプリケーションのインスタンスのパージ」を参照してください。

composite_revision

SOAコンポジット・アプリケーションのリビジョン番号。

soa_partition_name

SOAコンポジット・アプリケーションが格納されているパーティション。

sql_trace

trueに設定すると、このパラメータによって、USER_DUMP_DEST初期化パラメータで指定された宛先にトレース・ファイルを生成するSQLトレースが構成されます。SOA_INFRAユーザーは、ALTER SESSION権限が付与されている必要があります。この権限は、トレースの詳細が収集された後にデータベース管理者が取り消すことができます。

GRANT ALTER SESSION TO SOA_INFRA

注意: パフォーマンスに影響するため、このパラメータはデバッグのみに使用してください。

13.3.3.3 パージ・スクリプトの実行

この項では、パージ・スクリプトを実行する方法について説明します。「Oracle Enterprise Manager Fusion Middleware Controlを使用した大量のインスタンスの削除」でこれらのスクリプトを実行することもできます。

パージ・スクリプトを実行するには、次の手順を実行します。

1. SQL*Plusで、データベースAS SYSDBAに接続します。

CONNECT SYS AS SYSDBA

2. 次のSQLコマンドを実行します。

GRANT EXECUTE ON DBMS_LOCK TO USER;
GRANT CREATE ANY JOB TO USER;

ここで、USERはスクリプトを実行するためのsoainfraアカウントです。これらの特権は、スクリプトを実行するために必要です。

3. MW_HOME/SOA_ORACLE_HOME/soa/common/sql/soainfra/sqlディレクトリにあるメイン・パージ・スクリプトを実行することで、パージ・スクリプトをロードします。
パラレル・パージの場合、パラレル・パージによって生成されたジョブからのデバッグ・ログは、SOA_PURGE_DIRという名前のディレクトリに作成されるファイルに記録されます。このディレクトリはOracleデータベースからアクセスできる必要があります。

4. SOA_PURGE_DIRを作成し、soainfraユーザーに書込み権限を付与します。

mkdir -p /tmp/purgelog
CREATE OR REPLACE DIRECTORY SOA_PURGE_DIR AS 'SERVER_DIRECTORY'

ここで、SERVER_DIRECTORYは作成するディレクトリ('/tmp/purgelog/'など)です。ディレクトリ・パスを囲む一重引用符は必須です。

5. スクリプトをデバッグ・モードで実行する場合、common/debug_on.sqlを実行し、SQL*Plusでserveroutをonに設定します。この手順は省略可能です。

SET SERVEROUT ON

生成されたジョブからのログは、ステップ4で作成されたディレクトリに記録されます(ジョブごとに別のファイル)。残りのログはstdout (または構成された場合はspoolファイル)に表示されます。

パージには次の2つのオプションがあります。

- ループされるパージ

- パラレル・パージ

6. 次に示すようにパージ・スクリプトを実行します。両方のオプションに対して例を示します。

a. ループされるパージの場合:

DECLARE

MAX_CREATION_DATE timestamp;
MIN_CREATION_DATE timestamp;
batch_size integer;
max_runtime integer;
retention_period timestamp;
composite_name varchar2(500);
composite_revision varchar2(50);
soa_partition_name varchar2(200);
PQS integer;
ignore_state boolean;

BEGIN

MIN_CREATION_DATE := to_timestamp('2010-01-01','YYYY-MM-DD');
MAX_CREATION_DATE := to_timestamp('2010-01-31','YYYY-MM-DD');
max_runtime := 60;
retention_period := to_timestamp('2010-01-31','YYYY-MM-DD');
batch_size := 10000;
composite_name := 'example_composite';
composite_revision := '1.0';
soa_partition_name := 'default';
ignore_state := false;
PQS := 5;
soa.delete_instances(
min_creation_date => MIN_CREATION_DATE,
max_creation_date => MAX_CREATION_DATE,
batch_size => batch_size,
max_runtime => max_runtime,
retention_period => retention_period,
purge_partitioned_component => false);
ignore_state => ignore_state,
sql_trace => true);
END;
/

b. パラレル・パージの場合:

DECLARE

max_creation_date timestamp;
min_creation_date timestamp;
batch_size integer;
max_runtime integer;
retention_period timestamp;
composite_name varchar2(500);
composite_revision varchar2(50);
soa_partition_name varchar2(200);
PQS integer;
DOP integer;
max_count integer;
ignore_state boolean;

BEGIN

min_creation_date := to_timestamp('2010-01-01','YYYY-MM-DD');
max_creation_date := to_timestamp('2010-01-31','YYYY-MM-DD');
batch_size integer;
max_runtime integer;
retention_period := to_timestamp('2010-01-31','YYYY-MM-DD');
composite_name := 'michael_composite';
composite_revision := '1.0';
soa_partition_name := 'default';
ignore_state := true;
PQS := 5;
DOP := 2;
max_count := 100000;
soa.delete_instances_in_parallel(
min_creation_date => min_creation_date,
max_creation_date => max_creation_date,
batch_size => batch_size,
max_runtime => max_runtime,
retention_period => retention_period,
DOP => DOP,
max_count => max_count,
purge_partitioned_component => false,
ignore_state => ignore_state,
sql_trace => true);
END;

13.3.3.4 パラレル・スクリプトでのループされるパージの実行後のデッドロックの解決

パラレル・スクリプトでループされるパージを実行した後にいずれかのスレッドのスレッド・ログでデッドロック検出される場合があります。次の例は、スレッド・ログで見つかったエラーを示します。

SOA_PURGE_LOG_THREAD1 (total of 4 threads)
17-JUL-2012 03:03:48
: Purge AUDIT_DETAILS. Error Code = -60, Error Message = ORA-00060: deadlock
detected while waiting for resource
17-JUL-2012 03:03:48
: ERROR(delete_inst_in_parallel_job. Error Code = -60, Error Message =
ORA-00060: deadlock detected while waiting for resource

デッドロック問題を解決するには、AUDIT_DETAILS表を再構築して、次のいずれかの値を大きくします。

- PCTFREEを大きくします(関連トランザクション・リスト(ITL)の割当てを拡大できるようにするため)。

- INITRANS (初期ITL)を大きくします。このオプションは、以下で説明します。

AUDIT_DETAILS表を拡大し、INITRANS値を増やす手順は次のとおりです。

1. 一時表を作成し、INITRANSの値を増やします(この例では名前AUDIT_DETAILS_TMPの表が作成されます)。

SQL> CREATE TABLE "PS6_SOAINFRA"."AUDIT_DETAILS_TMP"
(    "CIKEY" NUMBER(*,0),
"DETAIL_ID" NUMBER(*,0),
"BIN_CSIZE" NUMBER(*,0),
"BIN_USIZE" NUMBER(*,0),
"DOC_REF" VARCHAR2(300),
"BIN" BLOB,
"CI_PARTITION_DATE" TIMESTAMP (6)
) SEGMENT CREATION IMMEDIATE
PCTFREE 0 PCTUSED 1 INITRANS 4 MAXTRANS 255 NOCOMPRESS LOGGING
STORAGE(INITIAL 331350016 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 6 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE
DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "PS6_SOAINFRA"
LOB ("BIN") STORE AS BASICFILE (
TABLESPACE "PS6_SOAINFRA" ENABLE STORAGE IN ROW CHUNK 8192 PCTVERSION 0
CACHE
STORAGE(INITIAL 16384 NEXT 8192 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE
DEFAULT CELL_FLASH_CACHE DEFAULT)) ;

SQL> INSERT /*+ APPEND */ into audit_details_TMP select * from audit_details;

SQL> COMMIT;

2. AUDIT_DETAILS表を削除します。

SQL> DROP TABLE PS6_SOAINFRA.AUDIT_DETAILS CASCADE CONSTRAINTS;

3. AUDIT_DETAILS_TMP一時表の名前をAUDIT_DETAILSに変更します。

SQL> ALTER TABLE PS6_SOAINFRA.AUDIT_DETAILS_TMP RENAME TO AUDIT_DETAILS;

4. AUDIT_DETAILSで一意索引を作成します。

SQL> CREATE UNIQUE INDEX "PS6_SOAINFRA"."AD_PK" ON "PS6_SOAINFRA"."AUDIT_ DETAILS" ("CIKEY", "DETAIL_ID");

5. 制約と主キーをAUDIT_DETAILSに追加します。

SQL> ALTER TABLE "PS6_SOAINFRA"."AUDIT_DETAILS" ADD CONSTRAINT "AD_PK" PRIMARY
KEY ("CIKEY", "DETAIL_ID") ENABLE;

13.3.3.5 特定のSOAコンポジット・アプリケーションのインスタンスのパージ

特定のSOAコンポジット・アプリケーションのインスタンスをパージし、その他のコンポジットのインスタンスはパージせずに残すことができます。このアクションを使用して、大量または保存期間が長い特性のために、特定のフローを他のフローより頻繁にパージできます。

パージ・スクリプトには、COMPOSITE_DNに基づいてパージするためのオプションが含まれています。COMPOSITE_DNをベースとするパージでは、composite_nameおよびcomposite_revisionパラメータとの併用がサポートされます。

パージ・ロジックは、COMPOSITE_IDではなくフローIDに基づいています。したがって、目的のCOMPOSITE_DN以外に、同じフローIDを共有している他のコンポジットが削除されます。次に示すシナリオが発生する場合があります。

- ビジネス・フロー・インスタンスはクローズされますが、フローはオープンしたままになります。
コンポジットAがコンポジットBをコールするシナリオでは、パージにより、コンポジットAのインスタンスが削除の対象となります。ただし、コンポジットAのインスタンスがクローズされ、対応するコンポジットBのインスタンスがオープンしたままの場合があります。したがって、全体的なフローがオープン状態にあり、コンポジットAのインスタンスは(クローズしたとしても)パージされません。

- ビジネス・フロー・インスタンスはクローズされ、フローもクローズされます。
コンポジットAがコンポジットBを再度コールします。パージにより、コンポジットAのインスタンスが削除の対象となります。したがって、コンポジットAがクローズされ、コンポジットBもクローズされている場合は、フロー全体がクローズされているため、ビジネス・フロー・インスタンスAおよびBの両方がパージされます。

これらのシナリオにより、フローの一貫性が維持されます。

composite_nameおよびcomposite_revisionパラメータの詳細は、「ループされるパージ・スクリプト」および「dbms_schedulerを使用したパラレル・スクリプトでのループされるパージ」を参照してください。

13.3.3.6 Oracle Mediatorのリシーケンスされたメッセージのパージの状態

パージ・スクリプトには、Oracle Mediatorのリシーケンサ表(MEDIATOR_GROUP_STATUSおよびMEDIATOR_RESEQUENCER_MESSAGE)内の情報をパージするパージ・コマンドが含まれています。パージ・スクリプトを実行すると、次の情報がリシーケンサ表からパージされます。

- すべてのリシーケンサ・タイプの完了したメッセージおよび中断したメッセージ

- 標準のリシーケンサのタイムアウトしたメッセージ

- ベスト・エフォートおよびFIFO(先入れ先出し)のリシーケンサの準備完了状態のグループ(これらのグループのみをパージできます)

フォルト・リカバリおよびメッセージ処理を完了させるため、パージ・スクリプトは、リシーケンス・メッセージ情報をすべてパージするわけではありません。さらに、標準のリシーケンサ・グループには、パージしてはいけない情報が格納されています。パージ・スクリプトを実行しても、次のものはパージされません。

- すべてのリシーケンサ・タイプの失敗したメッセージ

- すべてのリシーケンサ・タイプの実行中のメッセージ

- 標準のリシーケンサのグループ情報

- ベスト・エフォートおよびFIFOのリシーケンサの、準備完了以外の状態のグループ

注意:

Oracle Mediatorリシーケンサのパージ・スクリプトは、最初にメッセージをパージし、次にグループに移動します。MEDIATOR_RESEQUENCER_MESSAGE表にグループのメッセージがある場合は、グループを削除できません。

上記では、インスタンスのトラッキングが有効であるか無効であるかに関係なく、パージ・スクリプトのループ処理およびパラレル処理の両方について説明しています。シーケンス・グループがパージされる前に、グループに関連付けられているすべてのメッセージが処理されていることを確認するためのチェックが実行されます。

次に、リシーケンサ表で使用されているグループ状態コードのリストを示します。

- 0: 準備完了

- 1: ロック

- 2: エラー

- 4: タイムアウト

- 6: グループ・エラー

次に、リシーケンサ表で使用されているメッセージ状態コードのリストを示します。

- 0: 準備完了

- 1: ロック

- 2: 完了

- 3: エラー

- 4: タイムアウト(これは無視されます)

- 5: 中断

13.3.4 パージのステータスの監視

Oracle Enterprise Manager Fusion Middleware Controlから実行されたパージ・ジョブは、表13-4に示されているSQLコマンドを使用して監視できます。

表13-4 パージのステータスを監視するためのSQL*Plusコマンド

使用目的

実行するコマンド

ジョブ履歴およびステータスの表示

SQL> select log_date, status from user_scheduler_job_
log where job_name = 'DELETE_INSTANCES_AUTO_JOB1' order
by log_date;

DELETE_INSTANCES_AUTO_JOB1はデフォルトで有効です。DELETE_INSTANCES_AUTO_JOB2も有効にできます。

「自動パージ」ページでのジョブの選択の詳細は、「Oracle Enterprise Manager Fusion Middleware Controlを使用した大量のインスタンスの削除」を参照してください。

実行中のジョブの表示

SQL> select session_id, running_instance, elapsed_time, cpu_used
from user_scheduler_running_jobs
where job_name = 'DELETE_INSTANCES_AUTO_JOB1';

ジョブの詳細の表示

SQL> select log_date, status, req_start_date, actual_start_date, run_duration
from user_scheduler_job_run_details
where job_name = 'DELETE_INSTANCES_AUTO_JOB1'
order by log_date;

ジョブ・スケジュールの検索

SQL> select SCHEDULE_TYPE,START_DATE,REPEAT_INTERVAL
from user_scheduler_schedules
where schedule_name = 'DELETE_INSTANCES_AUTO_SCH1';

DELETE_INSTANCES_AUTO_SCH1およびDELETE_INSTANCES_AUTO_SCH2は、選択されたジョブに基づいています。

デフォルトのジョブ・スケジュールの検索

BEGIN
DBMS_SCHEDULER.set_attribute (
name      => 'DELETE_INSTANCES_AUTO_SCH1',
attribute => 'repeat_interval',
value     => 'freq=daily; byhour=0; byminute=0; bysecond=0');
END;

ジョブ・スケジュールの変更(この例では、毎時30分に変更)

BEGIN
DBMS_SCHEDULER.set_attribute (
name      => 'DELETE_INSTANCES_AUTO_SCH1',
attribute => 'repeat_interval',
value     => 'freq=hourly; byminute=30');
END;

13.3.5 データベースSQLトレースの生成

パージ・スクリプトには、SQLトレースを生成するためのパラメータが含まれています。

- パージ・スクリプトをSQL*Plusから直接実行する場合、パラメータはsql_traceパラメータと名付けられます。

- パージ・スクリプトをOracle Enterprise Manager Fusion Middleware Controlの「自動パージ」ページから実行する場合、パラメータはsqlTraceと名付けられます(「詳細な自動パージ構成プロパティ」リンクの下にあります)。

このパラメータをtrueに設定すると、データベース・ユーザーのdumpディレクトリに配置されるデータベースSQLトレースが生成されます。パラレル・パージ・スクリプトの場合、従属する各パラレル・パージ・ジョブ(J000、J001など)にもSQLトレースが生成されます。

パージ・スクリプトでパラレル問合せスレーブが有効になっている場合は、トレース・ファイルが作成されます。トレース・ファイルは、sql_traceの設定時に生成されます。パラレル・パージ・スクリプトを使用すると、J*という名前で複数のトレース・ファイルが作成されます。

SQLトレースの詳細は、Oracle Database SQLチューニング・ガイドを参照してください。

13.4 コンポーネント表のパーティション化

次のコンポーネントのランタイムおよびスキーマ・コードは、フロー作成日付列をトランザクション表に格納するように変更されました。

- Oracle BPEL Process Manager

- Oracle Mediator

- ヒューマン・ワークフロー

- Oracle B2B

- SOAインフラストラクチャ

- Oracle BPM Suite

CPST_CREATED_DATE列には、インスタンス・トラッキング・コードによって移入されたフロー作成日時が含まれています。これは、正規化されたメッセージ・プロパティoracle.integration.platform.instance.CommonConstants.SCA_FLOW_INSTANCE_CREATED_TIMEとして使用できます。

すべてのSOAコンポーネントは同じパーティション・キーでパーティション化されます。これらのパーティション化されたコンポーネントでは同じ時間範囲とパーティションIDが使用されます。

注意:

完全または部分的なパーティション化を実行する前に、パージ・スクリプトを実行してください。

13.4.1 リポジトリ作成ユーティリティを使用したデータベースのパーティション化

リポジトリ作成ユーティリティの実行中に、データベース・プロファイルを選択できます。プロファイルにより、SOAデータベースのサイズが決定され、Oracle SOA Suite関連ストレージのためのOracleデータベースのパフォーマンス機能を使用できるようになります。

- 大: 大規模なパーティション化されたスキーマを提供します。これは、200 GB以上のデータベースに対して選択します。

- 小: パーティションのない小さなスキーマを提供します。

詳細は、『リポジトリ作成ユーティリティによるスキーマの作成』のカスタム変数に関する項を参照してください。

13.4.2 コンポーネント・データベース表のパーティション化

Oracle SOA Suiteには、DBAがOracle RDBMSのパーティション化機能を活用できるように、パーティション・キーが備えられています。このアクションにより、スキーマ表を時間間隔に基づいてレンジ・パーティション化できます。これは、大規模な表のデータベース・メンテナンス・ウィンドウを短縮する必要がある場合に役立ちます。(この章では説明していませんが、これにより、パーティション化されたデータをアーカイブすることもできるようになります。)

Oracle SOA Suiteの表をパーティション化するタスクは、熟練したDBAが実行する必要があります。表のパーティション化はDBAのコア・スキルであるため、この章では表をパーティション化する方法について、手順を追った詳細な説明は行いません。ここでは、Oracle SOA Suiteのスキーマおよび関連するスクリプトに関する、DBA向けの知識と説明を提供します。DBAは、この知識を活用して、各自の環境での任意のパーティション化戦略をカスタマイズし、データベースのパフォーマンスに応じたチューニング・パラメータを組み込むことができます。チューニングは状況に応じて実施する必要があり、また、構成に1回変更を加えるのみでは完了しません。これは監視とチューニングの反復プロセスです。

次のコンポーネントは、コンポーネント独自のデータベース・スキーマに関連付けられています。

- Oracle BPEL Process Manager

- Oracle Mediator

- ヒューマン・ワークフロー

- Oracle B2B

- SOAインフラストラクチャ

- Oracle BPM Suite

表のパーティション化の詳細は、次のURLにあるOracleデータベース管理ドキュメント・ライブラリを参照してください。

http://www.oracle.com/technetwork/indexes/documentation/index.html

注意:

- DBAは、特に、ラージ・オブジェクト(LOB)セグメントがある表について、ハッシュ・サブパーティションの適用を検討することがあります。これは最高水位(HW)エンキューの競合への対応に役立つ場合があります。

- 単調に増加する主キー(CIKEYなど)に対してグローバル・ハッシュ索引を使用すると、ブロックの競合が緩和されることがあります。

13.4.2.1 参照整合性および同一レベル・パーティション化

パフォーマンス上の理由から、Oracle BPEL Process Manager、Oracle Mediator、ヒューマン・ワークフロー、Oracle B2B、SOAインフラストラクチャおよびOracle BPM Suiteスキーマでは、整合性を強制するための外部キー制約がありません。このことには、参照パーティション化と呼ばれるRDBMS機能を使用することが考慮されています。この機能は、外部キー制約を横断して、マスター表と詳細表の同一レベル・パーティション化を行うことによって、大きな利点をもたらします。同一レベル・パーティション化とは、関連する依存表の行が、マスター表の行と同じパーティション・キー間隔を持つ、1つのデータベース・パーティションに存在することを意味します。

この機能には、同一レベル・パーティション内の各詳細行の状態(完了、フォルトなど)について、その行に関連するマスター表の行から推測できるという利点があります。

RDBMSの参照パーティション化機能は使用できませんが、類似した動作を模倣して、いくつかの同じ利点を得ることができます。Oracle BPEL Process Manager、Oracle Mediator、ヒューマン・ワークフロー、Oracle B2B、SOAインフラストラクチャおよびOracle BPM Suiteのコンポーネントでは、詳細表の各行のパーティション・キーが、マスター表の行のパーティション・キーと同じであることが保証されます(つまり、詳細表でも日付(タイムスタンプ)がパーティション・キーとなります)。この場合、設定を完了するために、DBAはマスター表と詳細表が同じ間隔でレンジ・パーティション化されていることを確認する必要があります。この章の後の各項で、いくつかの例を示します。

注意:

実際のサイトでは、古いパーティションについては参照整合性を考慮する必要がないと判断することがあります。例として、サイトに十分なディスク領域があるために、古いデータを格納することが許容されている場合や、参照されないデータを依存表に保管しておいても、特に悪影響がない場合をあげることができます。

13.4.3 レンジ時間隔パーティション化

レンジ時間隔パーティション化は、リリース11gのレンジ・パーティション化機能の拡張で、リリース12cの機能です。レンジ・パーティション化では、各パーティションを手動で割り当てる必要がありました。レンジ時間隔パーティション化では、パーティションを手動で割り当てる必要はありません。指定された間隔のパーティションは、割り当てたパーティション・キーの間隔値が既存のすべてのレンジ・パーティションを超えると自動的に作成されます。検証スクリプトではレンジ時間隔パーティション化がサポートされています。

レンジ時間隔パーティション化の詳細は、『Oracle Database VLDBおよびパーティショニング・ガイド』を参照してください。

13.4.4 同一レベル・パーティション化およびレンジ時間隔パーティション化

同一レベル・パーティション化の目標は、すべての依存表パーティションに、マスター表パーティションに対応する関連付けられた行の完全なセットが含まれるようにすることです。これは次のようにして行います。

- パーティション・キー値は、依存表のレンジが同じになるように、マスター・キーからすべての依存表に伝播されます。

- マスター・キーには、各フローの状態(オープンまたはクローズ)が格納されます。マスターがチェックされ、すべてがクローズされていると、同じパーティション・レンジを持つ依存表の削除が可能になります。

レンジ時間隔パーティション化の検証スクリプトでは、依存表パーティションごとに、マスター・パーティションと比較して次の点をチェックします。

- 同じ間隔定義(各表では、月次、週次、日数などについて同じ間隔定義が必要です)。

- 上限値と下限値はデータベースによって自動的に維持されます。

- 削除する必要のあるパーティションでは、上限値が同じであることが必要です。

13.4.5 レンジ時間隔パーティション化の例

次の例では、レンジ時間隔パーティション化の動作を示します。この例では、SCA_FLOW_INSTANCEマスター表が使用されます。

CREATE TABLE SCA_FLOW_INSTANCE
(FLOW_ID INTEGER NOT NULL;
. . .
. . .
CREATED_TIME TIMESTAMP NOT NULL)
PARTITION BY RANGE (CREATED_TIME)
INTERVAL(NUMTOYMINTERVAL(1, 'MONTH'))
PARTITION p0 VALUES LESS THAN (TO_DATE('1-2-2007', 'DD-MM-YYYY')));

表13-5に、前述の例で示されている構文を説明します。

表13-5 レンジ時間隔パーティション化の例

構文

説明

PARTITION BY RANGE (CREATED_TIME)

パーティション・キー(たとえば、2013年7月1日の日付は01-07-2013と指定)。

INTERVAL(NUMTOYMINTERVAL(1, 'MONTH'))

間隔(この例では、1か月を指定)。したがって、パーティション・キーが(01-07-2013のように)7月1日に指定されている場合は、7月に対してパーティションが作成されます。その後、パーティションは、8月1日、9月1日、10月1日など、月単位で自動的に割り当てられます。各パーティションを手動で割り当てる必要はありません。

注意: 同一レベル・パーティション化に対して上限および下限が作成されるように、すべてのOracle SOA Suite表はこの同じ間隔値を使用して作成する必要があります。

PARTITION p0 VALUES LESS THAN (TO_DATE
('1-2-2007', 'DD-MM-YYYY')));

最初のパーティションはレンジ・パーティションである必要があります。これは遷移ポイントで、この後はすべてのパーティションが自動的に割り当てられます。最初のレンジ・パーティションには、使用されることのないDATE間隔(完了日1-2-2007など)を指定することをお薦めします。

このパーティションの日付によって、パーティションは仮想メタデータになります。この日付により、必要に応じて簡単にパーティションを削除できます。

次の例に示すSQLコマンドでは、作成された最初のレンジ・パーティションを識別します。最後の行の値Noは、これがレンジ・パーティションであって時間隔パーティションでないことを示します。

SQL> select partition position, partition name, high value, interval
from user_tab_partitions
where table_name = 'SCA_FLOW_INSTANCE';

--------------------------------------------------------------
1     P0        TIMESTAMP' 2007-02-01 00:00:00'    No

次の例に示すSQLコマンドでは、システム名、上限値、およびこれが時間隔パーティションであるかどうかを識別します。最後の行の値Yesは、これが時間隔パーティションであることを示します。出力の2行目は削除されます。最初の行は単なるメタデータであり、削除されません。パーティションは、日付を挿入すると自動的に割り当てられます。システム名は自動的に生成され、パーティションは日付に基づき必要に応じて割り当てられます。

SQL> INSERT INTO SCA_FLOW_INSTANCE VALUES(..TO_TIMESTAMP('1-5-2013', 'DD-MM-YYYY')...};

--------------------------------------------------------------
1     P0        TIMESTAMP' 2007-02-01 00:00:00'    No
2     SYS_P532  TIMESTAMP' 2013-06-01 00:00:00'    Yes

次の例に示すSQLコマンドでは、2行目と3行目を、削除するパーティションとして識別します。これは前の月(2013年5月ではなく2013年3月)から実行されているため、別のパーティションが挿入されます。パーティションの位置は変更されます。

SQL> INSERT INTO SCA_FLOW_INSTANCE VALUES(..TO_TIMESTAMP('1-3-2013', 'DD-MM-YYYY')...};

--------------------------------------------------------------
1     P0        TIMESTAMP' 2007-02-01 00:00:00'    No
2     SYS_P578  TIMESTAMP' 2013-04-01 00:00:00'    Yes
3     SYS_P532  TIMESTAMP' 2013-06-01 00:00:00'    Yes

13.4.6 パーティション・キーの選択の概要

スキーマのパーティション・キーを選択する場合は、次の要素を考慮します。

- 参照整合性の状態(完了など)を伝達するか、または暗黙的に示すこと

- メンテナンス操作のための、時間間隔でのレンジ・パーティション化が可能であること

- 参照されないデータが生じる可能性がある行の移動を回避するために静的であること

- 表のメンテナンス操作を実行する場合に行が移動されないように、静的であること

- パーティション・プルーニングによってコンソール問合せに対するパフォーマンス上の利点がもたらされること

13.4.7 パーティションの構成

パーティション化は、デフォルトでは構成されていません。手動で実行する必要があるインストール後ステップです。データベースのパーティション化を実装することにした場合は、いくつかの初期構成タスクを1回のみ実行する必要があります。

- この章の情報に従がって、パーティション化するグループを決定します。

- それらのグループごとに、パーティション化する必要がある各グループに一部の必須表があることを念頭に、パーティション化する表を決定します。

- グループごとに、パーティション間隔を決定します。

- Oracle SOA Suiteスキーマをパーティション化するパーティション・スクリプトを作成します。スクリプトは提供されないため、各DBAに、各自の環境に適したパーティション・スクリプトを作成する責任があります。

- パージ・スクリプトを編集し、パーティション化した表への参照を削除します。

13.4.8 検証スクリプトの概要

パーティションおよび同一レベル・パーティション化された依存表を削除するタイミングを識別するために、DBAには検証スクリプトが提供されています。この検証スクリプトでは、長時間実行されているアクティブなインスタンスの存在も識別されます。その後、これらのインスタンスを別のパーティションに移動し、元のパーティションを削除できます。検証スクリプトではレンジ時間隔パーティション化がサポートされています。

注意:

検証スクリプトではパーティションが削除できることを確認するのみであり、パーティションを削除しません。スクリプトで正確なデータを得るためには、すべての表に対してパーティション化を有効にすることが重要です。

13.4.8.1 コンポーネント表

この項では、パーティション化の制約について説明し、コンポーネント表、コンポーネント表が属するグループおよびそのパーティション・キーのリストを示します。

13.4.8.1.1 パーティション化の制約

次に示す表のパーティション化の制約に注意してください。

- パーティション化のアプローチには、次の選択肢があります。

- 完全なパーティション化: サービス・コンポーネント/サービス・エンジンのすべての表をパーティション化します。

- パーティション化なし: サービス・コンポーネント/サービス・エンジンの表をパーティション化しません。

- 部分的なパーティション化: パーティション化を増加率が高い特定の表に制限します。
いずれの表も、次の制限に従ってパーティション化できます。

- 依存表をパーティション化する場合は、そのマスター表もパーティション化する必要があります。

- すべての表は、同じ日付範囲と同じ名前に従って同一レベル・パーティション化される必要があります。

- SCA_FLOW_INSTANCE表は、常にパーティション化します。いずれかのコンポジットの「監査レベル」プロパティが「開発」または「本番」に設定されている場合、この制約は必須です。検証スクリプトは、そのパーティション内のアクティブなビジネス・フロー・インスタンスに基づいて、アクティブなフローをチェックします。したがって、SCA_FLOW_INSTANCE表がパーティション化されていない場合、すべての表の同一レベル・パーティション化に基づく全体検証スクリプト・ロジックは機能しません。

- グループやコンポーネントに関係なく、パーティション化されたすべての表では、同じ時間範囲およびパーティションIDが使用されます。

13.4.8.1.2 コンポーネント表、レンジ・パーティション・キーおよびグループ

表13-6から表13-11までは、3つのグループに分けられます。

- グループ1: コンポジットのエンドツーエンド・フロー・トレースに直接関係する表が含まれます。表の大多数がこのグループに該当します。

- グループ1A: フロー・トレースに直接関係しない表の小規模なセットが含まれます。

- グループ2: グループ1とグループ1Aの表の複数の表に依存する表の小規模なセットが含まれます。グループ2の検証スクリプトを実行する前に、まず、グループ1の検証スクリプトを実行して、グループ1のパーティションを削除する必要があります。

注意:

グループ1と1Aは、検証スクリプト内で結合されています。検証スクリプトを実行する際に、この分類に関する知識は必要ありません。

表13-6 コンポーネント: SOAインフラストラクチャ

表

レンジ・パーティション・キー

グループ

SCA_FLOW_INSTANCE

CREATED_TIME

1

SCA_FLOW_TO_CPST

PARTITION_DATE

1

SCA_COMMON_FAULT

PARTITION_DATE

1

SCA_FLOW_ASSOC

PARTITION_DATE

1

SCA_META_DATA

PARTITION_DATE

1

SCA_REJECTED_MESSAGE

PARTITION_DATE

1

SCA_ATTACHMENT_REF

PARTITION_DATE

1

SCA_SENSOR_VALUE

PARTITION_DATE

1

AUDIT_DETAILS

CI_PARTITION_DATE

1

AUDIT_TRAIL

CI_PARTITION_DATE

1

表13-7 コンポーネント: Oracle BPEL Process Manager

表

レンジ・パーティション・キー

グループ

CUBE_INSTANCE

CPST_INST_CREATED_TIME

1

CI_INDEXES

CI_PARTITION_DATE

1

CUBE_SCOPE

CI_PARTITION_DATE

1

WI_FAULT

CI_PARTITION_DATE

1

WORK_ITEM

CI_PARTITION_DATE

1

DLV_SUBSCRIPTION

CI_PARTITION_DATE

1

DOCUMENT_CI_REF

CI_PARTITION_DATE

1

DLV_MESSAGE

RECEIVE_DATE

1A

HEADERS_PROPERTIES

DLV_PARTITION_DATE

1A

DOCUMENT_DLV_MSG_REF

DLV_PARTITION_DATE

1A

XML_DOCUMENT

DOC_PARTITION_DATE

2

表13-8 コンポーネント: Oracle Mediator

表名

レンジ・パーティション・キー

グループ

MEDIATOR_DEFERRED_MESSAGE

CREATION_DATE

1

MEDIATOR_PAYLOAD

CREATION_TIME

2

表13-9 コンポーネント: ヒューマン・ワークフロー

表

レンジ・パーティション・キー

グループ

WFASSIGNEE

PARTITION_DATE

1

WFATTACHMENT

PARTITION_DATE

1

WFEVIDENCE

PARTITION_DATE

1

WFHEADERPROPS

PARTITION_DATE

1

WFMESSAGEATTRIBUTE

PARTITION_DATE

1

WFNOTIFICATION

PARTITION_DATE

1

WFREVIEWER

PARTITION_DATE

1

WFROUTINGSLIP

PARTITION_DATE

1

WFTASK

PARTITION_DATE

1

WFTASK_TL

PARTITION_DATE

1

WFTASKAGGREGATION

PARTITION_DATE

1

WFTASKERROR

PARTITION_DATE

1

WFTASKHISTORY

PARTITION_DATE

1

WFTASKHISTORY_TL

PARTITION_DATE

1

WFTASKTIMER

PARTITION_DATE

1

表13-10 コンポーネント: Oracle B2B

表

レンジ・パーティション・キー

グループ

B2B_BUSINESS_MESSAGE

CPST_INST_CREATED_TIME

1

B2B_APP_MESSAGE

CPST_INST_CREATED_TIME

1

B2B_WIRE_MESSAGE

CPST_INST_CREATED_TIME

1

B2B_DATA_STORAGE

CPST_INST_CREATED_TIME

1

B2B_EXT_BUSINESS_MESSAGE

CPST_INST_CREATED_TIME

1

表13-11 コンポーネント: Oracle BPM Suite

表

レンジ・パーティション・キー

グループ

BPM_AUDIT_QUERY

CI_PARTITION_DATE

1

BPM_MEASUREMENT_ACTIONS

CI_PARTITION_DATE

1

BPM_MEASUREMENT_ACTION_EXCEPS

CI_PARTITION_DATE

1

13.4.8.2 同一レベル・パーティション化および時間隔パーティション化の検証スクリプト・チェック

検証スクリプトでは、チェックの実行時に次の2つの表を使用します。

- USER_PART_TABLES

- USER_TAB_PARTITIONS

表に対して定義した間隔の定義をチェックするには、次のようにします。

SQL> select INTERVAL from USER_PART_TABLES
where table_name = 'table_name';

パーティションの上限値をチェックするには、次のようにします。

SQL> select high_value from USER_TAB_PARTITIONS
where table_name = 'table_name'
and partition_name = 'partition_name';

13.4.9 検証スクリプトの実行

データベース管理者がパーティションおよびパーティションの同一レベル・パーティション化された依存表を削除するタイミングを識別できるように、検証スクリプトが提供されています。soa_exec_interval_verify.sql検証スクリプトは、MW_HOME/SOA_ORACLE_HOME/rcu/integration/soainfra/sql/verifyにあります。

検証スクリプトを実行する手順は次のとおりです。

1. SQL*PlusにSOAINFRAユーザーとしてログインします。

sqlplus
CONNECT SYS AS SOAINFRA

2. オプションでデバッグを有効にします。

SET ECHO ON
SET SERVEROUT ON

3. SQLコマンドPART_DIRを使用して、ログ・ファイルを書き込むディレクトリを作成します。次に例を示します。

CREATE DIRECTORY PART_DIR AS '/tmp/verify'

4. soainfraユーザーにこのディレクトリの書込み権限を付与します。ログおよびSQLファイルはこのディレクトリに生成されます。

5. 次のストアド・プロシージャをコールして、一時表を削除します。これは、アクティブなインスタンスが行移動スクリプトによって処理される一時表のセットで取得されるためです。

グループ1の表の場合:

DECLARE
BEGIN
verify_soa.trunc_verify1_temp_tables;
END;

グループ2の表の場合:

DECLARE
BEGIN
verify_soa.trunc_verify2_temp_tables;
END;

ストアド・プロシージャの実行には、クライアント・スクリプトsoa_exec_interval_verify.sqlを使用します。

6. テキスト・エディタでsoa_exec_interval_verify.sql検証スクリプトを開きます。

スクリプトで実行されるプロシージャはファイルの下部に表示されます。

- verify_soa.verify_interval_1(mySoa_drv_list);
グループ1の表を削除します。

- verify_soa.verify_interval_2(mySoa_drv_list);
グループ2の表を削除します。

7. パーティションの削除を開始する日付を変更します。これが上限値になります。上限値が同じ他のパーティションがすべて削除されます。これにより、上限値がタイムスタンプより前のすべてのパーティションを削除できるかどうかがチェックされます。

次に例を示します。

soa_max_timestamp := to_timestamp)'2013-06-15','YYYY-MM=DD');

8. グループ1または2の数値を入力してスクリプトを実行します。

@soa_exec_interval_verify.sql 1

このスクリプトでは、タイム・スタンプに基づいてパーティション名を検索します。タイムスタンプが2013-06-15より前のすべてのパーティションをSCA_FLOW_INSTANCEで検索します。

また、このスクリプトでは、すべての表が同じ間隔でレンジ時間隔パーティション化されていることも確認します。

9. SQL*Plusを終了します。

exit

10. PART_DIRディレクトリに生成されるログおよびSQLファイルを確認します。SQLファイルは、削除されたパーティションを識別します。

SOA_SYS_P579_LOG_1  SOA_SYS_P579_RESULT_1,sql

注意:

検証スクリプトは、ビジネス・ルールには用意されていません。

13.4.10 パーティションの検証と削除

パーティションを検証して削除するには、次の手順を実行します。

1. 関数verify_soa.verify_interval_1を実行します。

2. PART_DIRフォルダのSOA_PARTITION_NAME_LOG_1という名前のログ・ファイルにエラーがあるかどうかをチェックします。

3. PART_DIRフォルダに生成されたSOA_PARTITION_NAME_RESULT_1.sqlという名前のスクリプトを使用して、削除可能なパーティションを削除します。

4. verify_soa.verify_interval_2を実行します。

5. PART_DIRフォルダのSOA_PARTITION_NAME_LOG_2という名前のログ・ファイルにエラーがあるかどうかをチェックします。

6. PART_DIRフォルダに生成されたSOA_PARTITION_NAME_RESULT_2.sqlという名前のスクリプトを使用して、削除可能なパーティションを削除します。

注意:

Oracle B2B表に外部キー制約が存在することによって発生する問題があります。パーティションを削除する場合にB2Bパーティションのパージが起動されるとき、パーティションを削除する前に外部キー制約を無効化し、後で有効化する必要があります。このアクションを実行するには、前述の手順の適切なステップで、PL/SQLプロシージャb2b_disable_constraintsおよびb2b_enable_constraintsを実行する必要があります。これらのプロシージャでは外部キーが有効化および無効化されるため、稼働中のシステムでは実行しないことをお薦めします。

13.4.11 別のパーティションへの長時間実行されているアクティブなインスタンスの移動

この検証スクリプトでは、パーティション内にアクティブなインスタンスが存在するかどうかが確認されます。アクティブなインスタンスがない場合は、パーティションを削除できます。しかし、パーティションには長時間実行されているアクティブなインスタンスが存在することがあります。これらのアクティブなインスタンスがあると、パーティションは削除されません。この問題を回避するために、長時間実行されているインスタンスを別のパーティションに移動できます。

Oracleデータベースには、パーティション間での行の移動を有効または無効にするためのオプションが用意されています。パーティション表を作成または変更する際は、行移動句(ENABLE ROW MOVEMENTまたはDISABLE ROW MOVEMENTのいずれか)を指定できます。この句は、キーが更新された場合の新しいパーティションへの行の移動を有効または無効にします。このオプションによって、パーティションの削除を阻止する長時間実行されているプロセスを処理できます。

検証スクリプトでは、合計インスタンス数、オープン・インスタンス数およびパーティション内のオープン・インスタンスの割合が提供されます。この情報に基づいて、行移動プロシージャの実行が選択可能になります。これによりターゲット表のパーティション・キーが更新され、これらのインスタンスの別のパーティションへの行移動が順に開始されます。パーティション化されたすべての表からアクティブなインスタンスすべてが別のパーティションに移動した後は、ターゲット・パーティションを削除できます。

注意:

- 長時間実行されているアクティブなトランザクションには、個別のパーティションを作成してください。次に、そのパーティションの範囲に該当するnew_partition_dateを指定することで、現在のパーティションから新規のパーティションに、これらのインスタンスを移動できます。これらの長時間実行されているインスタンスには、定期的なパージを実行することをお薦めします。

- 行移動には、複数の行に負荷の高い更新が発生します。行の移動はアクティブなプロセス数が少ない場合にのみ実施してください。検証スクリプトによりアクティブなインスタンス数が提供されますが、依存表の多くにマスター表との多対1の関係があります。これは、大規模な一連の行がパーティション間で移動することになります(依存表もパーティション化されている場合)。パーティション化された表、パーティションのアクティブ・インスタンス、データ形状および使用可能なインフラストラクチャ設定に基づいて、個別の行移動を使用してください。

- パーティション・キーが頻繁に更新される場合は、パーティション間での行移動を有効にすると、実行時のパフォーマンスが大幅に低下する可能性があります。一方、Oracle SOA Suiteのデータベース表のパーティション・キー列は、作成後に変更されることはありません。したがって、実行時に行移動は発生しません。

長時間実行されているインスタンスを別のパーティションに移動する手順は、次のとおりです。

1. 外部キーを無効にします。

a. SQL*PlusにSOAINFRAユーザーとしてログインします。

sqlplus
CONNECT SYS AS SOAINFRA

b. オプションでデバッグを有効にします。

SET ECHO ON
SET SERVEROUT ON

c. SQLコマンドPART_DIRを使用して、ログ・ファイルを書き込むディレクトリを作成します。例:

CREATE DIRECTORY PART_DIR AS '/tmp/verify'

d. soainfraユーザーにこのディレクトリの書込み権限を付与します。ログおよびSQLファイルはこのディレクトリに生成されます。

e. 次のストアド・プロシージャを実行して、外部キーを有効化または無効化するSQLスクリプトを作成します。これらのSQLスクリプトはPART_DIRディレクトリに作成されます。

DECLARE
BEGIN
verify_soa.alter_FK;
END;

SOA_DISABLE_FK.SQLおよびSOA_ENABLE_FK.SQLスクリプトが作成されます。

f. ご使用の環境に対してSOA_DISABLE_FK.SQLスクリプトをカスタマイズして実行します。

@SOA_DISABLE_FK.SQL

2. グループ1の一時表を切り捨てます。

BEGIN
verify_soa.trunc_verify1_rst_temp_tables;
END;

3. 検証スクリプトを実行します。このスクリプトの説明は、「検証スクリプトの実行」を参照してください。

4. ログ・スクリプトをチェックして、パーティションの削除を阻止するアクティブなインスタンスがあるかどうかを確認します。

オープン・フローが報告されなければ、ステップ6に進みます。

5. 行移動プロシージャを実行します。ステップ4のログに基づいて、オープン・インスタンス数をチェックします。この件数に基づいて、行移動スクリプトを実行するか、パーティションの削除を延期するかを判断します。

行の移動を実行する手順は、次のとおりです。

a. 表の行の移動を有効にします。
次のストアド・プロシージャを実行して、行の移動を有効化または無効化するSQLスクリプトを生成します。

BEGIN
verify_soa.alter_movement;
END;

これにより、PART_DIRにスクリプトSOA_DISABLE_MVT.SQLおよびSOA_ENABLE_MVT.SQLが生成されます。

ご使用の環境に対してSOA_ENABLE_MVT.SQLスクリプトをカスタマイズして実行します。

b. 次のPL/SQLプロシージャのうちひとつを実行し、スキーマが間隔でレンジ時間隔パーティション化されているか、時間隔パーティション化されているかに従って、グループ1の表の行を移動します。

SQL> PROCEDURE exec_row_movement_1( partition_name in varchar2,
new_partition_date in timestamp );

SQL> PROCEDURE exec_row_movement_interval_1( partition_name in varchar2,
new_partition_date in timestamp );

説明:

partition_nameは、行移動を実行するパーティションの名前です。

new_partition_dateは、パーティション・キー列を更新する新しい日付です。

c. 表の行の移動を無効にします。
ご使用の環境に対してSOA_DISABLE_MVT.SQLスクリプトをカスタマイズして実行します。

d. ステップ2に戻ります。

6. 「パージ・スクリプトの実行」の説明に従って、パージ・スクリプトを実行してパーティション化されていない表を削除します。パージ・プロシージャのpurge_partitioned_componentパラメータは、falseに設定する必要があります。

7. グループ1のパーティションを(ステップ5に基づいて)削除します。

8. 行のリストアを実行し、グループ1の表のパーティション・キーを元の値に戻します。

BEGIN
verify_soa.exec_row_restore_1;
END;

9. グループ2の検証スクリプトを実行します。このスクリプトの説明は、「検証スクリプトの実行」を参照してください。

10. ログ・スクリプトをチェックして、パーティションの削除を阻止するアクティブなインスタンスがあるかどうかを確認します。

オープン・フローが報告されなければ、ステップ12に進みます。

11. 行移動プロシージャを実行します。ステップ10のログに基づいて、オープン・インスタンス数をチェックします。この件数に基づいて、行移動スクリプトを実行するか、パーティションの削除を延期するかを判断します。

行の移動を実行する手順は、次のとおりです。

a. 表の行の移動を有効にします。
ご使用の環境に対してSOA_ENABLE_MVT.SQLスクリプトをカスタマイズして実行します。

b. 次のPL/SQLプロシージャのうちひとつを実行し、スキーマが間隔でレンジ時間隔パーティション化されているか、時間隔パーティション化されているかに従って、グループ2の表の行を移動します。

SQL> PROCEDURE exec_row_movement_2( partition_name in varchar2,
new_partition_date in timestamp );

SQL> PROCEDURE exec_row_movement_interval_2( partition_name in varchar2,
new_partition_date in timestamp );

説明:

partition_nameは、行移動を実行するパーティションの名前です。

new_partition_dateは、パーティション・キー列を更新する新しい日付です。

c. 表の行の移動を無効にします。
ご使用の環境に対してSOA_DISABLE_MVT.SQLスクリプトをカスタマイズして実行します。

d. ステップ9に戻ります。

12. グループ2のパーティションを(ステップ11に基づいて)削除します。

13. 外部キーを再度有効にします。
ご使用の環境に対してSOA_ENABLE_FK.SQLスクリプトをカスタマイズして実行します。

13.4.12 コンポーネントの部分的なパーティション化

一部のコンポーネントがパーティション化され、他のコンポーネントがパーティション化されていない環境の場合、パーティション化されていないデータセットは、第13.3項「大量のフロー・インスタンス、アダプタ・レポートおよびフォルト・アラートの削除」で説明したパージ・スクリプトを使用してパージする必要があります。

たとえば、ヒューマン・ワークフローがパーティション化されておらず、他のコンポーネントがパーティション化されているとします。検証スクリプトでは、すべてのSOAパーティションがパーティションの削除コマンドを使用して削除可能とレポートされます。ただし、ヒューマン・ワークフローの各表は、ループ/パラレル・パージ・スクリプトを使用してデータがパージされるまで、引続きワークフロー・データを保持します。

13.5 表削除なしでの実行時表からのレコードの削除

切捨てスクリプト(truncate_soa_oracle.sql、およびOracle SOA Suiteクイック・スタート・インストールで提供されるJavaデータベースの場合はtruncate_soa_javadb.sql)により、表を削除することなくすべてのOracle SOA Suiteランタイム表からすべてのレコードを削除できます。切捨てスクリプトでは、データベース領域の再利用はできません。

切捨てスクリプトは、次のシナリオで役立ちます。

- 本番のカスタマイズおよび新規ジョブ定義を保管できるように本番環境のスキーマを保持する一方で、SOAインフラストラクチャ内(つまりクローン・データベース内)のすべてのインスタンス・データを状態にかかわりなく切り捨てる必要がある状況で、本番環境またはテスト環境クローンを作成する場合。

- テスト・シナリオの再作成および再実行を必要とするテストでの使用。

切捨てスクリプトは、次のコンポーネントのすべての実行時表を対象とする切捨て文を含めることによって、このオプションを提供します。

- Oracle BPEL Process Manager

- Oracle Mediator

- ビジネス・ルール

- Oracle B2B

- SOAインフラストラクチャ

- Oracle BPM Suite

表を削除することなく実行時表からレコードを削除する手順は次のとおりです。

1. SQL*Plusを起動します。

sqlplus

2. SQL*Plusで、SOAINFRAユーザーとしてデータベースに接続します。

CONNECT SYS AS SOAINFRA

3. MW_HOME/SOA_ORACLE_HOME/rcu/integration/soainfra/sql/truncateディレクトリにある切捨てスクリプトを実行します。

SQL> @truncate_soa_oracle.sql

14 SOAコンポジット・アプリケーションに関する問題の診断

この章では、Oracle SOA Suiteの問題を早期に診断し、WebLogic診断フレームワーク(WLDF)およびOracle Fusion Middleware診断フレームワークを活用して適切な修正処理を適用する方法について説明します。WLDFでは、監視および通知を使用して診断シナリオを監視し、Oracle Fusion Middleware診断フレームワークでは、SOA固有の診断シナリオを、表示および分析用に書式設定されたデータ・ダンプに収集します。

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

- 診断フレームワークの概要

- Oracle SOA Suite診断ダンプの実行

- SOAコンポジット・アプリケーションの診断フレームワーク・スレッド・ダンプの実行

- サポートされているDMSメトリック

- 監視および通知の作成

- 手動によるダンプのトリガーと実行

- ADRツールを使用したインシデント・パッケージの表示

- 問題とインシデントの問合せ

トラブルシューティングの詳細は、「Oracle SOA SuiteとOracle BPM Suiteのトラブルシューティング」を参照してください。

注意:

この章で説明する情報は、Oracleデータベースにのみ適用されます。Oracle以外のデータベースを使用する場合は、動作や結果が異なります。

14.1 診断フレームワークの概要

Oracle SOA Suiteで問題を監視および診断する場合、次の困難に直面します。

- システムがハングする瞬間に複数のスレッド・ダンプを取得したり、メモリー不足になる前にヒープ・ダンプを取得するなど、特に断続的な問題の発生の瞬間での診断データの取得(ジャストインタイム診断とも呼ばれる)

- データ形状(SOAスキーマとMDSスキーマの状態および増加パターンによる件数)などの詳細情報の取得

- バージョン、ログ、構成ファイル、適用パッチなどの基本情報を提供するためのOracleサポート・サービスとの相互の通信

- 問題が拡大する前の早期の検出と修正処理の適用

これらの困難に取り組むために、Oracle SOA Suiteは、問題の早期特定および適切な修正処理の適用を支援する次の診断フレームワークと統合されます。

- WLDF: 監視および通知を使用して診断シナリオを監視します。

- 診断フレームワーク: 表示および分析のために書式設定されたSOA固有の診断情報を収集するために使用します。これらのデータ・ダンプは、サービス・リクエスト(SR)の一部としてアップロードできます。

14.1.1 WLDFの概要

WLDFは、Oracle WebLogic Serverに組み込まれている監視と診断を行うフレームワークであり、サーバー・プロセス内で稼働してサーバーの標準的なライフサイクルの一部となる一連のサービスを定義および実装します。

WLDFを使用して、Oracle SOA Suiteから診断データを取得できます。ランタイム・ログおよびメトリックを監視するために、Oracle WebLogic Server管理コンソールからWLDFの監視および通知を構成します。このデータにより、障害の発生時に、障害の分離と診断が可能になります。

WLDFの詳細は、『Oracle WebLogic Server診断フレームワークの構成と使用』を参照してください。

14.1.1.1 監視および通知の概要

監視は、サーバーおよびアプリケーションの状態を監視して、設定した基準に基づいて通知を送信します。監視と通知は、ドメイン内の1つ以上のサーバー・インスタンスを対象にした診断モジュールの一部として構成します。監視を作成する場合は、Oracle WebLogic Server管理コンソールでOracle SOA SuiteおよびOracle WebLogic Server MBeanの属性を使用して、監視するためのルール式を作成します。

たとえば、空きヒープ・メモリーの割合が25%未満になった場合に通知を送信するとします。Oracle WebLogic Server MBean weblogic.management.runtime.JRockitRuntimeMBeanおよびその属性HeapFreePercentを使用する監視を作成します。次に、HeapFreePercentが100%未満の場合に通知を受け取る必要があることを示すロジックを定義します。JRockit仮想マシン(VM)以外で稼働している場合は、MBean JVMRuntimeMBeanを使用することもできます。

Oracle WebLogic Server管理コンソールでの監視および通知の作成方法は、「監視および通知の作成」および『Oracle Fusion Middlewareの管理』の診断フレームワークの構成に関する項を参照してください。

14.1.1.2 診断シナリオおよびMBeanの概要

作成する監視ルール式は、Oracle SOA SuiteおよびOracle WebLogic Server MBeanの属性を使用して、データを収集し、監視を実行します。シナリオの診断には、そのシナリオに関する統計の提供に利用可能なMBeanやメッセージのログ出力に利用可能なMBeanを使用します。マネージドBean (MBean)は分散環境でJMX管理可能なリソースを表すJavaオブジェクトです。次のMBeanの属性は、シナリオを監視するための監視の定義に使用できます。

- Oracle WebLogic Server MBean

- 診断用Oracle SOA Suite MBean

- MBeansとして公開されるダイナミック・モニタリング・サービス(DMS)メトリック

Oracle SOA Suiteには、監視や通知を使用して監視できる様々な診断シナリオが用意されています。表14-1に、サポートされている診断シナリオおよび監視に使用できるMBeanの詳細を示します。

表14-1 サポートされる診断シナリオおよびMBean

シナリオ

説明

診断データ・ソース

メモリーの問題(起動、デプロイメントおよび実行時)

使用可能な空きヒープを監視します。空きヒープの割合がしきい値未満の場合、スレッド・スタック・ダンプおよびヒープ・ダンプを生成するために通知がトリガーされます。

Oracle WebLogic Server MBean

デプロイメントのハング

デプロイメントの経過時間を監視します。しきい値を超えると、通知がトリガーされます。

Oracle SOA SuiteデプロイメントMBean

データ・ソースの問題

一時停止および接続プール/トランザクションのタイム・アウトを監視します。

JDBC MBean

サーバーの過負荷

自動でサーバーの状態を監視します。

Oracle WebLogic Server MBean

スタック・スレッド

スタック・スレッドを監視します。検出すると、通知がトリガーされます。

スタック・スレッド監視/診断フレームワーク通知は自動的に組み込まれます。診断フレームワーク・インシデント・パッケージは、ADRコマンド・インタプリタ(ADRCI)などのツールを使用して作成できます。インシデントは自動的に作成されます。

表14-2に、診断データを監視および収集するための監視を作成するときに選択する、使用可能なMBeanおよびDMSメトリックの一部を示します。

表14-2 MBeanおよびDMSメトリック

診断データ・ソース(MBean)および使用方法

説明

Oracle WebLogic Server MBean

SOA MBeanまたはDMSメトリック

weblogic.management.runtime.JVMRuntimeMBean/weblogic.management.runtime.JRockitRuntimeMBean

メモリー統計用

はい

- -

oracle.fabric.management.wldf.mbean.DeploymentWatchMXBeanImpl

デプロイメント経過時間用

- -

SOA MBean

weblogic.management.runtime.ServerRuntimeMBean

ヘルス状態情報用

はい

- -

weblogic.management.runtime.JDBCDataSourceRuntimeMBean

weblogic.management.runtime.JTARuntimeMBean

JDBCデータ・ソース用およびトランザクション・ランタイム特性のアクセス用

はい

- -

Oracle WebLogic Server MBeanの詳細は、Oracle WebLogic Server MBeanリファレンスを参照してください。

14.1.2 診断フレームワークの概要

診断フレームワークは、問題の検出、診断および解決に役立つOracle Fusion Middlewareの機能です。対象としている問題は、コードのバグ、メタデータの破損、顧客データの破損、スレッドのデッドロック、一貫性のない状態に起因する障害などのクリティカル・エラーです。診断フレームワークは重大なエラーを検出し、関連する診断情報(ログ、メトリック、サーバー・イメージなど)のダンプを取得します。WLDFの監視および通知は、診断フレームワークが適切なデータ・ダンプをリスニングおよび生成するイベントをトリガーします。ダンプは、表示および分析用にインシデント・パッケージに書式設定されます。

インシデントとして取得される問題には、表14-1で説明されているようなクリティカル・エラーが含まれます。各インシデント・パッケージは一意のIDで識別されます。クリティカル・エラーが発生すると、この一意のID(インシデント番号として知られている)が割り当てられます。エラーの診断データ(ログ・ファイルなど)は、この番号で即時に取得され、タグが設定されます。

その後、データは自動診断リポジトリ(ADR)に格納されます。ADRは、エラーの発生および関連する診断データの記憶域をカタログ化するためのファイルシステム・リポジトリです。データは、インシデント・パッケージ番号で取得して書式設定した後、ADRCIなどのOracleツールで表示し、分析されます。

ADRCIではダンプ・ファイルの名前を表示できます。このビューでは、問題を調査し、新たな障害の診断データをパッケージ化してOracleサポート・サービスにアップロードできます。

診断フレームワークのWLSTコマンドを使用して、次のタスクを実行することもできます。

- 問題の問合せ

- インシデント・ダンプ・ファイルの表示

- 手動インシデントの作成

- ダンプの手動実行

診断フレームワークはすべてのJRF対応プラットフォームでサポートされています。

診断フレームワークには、Oracle WebLogic ServerおよびOracle SOA Suite両方のための選択された診断ダンプが含まれます。これらのダンプの詳細は、Oracle Fusion Middlewareの管理の問題の調査、レポートおよび解決に関する項を参照してください。

これらのダンプに加え、Oracle SOA Suiteの様々なダンプもサポートされています。Oracle SOA Suiteのダンプの詳細は、「Oracle SOA Suite診断ダンプの実行」を参照してください。

問題の解決、インシデント、WLDFと診断フレームワークの統合の詳細は、Oracle Fusion Middlewareの管理の「問題の診断」を参照してください。

ADRの詳細は、「ADRツールでのインシデント・パッケージの表示」を参照してください。

14.1.2.1 インシデント・パッケージ数の制御

Oracle SOA Suiteに繰り返し発生する問題があると、複数のインシデント・パッケージが作成される可能性があります。多数のエラーが発生している場合にサーバーの過負荷を防止する目的で、診断フレームワークでは一部のインシデントが自動的にフラッド制御されます。この問題を回避するために、生成されるインシデント・パッケージ数を制限するように診断フレームワークを構成できます。詳細は、Oracle Fusion Middlewareの管理の診断フレームワークの構成に関する項を参照してください。

14.1.3 事前定義済のインシデント処理ルール

Oracle WebLogic Server管理コンソールで監視を作成する場合は、通知も定義します。FMWDFW通知という通知は自動的に選択可能になります。独自の通知を作成することも可能ですが、FMWDFW通知では、「Oracle SOA Suite診断ダンプの実行」で説明されているOracle SOA Suiteのダンプが作成されるため、この通知を選択することをお薦めします。

エラーが検出されると、FMWDFW通知ハンドラがインシデントを作成し、診断フレームワークがインシデント処理セマンティクスを担当します。これらのセマンティクスは、インシデント処理ルールによって制御されます。インシデント処理ルールはXMLファイルに定義され、SOAインフラストラクチャの起動時にロードされて、診断フレームワークに登録されます。

表14-1に示したシナリオとは異なるシナリオに直面した場合は、Oracleサポート・サービスと連携して、カスタマイズされたインシデント処理ルール・ファイルのコピーを取得する必要があります。カスタマイズされたルール・ファイル(custom-rules.xmlなど)は、次のいずれかの場所に配置できます。

- サーバー・レベルの構成: FMW_HOME/user_projects/domains/domain_name/config/fmwconfig/servers/server_name/dfw

- ドメイン・レベルの構成: FMW_HOME/user_projects/domains/domain_name/config/fmwconfig/dfw

診断フレームワークはサーバー起動時にファイルを自動的にロードします。ファイル名の接頭辞としてアプリケーション名が指定されている場合を除き、すべてのダンプはシステム・スコープ指定として登録されます。

- myrules.xml: システム・スコープ指定。これは、ルール・ファイルがSOAインフラストラクチャのすべてのSOAコンポジット・アプリケーションに適用されることを意味します。

- application_name#name.xml: アプリケーション・スコープ指定。#の前の文字列はすべてアプリケーション名としてみなされます。ルール・ファイルをアプリケーションと関連付けるには、そのアプリケーションがOracle WebLogic Server config.xmlファイル内に独自のデプロイメントを持っている必要があります。SOAコンポジット・アプリケーションには、Oracle WebLogic Serverデプロイメントとしての独自のエントリはありません。そのため、それにDiagnostic Frameworkルール・ファイルを関連付けることはできません。たとえば、myrules.xmlはOracle WebLogic Serverにスコープ指定されており、ルート・レベルの診断ダンプのみを生成できます。soa-infra#rules.xmlはSOAにスコープ指定されており、SOA診断ダンプを生成できます。両方ともSOAコンポジット・アプリケーション・エラーからのインシデントを生成できます。

さらに、サーバーを再起動しないでSOAインフラストラクチャにルール・ファイルを動的にロードすることもできます。サーバーの再起動によって収集された診断データの正確さが損なわれる可能性があるため、動的リロードは重要です。

サーバーを再起動しないで動的にファイルをリロードするには、次のWLSTコマンドを入力します。

wls:/soainfra/serverConfig> reloadCustomRules(name='rule_file')

次の例は、サンプルのカスタム・ルール・ファイルを示しています。oracle.soa.bpel.engine.wsモジュールの*-diagnostic.logにERRORレベル・メッセージが見つかった場合、soa.composite.trail診断ダンプが実行されます。ルールをロードするためにシステムを再起動すると、収集された診断データの正確さが実際に損なわれます。

<?xml version="1.0" encoding="UTF-8"?>
<diagnosticRules xmlns="http://www.oracle.com/DFW/DiagnosticsFrameworkRules"
xmlns:xs="http://www.w3.org/2001/XMLSchema-instance">
<logDetectionConditions>
<condition module="oracle.soa.bpel.engine.ws"/>
</logDetectionConditions>

<defaultActions>
<dumpAction name="soa.composite.trail">
<argument name="ecid" value="ECID" valueType="Fact" mandatory="true"/>
</dumpAction>
</defaultActions>

</diagnosticRules>

14.2 Oracle SOA Suite診断ダンプの実行

Oracle WebLogic Serverで使用可能な診断ダンプに加え、Oracle SOA Suiteでは、表14-3に示す診断ダンプの作成をサポートしています。

表14-3 Oracle SOA Suite診断ダンプ

ダンプ

説明

soa.env

ランタイム環境のダンプ。

soa.config

ランタイム・プラットフォーム構成のダンプ。

soa.db

データベースのダンプ。

soa.composite

デプロイされたコンポジット・メタデータのダンプ。

soa.composite.trail

インスタンス監査証跡のダンプ。

soa.edn

イベントのダンプ。

soa.wsdl

デプロイされたコンポジットWSDL/スキーマ・キャッシュのダンプ。

bpel.dispatcher

静的ダンプ(システム、呼出し、エンジンおよび監査スレッド数)ならびにランタイムのスケジュール済メッセージ数と稼働中メッセージ数のダンプ。

bpel.apt

平均インスタンス処理時間のダンプ。

bpel.apd

平均インスタンス処理遅延のダンプ(非同期プロセス用)。

bpel.sps

同期ビジネス・プロセス・ダンプ統計(最小、最大および平均処理時間(ミリ秒単位)など)、ならびに処理されたインスタンスの数。

bpel.aps

非同期BPELプロセス・ダンプ統計(最小、最大および平均処理時間(ミリ秒単位)など)、ならびに処理されたインスタンスの数。

bpel.rs

リクエスト・レベルのダンプ統計(最小、最大および平均処理時間(ミリ秒単位)など)、ならびにBPELプロセス・サービス・エンジンの各種レイヤーを通して流れながら処理されたリクエストの数。

mediator.resequencer

リシーケンサ・グループ処理遅延のダンプ。

soa.adapter.ra

アダプタの接続ファクトリの構成。複数のコンポジットが同じJava Naming and Directory Interface (JNDI)を使用しているかどうかを識別するために使用します。

soa.adapter.connpool

JCAアダプタの接続プール統計と接続プール・リーク。現在のオープン接続の統計が表示され、接続プールのチューニングを行うことができます。

soa.adapter.stats

アダプタDMSの統計(メッセージ・サイズ、フォルト数など)。

診断フレームワークは診断のダンプを出力および記録します。WLSTのlistDumpsおよびdescribeDumpコマンドを使用して、診断ダンプすべての詳細を表示できます。

注意:

MW_HOME/oracle_common/common/binからWLSTを起動する必要があります。そうしない場合、ODF機能はありません。

./wlst.sh

14.2.1 ダンプをリストする手順:

1. SOAインフラストラクチャがインストールされている管理対象サーバーに接続します。

wls:/offline>connect('user_name','password','t3://myhost.us.example.com:8001')

Connecting to t3://myhost.us.example.com:8001 with userid user_name ...
Successfully connected to managed Server "soa_server1" that belongs to domain
"soainfra".

2. 診断フレームワークのダンプのリストを表示します。

wls:/soainfra/serverConfig> listDumps()
odl.activeLogConfig
jvm.classhistogram
dms.ecidctx
jvm.flightRecording
wls.image
odl.logs
dms.metrics
odl.quicktrace
http.requests
jvm.threads

Use the command describeDump(name=<dumpName>) for help on a specific dump.

3. Oracle SOA Suiteのダンプのリストを表示します。

wls:/soainfra/serverConfig> listDumps(appName='soa-infra')

adf.ADFConfigDiagnosticDump
adf.ADFConfigPropertiesDump
bpel.apd
bpel.apt
bpel.dispatcher
mediator.resequencer
soa.adapter.connpool
soa.adapter.ra
soa.adapter.stats
soa.composite
soa.composite.trail
soa.config
soa.db
soa.edn
soa.env
soa.wsdl
webservices.servlet

Use the command describeDump(name=<dumpName>) for help on a specific dump.

Oracle SOA Suiteダンプは、この章の後述の項で説明します。

診断フレームワーク・ダンプの詳細は、『Oracle Fusion Middlewareの管理』の「ログ・ファイルと診断データの管理」の章を参照してください。

14.2.2 ランタイム環境の診断ダンプ(soa.env)

表14-4に、ランタイム環境の診断ダンプの詳細を示します。

表14-4 ランタイム環境診断のダンプ

ダンプ名

ダンプ・パラメータ/ダンプ・モード

取得される情報

soa.env

- ダンプ・パラメータ:
なし

- ダンプ・モード:
ASYNC_SYNC

- SOAランタイム・バージョン、ラベル(Discovery MBeanから取得)およびトポロジ(ランタイム・バージョンがメンバーであるクラスタに関する情報)。

- トポロジ: クラスタおよびOracle Coherenceの情報(クラスタ名、メンバー名、クラスタがリーダーかどうか、ローカル・メンバー、マシンID、ラックIDなど)。
通常、リーダーはクラスタ内で最も古いノードです。リーダーは、クラスタに対するメンバーの削除や追加により、時間の経過とともに変化する可能性があります。この古いメンバーは、クラスタ・メンバーシップの保守およびクラスタに対するその他の意思決定を担当します。パニック・プロトコルなどの様々なプロトコルの最終的な裁定担当としても機能します。

- パッチ・インベントリ

- Oracle Coherenceメッセージング・モード: ユニキャストまたはマルチキャストのいずれかです。

14.2.2.1 WLSTコマンド(ダンプの説明および実行)

1. 次のWLSTコマンド行構文を入力し、ダンプの説明と利用可能なパラメータを表示し、soa.envのダンプを実行します。

wls:/soainfra/serverConfig> describeDump(name='soa.env', appName='soa-infra')

wls:/soainfra/serverConfig> executeDump(name='soa.env', appName='soa-infra')

14.2.3 ランタイム・プラットフォーム構成の診断ダンプ(soa.config)

表14-5に、ランタイム・プラットフォーム構成の診断ダンプの詳細を示します。

表14-5 ランタイム・プラットフォーム構成診断のダンプ

ダンプ名

ダンプ・パラメータ/ダンプ・モード

取得される情報

soa.config

- ダンプ・パラメータ:
zip: (オプション) 次の値がサポートされています。

- true: (デフォルト値)出力ファイルおよびアーティファクトを単一のZIPファイルに圧縮します。

- false: ダンプ・テキスト・ファイルおよびアーティファクトを、単一のZIPファイルに圧縮せずにダンプ・パス・ロケーションに書き込みます。

output: (オプション)ダンプ・ファイルを書き込む代替ディレクトリの場所を指定します。指定されていない場合は、診断フレームワークのダンプ・パスが使用されます。

- ダンプ・モード:
ASYNC_SYNC

deployed-composites.xml - デプロイされているコンポジットのカタログ(リビジョンを含む)。

サービス・エンジンの構成: 次の構成はMDSに保持されます(soa/configuration/default/*.xml)。

- adapter-config.xml

- b2b-config.xml

- bpel-config.xml

- bpmn-config.xml

- businessrules-config.xml

- cep-config.xml

- edn-config.xml

- mediator-config.xml

- soa-infra-config.xml

- workflow-config.xml

- workflow-identity-config.xml

- workflow-notification-config.xml

14.2.3.1 WLSTコマンド(ダンプの説明および実行)

1. 次のWLSTコマンド行構文を入力し、ダンプの説明と利用可能なパラメータを表示し、soa.configのダンプを実行します。

wls:/soainfra/serverConfig> describeDump(name='soa.config',
appName='soa-infra')

wls:/soainfra/serverConfig> executeDump(name='soa.config', appName='soa-infra')

executeDumpコマンドは、MDSリポジトリからdeployed-composites.xmlをダンプし、インストールされているすべてのサービス・エンジンのMDSリポジトリとサービス・エンジン構成を、圧縮した単一のZIPファイル(soa_config364634563344231671.zipなど)にします。

2. 次のWLSTコマンド行構文を入力し、zipパラメータfalseに設定してsoa.configのダンプを実行します。この設定は、ダンプ・テキスト・ファイルおよびアーティファクトを、単一のZIPファイルに圧縮せずにダンプ・パス・ロケーションに書き込みます。

wls:/soainfra/serverConfig> executeDump(name='soa.config', appName='soa-infra',
args={'zip':'false'})

3. デフォルトのダンプ・パスで、内容を点検します。

[jdoe@myhost /tmp]$ ls -alR oracle-dfw-7178460573556479044.tmp
oracle-dfw-7178460573556479044.tmp:
total 52
drwxr-----   3 jdoe dba   4096 Oct 24 15:43 .
drwxrwxrwt 104 root root 36864 Oct 24 15:37 ..
drwxr-----   4 jdoe dba   4096 Oct 24 15:43 soa_config199325881615155981.d
-rw-r-----   1 jdoe dba    561 Oct 24 15:43 soa_config199325881615155981.txt

oracle-dfw-7178460573556479044.tmp/soa_config199325881615155981.d:
total 16
drwxr----- 4 jdoe dba 4096 Oct 24 15:43 .
drwxr----- 3 jdoe dba 4096 Oct 24 15:43 ..
drwxr----- 2 jdoe dba 4096 Oct 24 15:43 deployed-composites
drwxr----- 2 jdoe dba 4096 Oct 24 15:43 se-configurations

oracle-dfw-7178460573556479044.tmp/soa_
config199325881615155981.d/deployed-composites:
total 12
drwxr----- 2 jdoe dba 4096 Oct 24 15:43 .
drwxr----- 4 jdoe dba 4096 Oct 24 15:43 ..
-rw-r----- 1 jdoe dba 1437 Oct 24 15:43 deployed-composites.xml

oracle-dfw-7178460573556479044.tmp/soa_
config199325881615155981.d/se-configurations:
total 56
drwxr----- 2 jdoe dba 4096 Oct 24 15:43 .
drwxr----- 4 jdoe dba 4096 Oct 24 15:43 ..
-rw-r----- 1 jdoe dba  267 Oct 24 15:43 adapter-config.xml
-rw-r----- 1 jdoe dba  425 Oct 24 15:43 b2b-config.xml
-rw-r----- 1 jdoe dba 2040 Oct 24 15:43 bpel-config.xml
-rw-r----- 1 jdoe dba 1525 Oct 24 15:43 bpmn-config.xml
-rw-r----- 1 jdoe dba  895 Oct 24 15:43 businessrules-config.xml
-rw-r----- 1 jdoe dba  119 Oct 24 15:43 cep-config.xml
-rw-r----- 1 jdoe dba  215 Oct 24 15:43 edn-config.xml
-rw-r----- 1 jdoe dba  836 Oct 24 15:43 mediator-config.xml
-rw-r----- 1 jdoe dba 1148 Oct 24 15:43 soa-infra-config.xml
-rw-r----- 1 jdoe dba 2693 Oct 24 15:43 workflow-config.xml
-rw-r----- 1 jdoe dba 2146 Oct 24 15:43 workflow-identity-config.xml
-rw-r----- 1 jdoe dba  605 Oct 24 15:43 workflow-notification

4. 次のWLSTコマンド行構文を入力し、指定した出力ディレクトリのZIPファイルにすべてのダンプを圧縮するsoa.configのダンプを実行します。

wls:/soainfra/serverConfig> executeDump(name='soa.config', appName='soa-infra'
,args={'output':'/home/myhome/CFG_DUMP_DIR_APP_ZIP'})

14.2.4 データベース診断ダンプ(soa.db)

表14-6に、データベース診断ダンプの詳細を示します。取得されるデータベース情報のタイプには、Oracle SOA SuiteスキーマおよびMDSスキーマに関する状態別の件数や増加パターンなどのデータ形状情報が含まれます。

表14-6 データベース診断のダンプ

ダンプ名

ダンプ・パラメータ/ダンプ・モード

取得される情報

soa.db

- ダンプ・パラメータ:
なし

- ダンプ・モード:
ASYNC_SYNC

JDBCベースのアクセスを使用して問合せを実行し、結果をダンプしたBPELデータベース表増加データ

SELECT dt.table_name table_name,ds.bytes/1024/1024
segment_size_mb, ds.extents extents_used, dt.num_rows
total_rows, to_char(dt.last_analyzed,'YYYY-MM-DD
HH24:MI:SS') last_analyzed_date FROM dba_segments ds,
dba_tables dt WHERE dt.owner = ds.owner and dt.owner =
'schema_user_name' and dt.tablespace_name =
ds.tablespace_name and dt.table_name = ds.SEGMENT_NAME
and ds.segment_type = 'TABLE' and dt.table_name in
('CUBE_INSTANCE', 'MEDIATOR_CASE_INSTANCE','COMPOSITE_
INSTANCE', 'AUDIT_TRAIL', 'WORK_ITEM', 'DLV_MESSAGE',
'XML_DOCUMENT','DOCUMENT_CI_REF')

14.2.4.1 WLSTコマンド(ダンプの説明および実行)

1. 次のWLSTコマンド行構文を入力し、ダンプの説明と利用可能なパラメータを表示し、soa.dbのダンプを実行します。

wls:/soainfra/serverConfig> describeDump(name='soa.db', appName='soa-infra')

wls:/soainfra/serverConfig> executeDump(name='soa.db', appName='soa-infra')

このダンプは、問合せ文字列および結果セットのレコードを表示します。

14.2.5 デプロイ済コンポジット・メタデータの診断ダンプ(soa.composite)

表14-7に、デプロイ済コンポジット・メタデータの診断ダンプの詳細を示します。取得される情報のタイプには、インシデントの発生時に処理された現在のコンポジット、MDSアーティファクト参照(例: ネームスペース・エクスポート)および異常のあるトランザクションが含まれます。

表14-7 デプロイ済コンポジット・メタデータ診断のダンプ

ダンプ名

ダンプ・パラメータ/ダンプ・モード

取得される情報

soa.composite

- ダンプ・パラメータ:
flowid (オプション): 存在する場合、フローIDを含むflowtrace.xmlファイルを検索します。それがダンプ・パラメータとして指定されていない場合、これはダンプ・コンテキストから取得できます。実際のパラメータの評価には、次のルールが適用されます。

1) フローIDが利用可能な場合(ダンプ・パラメータとして、またはダンプ・コンテキストから取得することで)、それはフロー・インスタンスおよびフロー・トレースを取得します。それはフロー・インスタンスに関連付けられたECIDを使用して、残りのダンプ・アーティファクトを取得します。

2) フローIDは利用不可能であるが、ECIDが利用可能な場合(ダンプ・パラメータとして、またはダンプ・コンテキストから取得することで)、それはフロー・インスタンスを検索して、フロー・トレースを取得するために使用されます。それはECIDを使用して、その他のダンプ・アーティファクトを取得します。

3) フローIDおよびECIDの両方が利用可能で、ECIDがフローのECIDと等しくない場合、ECIDは無視され、警告が表示されます。ルール1の後に続きます。

4) フローIDおよびECIDの両方が利用不可能である場合、例外エラーが表示されます。

ecid: (オプション)実行コンテキストID (ECID)に関連付けられたSOAコンポジット・アプリケーションがマッチングされます。ecidを指定した場合、compositeName、partitionおよびrevisionは使用されません。ecidを指定しないで、他のパラメータを指定した場合は、これらのパラメータを使用してコンポジットがマッチングされます。どのパラメータも指定しないと、ダンプ・コンテキストからのECIDの取得が試行されます。

compositeName: (オプション)ダンプするMDS記録済アーティファクトが含まれているコンポジット名。値が指定されていない(Nullまたは空白)場合、compositeNameはワイルドカード(*)とみなされます。あらゆるコンポジット名と一致するワイルドカード(*)を入力することもできます。

partition: (オプション)コンポジットがデプロイされているパーティション名。指定されていない場合は、deployed-composites.xmlファイルに指定されているデフォルト・コンポジットのパーティションになります(例: default、partition_01、my_partition)。あらゆるパーティションと一致するワイルドカード(*)がサポートされています。

revision: (オプション)ダンプするMDS記録済アーティファクトが含まれているコンポジット・リビジョン(例: 1.0)。指定されていない場合は、deployed-composites.xmlに指定されているデフォルト・コンポジットのリビジョンになります。あらゆるリビジョンと一致するワイルドカード(*)がサポートされています。

zip: (オプション)ダンプ出力をZIPファイルに圧縮するかどうかを示します。サポートされている値は次のとおりです。

- true: (デフォルト値)ダンプ・ファイルを単一のZIPファイルに圧縮します。

- false: 単一のZIPファイルに圧縮せずに、ダンプをテキスト・ファイルに、およびアーティファクトをダンプ・パス・ロケーションに書き込みます。

- output: (オプション)ダンプ・ファイルを書き込む代替ディレクトリの場所。指定されていない場合は、診断フレームワークのダンプ・パスが使用されます。

- ダンプ・モード:
ASYNC_SYNC

MDSからのコンポジット・メタデータには、次のものが含まれます。

- 指定されたコンポジットのMDS記録済アーティファクトすべて。

- テキスト・ダンプ・ファイルには、ダンプ対象コンポジットのMDSアーティファクトおよび保存先に関するロギング情報が格納されます。

- 単一のZIPファイルに圧縮されたすべてのダンプ・ファイル。

- WLSTで使用されるユーザー指定の出力ファイルの場所。

- 1つ以上の生成されたscratch_entries.txtファイル。scratch_entries.txtファイルは、あるデプロイ済コンポジット用のスクラッチ領域のディレクトリ・リストを含むコンポジットごとのファイルです。デプロイ済コンポジット用のスクラッチ領域は、コンポジットがデプロイされたときに生成されたアーティファクト(生成されたJAXBコードなど)を保持するための領域です。
スクラッチ領域の場所は、deployed-composites/deployed-composites.xmlのcomposite-revision要素で指定されます。

- soa.compositeダンプは、コンポジットにJCAバインディングが含まれている場合、soa.adapter.raダンプをコールします。これは soa_adapter_ra/ adapter-cf-config-properties.txtファイルに接続ファクトリのプロパティをダンプします。

14.2.5.1 WLSTコマンド(ダンプの説明および実行)

1. 次のWLSTコマンド行構文を入力し、ダンプの説明と利用可能なパラメータを表示し、soa.compositeのダンプを実行します。

wls:/soainfra/serverConfig> describeDump(name='soa.composite'
, appName='soa-infra')

wls:/soainfra/serverConfig> executeDump(name='soa.composite',
appName='soa-infra',args={'compositeName':'WSInMedPubBpelSubFileOut',
'revision':'1.0','partition':'default','output':'/home/myhome/COMPOSITE_DUMP_
MDS_ZIP'})

ダンプ出力ファイルは、指定のダンプ場所である/home/myhome/COMPOSITE_DUMP_MDS_ZIPに作成されます。

「Location」フィールドには、指定の場所に圧縮されたダンプ結果が表示されます。ナビゲータの左側には、ZIPファイルのMDSアーティファクトが表示されます(例: .edlファイル、.bpelファイルなど)。下部の.txtファイルは、ZIPファイル内のメインのダンプ・ファイルです。

2. 次のWLSTコマンド行構文を入力し、すべてのSOAコンポジット・アプリケーション、リビジョンおよびパーティションを含むsoa.compositeのダンプを実行します。

wls:/soainfra/serverConfig> executeDump(name='soa.composite',
appName='soa-infra',args={'compositeName':'*',
'revision':'*','partition':'*','output':'/home/myhome//COMPOSITE_DUMP_
DIR_ALLCOMP_ALL_REV_ALL_PART'})

「Location」フィールドには、指定の場所に圧縮されたダンプ結果が表示されます。

すべてのリビジョンを含むすべてのパーティションのすべてのSOAコンポジット・アプリケーションがダンプされます。

14.2.6 インスタンス監査証跡の診断ダンプ(soa.composite.trail)

表14-8に、インスタンス監査証跡の診断ダンプの詳細を示します。取得される情報のタイプには、ビジネス・フロー・インスタンスの監査証跡、個々のサービス・コンポーネントの監査証跡、フォルトおよびECIDによって識別されるメッセージ・フローに関連付けられたセンサー情報があります。

表14-8 インスタンス監査証跡診断のダンプ

ダンプ名

ダンプ・パラメータ/ダンプ・モード

取得される情報

soa.composite.trail

- ダンプ・パラメータ:
flowid (オプション): 存在する場合、フローIDを含むflowtrace.xmlファイルを検索します。それがダンプ・パラメータとして指定されていない場合、これはダンプ・コンテキストから取得できます。実際のパラメータの評価には、次のルールが適用されます。

1) フローIDが利用可能な場合(ダンプ・パラメータとして、またはダンプ・コンテキストから取得することで)、それはフロー・インスタンスおよびフロー・トレースを取得します。それはフロー・インスタンスに関連付けられたECIDを使用して、残りのダンプ・アーティファクトを取得します。

2) フローIDは利用不可能であるが、ECIDが利用可能な場合(ダンプ・パラメータとして、またはダンプ・コンテキストから取得することで)、それはフロー・インスタンスを検索して、フロー・トレースを取得するために使用されます。それはECIDを使用して、その他のダンプ・アーティファクトを取得します。

3) フローIDおよびECIDの両方が利用可能で、ECIDがフローのECIDと等しくない場合、ECIDは無視され、警告が表示されます。ルール1の後に続きます。

4) フローIDおよびECIDの両方が利用不可能である場合、例外エラーが表示されます。

ecid (オプション): 複数のビジネス・フロー・インスタンスにわたってメッセージ・フローをトラッキングするための実行コンテンツID。

- zip (オプション): 次の値がサポートされます。
- true: (デフォルト値)ダンプ・ファイルを単一のZIPファイルに圧縮します。

- false: 単一のZIPファイルに圧縮せずに、ダンプをテキスト・ファイルに、およびアーティファクトをダンプ・パス・ロケーションに書き込みます。

- ダンプ・モード:
ASYNC_SYNC

- フローIDまたはECIDに関連付けられている最上位の監査証跡と、ビジネス・フロー・インスタンス・レベルの監査証跡。ビジネス・フロー・インスタンスごとに1つのファイルに、全部が書き込まれます。メインのダンプ・ファイルには、個々のダンプ・アーティファクトのそれぞれ(ECIDに関連付けられたビジネス・フロー・インスタンスなど)のエントリが記録されます。エントリは、ダンプ・アーティファクトの名前、タイプ、作成日、場所など(たとえば、監査証跡raw XMLが配置されているファイルへのパス)を記録するメイン・ダンプ・ファイルに書き込まれます。
このダンプはインバウンド・メッセージによってトリガーされるメッセージ・ルーティングを実行するためのものです。

- ビジネス・フロー・インスタンス情報。

- 各ビジネス・フロー・インスタンスの情報。

- ECIDに関連するフォルトは、専用のフォルト・ファイルにダンプされます。

- 各ビジネス・フロー・インスタンスのセンサー・インスタンス情報。

14.2.6.1 WLSTコマンド(ダンプの説明および実行)

1. 次のWLSTコマンド行構文を入力し、ダンプの説明と利用可能なパラメータを表示し、soa.composite.trailのダンプを実行します。

wls:/soainfra/serverConfig> describeDump(name='soa.composite.trail'
, appName='soa-infra')

wls:/soainfra/serverConfig> executeDump(name='soa.composite.trail',
appName='soa-infra', args={'flowid':'3','output':'/scratch/myhome/staging_
area/SOA_TRAIL_12C_DUMP_ZIP/'})

ECIDの取得方法は、「ビジネス・フロー・インスタンスのフロー・トレースの監視」を参照してください。

14.2.7 イベント診断ダンプ(soa.edn)

表14-9に、イベント診断ダンプの詳細を示します。取得される情報のタイプには、EDNビジネス・イベント・バス・ステータス情報およびEDNデータベース・ログ・レコードが含まれます。

表14-9 イベント診断のダンプ

ダンプ名

ダンプ・パラメータ/ダンプ・モード

取得される情報

soa.edn

- ダンプ・パラメータ:
ecid: ECIDに関連付けられたパブリッシャおよびサブスクライバ情報をダンプします。

flowid: フローIDに関連付けられたパブリッシャおよびサブスクライバ情報をダンプします。

- ダンプ・モード:
ASYNC_SYNC

- 再試行間隔、再試行最大数、EDNワーク・マネージャ・クラス、EDNワーク・マネージャJNDI名、デフォルトJMS構成、ユーザー定義のイベント・タイプからJMS構成へのマッピング、現在の永続フラグ、現在のJMSタイプ、現在のデフォルト・イベント・プロパティ、EDNバス・クラス、EDNバス・ステータスなどのグローバルEDN構成情報。

- コンポジット情報、コンポーネント情報およびパブリッシャ・イベント情報(宛先、永続フラグ、存続時間、優先度およびJCA参照情報)などのすべてのパブリッシャ情報。

- コンポジット情報、コンポーネント情報およびサブスクライバ・イベント情報(サブスクライバ名、永続フラグ、イベント・ターゲット情報、サブスクライバごとのポーラー・スレッド番号、イベント・フィルタ、ロールとして実行、JCAサービス情報など)などのすべてのサブスクライバ情報。

すべての情報はダンプ・テキスト・ファイルに書き込まれます。

14.2.7.1 WLSTコマンド(ダンプの説明および実行)

1. 次のWLSTコマンド行構文を入力し、ダンプの説明と利用可能なパラメータを表示し、soa.ednのダンプを実行します。

wls:/soainfra/serverConfig> describeDump(name='soa.edn', appName='soa-infra')

wls:/soainfra/serverConfig> executeDump(name='soa.edn', appName='soa-infra')

2. flowidパラメータを設定して、次のWLSTコマンドを入力します。このパラメータは、フローに関連付けられたパブリッシャおよびサブスクライバ情報を取得します:

wls:/soainfra/serverConfig>
executeDump(name='soa.edn',appName='soa-infra',args={'flowid':'10002'})

3. flowidおよびecidパラメータを使用せずに、次のWLSTコマンドを入力します。これらのパラメータを指定しないと、デプロイされるパブリッシャとサブスクライバがリストされます。

wls:/soainfra/serverConfig> executeDump(name='soa.edn',appName='soa-infra')

注意:

- edn-db-logを有効または無効にするには、管理者権限が必要です。

- デバッグ・セッション終了後は、常にedn-db-logを無効にしてロギングを無効にします。これにより、EDNデータベース・ログ表のデータベースの過剰な増加が防止されます。edn-db-logを有効のままにすると、データベースにパブリッシュ/エンキューされるイベントとデータベースからサブスクライブ/デキューされるイベントに関連するデバッグ・メッセージが、特定のEDNデータベース・ログ表に引き続き保持されます。これは表が無限に増加する原因となります。

14.2.8 デプロイ済コンポジットWSDL/スキーマ・キャッシュの診断ダンプ(soa.wsdl)

表14-10は、指定のパラメータ(コンポジット名、パーティションおよびリビジョン)に一致するコンポジットについてキャッシュされたサービス定義情報の詳細を示します。

表14-10 デプロイ済コンポジットWSDL/スキーマ・キャッシュ診断のダンプ

ダンプ名

ダンプ・パラメータ/ダンプ・モード

取得される情報

soa.wsdl

- ダンプ・パラメータ:
flowid (オプション): 存在する場合、フローIDを含むflowtrace.xmlファイルを検索します。それがダンプ・パラメータとして指定されていない場合、これはダンプ・コンテキストから取得できます。実際のパラメータの評価には、次のルールが適用されます。

1) フローIDが利用可能な場合(ダンプ・パラメータとして、またはダンプ・コンテキストから取得することで)、それはフロー・インスタンスおよびフロー・トレースを取得します。それはフロー・インスタンスに関連付けられたECIDを使用して、残りのダンプ・アーティファクトを取得します。

2) フローIDは利用不可能であるが、ECIDが利用可能な場合(ダンプ・パラメータとして、またはダンプ・コンテキストから取得することで)、それはフロー・インスタンスを検索して、フロー・トレースを取得するために使用されます。それはECIDを使用して、その他のダンプ・アーティファクトを取得します。

3) フローIDおよびECIDの両方が利用可能で、ECIDがフローのECIDと等しくない場合、ECIDは無視され、警告が表示されます。ルール1の後に続きます。

4) フローIDおよびECIDの両方が利用不可能である場合、例外エラーが表示されます。

ecid (オプション): 複数のビジネス・フロー・インスタンスにわたってメッセージ・フローをトラッキングするためのECID。このパラメータが指定されている場合は、関連付けられたコンポジットがすべて発見されます。他のコンポジット一致パラメータは無視されます。ECIDがダンプ・パラメータとして指定されていない場合、これはダンプ・コンテキストから取得されます。

compositeName: (オプション)ダンプするキー・サービス定義情報(WSDL)が含まれているコンポジット名(WSDL参照およびXSD参照も含む)。値が指定されていない(Nullまたは空白)場合、compositeNameはワイルドカード(*)とみなされます。あらゆるコンポジットと一致するワイルドカード(*)がサポートされています。

partition: (オプション)コンポジットがデプロイされているパーティション名。指定されていない場合は、deployed-composites.xmlファイルに指定されているデフォルト・コンポジットのパーティションになります。あらゆるパーティションと一致するワイルドカード(*)がサポートされています。

revision: (オプション)ダンプする(WSDLからの)サービス定義情報が含まれているコンポジット・リビジョン(例: 1.0)。指定されていない場合は、deployed-composites.xmlファイルに指定されているデフォルト・コンポジットのリビジョンになります。あらゆるリビジョンと一致するワイルドカード(*)がサポートされています。

- ダンプ・モード:
ASYNC_SYNC

- コンポジットの識別名(DN)。例: compositeDN:partition_1/WSInMedPubBpelSubFileOut!1.0*soa_8a169ab1-395a-4b87-9986-9fa2742a8bd3

- シリーズのデフォルトかどうか。

- コンポジット名。

- コンポジット状態(「オン」または「オフ」)。

- コンポジット・モード(「アクティブ」または「リタイア」)。

- すべてのサービス定義の修飾名およびターゲット・ネームスペース(共有WSDLからのものを含む): javax.wsdl.Definitionオブジェクト
- サービス名: QName javax.wsdl.Definition.getQName()

- ターゲット・ネームスペース: javax.wsdl.Definition.getTargetNamespace()

- SchemaManager状態変数:
- SchemaManager.isPostDeploy()

- SchemaManager.isShared()

- SchemaManager.schemaAddedSinceLast Build()

- サービス定義によって参照されるXMLスキーマ定義
- メッセージ・タイプQName

- メッセージ・タイプSchemaTargetNamespace

- メッセージ・タイプTargetNS

14.2.8.1 WLSTコマンド(ダンプの説明および実行)

1. 次のWLSTコマンド行構文を入力し、ダンプの説明と利用可能なパラメータを表示し、soa.wsdlのダンプを実行します。

wls:/soainfra/serverConfig> describeDump(name='soa.wsdl', appName='soa-infra')

wls:/soainfra/serverConfig> executeDump(name='soa.wsdl', appName='soa-infra'
,arg=('compositeName':'WSInMedPubBpelSubFileOut',
'revision':'1.0','partition':'partition_1'})

14.2.9 ディスパッチャの静的構成の診断ダンプ(bpel.dispatcher)

表14-11に、ディスパッチャの静的構成の診断ダンプの詳細を示します。

表14-11 ディスパッチャの静的構成の診断ダンプ

ダンプ名

ダンプ・パラメータ/ダンプ・モード

取得される情報

bpel.dispatcher

- ダンプ・パラメータ:
format: (オプション)値xmlを指定すると、ダンプ診断出力がXML形式で表示されます。

- ダンプ・モード:
ASYNC_SYNC

ダンプを(1)インシデントのスレッド・コンテキストで実行できる場合(同期)、(2)インシデントのコンテキストでは実行できなくても診断情報を生成できる場合は、このSOA診断ダンプをASYNC_SYNCとしてマークしても問題ありません。

静的プール構成(ディスパッチャ構成)

- 監査、呼出しおよび非ブロッキング呼出しスレッド数

- エンジンおよびシステム・スレッド

ランタイム・メッセージ・キュー・サイズ:

- スケジュール済メッセージ(処理を待機中のキュー内のメッセージ)数の合計

- 稼働中メッセージ(現在処理中のメッセージ)数の合計

ランタイム・メッセージ・キューのブレークダウン・サイズ(処理済メッセージ合計数、エラーが発生したメッセージの合計数、メッセージの平均保留時間および平均実行時間):

- 監査キュー

- エンジン・キュー

- 起動キュー

- 非ブロッキング起動キュー

- システム・キュー

14.2.9.1 WLSTコマンド(ダンプの説明および実行)

この項で説明されているWLSTコマンドに加え、システムMBeanブラウザを通してディスパッチャの静的構成の診断情報を取得することもできます。このオプションでは、起動キュー、配信キューおよびインスタンス・キューのスケジュール済メッセージと稼働中メッセージに関するより具体的な詳細を取得できます。詳細は、「システムMBeanブラウザを使用したディスパッチャの静的構成の診断ダンプの取得」を参照してください。

1. 次のWLSTコマンド行構文を入力し、ダンプの説明を表示して、bpel.dispatcherのダンプを実行します。

wls:/soainfra/serverConfig> describeDump(name='bpel.dispatcher', appName='soa-infra')

wls:/soainfra/serverConfig> executeDump(name='bpel.dispatcher', appName='soa-infra')

2. 次のWLSTコマンド行構文を入力し、bpel.dispatcherのダンプをXML形式で実行します。

executeDump(name='bpel.dispatcher', appName='soa-infra', args={'format':'xml'})

14.2.9.2 システムMBeanブラウザを使用したディスパッチャの静的構成の診断ダンプの取得

「readXMLDispatcherTrace」プロパティを呼び出すことで、ディスパッチャの静的構成の診断ダンプをシステムMBeanブラウザに表示することもできます。このオプションでは、起動キュー、配信キューおよびインスタンス・キューの現在処理中のメッセージや処理がスケジュールされたメッセージに関して、WLST executeDumpコマンド(「WLSTコマンド(ダンプの説明および実行)」を参照)で取得するより具体的な詳細を取得できます。

1. ナビゲーション・ツリーで「SOA」フォルダを開きます。

2. 「soa-infra」,を右クリックして、「管理」→「システムMBeanブラウザ」の順に選択します。

3. 「アプリケーション定義のMBean」→「oracle.as.soainfra.bpm」→「サーバー: server_name」→「bpel」→「CubeDispatcher」の順に選択します。

4. 「readXMLDispatcherTrace」をクリックします。

5. 「起動」をクリックします。

結果はプロパティ・ウィンドウに表示されます。

14.2.10 平均インスタンス処理時間の診断ダンプ(bpel.apt)

表14-12に、インスタンス平均処理時間の診断ダンプの詳細を示します。この情報は、BPELプロセス・サービス・エンジンに保持されるインスタンスの作成および最終変更のタイムスタンプから取得されます。

表14-12 インスタンス平均処理時間の診断ダンプ

ダンプ名

ダンプ・パラメータ/ダンプ・モード

取得される情報

bpel.apt

- ダンプ・パラメータ:
format: (オプション)値xmlを指定すると、ダンプ診断出力がXML形式で表示されます。

- ダンプ・モード:
ASYNC_SYNC

ダンプを(1)インシデントのスレッド・コンテキストで実行できる場合(同期)、(2)インシデントのコンテキストでは実行できなくても診断情報を生成できる場合は、この診断ダンプをASYNC_SYNCとしてマークしても問題ありません。

様々なプロセスのインスタンスが実行時に必要とする平均時間。この情報は永続ストアから取得され、プロセスが呼び出したパートナの所要時間を含みます。平均時間は秒単位です。

14.2.10.1 WLSTコマンド(ダンプの説明および実行)

1. 次のWLSTコマンド行構文を入力し、ダンプの説明を表示して、bpel.aptのダンプを実行します。

wls:/soainfra/serverConfig> describeDump(name='bpel.apt', appName='soa-infra')

2. 次のWLSTコマンド行構文を入力し、bpel.aptのダンプをXML形式で実行します。

executeDump(name='bpel.apt', appName='soa-infra', args={'format':'xml'})

14.2.11 平均インスタンス処理遅延の診断ダンプ(bpel.apd)

表14-13は、非同期プロセスの平均インスタンス処理遅延の診断ダンプの詳細を示します。このダンプは、BPELプロセス・サービス・エンジンがデータベースから保存されているメッセージを取り出してそのメッセージの処理を開始するまでの平均所要時間を示します。この統計は、インメモリーからではなく、データベースから生成されます。

表14-13 平均インスタンス処理遅延の診断ダンプ

ダンプ名

ダンプ・パラメータ/ダンプ・モード

取得される情報

bpel.apd

- ダンプ・パラメータ:
format: (オプション)値xmlを指定すると、ダンプ診断出力がXML形式で表示されます。

- ダンプ・モード:
ASYNC_SYNC

ダンプを(1)インシデントのスレッド・コンテキストで実行できる場合(同期)、(2)インシデントのコンテキストでは実行できなくても診断情報を生成できる場合は、このSOA診断ダンプをASYNC_SYNCとしてマークしても問題ありません。

プロセス・インスタンスをトリガーする受信メッセージの受信からBPELサービス・エンジンが実際にメッセージの処理を開始するまでの起動処理の平均遅延。

注意: 「平均インスタンス処理時間の診断ダンプ(bpel.apt)」で説明されているダンプは、プロセス・インスタンスの合計実行時間を示します。これは、アクティビティを処理するための時間の関数で、パートナ(1つ以上がコールされている場合)の所要時間も含まれます。ただし、受信メッセージは処理される前にまず非同期通信用のデータベースに格納されるため、システムのボトルネックを診断するためにより具体的な詳細が必要とされる場合があります。したがって、データベースからメッセージを選択するBPELプロセス・サービス・エンジンの遅延の詳細も、bpel.apdダンプによって提供されます。

このダンプ情報は、インメモリーからではなく、データベースから生成されます。BPELプロセス・サービス・エンジンの各種レイヤーでの遅延に関するさらなる詳細とより効果的な分析については、「「リクエストのブレークダウン」表の下位レベルの詳細の表示」を参照してください。

14.2.11.1 WLSTコマンド(ダンプの説明および実行)

注意:

- このダンプはデータベースに対して実行されるので、レコード数が非常に多い場合は問合せの実行に長時間かかる場合があります。

- 問い合わせるデータを制限するためのフィルタはありません。

- ダンプは、データベースがBPELプロセス・サービス・エンジンの通常の永続スキーマの外部を表示する際に指定された問合せを実行します。表示を直接チューニングして、結果を改善できます。

1. 次のWLSTコマンド行構文を入力し、ダンプの説明を表示して、bpel.apdのダンプを実行します。

wls:/soainfra/serverConfig> describeDump(name='bpel.apd', appName='soa-infra')

2. 次のWLSTコマンド行構文を入力し、bpel.apdのダンプをXML形式で実行します。

wls:/soainfra/serverConfig> executeDump(name='bpel.apd', appName='soa-infra', args={'format':'xml'})

14.2.12 同期プロセス統計の診断ダンプ(bpel.sps)

表14-14は、同期プロセス統計の診断ダンプの詳細を示します。このダンプは、最小、最大および平均処理時間(ミリ秒単位)、ならびに処理されたインスタンスの数を示します。「「リクエストのブレークダウン」表の下位レベルの詳細の表示」で説明されているシステムMBeanブラウザの「StatsLastN」プロパティを、この診断ダンプを取得するように構成する必要があります。ただし、オプションのダンプ・パラメータのdurationとbufferが指定されており、「StatsLastN」が構成されていない場合、このダンプ・コマンドはスループット(毎秒のトランザクション数)の統計情報を提供します。

表14-14 同期プロセス統計の診断ダンプ

ダンプ名

ダンプ・パラメータ/ダンプ・モード

取得される情報

bpel.sps

- ダンプ・パラメータ:
buffer: (オプション)バッファ範囲の値を指定します(100-100000)。

duration: (オプション)期間の値を指定します(1 - 10000)。

format: (オプション)値xmlを指定すると、ダンプ診断出力がXML形式で表示されます。

- ダンプ・モード:
ASYNC_SYNC

同期プロセスの最小、最大および平均処理時間(ミリ秒単位)、ならびに処理されたインスタンスの数。

14.2.12.1 WLSTコマンド(ダンプの説明および実行)

1. 次のWLSTコマンド行構文を入力し、ダンプの説明を表示して、bpel.spsのダンプを実行します。

wls:/soainfra/serverConfig> describeDump(name='bpel.sps', appName='soa-infra')

2. 次のWLSTコマンド行構文を入力し、「StatsLastN」を構成してbpel.spsのダンプを実行します。

wls:/soainfra/serverConfig> executeDump(name='bpel.sps',
appName='soa-infra')

3. 次のWLSTコマンド行構文を入力し、「StatsLastN」を構成してXML形式でbpel.spsのダンプを実行します。

wls:/soainfra/serverConfig> executeDump(name='bpel.sps', appName='soa-infra',
args={'format':'xml'})

4. 次のWLSTコマンド行構文を入力し、durationおよびbufferパラメータのスループット値を指定して、bpel.spsのダンプを実行します。

wls:/soainfra/serverConfig> executeDump(name='bpel.sps', appName='soa-infra',
args={'duration':'10', 'buffer':'1000'})

5. 次のWLSTコマンド行構文を入力し、durationおよびbufferパラメータのスループット値を指定し、StatsLastNを構成しないで、XML形式でbpel.spsのダンプを実行します。

wls:/soainfra/serverConfig> executeDump(name='bpel.sps', appName='soa-infra',
args={'format':'xml', 'duration':'10', 'buffer':'1000'})

14.2.13 非同期プロセス統計の診断ダンプ(bpel.aps)

表14-15は、非同期プロセス統計の診断ダンプの詳細を示します。このダンプは、プロセス・レベル(非同期BPELプロセスのみ)の統計(最小、最大および平均処理時間(ミリ秒単位)など)、ならびに処理されたインスタンスの数を提供します。「「リクエストのブレークダウン」表の下位レベルの詳細の表示」で説明されているシステムMBeanブラウザの「StatsLastN」プロパティを、この出力を取得するように構成する必要があります。ただし、オプションのパラメータのdurationとbufferが指定されており、「StatsLastN」が構成されていない場合、このダンプ・コマンドはスループット(毎秒のトランザクション数)の統計情報を提供します。

表14-15 非同期プロセス統計の診断ダンプ

ダンプ名

ダンプ・パラメータ/ダンプ・モード

取得される情報

bpel.aps

- ダンプ・パラメータ:
buffer: (オプション)バッファ範囲の値を指定します(100-100000)。

duration: (オプション)期間の値を指定します(1 - 10000)。

format: (オプション)値xmlを指定すると、ダンプ診断出力がXML形式で表示されます。

- ダンプ・モード:
ASYNC_SYNC

非同期プロセスの最小、最大および平均処理時間(ミリ秒単位)、ならびに処理されたインスタンスの数。

14.2.13.1 WLSTコマンド(ダンプの説明および実行)

1. 次のWLSTコマンド行構文を入力し、ダンプの説明を表示して、bpel.apsのダンプを実行します。

wls:/soainfra/serverConfig> describeDump(name='bpel.aps', appName='soa-infra')

2. 次のWLSTコマンド行構文を入力し、「StatsLastN」を構成してbpel.apsのダンプを実行します。

wls:/soainfra/serverConfig> executeDump(name='bpel.aps',
appName='soa-infra')

3. 次のWLSTコマンド行構文を入力し、「StatsLastN」を構成してXML形式でbpel.apsのダンプを実行します。

executeDump(name='bpel.aps', appName='soa-infra', args={'format':'xml'})

4. 次のWLSTコマンド行構文を入力し、durationおよびbufferパラメータのスループット値を指定して、bpel.apsのダンプを実行します。

wls:/soainfra/serverConfig> executeDump(name='bpel.aps', appName='soa-infra',
args={'duration':'60', 'buffer':'1000'})

5. 次のWLSTコマンド行構文を入力し、durationおよびbufferパラメータのスループット値を指定し、「StatsLastN」を構成しないで、XML形式でbpel.apsのダンプを実行します。

wls:/soainfra/serverConfig> executeDump(name='bpel.aps', appName='soa-infra',
args={'format':'xml', 'duration':'60', 'buffer':'1000'})

14.2.14 リクエスト統計の診断ダンプ(bpel.rs)

表14-16に、リクエスト診断ダンプの詳細を示します。このダンプは、最小、最大および平均処理時間(ミリ秒単位)、ならびにBPELプロセス・サービス・エンジンの各種レイヤーを通して流れながら処理されたリクエストの数を示します。「「リクエストのブレークダウン」表の下位レベルの詳細の表示」で説明されているシステムMBeanブラウザの「StatsLastN」プロパティを、この診断ダンプを取得するように構成する必要があります。ただし、オプションのダンプ・パラメータのdurationとbufferが指定されており、「StatsLastN」が構成されていない場合、このダンプ・コマンドはスループット(毎秒のトランザクション数)の統計情報を提供します。

表14-16 リクエスト統計の診断ダンプ

ダンプ名

ダンプ・パラメータ/ダンプ・モード

取得される情報

bpel.rs

- ダンプ・パラメータ:
buffer: (オプション)バッファ範囲の値を指定します(100-100000)。

duration: (オプション)期間の値を指定します(1 - 10000)。

format: (オプション)値xmlを指定すると、ダンプ診断出力がXML形式で表示されます。

- ダンプ・モード:
ASYNC_SYNC

最小、最大および平均処理時間(ミリ秒単位)、ならびにBPELプロセス・サービス・エンジンの各種レイヤーを通して流れながら処理されたリクエストの数。

14.2.14.1 WLSTコマンド(ダンプの説明および実行)

1. 次のWLSTコマンド行構文を入力し、ダンプの説明を表示し、bpel.rsのダンプを実行します。

wls:/soainfra/serverConfig> describeDump(name='bpel.rs', appName='soa-infra')

2. 次のWLSTコマンド行構文を入力し、「StatsLastN」を構成してbpel.rsのダンプを実行します。

wls:/soainfra/serverConfig> executeDump(name='bpel.rs', appName='soa-infra')

または

wls:/soainfra/serverConfig> executeDump(name='bpel.rs', appName='soa-infra',
args={'format':'xml'})

3. 次のWLSTコマンド行構文を入力し、durationおよびbufferパラメータのスループット値を指定し、「StatsLastN」を構成しないで、bpel.rsのダンプを実行します。

wls:/soainfra/serverConfig> executeDump(name='bpel.rs', appName='soa-infra',
args={'duration':'10', 'buffer':'1000'})

または

wls:/soainfra/serverConfig> executeDump(name='bpel.rs', appName='soa-infra',
args={'format':'xml','duration':'10', 'buffer':'1000'})

14.2.15 リシーケンサ・グループ処理遅延の診断ダンプ(mediator.resequencer)

表14-17は、リシーケンサ・グループ処理遅延の診断ダンプの詳細を示します。

表14-17 リシーケンサ・グループ処理遅延の診断ダンプ

ダンプ名

ダンプ・パラメータ/ダンプ・モード

取得される情報

mediator. resequencer

- ダンプ・パラメータ:
resequencerMaxUnprocessTime: (必須)診断ダンプに含める前にリシーケンサ・グループが非アクティブになっていることが必要な分数を指定します。

- ダンプ・モード:
ASYNC_SYNC

グループ情報:

- コンポーネントDN(名前)

- 操作

- グループID

- グループのステータス

- コンポーネントのステータス

- 最終受信時間

- コンテナID

- 保留メッセージ数

- 最終リフレッシュ時間

コンテナ情報:

- コンテナID

- リシーケンサ・タイプ

14.2.15.1 WLSTコマンド(ダンプの説明および実行)

1. 次のWLSTコマンド行構文を入力し、mediator.resequencerのダンプの説明を表示します。

wls:/soainfra/serverConfig> describeDump(name='mediator.resequencer',
appName='soa-infra')

次の情報が表示されます。

Name: mediator.resequencer
Description: diagnostic information about the groups, which have not been
processed beyond user specified maximum unprocess time
Run Mode: asynchronous
Mandatory Arguments:
Name                         Type     Description
resequencerMaxUnprocessTime INTEGER  maximum duration for which the group has
not been processed, duration should be
specified in minutes
Optional Arguments:

2. 次のWLSTコマンド行構文を入力し、mediator.resequencerのダンプを実行します。

wls:/soainfra/serverConfig> executeDump(name='mediator.resequencer',
appName='soa-infra', args={'resequencerMaxUnprocessTime':'minutes'}

minutesは、ダンプに含まれる前にリシーケンサ・グループを保留できる分数で置き換えます。次のような情報が表示されます。

Database Timestamp in UTC :2012-03-29 06:29:31.0
Max unprocess time condition:1
Mediator Resquencer pending group data
COMPONENT_DN,OPERATION,GROUP_ID,STATUS,COMPONENT_STATUS,LAST_RECEIVED_TIME,
CONTAINER_ID, PENDING MESSAGE COUNT
default/Standard!2.0/Mediator1,execute,1001,0,0,2012-03-29
06:24:22.509394,EC09D271796511E18F5CBD26553417B4,1
------------------------------------------------------------------------------
Containerid Data
containerId,renewalTime
EC09D271796511E18F5CBD26553417B4,java.util.GregorianCalendar[time=1333002526625
,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.Zon
eInfo[id="GMT-07:00",offset=-25200000,dstSavings=0,useDaylight=false,transition
s=0,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2012,MO
NTH=2,WEEK_OF_YEAR=13,WEEK_OF_MONTH=5,DAY_OF_MONTH=28,DAY_OF_YEAR=88,DAY_OF_
WEEK=4,DAY_OF_WEEK_IN_MONTH=4,AM_PM=1,HOUR=11,HOUR_OF_
DAY=23,MINUTE=28,SECOND=46,MILLISECOND=625,ZONE_OFFSET=-25200000,DST_OFFSET=0]

14.2.16 アダプタ診断ダンプ(soa.adapter.ra)

表14-18に、接続ファクトリ構成のダンプの詳細を示します。

表14-18 アダプタ診断ダンプ

ダンプ名

ダンプ・パラメータ/ダンプ・モード

取得される情報

soa.adapter.ra

- ダンプ・パラメータ:
flowid (オプション): 存在する場合、フローIDを含むflowtrace.xmlファイルを検索します。それがダンプ・パラメータとして指定されていない場合、これはダンプ・コンテキストから取得できます。実際のパラメータの評価には、次のルールが適用されます。

1) フローIDが利用可能な場合(ダンプ・パラメータとして、またはダンプ・コンテキストから取得することで)、それはフロー・インスタンスおよびフロー・トレースを取得します。それはフロー・インスタンスに関連付けられたECIDを使用して、残りのダンプ・アーティファクトを取得します。

2) フローIDは利用不可能であるが、ECIDが利用可能な場合(ダンプ・パラメータとして、またはダンプ・コンテキストから取得することで)、それはフロー・インスタンスを検索して、フロー・トレースを取得するために使用されます。それはECIDを使用して、その他のダンプ・アーティファクトを取得します。

3) フローIDおよびECIDの両方が利用可能で、ECIDがフローのECIDと等しくない場合、ECIDは無視され、警告が表示されます。ルール1の後に続きます。

4) フローIDおよびECIDの両方が利用不可能である場合、例外エラーが表示されます。

ecid: (オプション)ecid jndiNameおよびadapterTypeを指定します。

- ダンプ・モード:
ASYNC

接続ファクトリ情報をダンプします。

- 管理対象の接続ファクトリのプロパティ

- 接続プールのプロパティ

- トランザクション・サポートのプロパティ

複数のコンポジットが同じJNDIを使用しているかどうかを示します。

14.2.16.1 WLSTコマンド(ダンプの説明および実行)

1. 次のWLSTコマンド行構文を入力し、soa.adapter.raのダンプの説明を表示します。

wls:/soainfra/serverConfig> describeDump(name='soa.adapter.ra',
appName='soa-infra')

2. 次のWLSTコマンド行構文を入力し、soa.adapter.raのダンプを実行します。

wls:/soainfra/serverConfig> executeDump(name='soa.adapter.ra',
appName='soa-infra', args={'compositeName':'fa', 'partition':'default',
'revision':'1.0'})

次の情報が表示されます。

CompositeDN = default/fa!1.0*soa_7ce2ebd9-ce17-4b5a-b436-2567eab33af2
Endpoint Name = service
Endpoint type = Service
JNDI Name = eis/FileAdapter
Adapter Type = FileAdapter

Pool Parameters -
==================

initial-capacity = 10
test-connections-on-create = false
test-connections-on-reserve = false
connection-creation-retry-frequency-seconds = 2
shrinking-enabled = true
ignore-in-use-connections-enabled = true
highest-num-waiters = 0
shrink-frequency-seconds = 60
connection-reserve-timeout-seconds = 5
highest-num-unavailable = 0
max-capacity = 2147483647
profile-harvest-frequency-seconds = 300
capacity-increment = 100
test-connections-on-release = false
match-connections-supported = false
test-frequency-seconds = 0

Transaction Support = NoTransaction

Connection Factory Properties -
===============================

outboundDataSource = none
outboundDataSourceLocal = none
outboundLockTypeForWrite = none
controlDir = ${user.dir}
inboundDataSource = none
workingDirectory = default

================================================================

CompositeDN = default/fa!1.0*soa_7ce2ebd9-ce17-4b5a-b436-2567eab33af2
Endpoint Name = reference
Endpoint type = Reference
JNDI Name = eis/FileAdapter
Adapter Type = FileAdapter

Pool Parameters -
==================

initial-capacity = 10
test-connections-on-create = false
test-connections-on-reserve = false
connection-creation-retry-frequency-seconds = 2
shrinking-enabled = true
ignore-in-use-connections-enabled = true
highest-num-waiters = 0
shrink-frequency-seconds = 60
connection-reserve-timeout-seconds = 5
highest-num-unavailable = 0
max-capacity = 2147483647
profile-harvest-frequency-seconds = 300
capacity-increment = 100
test-connections-on-release = false
match-connections-supported = false
test-frequency-seconds = 0

Transaction Support = NoTransaction

Connection Factory Properties -
===============================

outboundDataSource = none
outboundDataSourceLocal = none
outboundLockTypeForWrite = none
controlDir = ${user.dir}inboundDataSource = noneworkingDirectory = default

14.2.17 アダプタ診断ダンプ(soa.adapter.connpool)

表14-19はアダプタ接続プールのダンプを示します。

表14-19 アダプタ診断ダンプ

ダンプ名

ダンプ・パラメータ/ダンプ・モード

取得される情報

soa.adapter.connpool

- ダンプ・パラメータ:
flowid (オプション): 存在する場合、フローIDを含むflowtrace.xmlファイルを検索します。それがダンプ・パラメータとして指定されていない場合、これはダンプ・コンテキストから取得できます。実際のパラメータの評価には、次のルールが適用されます。

1) フローIDが利用可能な場合(ダンプ・パラメータとして、またはダンプ・コンテキストから取得することで)、それはフロー・インスタンスおよびフロー・トレースを取得します。それはフロー・インスタンスに関連付けられたECIDを使用して、残りのダンプ・アーティファクトを取得します。

2) フローIDは利用不可能であるが、ECIDが利用可能な場合(ダンプ・パラメータとして、またはダンプ・コンテキストから取得することで)、それはフロー・インスタンスを検索して、フロー・トレースを取得するために使用されます。それはECIDを使用して、その他のダンプ・アーティファクトを取得します。

3) フローIDおよびECIDの両方が利用可能で、ECIDがフローのECIDと等しくない場合、ECIDは無視され、警告が表示されます。ルール1の後に続きます。

4) フローIDおよびECIDの両方が利用不可能である場合、例外エラーが表示されます。

ecid: (オプション)ecid jndiName、adapterType compositeName、partition、revision adapterTypeおよびjndiNameを指定します。

- ダンプ・モード:
ASYNC

構成された接続ファクトリJNDIの接続プール統計をダンプします。

14.2.17.1 WLSTコマンド(ダンプの説明および実行)

1. 次のWLSTコマンド行構文を入力し、soa.adapter.connpoolのダンプの説明を表示します。

wls:/soainfra/serverConfig> describeDump(name='soa.adapter.connpool',
appName='soa-infra')

次の情報が表示されます。

Name: soa.adapter.connpool
Description: SOA adapter diagnostic dump that captures the Connection pool
stats for configured adapters JNDI.
Rules for actual parameter evaluation:
if ecid is specified, use it to match composites associated with the ECID,
composite name/partition/revision not used;
if ecid is not specified, then use jndiName & adapterType to retrieve the
connection pool attributes;
if jndiName and adapterType are not specified, then use composite
name/partition/revision to match composites;
if no composite name/partition/revision are specified, then all the composites
with jca binding are dumped.
Mandatory Arguments:
Optional Arguments:
Name        Type     Description
ecid        STRING   ECID(Execution Context ID - for tracking message flow
across multiple instances), when presents, will be used to locate
composites associated with it, and other composite matching parameters ignored;
it can be obtained from dump context if not specified as dump parameter, see
rules for actual parameter evaluation for details.
revision    STRING   Revision of composite, e.g. '1.0', '2.0', can be wild card
'*', meaning matching any revision, when missing, assume default composite's
revision in the composite series.
flowid      LONG       Flow ID, when presents, will be used to locate the
flowtrace.xml with it, it can be obtained from dump
context if not specified as dump parameter, see rules
for actual parameter evaluation for details.
adapterType STRING     Resource Adapter type
partition   STRING     Partition of composite, default to partition(s)
associated with resolved revision(s), can be wild
card '*', meaning matching any partition.
compositeName STRING   Composite name, e.g., 'OrderProcessing', can
be wild card '*',meaning matching any composite.
jndiName    STRING     Adapter Connection Pool JNDI

2. 次のWLSTコマンド行構文を入力し、soa.adapter.connpoolのダンプを実行します。

wls:/soainfra/serverConfig> executeDump(name='soa.adapter.connpool',
appName='soa-infra', args={'compositeName':'fa', 'partition':'default',
'revision':'1.0'})

次の情報が表示されます。

CompositeDN=default/fa!1.0*soa_7ce2ebd9-ce17-4b5a-b436-2567eab33af2
Endpoint Name = service
Endpoint type = Service
JNDI Name =eis/FileAdapter
Adapter Type =FileAdapter

ConnectionPool Attributes:
==========================

Important ConnectionPool Attributes:
====================================
InitialCapacity = 10
MaxCapacity = 2147483647
CurrentCapacity = 10
State = Running
FreeConnectionsCurrentCount = 10
NumUnavailableCurrentCount = 0
NumberDetectedLeaks = 0
ConnectionsDestroyedByErrorTotalCount = 0
ConnectionsRejectedTotalCount = 0

Other ConnectionPool Attributes:
================================
ActiveConnectionsCurrentCount = 0
FreePoolSizeHighWaterMark = 0
PoolSizeLowWaterMark = 0
ConnectionsMatchedTotalCount = 0
LastShrinkTime = 0
FreeConnectionsHighCount = 10
ConnectionsDestroyedTotalCount = 0
ConnectionsDestroyedByShrinkingTotalCount = 0
ShrinkingEnabled = true
ConnectionsCreatedTotalCount = 10
NumUnavailableHighCount = 0
MaxIdleTime = 0
LoggingEnabled = true
ConnectionIdleProfileCount = 0
ConnectionProfilingEnabled = false
ShrinkCountDownTime = -10565
FreePoolSizeLowWaterMark = 0
ActiveConnectionsHighCount = 0
ProxyOn = false
NumWaitersCurrentCount = 0
NumWaiters = 0
CloseCount = 0
PoolSizeHighWaterMark = 0
AverageActiveUsage = 0
RecycledTotal = 0
ConnectionLeakProfileCount = 0
HighestNumWaiters = 0
ShrinkPeriodMinutes = 1
NumberDetectedIdle = 0
CapacityIncrement = 1

================================================================
CompositeDN=default/fa!1.0*soa_7ce2ebd9-ce17-4b5a-b436-2567eab33af2
Endpoint Name = reference
Endpoint type = Reference
JNDI Name =eis/FileAdapter
Adapter Type =FileAdapter

ConnectionPool Attributes:
==========================

Important ConnectionPool Attributes:
====================================
InitialCapacity = 10
MaxCapacity = 2147483647
CurrentCapacity = 10
State = Running
FreeConnectionsCurrentCount = 10
NumUnavailableCurrentCount = 0
NumberDetectedLeaks = 0
ConnectionsDestroyedByErrorTotalCount = 0
ConnectionsRejectedTotalCount = 0

Other ConnectionPool Attributes:
================================
ActiveConnectionsCurrentCount = 0
FreePoolSizeHighWaterMark = 0
PoolSizeLowWaterMark = 0
ConnectionsMatchedTotalCount = 0
LastShrinkTime = 0
FreeConnectionsHighCount = 10
ConnectionsDestroyedTotalCount = 0
ConnectionsDestroyedByShrinkingTotalCount = 0
ShrinkingEnabled = true
ConnectionsCreatedTotalCount = 10
NumUnavailableHighCount = 0
MaxIdleTime = 0
LoggingEnabled = true
ConnectionIdleProfileCount = 0
ConnectionProfilingEnabled = false
ShrinkCountDownTime = -10565
FreePoolSizeLowWaterMark = 0
ActiveConnectionsHighCount = 0
ProxyOn = false
NumWaitersCurrentCount = 0
NumWaiters = 0
CloseCount = 0
PoolSizeHighWaterMark = 0
AverageActiveUsage = 0
RecycledTotal = 0
ConnectionLeakProfileCount = 0
HighestNumWaiters = 0
ShrinkPeriodMinutes = 1
NumberDetectedIdle = 0
CapacityIncrement = 1

14.2.18 アダプタ診断ダンプ(soa.adapter.stats)

表14-20はアダプタ診断ダンプを示します。

表14-20 アダプタ診断ダンプ

ダンプ名

ダンプ・パラメータ/ダンプ・モード

取得される情報

soa.adapter.stats

- ダンプ・パラメータ:
format: (オプション)値xmlを指定すると、ダンプ診断出力がXML形式で表示されます。

- ダンプ・モード:
ASYNC

soa.adapter.statsメトリックに基づいて、メッセージ・サイズやフォルト数といったDMS統計が示されます。

14.2.18.1 WLSTコマンド(ダンプの説明および実行)

1. 次のWLSTコマンド行構文を入力し、soa.adapter.statsのダンプの説明を表示します。

wls:/soainfra/serverConfig> describeDump(name='soa.adapter.stats', appName='soa-infra')

次の情報が表示されます。

Name: soa.adapter.stats
Description: SOA adapter diagnostic dump that captures DMS adapter
statistics.Rules for actual parameter evaluation:
if composite name/partition/revision are specified, dumps the DMS stats for
that composite;
if no composite name/partition/revision are specified, then all the composites
with jca binding are dumped.
Mandatory Arguments:
Optional Arguments:
Name        Type     Description
revision    STRING   Revision of composite, e.g. '1.0', '2.0', can be wild
card '*', meaning matching any revision, when missing, assume default
composite's revision in the composite series.
partition   STRING   Partition of composite, default to partition(s)
associated with resolved revision(s), can be wild card '*', meaning matching
any partition.
compositeName  STRING   Composite name, e.g., 'OrderProcessing', can be
wild card '*',meaning matching any composite.

2. 次のWLSTコマンド行構文を入力し、soa.adapter.statsのダンプを実行します。

wls:/soainfra/serverConfig> wls:/soainfra/serverConfig>
executeDump(name='soa.adapter.stats', appName='soa-infra',
args={'compositeName':'fa',
'partition':'default', 'revision':'1.0'})

次の情報が表示されます。

CompositeDN -default/fa!1.0
Service Name -service
Process Incoming Message Metrics -
================================
processIncomingMessages.time (Elapsed time in milliseconds ) - 4787 msecs
processIncomingMessages.completed (Elapsed time in milliseconds ) - 2 ops
processIncomingMessages.minTime (Elapsed time in milliseconds ) - 32 msecs
processIncomingMessages.maxTime (Elapsed time in milliseconds ) - 4755 msecs
processIncomingMessages.avg (Elapsed time in milliseconds ) - 2393.5 msecs
processIncomingMessages.active (Elapsed time in milliseconds ) - 0 threads
processIncomingMessages.maxActive (Elapsed time in milliseconds ) - 1 threads
Error Metrics -
=============
Errors.count (Number of events errored during binding processing ) - 0 ops
Process Incoming Message Events -
===============================
processIncomingMessagesEvents.count ( Number of processed events ) - 2 ops

14.3 SOAコンポジット・アプリケーションの診断フレームワーク・スレッド・ダンプの実行

スレッド・ダンプが必要な問題を診断する際は、スレッド・アクティビティに関する十分なコンテキストがあると役立ちます。診断フレームワーク・ダンプjvm.threadsは、SOAコンポジット・アプリケーションのDMS実行コンテキスト(EC)スレッド・スタック・データを提供します。次のプロパティは、ビジネス・フロー・インスタンスの実行が開始されると挿入され、HTTPリクエストが完了するとリセットされます。

- composite_name

- component_name

- composite_instance_id

- activity_name (BPELプロセスで実行されるアクティビティをリストします。名前のないアクティビティ(スコープ・アクティビティなど)は取得されません。)

jvm.threadsダンプを実行すると、この情報が表形式で出力されます。このダンプは、jvm.threadsダンプの実行時にそれぞれのスレッドがどこにあるかを識別します。

これは、どのSOAコンポジット・アプリケーションの処理が低速かを診断するうえで役立ちます。

14.3.1 WLSTコマンド(ダンプの説明および実行)

1. 次のWLSTコマンド行構文を入力し、jvm.threadsのダンプを実行します。

executeDump(name='jvm.threads',outputFile='path',args={'context':'true'})

===== THREAD CONTEXT INFORMATION =====

id      ECID                                                          RID   Context Values
------- ------------------------------------------------------------- ----- ---------------
id=23   e6e3527fc0d0bfd2:-6c720372:139026855d8:-8000-0000000000001d3f 0:1   WEBSERVICE_
PORT.name=CatchException_pt
composite_name=ExceptionHandler!1.0
J2EE_MODULE.name=fabric
component_name=CommsUtilityWS
WEBSERVICE_NAMESPACE.name=http://xmlns.
oracle.com/ExceptionHandler/CatchException
J2EE_APP.name=soa-infraWEBSERVICE.name=
catchexception_client_ep
composite_instance_id=1

id=61   e6e3527fc0d0bfd2:-6c720372:139026855d8:-8000-000000000000003c 0
id=70   e6e3527fc0d0bfd2:-6c720372:139026855d8:-8000-0000000000001e84 0
id=2170 e6e3527fc0d0bfd2:-6c720372:139026855d8:-8000-0000000000001d3f 0     DSID=0000Ĵ2fPtuDSc
Y5Hro2yf1G8M9Z000002
id=1616 e6e3527fc0d0bfd2:-6c720372:139026855d8:-8000-0000000000000004 0
id=2179 e6e3527fc0d0bfd2:-6c720372:139026855d8:-8000-000000000000002b 0     dbRID=0:10
id=2195 e6e3527fc0d0bfd2:-6c720372:139026855d8:-8000-0000000000001e7e 0     dbRID=0:2
id=2196 e6e3527fc0d0bfd2:-6c720372:139026855d8:-8000-0000000000001e82 0     dbRID=0:2
id=2197 e6e3527fc0d0bfd2:-6c720372:139026855d8:-8000-0000000000001e80 0     dbRID=0:5

===== END OF THREAD CONTEXT INFORMATION =====

この情報はAdminServer-diagnostic.logファイル・ログで参照することもできます。

jvm.threadsダンプの詳細は、Oracle Fusion Middlewareの管理の「問題の診断」を参照してください。

14.4 サポートされているDMSメトリック

ナウン・タイプのDMSメトリックは、Oracle SOA Suite MBeanとして公開され、問題を診断する際に使用します。この項では、サポートされるDMSメトリックについて説明します。DMSナウンは、Oracle WebLogic Server管理コンソールで監視の作成に使用できます。

DMSメトリックは、BPELプロセス・サービス・エンジンの「統計」ページに表示されるグラフィカルな詳細を提供します。詳細は、「BPELプロセス・サービス・エンジンのリクエスト統計とスレッド・パフォーマンス統計の監視」および「BPELプロセス・サービス・エンジンでのリクエストの所要時間に関する統計の表示」を参照してください。

表14-21に、サポートされるサービス・エンジンのセンサーを示します。

表14-21 サービス・エンジンのセンサー

ナウン・パス

ナウンのタイプと説明

センサー

Type

/soainfra/engines/ dispatcher/queuestats/
[REQUEST_TYPE]

様々なリクエスト・タイプには、監査、配信、ドメイン、インスタンス、起動、メンテナンス、非ブロック起動、プロセスおよびシステムがあります。

soainfra_cube_engine_dispatcher_queue_stats: 様々なディスパッチャ・セットのキューについて、アクティブなスケジュールされた数を提供します。

active

schedule

/soainfra/engines/ [bpel|workflow|mediator|
decision]/message_
processing

soainfra_message_processing: 各種メッセージ・タイプの合計数(カウント)と処理の平均所要時間に関する情報を提供します。2つのメッセージ・タイプは同期リクエストと非同期リクエストです。

faultedRequestProcessingTime

faultedPostProcessingTime

requestProcessingTime

postProcessingTime

activeRequests

フェーズ・イベント

フェーズ・イベント

フェーズ・イベント

フェーズ・イベント

状態

/soainfra/engines/bpel/
requests/[REQUEST_TYPE]

リクエスト・タイプは、監査、エンジン、起動、非ブロック起動およびシステムです。

soainfra_bpel_requests

active

scheduled

状態

状態

/soainfra/engines/workflo
w/Task/service

soainfra_wfRequest

time

count

フェーズ

イベント

/soainfra/engines/workflo
w/Task/[METHOD_NAME]

time

count

フェーズ

イベント

/soainfra/engines/workflo
w/TaskQuery/[METHOD_NAME]

time

count

フェーズ

イベント

/soainfra/engines/workflo
w/TaskMetadata/getTaskDef
inition

time

count

フェーズ

イベント

/soainfra/engines/workflo
w/Verification/[METHOD_
NAME]

次のメソッドのみ: authenticateUser、getPermissableTaskActionsおよびcanUserPerfomTaskAction

time

count

フェーズ

イベント

/soainfra/engines/workflo
w/TaskNotification/notify
ForTask

time

count

フェーズ

イベント

/soainfra/engines/workflo
w/AssignmentRules/execute
Rules

time

count

フェーズ

イベント

/soainfra/engines/bpel/di
spatcher/

soainfra_bpel_dipatcher

maxThreads

avgLifeTime

avgRequestCountPerSecondなど

状態

状態

状態

表14-22に、サポートされるバインディング・センサーを示します。

表14-22 バインディング・センサー

ナウン・パス

ナウン・タイプ

センサー

Type

/soainfra/bindings/[inbound|outbound]/[ws|sdo|jca|b2b]

soainfra_binding

processRequests

requests

errors

フェーズ

フェーズ

フェーズ

表14-23に、サポートされるコンポジット・センサーを示します。

表14-23 コンポジット・センサー

ナウン・パス

ナウン・タイプ

センサー

Type

/soainfra/apps/[APP_NAME]/[COMPOSITE_NAME]/[REVERSION]/[COMPONENT_NAME]

/decision/[INTERACTION_PATTERN]/[INTERACTION_PATTERN_NAME]

soainfra_decision_interaction

executed

executionTime

イベント

フェーズ

/soainfra/apps/[COMPOSITE_DN]/[COMPONENT_NAME]/[ACTIVITY_NAME] (bpel用)

soainfra_bpel_activity: アクティビティ・レベルの実行時間の詳細を提供します。

started

executionTime

faultedExecutionTime

標準偏差(入手次第ユーザー・インタフェースにより計算される)

イベント

フェーズ

フェーズ

/soainfra/apps/[APP_NAME]/[COMPOSITE_NAME]/[VERSION]/[COMPONENT_NAME] /state/

soainfra_wfStateEvent

ASSIGNED

COMPLETED

ERRORED

EXPIRED

SUSPENDED

イベント

/soainfra/apps/[APP_NAME]/[COMPOSITE_NAME]/[VERSION]/[COMPONENT_NAME] /outcome/

soainfra_wfOutcomeEvent

[OUTCOME NAME]

イベント

/soainfra/apps/[APP_NAME]/[COMPOSITE_NAME]/[VERSION]/[COMPONENT_NAME] /taskCompletion/

soainfra_wfTaskCompletionTime

time

フェーズ

表14-24に、サポートされる参照およびサービスのセンサーを示します。

表14-24 参照およびサービスのセンサー

ナウン・パス

ナウン・タイプ

センサー

Type

/soainfra/apps/[APP_NAME]/[COMPOSITE_NAME]/[REVERSION]/[REFERENCE_NAME]

soainfra_reference

processOutboundMessagesEvents

Errors

processOutboundMessages

イベント

イベント

フェーズ

/soainfra/apps/[APP_NAME]/[COMPOSITE_NAME]/[REVERSION]/[SERVICE_NAME]

soainfra_service

processInboundMessagesEvents

Errors

processInboundMessages

イベント

イベント

イベント

表14-25に、サポートされるOracle B2Bバインディング・センサーを示します。

表14-25 Oracle B2Bバインディング・センサー

ナウン・パス

ナウン・タイプ

センサー

Type

/soainfra/bindings/b2b/document_type/[inbound|outbound]/[DOCUMENT_NAME]

/soainfra/bindings/b2b/[inbound|outbound]

soainfra_b2b_document

soainfra_b2b_document_dir

processMessagesEvents

processMessagesErrors

processMessages

processMessageSize

イベント

イベント

フェーズ・イベント

状態

/soainfra/bindings/b2b/trading_partner/[from|to]/[TRADING_PARTNER_NAME]

/soainfra/bindings/b2b/[from|to]/

soainfra_b2b_tradingPartner

soainfra_b2b_tradingPartner_dir

processMessagesEvents

processMessagesErrors

processMessages

processMessageSize

イベント

イベント

フェーズ・イベント

状態

/soainfra/bindings/b2b/endpoint/[inbound|outbound]/[END_POINT]

/soainfra/bindings/b2b/[inbound|outbound]/

soainfra_b2b_endpoint

soainfra_b2b_endpoint_dir

endPointProtocol

endPointStatus

processMessagesEvents

状態

状態

イベント

/soainfra/bindings/b2b/agreement/[AGREEMENT_NAME]

soainfra_b2b_agreement

processMessagesEvents

イベント

/soainfra/bindings/b2b/activeEntities

soainfra_b2b_active_entities

activeTradingPartners

activeAgreements

activeDocuments

状態

状態

状態

/soainfra/apps/[APP_NAME]/[COMPOSITE_NAME]/[REVERSION]/[SERVICE_NAME]/[TRADING_PARTNER_NAME]

soainfra_service_b2b_tradingPartner

processMessagesEvents

processMessagesErrors

processMessages

processMessageSize

イベント

イベント

フェーズ・イベント

状態

/soainfra/apps/[APP_NAME]/[COMPOSITE_NAME]/[REVERSION]/[REFERENCE_NAME]/[TRADING_PARTNER_NAME]

soainfra_reference_b2b_tradingPartner

processMessagesEvents

processMessagesErrors

processMessages

processMessageSize

イベント

イベント

フェーズ・イベント

状態

表14-26に、サポートされるOracle User Messaging Serviceのセンサーを示します。

表14-26 Oracle User Messaging Serviceイベント・ブリッジのメトリック

ナウン・パス

ナウン・タイプ

センサー

Type

/soainfra/eventBridge/rfidBridge

soinfra_rfidBridge

eventsIn

eventsOut

eventsProcess

errors

イベント

イベント

フェーズ・イベント

イベント

/soainfra/eventBridge/rfidBridge/device/[SERVER_NAME]/[DEVICE_NAME]

soainfra_rfidBridge_device

eventsIn

eventsOut

eventsProcess

status

イベント

イベント

フェーズ・イベント

状態

/soainfra/eventBridge/rfidBridge/server/[SERVER_NAME]

soainfra_rfidBridge_server

status

状態

14.5 監視および通知の作成

監視を作成し、Oracle SOA Suite MBeanから収集したメトリックに基づく診断可能な条件で通知を送信できます。監視式がtrueに評価される(たとえば、ヒープ領域が指定容量を超える)と、通知が送信されます。

監視を作成する際は、次のようないくつかのオプションがあります。

- デプロイメント、メモリーおよびWebサービス・コールの経過時間のために事前に構成されたルールと監視は、sca_createWatches WLSTコマンドによって有効にします。

- Oracle WebLogic Server管理コンソールでOracle SOA Suiteの監視を手動で作成します。

表14-27に示すメッセージIDが診断用に割り当てられています。

- Oracle WebLogic Server管理コンソールで監視を手動で作成する場合は、表14-27の命名規則に従う必要があります。Oracle SOA Suite関連の監視の接頭辞は、SOA-message_IDです。

- 事前に構成された監視を有効にすると、名前が自動的に作成されます。

表14-27 メッセージの接頭辞

シナリオ

メッセージID

実行されるダンプ

監視は事前構成済か

メモリー

SOA-900000

- soa.env

- soa.config

- java.sysprops

はい。「事前構成済ルールおよび監視の有効化」を参照してください

デプロイメントのハング

SOA-900001

- soa.env

- soa.config

はい。「事前構成済ルールおよび監視の有効化」を参照してください

データ・ソース

SOA-900002

- soa.env

- soa.config

- soa.db

いいえ。作成方法は、「Oracle SOA Suite監視および通知の手動作成」を参照してください

Webサービス・コールの経過時間

SOA-900003

- soa.env

- soa.config

- soa.wsdl

はい。「事前構成済ルールおよび監視の有効化」を参照してください

リシーケンサ・グループ保留中

MED-900000

- mediator.resequencer

いいえ。作成方法は、「Oracle SOA Suite監視および通知の手動作成」を参照してください

WLDF通知を監視にリンクすることもできます。初期状態のOracle Fusion Middleware診断フレームワークの通知(名前はFMWDFW通知)をリンクすると、SOA固有の一連のダンプが実行されます。これらのダンプでは、状況および環境に関するランタイム情報が提供されます。実行するダンプのリストは、事前定義のXMLインシデント・ルール・ファイルによって決まります。

その他の通知(電子メールなど)を監視にリンクすることもできます。

14.5.1 事前構成済ルールおよび監視の有効化

次の事前構成済の診断フレームワーク・ルールは、Oracle SOA Suiteとともに自動的にインストールされます。

- OWS-04086エラーの発生時にインシデントを作成するためのログ検出条件ルール。

- DMS実行コンテキスト(EC)でSOAコンポジット・アプリケーション名の存在をチェックして、soa.wsdlおよびsoa.composite.trail診断ダンプを実行されるダンプのリストに追加する条件ルール。

これらのルールの使用を有効化して次の監視を生成するには、ドメインの作成後にsca_createWatches WLSTコマンドを実行する必要があります。

- デプロイメント監視(しきい値は5分)

- メモリー監視(空きヒープ率のしきい値25%)

- Webサービス・コールの経過時間の監視(しきい値は5分)

事前構成済の監視を有効にする手順は次のとおりです。

1. WLSTを使用してOracle WebLogic Serverインスタンスに接続し、編集セッションを開始します。編集セッションの接続と開始の詳細は、WebLogic Server WLSTコマンド・リファレンスの「WLSTコマンドおよび変数リファレンス」を参照してください。

2. 次のWLSTコマンドを実行して、事前構成済の監視を有効にします。

wls:/soainfra/serverConfig> sca_createWatches()

監視が有効になって、手動で作成した監視とともにOracle WebLogic Server管理コンソールの「Module_Name」ページの設定の下部に表示されます。

Oracle SOA SuiteでのWLSTコマンドの使用法については、SOA Suite用WLSTコマンド・リファレンスを参照してください。

14.5.2 Oracle SOA Suite監視および通知の手動作成

Oracle SOA Suite監視および通知を手動で作成する手順は次のとおりです。

1. Oracle WebLogic Server管理コンソールにログインします。

http://host:port/console

2. 「ドメイン構造」で、「診断」を開き、「診断モジュール」を選択します。

「診断モジュールのサマリー」ページが表示されます。

サーバーまたはサーバー・リソースの側面を監視する診断システム・モジュールを構成します。複数のシステム・モジュールを構成してサーバーの様々な側面を監視できますが、サーバーでアクティブ化できるモジュールは1つのみです。

3. 「診断システム・モジュール」セクションで、「Module-[Module_Name]」(例: Module-FMWDFW)をクリックします。

4. 「Module_Nameの設定」ページで、「監視と通知」→「監視」の順に選択します。

5. 「監視」セクションで、「新規」をクリックします。

「診断監視の作成」ページが表示されます。

6. 監視を作成するために次の詳細を入力し、「次へ」をクリックします。

フィールド

説明

ウォッチ名

監視の名前を入力します(この例では、SOA-900000#soa-infra#MemoryWatchが入力されています)。

監視の名前は、次のパターンに準拠する必要があります。

message-id#soa-infra#some_other_text

例: SOA-900000#soa-infra#MemoryWatch.

これが必要なのは、監視条件がtrueに評価された場合に、監視名によって診断フレームワーク・インシデント処理が調整されるためです。このパターンに従っていない場合は、Oracle SOA Suiteインシデントの作成時に、Oracle SOA Suiteのダンプはトリガーされません。

その他の情報は、表14-27を参照してください。

FMWDFW通知を使用して監視が設定されている場合は、通知ハンドラにより、監視名に指定されているmessage-idに対応するインシデントが作成されます。

ウォッチのタイプ

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

- 収集対象メトリック: MBean属性から収集されるメトリックに基づいて監視を設定します。このオプションは表14-1で説明されているシナリオで有効であるため、これを選択することをお薦めします。

- サーバー・ログ: サーバー・ログに書き込まれるデータに基づいて監視を設定します。このタイプは、Oracle SOA Suiteのダンプを含めるために、StuckThreadなどの既存のログの監視を拡張する場合にのみ有用です。

- イベント・データ: Oracle SOA SuiteはWLDFベースのインストゥルメンテーションを使用していないため、このオプションは適用できません。

ウォッチの有効化

監視を有効にする場合に選択します。

式を監視に追加するための「監視ルール式の構成」ページが表示されます。

7. 「式の追加」をクリックします。

「式の追加」ウィザードが表示されます。

8. 「MBeanサーバーの場所」リストで、構成する式のOracle WebLogic Server MBeanサーバーを選択します(例: ServerRuntime)。

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

10. 「次のリストからMBeanのタイプを選択」ボタンをクリックします。

11. 「MBeanタイプ」リストで、診断情報の収集に使用するMBeanを選択します(この例では、Oracle WebLogic Server MBean weblogic.management.runtime.JRockitRuntimeMBeanが選択されています)。

注意:

コンポジット状態がオフに設定されているときに自動通知を作成する場合は、「MBeanタイプ」リストから「oracle.fabric.management.composite.mbean.Composite」を選択します。

12. 「次へ」をクリックします。

「インスタンスの選択」ページが表示されます。

13. 「インスタンス」リストから、インスタンス名を選択するか、式のメトリックの識別に使用するインスタンス名パターンを指定します。

14. 「次へ」をクリックします。

15. 監視ルール式を作成するために次の詳細を入力し、「終了」をクリックします。

フィールド

説明

メッセージ属性

メッセージ属性を選択します(この例ではHeapFreePercentが選択されています)。

選択肢に表示される属性は、ステップ11で選択したMBeanの一部です。たとえば、次のように選択したとします。

oracle.dms.name=/soainfra/engines/bpel/request/system.type=soa_infra_bpel_requests

active_count、active_maxValue、active_minValue、scheduled_countなど、割り当てられている属性が表示されます。

演算子

演算子を選択します(この例では<が選択されています)。

値

値を入力します(この例では100が指定されています)。

「監視ルール式の構成」ページに、作成した監視ルール式が表示されます。

16. 「次」を選択します。

「監視アラームの構成」ページが表示されます。

17. 必要に応じて、監視のアラームおよびアラームのリセット値を指定します。

18. 「次へ」をクリックします。

「監視通知の構成」ページが表示されます。

19. 「使用可能」表で、監視に割り当てる通知を選択し、「>」をクリックします。

監視ルール式がtrueに評価されると、通知がトリガーされます。FMWDFW通知が選択されている場合、通知は診断フレームワークによって処理され、監視にリンクされます。FMWDFW通知はOracle SOA Suiteに自動的に付属しています。この通知では、「Oracle SOA Suite診断ダンプの実行」で説明されているOracle SOA Suiteのダンプが作成されるため、この通知を選択することをお薦めします。

通知ハンドラで、適切なOracle SOA Suiteダンプが格納された問題インシデント・パッケージがADRに作成されます。インシデント・パッケージ名は、監視名に指定されているメッセージIDに対応します。後で標準的なADRツールを使用して、インシデント・パッケージのダンプを表示できます。この機能を使用して、問題シナリオの修正処理を適用できます。

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

作成した監視が「Module_Nameの設定」ページの下部に表示されます。さらに、Oracle WebLogic Serverに自動的に付属している3種類のWLDF監視(Deadlock、StuckThreadおよびUncheckedException)も表示されます。

21. 「名前」列で、特定の監視名をクリックして、その監視の構成の詳細を表示します。

14.5.3 Webサービス・バインディング・コールの経過時間を識別する監視の作成

コンポジットから外部参照へのWebサービス・バインディング・コールが完了するまでの所要時間を追跡する監視を作成できます。指定の時間しきい値を超えると、インシデントを作成したり、アラートをトリガーしたりできます。この監視は、次のシナリオで役立ちます。

- 呼び出された外部参照の動作が遅すぎるために、この参照による処理を待機する間にメッセージが収集される結果となっているシナリオを識別する場合

- 厳しいサービス・レベル合意(SLA)が配備されており、呼び出されたサービスによってSLA違反が発生している際は通知を受け取りたい場合

Webサービス・バインディング・コールの経過時間を識別する監視を作成する手順は次のとおりです。

「Oracle SOA Suite監視および通知の手動作成」で説明されている手順を使用し、次のガイドラインに従って監視を作成してください。

- 「SOAインフラストラクチャの共通プロパティ」ページで、「詳細SOAインフラ拡張構成プロパティ」セクションの「CreateWSCallTrackingMBean」プロパティをtrueに設定します。このプロパティは、Webサービス・バインディング・コールの経過時間を追跡するためのMBeanの作成を制御して、SOAインフラストラクチャのすべてのSOAコンポジット・アプリケーションにグローバルに適用します。外部参照に対する各Webサービス・バインディング・コールについて、時間を追跡するための新しいMBeanが登録され、その後登録解除されます。このプロパティはデフォルトでfalseに設定されています。システムに問題が発生するまでは、このプロパティはtrueに設定しないでください。
「SOAインフラストラクチャの共通プロパティ」ページへのアクセスの詳細は、「SOAインフラストラクチャ・プロパティの構成」を参照してください。

- 監視名としてSOA-900003#soa-infra#WSExtElapsedTimeWatchを指定します。

- 「監視のタイプ」リストから「収集対象メトリック」を選択します。

- 「カスタムMBeanのタイプ」フィールドにCreateWSCallTrackingMBeanを指定します。このMBeanは「MBeanタイプ」フィールドからは選択できません。

- SOAコンポジット・アプリケーションから外部参照へのWebサービス・バインディング・コールが完了するまでの経過時間(ミリ秒単位)を追跡するためのルール式を指定します(分単位)。たとえば、この式は、監視がトリガーされたときにインシデントを作成します。

(${ServerRuntime//[oracle.fabric.management.wldf.mbean.WSExternalBindingWatchMXBeanImpl]//ElapsedTime} > 2

- 監視がトリガーされたとき、Oracle SOA Suite ADRディレクトリにインシデントが作成されます。ディレクトリ内のreadmeファイルには、インシデントに関する情報が表示されます。例:

WatchDomainName:      soainfra
Watch Data:
ServerRuntime//[oracle.fabric.management.wldf.mbean.WSExternalBindingWatch
MXBeanImpl]//ElapsedTime : oracle.soa.config:Application=soa-infra.j2eeType=
CompositeReferenceWatch.name=bpel#20004/soainfra/AdminServer/soainfra/default/
ExceptionHandler/1.0/soa.2075e8a1-5c69-4e5o-a679-c0ba2f6ae6/REFERENCEs/
CommsUtilityS/PORTs/CommsUtilityPort//ElapsedTime:244013

また、sca_createWatches WLSTコマンドを使用して、この監視を自動的に作成することもできます。詳細は、「事前構成済ルールおよび監視の有効化」を参照してください。

14.5.4 処理遅延が指定の制限時間を超えているかどうかを識別する監視の作成

メッセージ待機時間や処理遅延の数が特定の制限を超えた場合にアラートを送信する監視を作成できます。

この監視は、システムMBeanブラウザの「CubeDispatcher」プロパティの「DispatcherStatsMap」属性で制御します。この設定には次のようにアクセスできます。

1. 「soa-infra」を右クリックして、「管理」→「システムMBeanブラウザ」の順に選択します。

2. 「アプリケーション定義のMBean」→「oracle.as.soainfra.bpm」→「サーバー: server_name」→「bpel」→「CubeDispatcher」の順に展開します。

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

「Oracle SOA Suite監視および通知の手動作成」で説明されている手順に従い、次のガイドラインを使用して、監視作成ウィザードの「式の追加」セクションで監視を作成します。

- 「ServerRuntime」を選択して、「次へ」をクリックします。

- 「カスタムMBeanのタイプ」フィールドにcom.collaxa.cube.engine.dispatch.DispatcherMXBeanAdapterを指定して、「次へ」をクリックします。このMBeanは「MBeanタイプ」フィールドからは選択できません。

- 「カスタム・インスタンス」フィールドにoracle.as.soainfra.bpm:Application=soa-infra,name=CubeDispatcher,type=bpelと指定して、「次へ」をクリックします。

- 「属性式」フィールドにDispatcherStatsMap(invokeSet)(invoke)(scheduled)と指定します。

- このページの残りのフィールドに入力して、「次へ」をクリックします。

14.5.5 リシーケンサの監視および通知の作成

リシーケンサ・グループがメッセージを処理する際の所要時間を追跡する監視を作成できます。指定した時間しきい値を超えた場合は、通知を生成できます。

リシーケンサの監視および通知を作成する手順は次のとおりです。

「Oracle SOA Suite監視および通知の手動作成」で説明されている手順を使用し、次のガイドラインに従ってください。

- 「Module-FMWDFW」モジュールで監視と通知を作成します。

- 「診断監視の作成」ページで、次のパターンに準拠する監視名を指定する必要があります。

MED-900000#soa-infra#some_other_text

たとえば、MED-900000#soa-infra#PendingGroupsと指定します。

- 式を作成する際は、次のMBeanタイプを選択します。

oracle.tip.mediator.dfw.MediatorDiagnostic

式のインスタンスに選択できるオプションは1つのみです。

oracle.mediator:name=MediatorDiagnostic,type=MediatorDiagnostic

- 「メッセージ属性」フィールドにResequencerMaxUnprocessTimeを選択します。値には、通知をトリガーする前にグループを保留できる分数を入力します。

- 演算子として、大なり記号(>)を選択します。

完成した式は、次のようになります。

(${ServerRuntime//[oracle.tip.mediator.dwf.MediatorDiagnostic]oracle.mediator:name
=MediatorDiagnostic,type=MediatorDiagnostic//resequencerMaxUnprocessTime} > '15')

サンプル・カスタム・ルール・ファイルを作成する手順は次のとおりです。

監視ルール式はダンプ・コンテキストでは提供されないため、ダンプ生成時に指定された条件は示されません。カスタム・ファイルcustom-rule.xmlを使用して、ダンプ生成ルールを登録できます。詳細は、「事前定義のインシデント処理ルール」を参照してください。

1. 前述の説明に従って、監視を作成します。

2. custom-rules.xmlという名前のファイルを次のいずれかの場所に作成します。

- サーバー・レベルの構成: FMW_HOME/user_projects/domains/domain_name/config/fmwconfig/servers/server_name/dfw

- ドメイン・レベルの構成: FMW_HOME/user_projects/domains/domain_name/config/fmwconfig/dfw

3. 新しいファイルにルールを定義します。例14-1は、リシーケンサ・サンプル・ファイルを示します。

4. ドメインを再起動するか、ファイルを動的にロードします。動的ロードの詳細は、「事前定義のインシデント処理ルール」を参照してください。

WLDFによってダンプが生成されます。

例14-1 リシーケンサ・ダンプのサンプル・カスタム・ルール・ファイル

<?xml version="1.0" encoding="UTF-8"?>
<diagnosticRules
xmlns="http://www.oracle.com/DFW/DiagnosticsFrameworkRules"
xmlns:xs="http://www.w3.org/2001/XMLSchema-instance">
<processingRules>
<rule name="memory diagnosis rule">
<ruleCondition>
<condition name="MESSAGE_ID" value="MED-900000"
operator="EQ"/>
</ruleCondition>
<ruleActions>
<dumpAction name="mediator.resequencer">
<argument name="resequencerMaxUnprocessTime" value="10"
valueType="literal"/>
</dumpAction>
</ruleActions>
</rule>
</processingRules>
</diagnosticRules>

例14-1は、グループがメッセージの処理を10分間停止すると診断ダンプを生成するサンプル・カスタム・ルール・ファイルを示します。

14.6 手動によるダンプのトリガーと実行

インシデントが自動で作成されなかった場合は、WLSTコマンドexecuteDumpを使用して既存のダンプを手動で実行し、インシデントを作成できます。

ダンプを手動でトリガーして実行する手順は、次のとおりです。

1. executeDumpコマンドを指定し、ダンプの内容をファイルに配置します(この例では、soa.configが実行されたダンプです)。次の出力が作成されます。

wls:/soainfra/serverConfig> executeDump(name='soa.config',outputFile='path',
appName='soa-infra')

Start Dumping deployedCompositesCatalog from MDS
URI:deployed-composites/deployed-composites.xml to: /myhome/fmwhome/user_
projects/domains/mydomain/servers/myserver/adr/diag/ofm/mydomain/
myserver/incident/incdir_9/deployedCompositesCatalog

Finished dumping specified MDS metadata to : /myhome/fmwhome/user_
projects/domains/mydomain/servers/myserver/adr/diag/ofm/mydomain/myserver/incid
ent/incdir_9/deployedCompositesCatalog

Start Dumping soaServiceEnginesConfigurations from MDS
URI:soa/configuration/default to: /myhome/fmwhome/user_projects/
domains/mydomain/servers/myserver/AdminServer/adr/diag/ofm/mydomain/
myserver/incident/incdir_9/soaServiceEnginesConfigurations

Finished dumping specified MDS metadata to : /myhome/fmwhome/user_projects/
domains/mydomain/servers/myserver/AdminServer/adr/diag/ofm/mydomain/
myserver/incident/incdir_9/soaServiceEnginesConfigurations

2. executeDumpコマンドを指定し、ダンプの内容を画面に表示します。

executeDump(name='soa.edn', appName='soa-infra')

Type:oracle.integration.platform.blocks.event.saq.SAQBusinessEventBus
Configuration:null
Status: running=true started=true
ThreadCount:3
RetryCount:3
In Global: Tx:false
Cluster Info:oracle.integration.platform.blocks.cluster.CoherenceCluster
Interface1mpt@163bd717
SharedEDN:false
OOAO Queue Name:edn_ooao_queue
Java Subscriber Name:edn java subscriber
Subscription Info:
No namespace subscription...
QName subscriptions:
=============================================================
qname={http://schemas.oracle.com/events/edl/ActionOccur}ADEvent
subscriptions=
id=default/WSInMedPubBpelSubFileOut!1.0*soa_7a055d6a-8402-49c2-ac56-5f85cbf3d7f/
BpelSub, consistencyLevel=ONE_AND_ONLY_ONE, filter=XPath Filter: starts-with(/
be:business-event/be:content/ns0:ActionOccurrence/ns0:ParentEntityType/@value,
'A'), runAsRoles=[$publisher]
id=partition_1/WSInMedPubBpelSubFileOut!1.0*soa_80a169ab1-395a-4b87-9986-9fa2742a8bd3/
BpelSub, consistencyLevel=ONE_AND_ONLY_ONE, filter=XPath Filter: starts-with(/
be:business-event/be:content/ns0:ActionOccurrence/ns0:ParentEntityType/@value,
'A'), runAsRoles=[$publisher]
EventThreadContextInfo:
EventTargets:
Event:partition_1/WSInMedPubBpelSubFileOut!1.0*soa0a169ab1-395a-4b87-9986-9fa2742a9bd3/
BpelSub:::oracle.fabric.BPELServiceEngine@163bd6b5
Event:default/WSInMedPubBpelSubFileOut!1.0*soa7a055d6a-8402-49c2-ac56-5f85cbf3
d7f/BpelSub:::oracle.fabric.BPELServiceEngine@163bd6b5
EDN DB Log enabled:false

インシデントが自動で作成されなかった場合は、手動で作成することもできます。たとえば、パフォーマンスの問題に気付いたときに、Oracleサポート・サービスに送信するインシデントを作成する場合に便利です。インシデントには、SOAメッセージIDのマッピングに従ってSOAダンプを含めることができます。

これは、次のWLSTコマンドを使用して実行できます。

createIncident(messageId="SOA-90000", appName="soa-infra")

これにはWLDF監視の通知実行と同様の効果があり、この場合、監視のメッセージIDはSOA-90000、アプリケーション名はsoa-infraとなります。

executeDumpの詳細は、WebLogic Server WLSTコマンド・リファレンスの「診断フレームワークのカスタムWLSTコマンド」を参照してください。

14.7 ADRツールを使用したインシデント・パッケージの表示

ADRCIは、コマンド行ユーティリティです。このユーティリティを使用すると、問題を調査して、応急障害診断データをパッケージ化してOracleサポート・サービスにアップロードできます。また、ADRCIを使用すると、ADR内のダンプ・ファイルの名前を表示したり、XMLタグを削除したアラート・ログを表示したりできます。この表示には、コンテンツ・フィルタを適用することもできます。

ADRCIは次のディレクトリにインストールされています。

MW_HOME/wlserver_10.3/server/adr

ADRCIの詳細は、『Oracle Databaseユーティリティ』の「ADRCI: ADRコマンド・インタプリタ」の章を参照してください。

その他のツールの詳細は、『Oracle Database管理者ガイド』の「診断データの管理」の章を参照してください

14.8 問題とインシデントの問合せ

診断フレームワークには、次のような問題およびインシデントに関する情報を表示する際に使用できるWLSTコマンドが用意されています。

- 複数のOracle WebLogic Serverに対する問題の問合せ

- 複数のOracle WebLogic Serverに対するインシデントの問合せ

- 特定のOracle WebLogic Serverのインシデントに関連付けられたダンプ・ファイルの表示

これらのWLSTコマンドの詳細は、Oracle Fusion Middlewareの管理の診断フレームワークの理解に関する項およびWebLogic Server WLSTコマンド・リファレンスを参照してください。

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

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

この部は、次の章で構成されています。

- BPELプロセスのサービス・コンポーネントとエンジンの構成

- BPELプロセスのサービス・コンポーネントとエンジンの監視

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

15 BPELプロセスのサービス・コンポーネントとエンジンの構成

この章では、BPELプロセス・サービス・コンポーネントとサービス・エンジンの構成方法(監査レベルおよび監査証跡しきい値などのプロパティ、BPELプロセスの自動リカバリ、マスター・ノード・リカバリ・スケジューリング、起動メッセージとコールバック・メッセージの自動リカバリ試行およびコールバック・メッセージの順序の保持の構成を含む)について説明します。

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

- BPELプロセス・サービス・エンジンのプロパティの構成

- Oracle BPEL Process Managerの自動リカバリの構成

- マスター・ノード・リカバリ・スケジューリングの構成

- 起動メッセージおよびコールバック・メッセージの自動リカバリ試行の構成

- コールバック・メッセージの順序の保持

- BPELプロセス・サービス・コンポーネント・レベルでの監査レベルの設定

Oracle SOA SuiteおよびOracle BPELプロセスのチューニングとパフォーマンス・プロパティの詳細は、パフォーマンスのチューニングを参照してください。

15.1 BPELプロセス・サービス・エンジン・プロパティの構成

BPELプロセス・サービス・エンジン・プロパティを構成でき、このプロパティは、BPELプロセス・サービス・コンポーネントの処理時に、BPELプロセス・サービス・エンジンで使用されます。

BPELプロセス・サービス・エンジン・プロパティを構成する手順は、次のとおりです。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「SOA管理」→「BPELプロパティ」の順に選択します。

a. 「soa-infra」を右クリックします。

b. 「SOA管理」→「BPELプロパティ」の順に選択します。

「BPELサービス・エンジン・プロパティ」ページに、監査レベル、監査証跡および大容量ドキュメントしきい値、ペイロード・スキーマ、BPELモニターおよびセンサーを設定するためのプロパティが表示されます。

2. 使用環境に適するようにサービス・エンジン・プロパティを変更します。

プロパティ

説明

監査レベル

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

- オフ: ビジネス・フロー・インスタンスのトラッキング情報とペイロード・トラッキング情報は収集されません。

- 継承: ロギング・レベルは、SOAインフラストラクチャの監査レベルと同じです。この設定を使用すると、グローバル設定が変更されたときに、BPELプロセスの監査レベルも自動的に変更できます。このページで別の監査レベル・トラッキングを設定すると、SOAインフラストラクチャ・レベルで設定したトラッキングがオーバーライドされます。

- 最小: BPELプロセス・サービス・エンジンでは、監査詳細がキャプチャされません。したがって、フローの監査証跡で監査詳細は使用できません。他のすべてのイベントは記録されます。

- 本番: BPELプロセス・サービス・エンジンでは、ペイロードがキャプチャされません。フローの監査証跡でペイロード詳細は使用できません。他のBPELアクティビティのペイロード詳細は、assignアクティビティを除いて収集されます。このレベルは、標準の操作とテストに最適です。

- 開発: ビジネス・フロー・インスタンス・トラッキングおよびペイロード・トラッキングの両方を使用可能にします。すべてのイベントが記録されます。ただし、パフォーマンスに影響を与える可能性があります。このレベルはデバッグを対象としており、システム・パフォーマンスに影響を与える可能性があります。

監査証跡しきい値(バイト)

監査証跡とは別にチャンクされてデハイドレーション・ストア表に保存される前の、インスタンスの監査証跡の最大サイズをバイト単位で入力します。このしきい値を超えると、ペイロードのかわりに、「XMLの表示」リンクが監査証跡に表示されます。

大容量のドキュメントしきい値(バイト)

コンテンツが残りのインスタンス・スコープ・データとは異なる場所に格納される前の、BPEL変数の最大サイズを入力します。

ペイロードの検証

インバウンド・メッセージとアウトバウンド・メッセージの検証を有効にする場合に選択します。スキーマに準拠しないペイロード・データが捕捉され、フォルトとして表示されます。

注意: この設定は、SOAコンポジット・アプリケーションおよびSOAインフラストラクチャのペイロード検証レベルの設定に依存しません。ペイロード検証がサービス・エンジンとSOAインフラストラクチャ・レベルの両方で有効化されている場合、データは2回チェックされます。1回はSOAインフラストラクチャに入力されたとき、もう1回はサービス・エンジンに入力されたときです。

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

デプロイ済のすべてのSOAコンポジット・アプリケーションのすべてのBPELコンポーネントに定義されているすべてのBPELモニターおよびセンサーを無効にするには、このチェック・ボックスを選択します。

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

4. システムMBeanブラウザで拡張BPELプロパティを構成するには、「詳細BPEL構成プロパティ」をクリックします。表示されるプロパティの一部を次に示します。各プロパティには説明が記載されています。

- AsyncAuditBatchSize: Oracle Exalogicプラットフォームで、(複数のインスタンスの)複数の監査証跡メッセージを単一トランザクションに格納します。詳細は、「Oracle Exalogicプラットフォームにおけるインスタンスとメッセージ・データのOracle Coherence分散キャッシュへの格納」を参照してください。

- BpelcClasspath: BPELで生成されたJavaソースをコンパイルするときに含める追加BPELクラスのパス。詳細は、『Oracle SOA SuiteでのSOAアプリケーションの開発』のカスタム・クラスおよびJARファイルの追加方法に関する項を参照してください。

- DisableAsserts: BPELでアサーションの実行を無効化します(bpelx:assertアクティビティを含む)。詳細は、『Oracle SOA SuiteでのSOAアプリケーションの開発』のアサーションの無効化に関する項を参照してください。

- DisableSensors: センサーへのすべての呼出しを無効にします。

- DispatcherNonBlockInvokeThreads: 非ブロッキング呼出しディスパッチャ・メッセージの処理に割り当てるスレッドの合計数。システムに多数の非ブロッキング呼出しがある場合は、このプロパティの値を増分できます。デフォルト値は2です。1未満の値は、自動的にデフォルト値に変更されます。

- ExecuteCallbacksInOrder: BPELプロセス・サービス・エンジン内にコールバックの受信時間の順番にBPELプロセス・コールバックを保持します(trueに設定されている場合)。詳細は、「コールバック・メッセージの順序の保持」を参照してください。

- ExpirationMaxRetry: 失敗した期限切れ呼出し(wait/onAlarm)が失敗するまでに再試行される最大回数。

- ExpirationRetryDelay: 次の期限切れ呼出しの再試行までの遅延。

- InstanceKeyBlockSize: 1回のフェッチごとにデハイドレーション・ストアから割り当てられるインスタンスIDのブロック・サイズ。

- MaximumNumberOfInvokeMessagesInCache: メモリー内キャッシュに格納される起動メッセージ数。

- MaxRecoverAttempt: 同一のリカバリ可能なインスタンスに発行する自動リカバリ試行の数。詳細は、「起動メッセージおよびコールバック・メッセージの自動リカバリ試行の構成」と「複数の監査証跡メッセージの単一トランザクションへの格納の構成」を参照してください。

- MinBPELWait: BPELプロセスがデハイドレーションに関連して実際に待機する最小期間。詳細は、『Oracle SOA SuiteでのSOAアプリケーションの開発』の有効期限を設定する待機アクティビティの作成に関する項を参照してください。

- OneWayDeliveryPolicy: 一方向呼出しメッセージを配信するかどうかを変更します。

- QualityOfService: BPELプロセス・サービス・エンジンに対してOracle Coherenceのキャッシュを有効または無効にします。詳細は、「Oracle Coherenceのキャッシュ機能の構成」を参照してください。

- RecoveryConfig: アクティビティの自動リカバリを構成し、マスター・ノード・リカバリ・スケジューリングを使用するようにクラスタ環境を構成します。詳細は、「Oracle BPEL Process Managerの自動リカバリの構成」および「マスター・ノード・リカバリ・スケジューリングの構成」を参照してください。

- StatsLastN: 最近処理されたリクエスト・リストのサイズ。この値を1000などの値に変更してください。これによって、「統計」ページで下位レベルの統計を表示できます。詳細は、「BPELプロセス・サービス・エンジンのリクエスト統計とスレッド・パフォーマンス統計の監視」を参照してください。

- SyncMaxWaitTime: タイムアウトする前に実行されるリクエスト操作およびレスポンス操作の最大回数。このプロパティの詳細は、『Oracle SOA SuiteでのSOAアプリケーションの開発』の永続同期プロセスのトランザクション・タイムアウト値の指定に関する項を参照してください。

5. 使用環境に適した変更を行います。

Oracle BPELプロセスのチューニングとパフォーマンス・パラメータの詳細は、パフォーマンスのチューニングを参照してください。

15.2 Oracle BPEL Process Managerの自動リカバリの構成

Oracle SOA Suiteには、Oracle Enterprise Manager Fusion Middleware Controlの自動リカバリ機能が備えられており、この機能を使用して、次のものを構成およびリカバリでます。

- 関連付けられた有効期限を持ち、再スケジュールされるSOAインフラストラクチャでスケジュールされる、すべてのアクティビティ(waitアクティビティやpickアクティビティのOnAlarmブランチなど)

- 指定されたしきい値の時間内に完了しないすべてのアクティビティ

- 未解決のすべての起動メッセージおよびコールバック・メッセージ

自動リカバリを構成するには、次の手順を実行します。

1. ナビゲータで、「soa-infra」を右クリックし、「SOA管理」→「BPELプロパティ」の順に選択します。

2. 「詳細BPEL構成プロパティ」をクリックします。

3. 「名前」列で「RecoveryConfig」をクリックします。

4. 「RecurringScheduleConfig」を展開します。

このセクションでは、繰返しのリカバリ試行を構成できます。

5. 次のプロパティを環境に適した値に設定し、「適用」をクリックします。

プロパティ

説明

maxMessageRaiseSize

繰り返されるリカバリ試行ごとに送信するメッセージの最大数。サーバーに対するリカバリの影響を制限するには、このプロパティを使用します。この値は、アクティビティ、起動およびコールバックの問合せからフィルタするメッセージの最大数を指定するもので、つまり、アクティビティ表、呼出し表およびコールバック表のそれぞれからの50メッセージです。

デフォルト値は50です。0の値の場合は、データベースからメッセージが選択されません(実質的にリカバリが無効になります)。

警告: 負の値を指定すると、データベースから選択されたすべてのメッセージがリカバリのために送信されます。この値は、システムを過負荷状態にする可能性があります。この値を指定しないでください。

startWindowTime

日次リカバリ・ウィンドウの開始時刻であり、24時間の表記法で指定します。したがって、午後2:00は14:00と指定します。時間が1桁の値の場合、先頭のゼロを指定する必要はありません(1:00-9:00)。

デフォルト値は午前0時(00:00)です。解析された時刻が無効な値の場合、デフォルトで午前0時に設定されます。

stopWindowTime

日次リカバリ・ウィンドウの停止時刻であり、24時間の表記法で指定されます。したがって、午後2:00は14:00と指定します。時間が1桁の値の場合、先頭のゼロを指定する必要はありません(1:00-9:00)。

日次リカバリを行わない場合、開始ウィンドウ時刻と停止ウィンドウ時刻を同じ値に設定します。停止ウィンドウ時刻が開始ウィンドウ時刻よりも前である場合は、開始ウィンドウ時刻と停止ウィンドウ時刻の両方が、それぞれのデフォルト値に変更されます。

デフォルト値は午前0時(04:00)であり、実質的に、繰返しリカバリが04:00まで実行されるように設定されます。

解析された時刻が無効な値である場合は、デフォルトで00:00に設定されます。

subsequentTriggerDelay

日次の繰返し起動リカバリ期間内での、リカバリ試行間の秒数。次のリカバリ・トリガーが現在のリカバリ期間の外になる場合、そのトリガーは次の繰返しリカバリ期間(翌日)までスケジュールされません。

デフォルト値は300です(5分)。負の値の場合はデフォルトが選択されます。

threshHoldTimeInMinutes

これは自動リカバリ処理を無視する分単位のしきい値の時間です。自動的な起動およびコールバック・リカバリの場合、この値は受信日付がしきい値の時間よりも小さいメッセージを選出するために使用されます。

自動アクティビティ・リカバリでは、この値を使用して、しきい値の時間に到達していない変更日付を持つアクティビティを選択します。

このプロパティによって、BPELプロセス・サービス・エンジンがリカバリ目的でメッセージを選択するとき、サービス・エンジンの別のスレッドがそのメッセージを処理しているというメッセージ競合のシナリオを回避します。このプロパティによって、サービス・エンジンのリカバリ部分は、threshHoldTimeInMinutesの値よりも古いメッセージについてリカバリを試行するようになります。

デフォルト値は10分です。負の値の場合はデフォルトが選択されます。

6. 「StartupScheduleConfig」を展開します。

このセクションでは、サーバー起動リカバリ試行を構成できます。

7. 次のプロパティを環境に適した値に設定し、「適用」をクリックします。

プロパティ

説明

maxMessageRaiseSize

起動リカバリ試行ごとに送信するメッセージの最大数。サーバーに対するリカバリの影響を制限するには、このプロパティを使用します。この値は、アクティビティ、起動およびコールバックの問合せからフィルタするメッセージの最大数を指定するもので、つまり、アクティビティ表、呼出し表およびコールバック表のそれぞれからの50メッセージです。

デフォルト値は50です。負の値に設定すると、データベースから選択されたすべてのメッセージがリカバリのために送信されます。ゼロの値の場合、データベースからメッセージが選択されません(実質的にリカバリが無効になります)。

startupRecoveryDuration

起動リカバリ期間が継続する秒数を指定します。サーバーが開始した後、起動リカバリ期間に入ります。この期間中、保留中のアクティビティと未配信のコールバック・メッセージおよび起動メッセージは処理のため再発行されます。

デフォルト値は600です(10分)。負またはゼロの値の場合は起動リカバリが無効になります。

subsequentTriggerDelay

サーバー起動リカバリ期間内でのリカバリ試行間の秒数。次のリカバリ・トリガーがサーバー起動期間の外になる場合、そのトリガーはスケジュールされず、サーバーは繰返しリカバリ期間に移行します。

デフォルト値は300です(5分)。負の値の場合はデフォルトが選択されます。

注意:

クラスタ内では、別々のノードが同じ項目の自動リカバリを同時に試行する場合があります。最初のノードが項目をロックしてリカバリを試行し、別のノードは安全に無視できる例外を発生させることができます。

15.3 マスター・ノード・リカバリ・スケジューリングの構成

マスター・ノード・リカバリ・スケジューリングを使用するようにクラスタ環境を構成できます。この環境では、マスター・ノードは、クラスタ内のすべてのノードに対してリカバリを実行するための専用ノードです。

注意:

この機能は、Oracle Fusion Middlewareリリース11g (11.1.1.3)より前のデータベース・スキーマを使用している場合は動作しません。

マスター・ノード・リカバリ・スケジューリングを使用すると、次のタスクを実行できます。

- 期限を過ぎた、有効期限が指定されているアクティビティ(waitアクティビティやpickアクティビティのOnAlarmブランチなど)のリカバリを実行できます。マスター・ノードは、期限切れの作業アイテムを取得し、再スケジュールします。

- 残されている作業アイテムのリカバリ

- コールバック・メッセージのリカバリ

- 起動メッセージのリカバリ

- 期限切れアクティビティのフェイルオーバーを実行でき、マスター・ノードは失敗したノードを検出すると、有効期限が指定された作業アイテムを再スケジュールしようとします。

マスター・ノード・リカバリ・スケジューリングを構成する手順は、次のとおりです。

1. Oracle Enterprise Manager Fusion Middleware Controlにログインします。

2. 「soa-infra」を右クリックします。

3. 「SOA管理」→「BPELプロパティ」の順に選択します。

4. 「詳細BPEL構成プロパティ」をクリックします。

5. 「名前」列で「RecoveryConfig」をクリックします。

6. 「ClusterConfig」を展開します。ClusterConfigプロパティは、RecurringScheduleConfigとStartupScheduleConfigにそれぞれ設定した繰り返しのリカバリ試行プロパティおよびサーバー起動リカバリ試行プロパティと関連して機能します。

7. 次のプロパティを環境に適した値に設定し、「適用」をクリックします。

注意:

インスタンスまたはメッセージがリカバリ可能になると、リカバリが試行されます。ただし、試行回数は追跡されません。リカバリが失敗すると、同じレコードを取得して試行し、再度失敗することを続けます。

プロパティ

説明

clusterDbTimeRefresh

データベース時間のローカル・コピーをリフレッシュする頻度を指定します。別のコンピュータでのクロック・ドリフトが考慮されます。クラスタ内のすべてのノードは、正確さに関係なく、データベース時間に依存しています。

デフォルト値は12時間(43200秒と指定)です。

heartBeatInterval

クラスタ内の他のノードによって公開されたメッセージを確認するために、ノードがクラスタ・メッセージ表をポーリングする頻度を指定します。

デフォルト値は5秒です。

次のタスクが各間隔で実行されます。

- cluster_node表のノードの最終更新時間を更新します。

- マスター・ロールの所有権の要求を試行します。

- マスター・ロールが要求された場合、リカバリ・マネージャは作業を再開します。

- nodeReapThreshold値の間に更新時間が更新されていないすべてのノードを確認し、cluster_node表からそれらのノードを削除し、このノードのすべての期限切れ作業アイテムを再スケジュールします。

masteAliveThreshold

マスター・ノードがアクティブと見なされる秒数を指定します。この秒数の間にクラスタにチェックインしていないマスター・ノードは、終了されたと見なされます。cluster_master表で排他ロックを取得するノードはどれでも、この時点からマスター・ロールを要求できます。

デフォルト値は15分(900秒と指定)です。

nodeReapInterval

古いクラスタ・ノードとマークするためにハートビート・スレッドを流用する頻度を指定します。マスター・ノードのみがこのジョブを実行します。

デフォルト値は2時間(7200秒と指定)です。

nodeReapThreshold

ノードがアクティブと見なされる秒数を指定します。この秒数の間にクラスタにチェックインしていないノードは、終了されたと見なされます。ハートビート・サイクル中に、マスター・ノードはcluster_node表をクリーン・アップしようとします。

デフォルト値は15分(900秒と指定)です。

15.4 起動メッセージおよびコールバック・メッセージの自動リカバリ試行の構成

リカバリ可能な同じインスタンス内で発行する自動リカバリ試行の数を構成できます。入力した値によって、起動メッセージおよびコールバック・メッセージがリカバリされる最大回数が指定されます。値が2 (デフォルト値)の場合、各リカバリ可能メッセージのリカバリが2回試行されます。1つのメッセージに対するリカバリ試行の数が、指定された値を超過すると、そのメッセージにはリカバリ不能のマークが付けられます。

起動メッセージおよびコールバック・メッセージの自動リカバリ試行を構成するには、次の手順を実行します。

1. ナビゲータで、「soa-infra」を右クリックし、「SOA管理」→「BPELプロパティ」の順に選択します。

2. 「詳細BPEL構成プロパティ」をクリックします。

3. 「MaxRecoverAttempt」に移動します。

4. 「値」フィールドに値を入力します。

MaxRecoverAttemptを設定した場合の起動メッセージとコールバック・メッセージのリカバリ動作は異なります。たとえば、「MaxRecoverAttempt」を4に設定した場合は次のようになります。

- 起動メッセージ・リカバリは、4 (N)回再試行されてから、消耗済状態にメッセージが移動されます。

- コールバック・メッセージ・リカバリは、5回(N + 1)再試行されてから、消耗済状態にメッセージが移動されます。

これは予想された動作です。最初の試行はリカバリ試行とはみなされません。リカバリ試行はBPELプロセス・サービス・エンジンによって増分されます。MaxRecoverAttemptが1に設定されている場合は、デフォルトの解決プロセスが1回実行された後で、リカバリ試行が1回実行されます。

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

起動メッセージおよびコールバック・メッセージのリカバリの詳細は、「BPELプロセス・サービス・エンジンのメッセージ・リカバリの実行」を参照してください。

15.5 コールバック・メッセージの順序の保持

システムMBeanブラウザで「ExecuteCallbacksInOrder」プロパティをtrueに設定することで、BPELプロセスのコールバック・メッセージの順番を保持して、確実に正しい順番でBPELプロセス・インスタンスに配信されるようにできます。ExecuteCallbacksInOrderは、所定のビジネス・フロー・インスタンスについてBPELプロセス・サービス・エンジンによって受信された順番でコールバックが取得されるようにできます。この設定は、BPELプロセス・サービス・エンジンにデプロイされているすべてのSOAコンポジット・アプリケーションに影響を与えます。

ExecuteCallbacksInOrderプロパティへのアクセスと構成の詳細は、「BPELプロセス・サービス・エンジン・プロパティの構成」を参照してください。

15.6 BPELプロセス・サービス・コンポーネント・レベルでの監査レベルの設定

BPELプロセス・サービス・コンポーネントには監査レベルを設定できます。この設定は、SOAインフラストラクチャ、サービス・エンジン、SOAコンポジット・アプリケーションの各レベルの監査レベル設定より優先されます。サービス・コンポーネント・レベル設定はBPELプロセスについてのみ使用可能であり、Oracle Mediator、ヒューマン・ワークフローおよびビジネス・ルール・サービス・コンポーネントについてはサポートされていません。

BPELプロセス・サービス・コンポーネントの監査レベルを設定する方法は2つあります。サポートされる値は、「オフ」、「最小」、「継承」、「開発」および「本番」です。

BPELプロセス・サービス・コンポーネントに監査レベルを設定する手順は、次のとおりです。

- Oracle Enterprise Manager Fusion Middleware Controlの「システムMBeanブラウザ」で、次の手順を実行します。

1. ナビゲーション・ツリーで「SOA」フォルダを開きます。

2. 「soa-infra」を右クリックして、「管理」→「システムMBeanブラウザ」の順に選択します。

3. 「アプリケーション定義のMBean」→「oracle.soa.config」→「「サーバー: server_name」→「SCAComposite」→「Composite_Name」→「SCAComposite.SCAComponent」→「BPEL_Service_Component」→「プロパティ」の順に選択します。

4. 「追加」アイコンをクリックします。

5. 「Element_number」フォルダを開きます。

6. 複数リストから、「False」を選択します。

7. 「名前」フィールドに、bpel.config.auditlevelと入力します。

8. 「値」フィールドに値を入力します。

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

- Oracle JDeveloperで、次のようにします。
bpel.config.auditLevelプロパティに、SOAプロジェクトのcomposite.xmlファイル内の該当する値を設定します。

<component name="BPELProcess">
<implementation.bpel src="BPELProcess.bpel" />
<property name="bpel.config.auditLevel">Off</property>
</component>

監査レベルの詳細は、「監査レベル設定の優先順位の概要」を参照してください。

16 BPELプロセスのサービス・コンポーネントとエンジンの監視

この章では、ビジネス・フロー・インスタンスのフロー・トレース、BPELプロセス・アクティビティの時間の分散とインスタンスおよびフォルトのスループットのメトリック、サービス・エンジンのリクエスト統計とスレッド・パフォーマンス統計、デプロイ済BPELプロセス・サービス・コンポーネント、サービス・エンジンでのリクエストの所要時間に関する統計の監視方法について説明します。

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

- ビジネス・フロー・インスタンスのフロー・トレースの監視

- BPELプロセス・アクティビティの時間の分散とインスタンスおよびフォルトのスループットのメトリックの監視

- BPELプロセス・サービス・エンジンのリクエスト統計とスレッドパフォーマンス統計の監視

- サービス・エンジンのデプロイ済BPELプロセス・サービス・コンポーネントの監視

- BPELプロセス・サービス・エンジンでのリクエストの所要時間に関する統計の表示

サービス・コンポーネントとサービス・エンジンの概念の詳細は、次の項を参照してください。

- サービス・コンポーネントの概要

- サービス・エンジンの概要

- パフォーマンスのチューニング

注意:

「フロー・インスタンス」ページでは、任意のタイプのフォルトを表示できます(フォルト・ポリシー・フォルト、BPELメッセージ・リカバリ、拒否メッセージ、EDNフォルトなど)。すべてのフォルトは、ビジネス・フロー・インスタンスの詳細の一部です。詳細は、「SOAインフラストラクチャまたはパーティション・レベルでのビジネス・フロー・インスタンスのトラッキング」を参照してください。

16.1 ビジネス・フロー・インスタンスのフロー・トレースの監視

この項では、ビジネス・フロー・インスタンスのフロー・トレースの監視方法について説明します。フロー・トレースは、メッセージ・フローの実行時証跡です。1つのビジネス・フロー・インスタンスは、1つのエンドツーエンド・ビジネス・トランザクションに相当します。ビジネス・フローは、単一のSOAコンポジット・アプリケーションまたは特定のビジネス・プロセスを実現するために組み合された複数のSOAコンポジット・アプリケーションで構成されます。ビジネス・フロー・インスタンスのフロー・トレースは、フロー・インスタンス検索の起動後に、「フロー・インスタンス」ページの「検索結果」表に表示される一意のフローID値によって識別されます。

注意:

この項では、ビジネス・フロー・インスタンスが起動されていることを前提としています。そうでない場合は、「ビジネス・フローのテスト・インスタンスの起動」を参照してください。

ビジネス・フロー・インスタンスのフロー・トレースを監視する手順は、次のとおりです。

次のいずれかのオプションを使用して、「フローのトレース」ページにアクセスします。

1. すべてのパーティションのビジネス・フロー・インスタンスにアクセスする手順は、次のとおりです。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「ホーム」を選択します。

b. 「フロー・インスタンス」タブを選択します。

c. 「検索」アイコンをクリックして、「検索結果」表にビジネス・フローIDを移入します。

d. 「フローID」列で、特定のビジネス・フロー・インスタンス番号をクリックします。

a. 「SOA」フォルダを展開します。

b. 「soa-infra」を右クリックします。

c. 「ホーム」→「フロー・インスタンス」の順に選択します。

d. 「検索」アイコンをクリックして、「検索結果」表にビジネス・フローIDを移入します。

e. 「フローID」列で、特定のビジネス・フロー・インスタンス番号をクリックします。

2. 個々のパーティションのビジネス・フロー・インスタンスにアクセスする手順は、次のとおりです。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「パーティションの管理」を選択します。

b. 「SOAパーティション」列で、特定のパーティションをクリックします。

c. 「フロー・インスタンス」タブをクリックします。

d. 「検索」アイコンをクリックして、「検索結果」表にビジネス・フローIDを移入します。

e. 「フローID」列で、特定のビジネス・フロー・インスタンス番号をクリックします。

a. 「SOA」→「soa-infra」の順に展開します。

b. 特定のパーティションをクリックします。

c. 「フロー・インスタンス」タブをクリックします。

d. 「検索」アイコンをクリックして、「検索結果」表にビジネス・フローIDを移入します。

e. 「フローID」列で、特定のビジネス・フロー・インスタンス番号をクリックします。

「フローのトレース」ページは2つのセクションで構成されます。選択したタブに応じて、上部のセクションには、選択したフロー・トレースの「フォルト」、「コンポジット・センサー」、「値」、「コンポジット」または「リシーケンサ」(コンポジットにOracle Mediatorのリシーケンサが組み込まれている場合)タブが表示されます。下部セクションには、ビジネス・フローのトレースが表示されます。

「フローのトレース」ページの「フォルト」タブには、次の詳細が表示されます。

- 「フォルト」表。エラー・メッセージ、フォルトを処理したコンポーネント、フォルトの発生時間およびリカバリ・ステータス(「リカバリ不能」、「リカバリが必要」など)が表示されます。表にその他の列を表示するには、「表示」→「列」の順に選択します。「フロー・インスタンス」ページで列を変更すると、「フローのトレース」ページの「フォルト」表の列も変更されます。

- 「トレース」表。SOAコンポジット・アプリケーションを構成するサービス、サービス・コンポーネントおよび参照間での一連のメッセージ・フローが表示されます。「フローのトレース」ページで選択したタブ(「フォルト」、「コンポジット」、「センサー値」、「コンポジット」または「リシーケンサ」(コンポジットにOracle Mediatorのリシーケンサが組み込まれている場合))に関係なく、「トレース」セクションは常に表示されます。表にその他の列を表示するには、「表示」→「列」の順に選択します。フロー・トレースをXML形式で表示するには、「アクション」リストを選択します。

「監査レベル」が「オフ」に設定されている場合、トレース詳細は取得されず、トレース表は表示されません。ただし、一部のコンポーネントのインスタンスの詳細は取得されます。これらのコンポーネントの場合は、インスタンスの詳細のフラット・リストが表示されます。このリストには一部のコンポーネントのインスタンス詳細のみがあり、フローに参加しているすべてのコンポーネントはない可能性があります。

イベントによってトリガーされた中間プロセスの受信アクティビティは、フロー・トレース内に表示されます。中間プロセスの受信アクティビティは、複数のフローIDを相関させることができます。相関するBPELノードのフロー・トレースでは、そのノードによって相関させられたすべてのフローIDを表示できます。

次のフロー・トレース管理タスクを実行できます。

- フロー・トレースでのフォルトからのリカバリ

- フロー・トレースでのコンポジット・センサー値の表示

- フロー・トレースでのSOAコンポジット・アプリケーションの表示

- フロー・トレースでの監査証跡およびプロセス・フローの表示

- フロー・トレースでのフォルト、アクティビティおよび変数の各センサーの監視

- その他のフロー・トレース動作のシナリオの理解

16.1.1 フロー・トレースでのフォルトからのリカバリ

「フローのトレース」ページの「フォルト」タブからフォルト・リカバリを実行できます。実行するフォルト・リカバリ・タスクは、SOAインフラストラクチャまたは個々のパーティションの「フロー・インスタンス」ページの「フォルト」タブから実行するタスクと同じです。

「フォルト」セクションには、「トレース」セクションに表示されているSOAコンポジット・アプリケーションのサービス、サービス・コンポーネントおよび参照で発生しているフォルトが表示されます。いずれかのフォルトを選択すると、そのフォルトが発生した「トレース」セクションの1つ以上の行が強調表示されます(同じフォルト・チェーン内に存在する場合、その同じフォルトに複数の行が対応していることがあるため)。たとえば、BPELコンポーネント上のリカバリ可能なフォルトにより、ダウンストリームのその他のコンポーネントおよびエンドポイントのインスタンスに障害が発生する可能性があります。そのBPELプロセス・フォルトを「フォルト」表で選択すると、「トレース」セクションの影響を受けるノードがすべて強調表示されます。

フロー・トレースでフォルトからリカバリする手順は、次のとおりです。

1. 「ビジネス・フロー・インスタンスのフロー・トレースの監視」で説明しているように、「フローのトレース」ページにアクセスします。

2. 「フォルト」セクションで、フォルトを選択します。

選択すると、「トレース」セクションでは、フォルトが発生した行が強調表示されます。

3. 次のいずれかのオプションを使用して、フォルト・リカバリを開始します。

- 「リカバリ」リストから、リカバリ・オプション(「中断」や「再試行」など)を選択します。

- 「エラー・メッセージ」列で、エラーをクリックして詳細なエラー・メッセージおよびフォルト・リカバリを実行するためのオプション(「中断」や「再試行」など)を表示します。

- 「リカバリ」列で、「リカバリが必要」をクリックします。

フォルトからのリカバリの手順は、「ビジネス・フロー・インスタンスでのフォルトからのリカバリ」のステップ5を参照してください。

リカバリに成功すると、フォルトは「フローのトレース」ページの「フォルト」セクションおよび「トレース」セクションから消去されます。

16.1.2 フロー・トレースでのコンポジット・センサー値の表示

ビジネス・フロー・インスタンスのフロー・トレースに含まれているコンポジット・センサーの詳細を表示できます。コンポジット・センサーは、メッセージにトラッキング可能なフィールドを実装する手段を提供します。コンポジット・センサーは、設計時にOracle JDeveloperで、サービス・バインディング・コンポーネント、参照バインディング・コンポーネントおよびビジネス・イベントをサブスクライブしているサービス・コンポーネントに追加できます。

フロー・トレースでコンポジット・センサー値を表示する手順は、次のとおりです。

1. 「ビジネス・フロー・インスタンスのフロー・トレースの監視」で説明しているように、「フローのトレース」ページにアクセスします。

2. 「コンポジット・センサー値」タブをクリックし、ビジネス・フロー・インスタンスのコンポジット・センサーを表示します。

選択すると、「トレース」セクションでは、コンポジット・センサー・データが収集された行が強調表示されます。センサーを閉じると、「トレース」セクションの選択がクリアされます。

16.1.3 フロー・トレースでのSOAコンポジット・アプリケーションの表示

ビジネス・フロー・インスタンスのフロー・トレースに含まれている開始SOAコンポジット・アプリケーションと参加SOAコンポジット・アプリケーションを表示できます。

フロー・トレースでSOAコンポジット・アプリケーションを表示する手順は、次のとおりです。

1. 「ビジネス・フロー・インスタンスのフロー・トレースの監視」で説明しているように、「フローのトレース」ページにアクセスします。

2. 「コンポジット」タブをクリックします。

ビジネス・フロー・インスタンスのフロー・トレース内の開始コンポジットと参加コンポジットが表示されます。Oracle JDeveloperで設計時にビジネス・フロー・インスタンス・タイトルの値を設定すると、それは「名前」列に表示されます。

ビジネス・フロー・インスタンス名の設定の詳細は、『Oracle SOA SuiteでのSOAアプリケーションの開発』の設計時のフロー・インスタンス名またはコンポジット・インスタンス名の設定方法に関する項を参照してください。

16.1.4 フロー・トレースでの監査証跡およびプロセス・フローの表示

ビジネス・フロー・インスタンスのフロー・トレースに含まれている監査証跡およびプロセス・フローを表示できます。監査証跡およびフロー・トレースは監査証跡データのグラフィック表示です。監査証跡には、BPELプロセス内のアクティビティに関する実行の詳細が表示されます。プロセス・フローには、プロセス内のペイロードのフローが表示されます。

フロー・トレースで監査証跡およびプロセス・フローを表示する手順は、次のとおりです。

1. 「ビジネス・フロー・インスタンスのフロー・トレースの監視」で説明しているように、「フローのトレース」ページにアクセスします。

「トレース」セクションに、SOAコンポジット・アプリケーションを構成するサービス、サービス・コンポーネントおよび参照間での一連のメッセージ・フローが表示されます。この例では、フローに関連するサービス・バインディング・コンポーネント、サービス・コンポーネントおよび参照バインディング・コンポーネントでメッセージが正常に受信されて処理されています。

2. 「トレース」セクションの「インスタンス」列で、特定のBPELプロセス・サービス・コンポーネントをクリックします。サービス・コンポーネントには「フローのトレース」ページからアクセスできます。サービスと参照にはアクセスできません。

選択したサービス・コンポーネントの監査証跡が表示されます。

3. 「フォルトの強調表示」チェック・ボックスを選択し、監査証跡のフォルトを強調表示します。

4. 「表示」リストから、「監査証跡XML」を選択して監査証跡のXML出力を表示します。XML出力はファイルとして保存できます。

5. 監査証跡をスクロールしてエラーを確認し、「ペイロードの表示」リンクをクリックしてフローの特定の場所にある内容を表示します。

注意:

- 実行されなかったpickアクティビティまたはscopeアクティビティの取り消されたonMessageブランチは監査証跡に表示されます。ただし、フロー・ダイアグラムには、これらの取り消された同じonMessageブランチは表示されません。これは予想された動作です。

- トランザクションがロールバックとして「監査証跡」ページに表示されると、次のエラー・メッセージが表示されます。

The transaction was rolled back. The work performed for bpel
instance "instance_ number" was rolled back to the previous
dehydration point,  but the audit trail has been saved.
You can recover the instance from the recovery console by
resubmitting the callback message or activity for execution

このメッセージは、リカバリがアクティビティまたはコールバックのどちらに基づいて発生するかを具体的に示すものではありません。これは所定の動作です。監査メッセージを通じて各インスタンスをリカバリしないことをお薦めします。かわりに、自動リカバリを設定してこれらのインスタンスをリカバリしてください。

6. 「フロー」タブをクリックします。

BPELプロセス内のアクティビティのフロー・ダイアグラムが表示されます。フロー・ダイアグラムでは、フォルトが強調表示されます。

7. アクティビティをクリックして、プロセス内のペイロードのフローを表示します。

注意:

Microsoft Internet Explorerを使用する場合は、「詳細をクリップボードにコピー」をクリックすると、アクティビティ詳細をクリップボードにコピーできます。Mozilla Firefoxを使用する場合、このリンクは表示されません。かわりに、手動でテキストを選択してコピーし、ファイルに貼り付ける必要があります。

8. フロー・ダイアグラムをスクロールしてエラーを確認します。

9. 強調表示されたアクティビティをクリックして、エラー・メッセージを表示します。

10. メッセージを閉じます。

16.1.5 フロー・トレースでのフォルト、アクティビティおよび変数の各センサーの監視

BPELプロセス・サービス・コンポーネントのフォルト、アクティビティおよび変数の各センサー・データを表示できます。Oracle JDeveloperでBPELプロセスのセンサーを設計します。センサーを使用すると、実行時にBPELプロセスのアクティビティ、変数およびフォルトを監視できます。

BPELプロセスのフォルト、アクティビティおよび変数の各センサー・データを監視する手順は、次のとおりです。

1. 「ビジネス・フロー・インスタンスのフロー・トレースの監視」で説明しているように、「フローのトレース」ページにアクセスします。

2. 「トレース」セクションの「インスタンス」列で、特定のBPELプロセス・サービス・コンポーネントをクリックします。

3. 「センサー」タブをクリックします。

4. センサー・タイプを開いて、詳細を表示します。

BPELプロセスでJMSセンサーを作成した場合、Oracle Enterprise Manager Fusion Middleware Controlには、JMSセンサー値が表示されません。センサー・アクションがデータベースに値を格納するセンサー値(データベース・センサー値など)のみが表示されます。

センサーの詳細は、『Oracle SOAスイートでのSOAアプリケーションの開発』の「Oracle BPEL Process Managerのセンサーおよび分析の使用方法」を参照してください。

フォルト・リカバリの詳細は、「ビジネス・フロー・インスタンスでのフォルトからのリカバリ」および「BPELプロセス・サービス・エンジンのメッセージ・リカバリの実行」を参照してください。

16.1.6 その他のフロー・トレース動作のシナリオの理解

この項では、その他のフロー・トレース動作のシナリオについて説明します。

16.1.6.1 BPEL 2.0のCompensateおよびCompensateScopeアクティビティ内でのアクティビティ・センサーの動作

BPEL 2.0 compensateScopeアクティビティ内に、評価時間を完了時に設定したアクティビティ・センサーがあり、かつ、アクティビティの変数センサーが変数を指すように構成したとします。センサーがトリガーされると、compensationアクティビティが完了し、compensationアクティビティが完了した状態であることが変数によって示されると予想されます。

ただし、compensateScopeアクティビティ(およびcompensateアクティビティ)は、制御がcompensationアクティビティに渡された直後に終了します。その結果、アクティビティの変数センサーには、compensationアクティビティが終了でなく開始した状態だということが示されます。

これは予想された動作です。

補正の完了時に変数状態が取得されないようにするために、compensateまたはcompensateScopeアクティビティの後に空のアクティビティを追加し、この空のアクティビティに対して、評価時間をアクティブ化に設定したアクティビティ・センサーを設定します。

16.2 BPELプロセス・アクティビティの時間の分散とインスタンスおよびフォルトのスループットのメトリックの監視

BPELプロセス・アクティビティの時間の分散とBPELプロセス・サービス・コンポーネントに関するインスタンスおよびフォルトのスループットのメトリックのグラフィック表示を監視できます。

BPELプロセス・アクティビティの時間の分散とインスタンスおよびフォルトのスループットのメトリックを監視する手順は、次のとおりです。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「ホーム」を選択します。

b. 「デプロイ済コンポジット」タブを選択します。

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

a. 「soa-infra」の下にあるパーティションを展開します。

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

「ダッシュボード」ページが表示されます。

2. 「コンポーネント」セクションで、BPELプロセス・サービス・コンポーネントを選択します。
「ダッシュボード」ページに、次の詳細が表示されます。

- アクティビティについての時間分布の詳細(アクティビティ名、すべてのインスタンスについてのアクティビティの合計数、平均実行時間など)が表示されます。

- 特定時間帯におけるBPELプロセス・サービス・コンポーネントの成功、失敗および受信(保留中)のインスタンス数のグラフィカル表示。

3. 「表ビュー」をクリックすると、成功したインスタンスのスループット、合計フォルトのスループットおよびインスタンスのスループットなどの過去5分間のスループットの詳細が表形式で表示されます。

詳細は、「ビジネス・フロー・インスタンスの概要」を参照してください。また、ログ・ファイルの表示および検索の詳細は、『Oracle Fusion Middlewareの管理』を参照してください。

16.3 BPELプロセス・サービス・エンジンのリクエスト統計とスレッド・パフォーマンス統計の監視

サービス・エンジンで実行しているすべてのBPELプロセス・サービス・コンポーネントのリクエスト統計とスレッド・パフォーマンス統計を監視できます。

BPELプロセス・サービス・エンジンのリクエスト統計とスレッド・パフォーマンス統計を監視する手順は次のとおりです。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「サービス・エンジン」→「BPEL」の順に選択します。

a. 「soa-infra」を右クリックします。

b. 「サービス・エンジン」→「BPEL」の順に選択します。

2. 「統計」をクリックします。
「統計」ページの「保留中のリクエスト」セクションと「アクティブ・リクエスト」セクションには、次の詳細が表示されます。「ヘルプ」アイコンをクリックすると、追加情報が表示されます。

- サービス・エンジン内の保留中のリクエスト数

- サービス・エンジン内のアクティブ・リクエスト数

「統計」ページの「スレッド統計」および「リクエストのブレークダウン」の部分には、サービス・エンジンのアクティブ・スレッド数と件数、最小、最大および平均のリクエスト処理時間に関する詳細が表示されます。

BPELプロセスのチューニングとパフォーマンスの詳細は、パフォーマンスのチューニングを参照してください。

16.3.1 「リクエストのブレークダウン」表の下位レベルの詳細の表示

「統計」ページの「リクエストのブレークダウン」の部分は、リクエストが処理中に様々なサービス・エンジン・レイヤーで費やす時間に関する下位レベルの詳細を表示するように構成できます。この部分を表示するには、「統計」ページを下にスクロールすることが必要な場合があります。

「BPELサービス・エンジン・プロパティ」ページの「詳細BPEL構成プロパティ」リンクの「StatsLastN」プロパティを構成します。デフォルトでは、このプロパティは-1に設定されています。このプロパティをより適切な値に設定できます(例: 1000)。このプロパティは、問題を生じる可能性のある領域を分析して隔離するための情報を提供します。

このプロパティへのアクセスと構成の詳細は、「BPELプロセス・サービス・エンジン・プロパティの構成」を参照してください。

「StatsLastN」プロパティの構成後に「統計」ページの「リクエストのブレークダウン」の部分に表示される情報は、システムMBeanブラウザの次のプロパティを使用しても表示されます。

- AsyncProcessStats: 下位レベルの非同期プロセス統計を提供します。

- SyncProcessStats: 下位レベルの同期プロセス統計を提供します。

- RequestStats: 下位レベルのリクエストのブレークダウンを提供します。

これらのプロパティへのアクセスの詳細は、「BPELプロセス・サービス・エンジンでのリクエストの所要時間に関する統計の表示」を参照してください。

16.4 サービス・エンジンのデプロイ済BPELプロセス・サービス・コンポーネントの監視

サービス・エンジンで実行しているBPELプロセス・サービス・コンポーネントで構成されたすべてのデプロイ済SOAコンポジット・アプリケーションを監視できます。

サービス・エンジンにデプロイされたBPELプロセスを監視する手順は、次のとおりです。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「サービス・エンジン」→「BPEL」の順に選択します。

a. 「soa-infra」を右クリックします。

b. 「サービス・エンジン」→「BPEL」の順に選択します。

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

- デプロイ済の特定のSOAコンポジット・アプリケーションを検索するためのユーティリティ。基準を指定して「検索」をクリックします。この検索では大文字と小文字が区別されます。コンポーネントまたはコンポジットの正確な名前を(リビジョン部分なしで)入力する必要があります。検索後に、フィルタ処理されていないすべてのコンポーネントのリストを表示するには、「リセット」をクリックします。

- サービス・エンジンで実行しているBPELプロセス・サービス・コンポーネントで構成されたデプロイ済SOAコンポジット・アプリケーションの詳細。サービス・コンポーネント名、SOAコンポジット・アプリケーションおよび現在のステータス(稼働中または停止中)が表示されます。

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

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

16.5 BPELプロセス・サービス・エンジンでのリクエストの所要時間に関する統計の表示

システムMBeanブラウザのいくつかのプロパティを使用して、処理中にリクエストが様々なサービス・エンジン・レイヤーで費やす時間に関する下位レベルの詳細を表示できます。

1. ナビゲーション・ツリーで「SOA」フォルダを開きます。

2. 「soa-infra」,を右クリックして、「管理」→「システムMBeanブラウザ」の順に選択します。

3. 「アプリケーション定義のMBean」→「EMDomain」→「サーバー: server_name」→「アプリケーション: soa-infra」→「EMIntegration」→「soa-infra」の順に選択します。

次のプロパティを構成できます。

- AsyncProcessStats: 非同期プロセス統計

- RequestStats: リクエストのブレークダウン統計

- SyncProcessStats: 同期プロセス統計

4. 「AsyncProcessStats」プロパティの内容を表示します。

5. 「RequestStats」プロパティの内容を表示します。

6. SyncProcessStatsプロパティの内容を表示します。

「BPELサービス・エンジン・プロパティ」ページの「StatsLastN」プロパティを使用してこの情報を構成する方法の詳細は、「BPELプロセス・サービス・エンジン・プロパティの構成」を参照してください。

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

この章では、BPELプロセス・サービス・コンポーネントとサービス・エンジンの管理方法(サービス・コンポーネントのポリシーの管理、配信されていない起動メッセージとコールバック・メッセージについてのBPELプロセス・メッセージ・リカバリの実行、およびOracle ExalogicプラットフォームでのOracle Coherence分散キャッシュへのインスタンスとメッセージ・データの格納を含む)について説明します。

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

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

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

- Oracle Exalogicプラットフォームにおけるインスタンスとメッセージ・データのOracle Coherence分散キャッシュへの格納

サービス・コンポーネントとサービス・エンジンの概念の詳細は、次の項を参照してください。

- サービス・コンポーネントの概要

- サービス・エンジンの概要

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

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

注意:

ポリシーをアタッチする前に、使用可能なポリシーの定義およびユーザー環境で使用するポリシーの詳細は、Oracle Web Services ManagerによるWebサービスの保護およびポリシーの管理に関する項を参照してください。

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

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「ホーム」を選択します。

b. 「デプロイ済コンポジット」タブを選択します。

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

a. 「soa-infra」の下にあるパーティションを展開します。

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

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

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

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

5. ポリシーのアタッチ先またはデタッチ先のサービスまたはコンポーネントを選択します。
ポリシーをアタッチまたはデタッチするためのダイアログが起動します。

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

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

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

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

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

10. 「OK」をクリックします。
アタッチしたポリシーが「ポリシー」表に表示されます。

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

- ポリシーの概要

- ポリシーのアタッチで表示されるダイアログについては、「SOAコンポジット・アプリケーションのポリシーの管理」を参照してください

- 使用可能なポリシーの定義およびユーザー環境で使用するポリシーの詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』を参照してください。

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

リリース12.1.3では、BPELプロセス・メッセージ・リカバリを含むビジネス・フロー・インスタンスの問題が、フォルトとしてレポートされます。そのため、BPELプロセス・サービス・エンジンの「リカバリ」ページからまたは「エラー・ホスピタル」ページから、メッセージ・リカバリを実行できます。

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

BPELプロセス・サービス・エンジンによる自動リカバリの試行に失敗したメッセージを管理することもできます。これらのメッセージの自動リカバリが複数回試行されないようにするには、これらのメッセージを消耗済状態にします。その後、これらのメッセージに対して次のいずれかのアクションを実行できます。

- 自動リカバリ・キューに戻す

- リカバリを試行しない

- リカバリを即時に試行する

たとえば、データベース・アダプタに書き込むBPELプロセスがあるとします。データベースがダウンしている場合、これらのメッセージはリカバリ・キューに送信されます。これらのメッセージの自動リカバリは、データベースがダウンしている間は失敗します。これらのメッセージには、自動リカバリが再び試行されないように消耗済状態のマークが付けられます。データベースの実行が再び開始されたら、自動リカバリが再び試行されるように、これらのメッセージをリセットする(自動リカバリ・キューに戻す)ことができます。

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

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「サービス・エンジン」→「BPEL」の順に選択します。

a. 「soa-infra」を右クリックします。

b. 「サービス・エンジン」→「BPEL」の順に選択します。

2. 「リカバリ」をクリックします。
「リカバリ」ページに、次の詳細が表示されます。

- 「アラーム表のリフレッシュ」ボタンは、データベース内の消失したインメモリー・クォーツ・スケジュール済ジョブを再同期化する場合に選択します。たとえば、waitアクティビティ、またはpickアクティビティのonAlarmブランチでタイマーが起動され、そのトランザクションがロールバックされたと仮定します。データベースのwaitアクティビティまたはonAlarmブランチにあるビジネス・フロー・インスタンスを使用して、これらのジョブを再同期化できます。

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

- サービス・エンジンでのメッセージの失敗。対話ID、メッセージの失敗のリカバリが可能かどうか、サービス・コンポーネント、失敗が発生したコンポジット・アプリケーション、およびフォルトの発生時間が表示されます。状態に応じて、これらのメッセージをただちにリカバリするか、これらのメッセージを取り消すか、または自動リカバリのためにこれらのメッセージをリセットできます。

注意:

- 解決済状態および未配信状態のコールバック・メッセージをリカバリできます。「タイプ」リストから「コールバック」を選択し、「メッセージの状態」リストから「解決」または「未配信」のいずれかを選択して検索条件を実行すると、これらのメッセージがリカバリ用に表示されます。コールバック・メッセージが最初にBPELプロセス・サービス・エンジンに入るとき、その状態は未配信状態です。対話IDの一致または相関のいずれかによって、このメッセージがターゲットのビジネス・フロー・インスタンスに解決されると、状態は「解決」に切り替ります。これらの両方の状態では、メッセージはまだ消費されていません。これらの2つの状態のメッセージはリカバリできます(消費のためにBPELプロセス・サービス・エンジンに再配信される)。他の状況では、コールバック・メッセージがこれらの両方の状態で残されている場合があります。これらの状態のメッセージもリカバリできます。ただし、残されているコールバック・メッセージが常に未配信状態のまま保たれる保証はありません。

- 「メッセージの状態」リストはコールバック・メッセージおよび起動メッセージのタイプのリカバリと、未配信、取消および消耗済状態の場合のアクティビティ・メッセージ・タイプのリカバリに適用されます。配信済および解決済メッセージ状態は、リリース12cのアクティビティ・メッセージには適用されません。

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

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

アクション

説明

リカバリ

フォルトが発生したメッセージを再試行します。

消耗済状態のメッセージを選択してこのボタンをクリックすると、メッセージのリカバリが即時に試行されます。このリカバリの試行も失敗となった場合、メッセージは消耗済状態に戻ります。メッセージを選択して「リセット」をクリックし、そのメッセージを自動リカバリ・キューに戻す必要があります。

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

中断

取消しとしてマークされているメッセージが含まれるフロー全体を終了できる確認メッセージを表示して、インスタンスの状態を更新する場合に選択します。メッセージ取消しは、フローIDのコンテキストで実行されます。このフローIDを使用してインスタンスがリンクされている場合は、すべてのインスタンスが終了します。フローIDを使用すると、様々なコンポジット・アプリケーション間のメッセージ・フローを追跡できます。

消耗済状態のメッセージを選択してこのボタンをクリックすると、そのメッセージのリカバリは試行されなくなります。

リセット

消耗済メッセージを未配信状態にリセットする場合に選択します。これにより、メッセージは自動リカバリ・キューに戻されます。消耗済状態で表示されたメッセージは、メッセージ表に表示されなくなります。「メッセージの状態」リストで「未配信」を選択して「検索」をクリックすると、これらのメッセージが表示されます。消耗済状態のコールバック・メッセージを解決状態にリセットし、引き続きリカバリ可能にすることもできます。

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

注意:

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

エラー・ホスピタルのフォルト・リカバリの詳細は、「エラー・ホスピタルでのフォルトからのリカバリ」を参照してください。

起動メッセージおよびコールバック・メッセージのリカバリを試行する最大回数を構成する方法の詳細は、「起動メッセージおよびコールバック・メッセージの自動リカバリ試行の構成」を参照してください。

フォルト・ポリシーの設計の詳細は、『Oracle SOA SuiteでのSOAアプリケーションの開発』のFault Management Frameworkによるフォルトの処理に関する項を参照してください。

17.3 Oracle Exalogicプラットフォームにおけるインスタンスとメッセージ・データのOracle Coherence分散キャッシュへの格納

BPELプロセスを使用すると、各インスタンスで必要なデータベースの相互作用の回数によって、パフォーマンスの問題が発生する可能性があります。この要因が、非同期の永続フローよりも同期の一時フローのパフォーマンスが優れている主な原因になっています。この問題に対応するために、レスポンス時間の短縮が必要な状況では同期の一時フローを利用するように設計できます。ただし、ビジネス上の理由で、このタイプのフローを設計できない場合があります。

Oracle ExalogicプラットフォームでOracle SOA Suiteを実行している場合は、Oracle Coherenceの分散キャッシュ機能を使用して、BPELプロセスからインスタンスとメッセージ・データを格納できます。これによってデータベースの読取り回数が減るため、データベースの相互作用の回数が減ります。

Oracle Coherenceは、頻繁に使用されるデータへのアクセスを提供することによって、企業がミッションクリティカルなアプリケーションを拡張することを可能にするOracle Fusion Middlewareのコンポーネントです。Oracle Coherenceに含まれる分散キャッシュ機能によって、読取りアクセスと書込みアクセスの両方のスケーラビリティが向上します。データはノード間で自動的、動的および透過的にパーティション化されます。分散アルゴリズムがネットワーク・トラフィックを最小化し、データが徐々に移動されることでサービスの停止が回避されます。

Oracle Exalogicは、幅広いアプリケーション・タイプと様々なワークロードに対応するプラットフォームを提供するように設計された、ハードウェアとソフトウェアの統合システムです。Oracle Exalogicは、大規模で、パフォーマンスの影響を受けやすく、ミッションクリティカルなアプリケーションのデプロイを対象にしています。

注意:

使用している環境でOracle Exalogicを使用していない場合、Oracle Coherenceの分散キャッシュは使用できません。

BPELプロセスに対して分散キャッシュを使用すると、次のようなパフォーマンスの向上を期待できます。

- メッセージ(起動およびコールバック)が最初に配信された後に、データベースからそのメッセージを読み取る操作がなくなります。

- デハイドレーション・ポイントの後にキューブ・インスタンスに必要な読取り操作がなくなります。

Oracle Coherenceの詳細は、Oracle Coherenceスタート・ガイドおよびOracle Coherenceでのアプリケーションの開発を参照してください。

17.3.1 Oracle Coherenceのキャッシュ機能アーキテクチャの概要

デハイドレーション時に、インスタンス・オブジェクトは、コンテナ管理のEnterprise JavaBeans (EJB)トランザクションでJava永続性API (JPA)を使用してデータベースに格納されます。BPELプロセス・サービス・エンジンでは、トランザクション後の処理用にトランザクションのafterCompletionリスナーを登録します。トランザクション中に変更されたインスタンス・オブジェクトは、追跡されてafterCompletionリスナーに対して使用可能になり、このリスナーによってキャッシュが更新されます。図17-1に、デハイドレーション・プロセスの詳細を示します。

図17-1 デハイドレーション・プロセス

リハイドレーション時に、インスタンス・オブジェクトはキャッシュから読み取られます。実装では、トランザクション完了通知のXA保証は提供されず、キャッシュの削除によってオブジェクトがキャッシュから削除されます。実装では、これら2つの事項を考慮して、オブジェクトが返されない、または古いバージョンのオブジェクトが返されるというキャッシュの問題に対処します。

通常は、キャッシュの参照によって有効なオブジェクトが返されます。この場合、直接書込み(デフォルト)によるキャッシュの使用によって、デハイドレーションおよびリハイドレーションのパフォーマンスは次に示すように向上します。

(database read time + relational to object mapping) minus (Object serialization +
reading from serialized form + Coherence network overhead + query to
database for reading CACHE_VERSION)

また、データベース・サーバーでのアクティビティも減少します。

ネットワーク障害によってOracle Coherenceのキャッシュが使用できない場合でも、BPELプロセス・サービス・エンジンは稼働し続けます。エラーが発生しない場合、ビジネス・プロセス・インスタンスは処理を続行します。

17.3.2 デフォルトのSOAクラスタ・ノードおよびCoherenceキャッシュ・グリッド・ノードでの実行

BPELプロセス・キャッシュは、Oracle SOA Suiteクラスタ・ノードに作成されません。「BPELプロセス・キャッシュ・サーバーの起動」の説明に従って、BPELキャッシュをホストするBPELキャッシュ・サーバーを起動する必要があります。少なくとも4つのサーバーを起動して、パフォーマンスが向上することを確認します。Oracle SOA SuiteクラスタとBPELキャッシュ・サーバーの順序に決まりはありません。Oracle Enterprise Manager Fusion Middleware ControlでQualityOfServiceプロパティがCacheEnabledに設定されている場合でも、BPELプロセス・サービス・エンジンはBPELキャッシュ・サーバーがなくても稼働し続けます。

Oracle Coherenceの詳細は、Oracle Coherenceスタート・ガイドおよびOracle Coherenceでのアプリケーションの開発を参照してください。

17.3.3 Oracle Coherenceのキャッシュ機能の構成

システムMBeanブラウザのQualityOfServiceプロパティを使用して、Oracle Coherenceをデハイドレーション用に構成できます。このプロパティは、SOAクラスタ内のいずれかのノードで構成できます。

Oracle Coherenceキャッシングをデハイドレーション用に構成する手順は、次のとおりです。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「SOA管理」→「BPELプロパティ」の順に選択します。

a. 「soa-infra」を右クリックします。

b. 「SOA管理」→「BPELプロパティ」の順に選択します。

「BPELサービス・エンジン・プロパティ」が表示されます。

2. 「詳細BPEL構成プロパティ」をクリックします。

3. 「属性」タブで、「QualityOfService」をクリックします。

4. 「値」フィールドに、環境に適した値を入力します。この変更によってSOAインフラストラクチャを再起動する必要はありません。

表17-1 QualityOfServiceの値

値

説明

DirectWrite

デハイドレーションおよびリハイドレーションでキャッシュを使用しません。読取りおよび書込み操作はデータベースに対して行われます。これがデフォルトの設定です。

CacheEnabled

デハイドレーション時は、インスタンス・データがXAデータ・ソース接続を使用してデータベースに格納され、トランザクション後の処理でオブジェクトがキャッシュに挿入されます。

リハイドレーション時は、データがキャッシュからフェッチされます。データが見つからない場合(たとえば、BPELプロセス・キャッシュ・サーバーが使用できない場合)、またはバージョンが中断している場合、データはデータベースから読み取られます。

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

17.3.4 複数の監査証跡メッセージの単一トランザクションへの格納の構成

非同期フローの場合、複数の監査証跡メッセージを単一トランザクションに格納すると、パフォーマンスが向上します。パフォーマンスを向上させるために(複数のインスタンスの)複数の監査証跡メッセージを単一トランザクションに格納するには、Oracle Enterprise Manager Fusion Middleware ControlでシステムMBeanブラウザのAsynchAuditBatchSizeプロパティを設定します。

このプロパティを適切な値に設定すると、監査証跡トランザクション・コミット数が減ります。かわりに、指定した制限に達した場合のみコミットが実行されます。

複数の監査証跡メッセージが単一トランザクションに格納されるように構成する手順は、次のとおりです。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「SOA管理」→「BPELプロパティ」の順に選択します。

a. 「soa-infra」を右クリックします。

b. 「SOA管理」→「BPELプロパティ」の順に選択します。

「BPELサービス・エンジン・プロパティ」が表示されます。

2. 「詳細BPEL構成プロパティ」をクリックします。

3. 「属性」タブで、「AsynchAuditBatchSize」をクリックします。

4. 「値」フィールドに、環境に適した値を入力します。デフォルト値の-1は、バッチ対象の監査証跡メッセージがないことを示します。各監査メッセージは、それぞれのトランザクションに保持されます。
推奨される値の範囲は5から25です。たとえば、このプロパティを8に設定した場合、8つの監査証跡メッセージが蓄積されると、これらのメッセージに対して1つのトランザクションが作成され、デハイドレーション・ストアにコミットされます。

このパラメータは、Oracle Exalogic環境にのみ影響します。その他の環境では使用できません。

この変更によってSOAインフラストラクチャを再起動する必要はありません。

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

17.3.5 Oracle Coherenceキャッシュへの監査証跡の格納の構成

Oracle Coherenceキャッシュに監査証跡を格納できます。これを行うには、Oracle Enterprise Manager Fusion Middleware ControlでシステムMBeanブラウザの次のプロパティをそれぞれの値に設定します。

- 「AuditStorePolicy」をasyncに設定します。

- 「QualityOfService.AuditStorePolicy.UseDistributedCache」をtrueに設定します。

- 「QualityOfService」をCacheEnabledに設定します。手順の詳細は、「Oracle Coherenceのキャッシュ機能の構成」を参照してください。

これらの設定によって、次の動作が可能になります。

- Oracle Coherenceキャッシュがキューとして動作して、データベースに監査証跡を書き込みます。

- SOAサーバー・ノードのヒープとスレッドは、監査証跡を処理しません。

これらのプロパティのいずれかが異なる値に設定されていると、ヒープおよびディスパッチャ・スレッドがデータベースへの書込みに使用されます。

Oracle Coherenceキャッシュへの監査証跡の格納を構成する手順は次のとおりです。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「SOA管理」→「BPELプロパティ」の順に選択します。

a. 「soa-infra」を右クリックします。

b. 「SOA管理」→「BPELプロパティ」の順に選択します。

「BPELサービス・エンジン・プロパティ」が表示されます。

2. 「詳細BPEL構成プロパティ」をクリックします。

3. 「属性」タブで、「AuditStorePolicy」をクリックします。

4. 「値」フィールドに、asyncと入力します。

注意:

サーバーがキャッシュする場合は(SOA/BPELキャッシュ・サーバー)、一部の監査証跡メッセージはデータベースに永続化されません。この結果、監査ログが失われることになります。フェイルオーバーはサポートされません。これはOracle Coherenceの場合とメモリーまたはヒープ・キャッシュの場合の両方に適用されます。

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

6. 「戻る」をクリックします。

7. 「属性」タブで、「QualityOfService.AuditStorePolicy.UseDistributedCache」をクリックします。

8. 「値」リストから「True」を選択します。

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

17.3.6 Oracle Coherenceキャッシュへの呼出しメッセージの格納の構成

Oracle Enterprise Manager Fusion Middleware ControlでシステムMBeanブラウザの次のプロパティをそれぞれの値に設定することで、Oracle Coherenceキャッシュに呼出しメッセージを格納できます。

- 「OneWayDeliveryPolicy」をasync.cacheに設定します。

- 「QualityOfServiceOneWayDeliveryPolicyUseDistributedCache」をtrueに設定します。

- 「QualityOfService」をCacheEnabledに設定します。手順の詳細は、「Oracle Coherenceのキャッシュ機能の構成」を参照してください。

これらのプロパティのいずれかが異なる値に設定されていると、Oracle Coherenceキャッシュではなく、ローカル・メモリーがキャッシュに使用されます。

注意:

サーバー(SOAおよびBPELプロセス・キャッシュ・サーバーの両方)のクラッシュ時に実行中の呼出しメッセージは損失または複製される可能性があります。フェイルオーバーはサポートされません。これはOracle Coherenceの場合とメモリーまたはヒープ・キャッシュの場合の両方に適用されます。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「SOA管理」→「BPELプロパティ」の順に選択します。

a. 「soa-infra」を右クリックします。

b. 「SOA管理」→「BPELプロパティ」の順に選択します。

「BPELサービス・エンジン・プロパティ」が表示されます。

2. 「詳細BPEL構成プロパティ」をクリックします。

3. 「属性」タブで、「OneWayDeliveryPolicy」をクリックします。

4. 「値」フィールドに、async.cacheと入力します。

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

6. 「戻る」をクリックします。

7. 「属性」タブで、「QualityOfServiceOneWayDeliveryPolicyUseDistributedCache」をクリックします。

8. 「値」リストから「True」を選択します。

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

17.3.7 BPELプロセス・キャッシュ・サーバーの起動

start-bpel-cache.shスクリプトを実行して、Oracle SOA SuiteがインストールされているUNIXマシン上でBPELプロセス・キャッシュ・サーバーを起動します。

要件はネットワーク接続性のみです。Oracle SOA Suiteノードには、BPELプロセス・キャッシュ・サーバーがインストールされているホストからアクセスできる必要があります。

このスクリプトによって、Oracle SOA Suiteクラスタがマルチキャストのデフォルトのアドレスとポートに結合されます。これらの値は、$FMW_HOME/user_projects/domains/domain_name/bin/setDomainEnv.shファイルの対応する値と一致します。

クラスタに対してマルチキャストを選択したが、別のアドレスとポートを使用する場合は、環境変数を使用するか、またはshell変数を設定して、bpelCacheEnv.shファイル内の値をオーバーライドできます。同じ値をSOA管理対象サーバーに対して使用します(setDomainEnv.sh内)。

Oracle SOA Suiteクラスタのデフォルトのキャッシュ構成は、マルチキャストではなくユニキャストである必要があります。Oracle CoherenceのOracle SOA Suiteクラスタに対して推奨されるキャッシュ構成の詳細は、『高可用性ガイド』または『Oracle SOA Suiteエンタープライズ・デプロイメント・ガイド』を参照してください。

BPELプロセス・キャッシュ・サーバーを起動する手順は、次のとおりです。

1. $FMW_HOME/SOA_ORACLE_HOME/binディレクトリに移動します。

2. start-bpel-cache.shファイルを開きます。

3. start-bpel-cache.shファイル内の指示に従って、bpelCacheEnv.shファイルを作成し、各種の環境変数を構成します。

環境変数またはshell変数の名前と値の書式については、start-bpel-cache.shファイルの最初のノート・セクションで説明されています。

4. 「Oracle Coherenceのキャッシュ機能の構成」で説明したように、最初にOracle Enterprise Manager Fusion Middleware ControlでQualityOfServiceプロパティをCacheEnabledに設定していることを確認します。

5. 次のスクリプトを実行します。

start-bpel-cache.sh

第VI部 Oracle Mediatorのサービス・コンポーネントとエンジンの管理

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

この部は、次の章で構成されています。

- サービス・コンポーネントとエンジンの構成

- サービス・コンポーネントとエンジンの監視および管理

- 相互参照の管理

18 Oracle Mediatorのサービス・コンポーネントとエンジンの構成

この章では、Oracle Enterprise Manager Fusion Middleware Controlを使用してOracle Mediatorサービス・コンポーネントとサービス・エンジンのランタイム・プロパティを構成する方法について説明します。また、メディエータの拡張プロパティおよびカスタム・プロパティも構成できます。

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

- サービス・エンジン・プロパティの構成

- リシーケンスされたメッセージの構成

Oracle Mediatorのチューニングとパフォーマンス・プロパティの詳細は、パフォーマンスのチューニングを参照してください。

18.1 Oracle Mediatorサービス・エンジン・プロパティの構成

メディエータ・サービス・エンジン・プロパティは、メディエータ・サービス・コンポーネントの処理時にメディエータ・サービス・エンジンによって使用されます。

メディエータ・サービス・エンジン・プロパティを構成する手順は、次のとおりです。

1. 「メディエータ・サービス・エンジン・プロパティ」ページに、次のいずれかの方法を使用してアクセスします。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「SOA管理」→「メディエータ・プロパティ」の順に選択します。

a. 「soa-infra」を右クリックします。

b. 「SOA管理」→「メディエータ・プロパティ」の順に選択します。

次の図に示されているように、「メディエータ・サービス・エンジン・プロパティ」ページにメディエータ・プロパティのリストが表示されます。

2. 使用環境に適するようにサービス・エンジン・プロパティを変更します。
プロパティについて次の表18-1で説明します。

表18-1 メディエータ・サービス・エンジンのプロパティ

プロパティ

説明

監査レベル

メディエータ固有の監査レベル。グローバルなSOAインフラストラクチャの監査レベル・プロパティは、このプロパティの値によってオーバーライドされます。このプロパティの可能な値は、次のとおりです。

- オフ: メディエータの監査をオフにします。ビジネス・フロー・インスタンス・トラッキングとペイロード・トラッキングの情報は収集されません。

- 継承: 監査のレベルは、SOAインフラストラクチャと同じになります。この設定を使用すると、グローバル設定が変更されたときに、メディエータ監査レベルも自動的に変更できます。このページで別の監査レベル・トラッキングを設定すると、SOAインフラストラクチャ・レベルで設定したトラッキングがオーバーライドされます。

- Production: すべてのイベントが記録されます。すべての監査詳細が、assignアクティビティの詳細を除いて記録されます。インスタンス・トラッキング情報は収集されますが、ペイロード詳細はキャプチャされないため、これらの詳細はフローの監査証跡で使用できません。このレベルは、通常の操作とテストに最適です。

- Development: すべてのイベントとすべての監査詳細が記録されます。さらに、ペイロード詳細がキャプチャされるため、フローの監査証跡で使用できます。このレベルは、デバッグする際に便利ですが、パフォーマンスに影響を与える可能性があります。

このフラグのデフォルト値は、Inheritです。

注意:

- これらのプロパティの変更後に、サーバーを再起動する必要はありません。

- 監査レベルは、Oracle Application Server 10g リリースではインスタンス・トラッキング・レベルと呼ばれていました。

レベル・メトリック

ダイナミック・モニタリング・サービス(DMS)のメトリック・レベルを構成するための、メディエータ固有のプロパティ。DMSメトリックはアプリケーション・コンポーネントのパフォーマンスを計測するために使用されます。このプロパティの可能な値は、次のとおりです。

- Enabled: DMSメトリック・トラッキングを有効にします。

- Disabled: DMSメトリック・トラッキングを無効にします。

パラレルが取得する最大行数

パラレル処理で繰返しごとに取得する行数。

注意: このプロパティの値が大きいと、メモリー不足になる可能性があります。

パラレル・ロッカー・スレッド・スリープ(秒)

パラレル処理に関するメッセージがない場合の、行を取得するための連続した2つの繰返し間でのアイドル時間。時間の単位は秒です。

パラメータ

カスタム構成プロパティ。例として、「リシーケンスされたメッセージの構成」を参照してください。

コンテナIDリフレッシュ時間

コンテナIDリース・タイムアウト

ハートビート・インフラストラクチャ・プロパティ。メディエータ・サービス・エンジンの一部であるハートビート・インフラストラクチャは、ノードの失敗または停止が原因でメディエータ・サービス・エンジン・インスタンスが存在しないことを検出します。ハートビート・インフラストラクチャは、メディエータ・サービス・エンジンの各インスタンスに対して一意の識別子を作成し、メディエータ・サービス・エンジンが失敗した場合に、必要なハウスキーピング・タスクを実行します。ハートビート・インフラストラクチャは、ハートビート・スレッドで構成されています。このハートビート・スレッドは、各メディエータ・サービス・エンジンの一意の識別子に関連付けられているタイムスタンプを定期的に更新します。メディエータ・サービス・エンジンは、関連付けられているタイムスタンプを更新することで、その存在を他のメディエータ・サービス・エンジンに知らせます。ハートビート・スレッドは、特定の期間に更新されなかった一意の識別子が存在するかどうかも確認します。ハートビート・フレームワークは、次のパラメータを設定することで構成できます。

- コンテナIDリフレッシュ時間: 各メディエータ・サービス・エンジンの一意の識別子に関連付けられているタイムスタンプを、ハートビート・スレッドが定期的に更新する時間間隔。
注意: デフォルト値は60秒です。計画外停止が発生した場合は、サーバーの再起動後に、このプロパティで指定された時間だけ待機する必要があります。

より頻繁にリフレッシュする必要がある場合は、より小さな値(30秒など)にこのパラメータを設定できます。

- コンテナIDリース・タイムアウト(秒): 特定の期間に更新されていない一意の識別子が存在するかどうかを、ハートビート・スレッドが定期的に確認する時間間隔。ここで指定された時間より長い期間ノードがリフレッシュしない場合、ノードはタイムアウトしたとみなされます。
注意: デフォルト値は300秒です。SQL文の実行が低速であるなどの理由からノードがタイムアウトしている場合は、より大きな値(600秒など)にこのパラメータを設定できます。

これらのパラメータを構成することで、メディエータ・サービス・エンジンの失敗を検出するためにハートビート・スレッドが使用する期間を指定できます。

リシーケンサ・ロッカー・スレッド・スリープ(秒)

ロッカー・スレッドのスリープ間隔(秒単位)。処理できるメッセージを持つグループをリシーケンサが見つけられないときに、ロッカー・スレッドは指定した期間スリープ状態になります。処理可能なメッセージを持つグループが見つかった場合は、データベース・シークの各繰返しの間でロッカー・スレッドがスリープ状態になることはありません。デフォルト値は10です。

リシーケンサがロックする最大グループ数

データベース・シークの各繰返しで処理用に取得するグループの数。取得されたグループは、処理用のワーカー・スレッドに割り当てられます。デフォルト値は4です。

リシーケンサ・ワーカー・スレッド

リシーケンス・グループを並行処理するためのワーカー・スレッド(ディスパッチャ)の数。各ワーカー・スレッドにグループが割り当てられて、そのグループのメッセージが順番に処理されます。多数のグループがメッセージの処理を待機している場合は、このパラメータを増加することでパフォーマンスを改善できます。デフォルト値は4です。

3. システムMBeanブラウザで詳細なメディエータ・プロパティを構成するには、「詳細メディエータ構成プロパティ」をクリックしてください。

次に説明するように、システムMBeanブラウザのメディエータ・プロパティには、ナビゲータからもアクセスできます。

18.1.1 システムMBeanブラウザのプロパティにアクセスする手順:

1. 「SOAインフラストラクチャ」メニューから、「管理」→「システムMBeanブラウザ」の順に移動します。
システムMBeanブラウザ・ページが表示されます。

2. 左側の「システムMBeanブラウザ」ナビゲーション・ペインで、「oracle.as.soainfra.config」→「サーバー: server_name」→「MediatorConfig」→「mediator」の順に選択します。
MBeanのプロパティが右側のペインに表示されます。

3. プロパティの値を変更するには、その「値」フィールドを変更して「適用」をクリックします。

注意:

すべての値を変更できるわけではありません。システムMBeanプロパティは一般的に表18-1にリストされているプロパティに対応しますが、MBeanには追加の読取り専用プロパティがあります。追加プロパティのContainerInitRetriesは表18-1にリストされていません。このプロパティは、Oracle Mediatorサービス・エンジン・インスタンスIDを作成するために行われる試行の数を示します。

18.2 リシーケンスされたメッセージの構成

メディエータ・サービス・コンポーネントでメッセージをリシーケンスするには、次の項目を構成する必要があります。

- ワーカー・スレッド数

- スレッドでロックできる最大グループ数

- スリープ間隔

メディエータ・サービス・コンポーネントがベスト・エフォート・リシーケンスを使用するように構成されており、各バッチで処理されるメッセージが最大行数ではなく時間ウィンドウに基づいている場合は、バッファ・ウィンドウも構成できます。

リシーケンスされたメッセージを構成する手順は、次のとおりです。

1. 「Oracle Mediatorサービス・エンジン・プロパティの構成」で説明されている、いずれかの方法を使用して、「メディエータ・サービス・エンジン・プロパティ」ページまたはシステムMBeanブラウザにアクセスします。

2. 次のメディエータ・プロパティに値を入力します。

- リシーケンサ・ワーカー・スレッド: リシーケンサによって使用されるスレッドの数。

- リシーケンサがロックする最大グループ数: ロック・サイクルごとに取得される最大グループ行数。

- リシーケンサ・ロッカー・スレッド・スリープ: データベースにメッセージがない場合にリシーケンサ・ロッカーがスリープする時間の長さ(秒)。

注意:

これらのプロパティの詳細は、表18-1を参照してください。

3. ベスト・エフォート・リシーケンスでの時間ウィンドウのバッファ・ウィンドウを構成するには、「パラメータ」プロパティ値に次のように入力します。

buffer.window=x

xは、バッファに追加する構成済時間ウィンドウの割合です。たとえば、buffer.window=20は、時間ウィンドウの長さの20%をバッファとして追加することを意味します。

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

19 Oracle Mediatorのサービス・コンポーネントとエンジンの監視および管理

この章では、Oracle Enterprise Manager Fusion Middleware Controlを使用してOracle Mediatorサービス・コンポーネントおよびエンジンを監視し、管理する方法について説明します。

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

- コンポーネントの「ダッシュボード」ページの概要

- サービス・コンポーネントの監視および管理

- サービス・エンジンの監視

- リシーケンス・グループの監視

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

- サービス・コンポーネントの概要

- サービス・エンジンの概要

Oracle Enterprise Manager Fusion Middleware Controlを使用したメディエータ・コンポーネントのモニタリングに加え、処理を停止したもののまだメッセージを保留中のリシーケンス・グループの監視と通知を設定することもできます。この情報を使用して診断ダンプを実行することもできます。詳細は、「SOAコンポジット・アプリケーションに関する問題の診断」を参照してください。

19.1 Oracle Mediatorコンポーネントの「ダッシュボード」ページの概要

メディエータ・コンポーネント・ダッシュボードでは、選択したメディエータ・サービス・コンポーネントの現在の状態に関する情報を表示できます。この情報には、ルーティングの統計と、成功、失敗および保留中のインスタンスに関する統計があります。

ダッシュボードの各セクションには、環境のステータスの監視に役立つ詳細情報へのリンクが含まれています。次の項では、「ダッシュボード」ページの異なるセクションに表示されるインスタンス情報について説明します。

19.1.1 「ルーティングの統計」セクション

「ルーティングの統計」セクションには、ソース操作またはサブスクライブするイベントのルーティング・データに関する次の情報が表示されます。

- 正常に処理されたメッセージ数: 選択したルート・ソースの正常に処理されたメッセージ数。

- 失敗したメッセージ数: 選択したルート・ソースの、フォルトをスローしたメッセージ数。

- 着信メッセージ数: 選択したルート・ソースの受信メッセージの合計数。

- 正常に処理されたメッセージの平均処理時間: 選択したルート・ソースの、正常に処理された各メッセージの処理に要した平均時間。

- 失敗したメッセージの平均処理時間 - 失敗した各メッセージの処理に要した平均時間。

「ルーティングの統計」セクションの「ルート・ターゲット」サブセクションには、メディエータ・サービス・コンポーネントのターゲット・ルートの統計が表示されます。このセクションには、インスタンスに関する次の情報が表示されます。

- 名前: メディエータ・サービス・コンポーネントのルート・ターゲットの名前。

- エラー: ルーティング時に発生したエラーの数。

- 平均処理時間: メディエータ・サービス・コンポーネントのインスタンスに対する平均処理時間。このフィールドには、「成功」と「失敗」の2つのサブフィールドがあります。「成功」サブフィールドには、正常に実行されたメディエータ・サービス・コンポーネントのインスタンスに対する平均処理時間が表示されます。「失敗」サブフィールドには、正常に実行されなかった特定のメディエータ・サービス・コンポーネントのインスタンスに対する平均処理時間が表示されます。

- 平均呼出し時間: メディエータ・サービス・コンポーネントのインスタンスに対する平均呼出し時間。

19.1.2 「インスタンス率/分(リアルタイム・データ)」セクション

インスタンス率/分セクションには、1分当たりのメディエータ・インスタンスの実行率に関する情報が表示されます。また、このセクションには、直前5分間の「成功」、「失敗」および「受信」の各インスタンスに関するリアルタイム・データを示すグラフが表示されます。

「表ビュー」をクリックすると、直前5分間のインスタンス率を表形式で表示できます。

19.2 Oracle Mediatorサービス・コンポーネントの監視および管理

Oracle Enterprise Manager Fusion Middleware Controlでメディエータ・コンポーネントのホーム・ページから次のコンポーネント・レベルの監視タスクおよび管理タスクを実行できます。

- サービス・コンポーネントのルーティング統計およびインスタンスの監視

- 「ポリシーの管理」

19.2.1 Oracle Mediatorサービス・コンポーネントのルーティング統計およびインスタンスの監視

メディエータ・コンポーネント・ダッシュボードには、ルーティング統計とインスタンス関連の情報が表示されます。

メディエータ・サービス・コンポーネントのルーティング統計およびインスタンスを監視する手順は、次のとおりです。

1. 次のいずれかのオプションを使用して、SOAコンポジットのホーム・ページにアクセスします。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「ホーム」を選択します。

b. 「デプロイ済コンポジット」タブを選択します。

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

a. 「soa-infra」を開いて、特定のSOAコンポジット・アプリケーションを選択します。

2. 「コンポーネント」セクションで、メディエータ・サービス・コンポーネントを選択します。

3. 「ダッシュボード」タブをクリックします。

「ダッシュボード」ページには、「コンポーネントの「ダッシュボード」ページの概要」で説明されている情報が表示されます。

4. 「ルーティングの統計」セクションを開き、「ルート・ソースの選択」フィールドで操作またはイベントを選択します。
選択した操作またはイベントの統計を表示します。追加情報を表示するには、「ルート・ターゲット」セクションを開きます。

5. すべてのターゲットのルーティング統計が「ルート・ターゲット」表に表示されます。
「ルーティングの統計」セクションに表示されるフィールドの詳細は、「「ルーティングの統計」セクション」を参照してください。

6. 「インスタンス率/分(リアルタイム・データ)」セクションを開き、特定時間帯におけるメディエータ・サービス・コンポーネントの成功、失敗および受信(保留中)のインスタンス数をグラフィカルに表示します。
「表ビュー」をクリックすると、同じ情報が表形式で表示されます。

詳細は、「ビジネス・フロー・インスタンスの概要」を参照してください。ログ・ファイルの表示および検索の詳細は、Oracle Fusion Middlewareの管理を参照してください。

19.2.2 Oracle Mediatorのポリシーの管理

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

「メディエータ・コンポーネント・ホーム」ページの「ポリシー」ページには、メディエータ・コンポーネントに関する次の情報が表示されます。

- ポリシー名: ポリシーの名前。

- ポリシー参照ステータス: ポリシーを有効化または無効化するためのトグル・ボタン。ポリシーを一時的に無効にすると、そのポリシーはデタッチされずにオフになります。ボタンに「無効化」と表示されている場合はポリシーは有効化されており、ボタンに「有効化」と表示されている場合はポリシーは無効化されています。

- カテゴリ: ポリシーのカテゴリ。「管理」、「信頼できるメッセージング」、「MTOMアタッチメント」、「セキュリティ」および「WSアドレス」の値があります。

- 合計違反: SOAインフラストラクチャ再起動後の違反の合計数。

- セキュリティ違反: 各カテゴリでの違反数。カテゴリには、「認証」、「認可」、「機密保護」および「整合性」の値が表示されます。

メディエータのポリシーを管理する手順は、次のとおりです。

1. 次のいずれかのオプションを使用して、SOAコンポジットのホーム・ページにアクセスします。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「ホーム」を選択します。

b. 「デプロイ済コンポジット」タブを選択します。

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

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

2. 「コンポーネント」セクションでメディエータ・サービス・コンポーネントを選択します。

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

4. メディエータ・コンポーネントにアタッチされているポリシーを表示します。

5. 「アタッチ/デタッチ」をクリックして、ポリシーをアタッチまたはデタッチします。

6. 複数のコンポーネントが使用可能な場合は、ポリシーのアタッチ先のサービスまたはコンポーネントを選択します。
「ポリシーのアタッチ/デタッチ」ページが表示され、アタッチされているすべてのポリシーは上部ペインに、アタッチ可能なすべてのポリシーは下部ペインに表示されます。

7. ポリシーをアタッチするには、下部ペインからポリシーを選択して、「アタッチ」をクリックします。

8. ポリシーをデタッチするには上部ペインからポリシーを選択して、「デタッチ」をクリックします。

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

10. 検証エラーが発生した場合は、エラーがなくなるまで必要な修正と検証を行います。

11. 「OK」をクリックします。
ダイアログが閉じ、アタッチされたポリシーがポリシー表に表示されます。

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

- ポリシーの概要

- ポリシーのアタッチで表示されるダイアログについては、「SOAコンポジット・アプリケーションのポリシーの管理」を参照してください

19.3 Oracle Mediatorサービス・エンジンの監視

Oracle Enterprise Manager Middleware Controlのメディエータ・エンジンのホーム・ページの「ダッシュボード」タブで、メディエータ・サービス・エンジンのレベルで次の監視タスクを実行できます。

- リクエストのブレークダウン統計の監視

- サービス・エンジンのデプロイ済サービス・コンポーネントの監視

19.3.1 リクエストのブレークダウン統計の監視

メディエータ・サービス・エンジンの効率レベルは、リクエストのブレークダウン統計を監視することによって評価できます。

現在デプロイされているメディエータ・サービス・コンポーネントのリクエストのブレークダウン統計を監視する手順は、次のとおりです。

1. メディエータ・エンジンのホーム・ページに、次のいずれかのオプションを使用してアクセスします。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「サービス・エンジン」→「メディエータ」の順に選択します。

a. 「soa-infra」を右クリックします。

b. 「サービス・エンジン」→「メディエータ」の順に選択します。

メディエータ・エンジンのホーム・ページが表示されます。

2. 「統計」タブをクリックします。

3. リクエストのブレークダウン統計を表示します。

「リクエストのブレークダウン」セクションには、次の各アクションの処理件数と、処理に要した平均時間に関する情報が表示されます。

- 一方向呼出し: メディエータ・サービス・エンジンからの一方向呼出し。

- 変換: メディエータ・サービス・エンジンでのメッセージの変換。

- エンキュー: パラレル・ルーティング・ルール対象のメッセージのデハイドレーション。

注意:

メッセージのデハイドレーションは、後でワーカー・スレッドで処理できるように、受信メッセージをパラレルのルーティング・ルール用のデータベースに格納することを意味します。

- 呼出し: メディエータ・サービス・エンジンからのリクエスト/レスポンス呼出し。

- 公開: メディエータ・サービス・エンジンからのイベントの公開。

- 条件評価: メディエータ・サービス・エンジンによる評価のフィルタ処理条件。

- 検証: メディエータ・サービス・エンジンによるメッセージの検証。

19.3.2 サービス・エンジンのデプロイ済Oracle Mediatorサービス・コンポーネントの監視

サービス・エンジンで実行しているメディエータ・サービス・コンポーネントで構成されたすべてのデプロイ済SOAコンポジット・アプリケーションを監視できます。

サービス・エンジンにデプロイ済のメディエータ・コンポーネントを監視する手順は、次のとおりです。

1. メディエータ・エンジンのホーム・ページに、次のいずれかのオプションを使用してアクセスします。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「サービス・エンジン」→「メディエータ」の順に選択します。

a. 「soa-infra」を右クリックします。

b. 「サービス・エンジン」→「メディエータ」の順に選択します。

2. 「デプロイ済コンポーネント」タブをクリックします。
「デプロイ済のコンポーネント」ページには、2つのセクションがあります。上部のセクションでは表示するコンポーネントを検索でき、下部のセクションには検索によって返されたコンポーネントに関する情報が表示されます。

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

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

19.4 リシーケンス・グループの監視

「メディエータ・リシーケンス・グループ」ページを使用して、メディエータのリシーケンス・グループを表示および管理できます。

注意:

「メディエータ・コンポーネント」ページまたは「メディエータ・エンジン」(サービス・エンジン)ページは、リシーケンサ関連の情報のアクセスまたは構成のために使用することはできません。

メディエータのすべてのリシーケンサ・グループを管理および監視し、フォルト・リカバリのようなアクションを実行するには、「メディエータ・リシーケンス・グループ」ページと「フロー・インスタンス」ページを使用します。

リシーケンスによって、メディエータで同期外のメッセージを順序に戻すことができます。リシーケンスの詳細は、『Oracle SOA SuiteでのSOAアプリケーションの開発』のOracle Mediatorでのリシーケンスに関する項を参照してください。

リシーケンス・グループをモニターするには:

1. 「メディエータ・リシーケンス・グループ」ページに、次のいずれかのオプションを使用してアクセスします。

- SOAインフラストラクチャ・レベルでリシーケンス・グループを監視する手順は、次のとおりです。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「リシーケンス・グループ」を選択します。

a. 「soa-infra(server_name)」を右クリックします。

b. 「リシーケンス・グループ」を選択します。

「メディエータ・リシーケンス・グループ」ページが表示されます。

- 個々のパーティション・レベルでリシーケンス・グループを監視する手順は、次のとおりです。

特定のパーティションの「SOAパーティション」メニューから...

ナビゲータのSOAフォルダから...

a. 「リシーケンス・グループ」を選択します。

a. 「SOA」→「soa-infra (server_name)」を開きます。)

b. 特定のパーティションを右クリックします。

c. 「リシーケンス・グループ」を選択します。

「メディエータ・リシーケンス・グループ」ページが表示されます。

2. 指定した期間内に処理されたすべてのリシーケンス・グループを検索する場合は、期間を選択します。

3. 「リシーケンス・グループの検索」をクリックします。指定した期間内に処理されたすべてのリシーケンス・グループについて詳細が表示されます。詳細は次のとおりです。

- グループ: リシーケンス・グループの名前が表示されます。任意のグループ名をクリックすると、最後に処理されたシーケンスIDや次のシーケンスIDなどの詳細が表示されます。

- グループの場所: リシーケンス・グループの場所が表示されます。この場所は、コンポジットがデプロイされているコンポーネント名、コンポジット名、およびパーティションの名前で構成されます。

- グループ状態: リシーケンス・グループの状態が表示されます。これには、「フォルト」、「タイムアウト」または「実行中」があります。

- 最終処理時間: グループ内のメッセージが最後に処理されたときのタイムスタンプが表示されます。

- バックログ・メッセージ: リシーケンス・グループの保留中メッセージの数が表示されます。

4. グループ名をクリックして、グループの詳細を表示します。

- 「フォルト」のグループ状態を持つグループをクリックすると、次のグループの詳細が表示されます。

- フォルト時間

- 失敗した順序ID

- 次に処理するシーケンスID

「リカバリ可能インスタンスの検索」をクリックして「フロー・インスタンス」タブに移動し、そこでフォルト・インスタンスをリカバリできます。

- 「タイムアウト」のグループをクリックすると、次のグループの詳細が表示されます。

- 最後のメッセージ処理時間

- 最後処理シーケンスID

- 次に処理するシーケンスID

「スキップ」をクリックすると、グループをアンロックし、次の使用可能シーケンスIDの処理を開始できます。

- 「実行中」のグループをクリックすると、次の詳細が表示されます。

- メディエータのリシーケンサ・タイプが「標準」でない場合、次のメッセージが表示されます。
現在メッセージを処理中

- メディエータのリシーケンサ・タイプが「標準」である場合、次の詳細が表示されます。
* 最後のメッセージ処理時間

* 最後処理シーケンスID

* 次に処理するシーケンスID

「スキップ」をクリックすると、次の使用可能インスタンスまでスキップできます。

5. 「メディエータ・リシーケンス・グループ」ページで「フロー・インスタンス」をクリックして、グループに対応するビジネス・フロー・インスタンスを表示します。フロー・インスタンス・ページの操作の詳細は、「ビジネス・フロー・インスタンスのトラッキング」を参照してください。

6. 「リカバリ可能インスタンス」をクリックして、グループに対応するリカバリ可能フロー・インスタンスを表示します。フォルトからのリカバリの詳細は、「ビジネス・フロー・インスタンスでのフォルトからのリカバリ」を参照してください。

20 相互参照の管理

この章では、相互参照表から不要になった情報を削除する方法について説明します。相互参照を使用して、様々なアプリケーションで作成された同等のエンティティの識別子を関連付けます。

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

- 相互参照値の削除

相互参照の詳細は、『Oracle SOA SuiteでのSOAアプリケーションの開発』を参照してください。

20.1 相互参照値の削除

「相互参照」ページを使用すると、値を削除する表と列を選択できます。

相互参照の表から値を削除する手順は、次のとおりです。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「SOA管理」→「相互参照」の順に選択します。

a. 「soa-infra」を右クリックします。

b. 「SOA管理」→「相互参照」の順に選択します。

「相互参照」ページが表示されます。

2. 「表と列の選択」セクションで、次のいずれかのオプションを選択します。

- すべての表: すべての表から値を削除します。

- 表と列を選択します: 値を削除する特定の表を選択するか、値を削除する特定の表から1つ以上の列を選択します。

3. 「値の選択」セクションで、次のいずれかのオプションを選択します。

- すべて: 選択した表と列からすべての値を削除します。

- 削除対象としてマーク済: 選択した表と列から削除のマークが付けられた値のみを削除します。

- 更新期間: 特定の期間内に更新された値を削除します。

4. 前のステップで「更新期間」オプションを選択した場合は、「自」フィールドに開始日を、「至」フィールドに終了日を入力します。

5. 「削除」をクリックします。

第VII部 デシジョン・サービス・コンポーネントとビジネス・ルール・サービス・エンジンの管理

この部では、デシジョン・サービス・コンポーネントとビジネス・ルール・サービス・エンジンの管理方法について説明します。

この部は、次の章で構成されています。

- デシジョン・サービスのサービス・コンポーネントとエンジンの監視

21 デシジョン・サービスのサービス・コンポーネントとエンジンの監視

この章では、デシジョン・サービスのサービス・コンポーネント(サービス・エンジンのパフォーマンス統計とデプロイ済コンポジット、ビジネス・ルールのトレースおよびログ・ファイルを含む)の監視方法について説明します。デシジョン・サービスのサービス・コンポーネントは、Oracle Fusion Middlewareドキュメントではビジネス・ルール・サービス・コンポーネントとも呼ばれます。

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

- ビジネス・ルール・サービス・エンジンのパフォーマンス統計の監視

- ビジネス・ルール・サービス・エンジンのデプロイ済コンポーネントの監視

- ビジネス・ルールのトレースの監視

- デシジョン・サービスのサービス・コンポーネントのログの監視

ビジネス・ルールのチューニングとパフォーマンス・パラメータの詳細は、パフォーマンスのチューニングを参照してください。

注意:

ビジネス・ルール・サービス・エンジンではユーザー・レベルの構成がサポートされていません。

21.1 ビジネス・ルール・サービス・エンジンのパフォーマンス統計の監視

ビジネス・ルール・サービス・エンジンのパフォーマンスとメトリックは、ビジネス・ルール・サービス・エンジンの「統計」ページを使用して監視できます。このページには、コンポーネント・レベルの詳細ではなく、サービス・エンジン・レベルの詳細が表示されます。ビジネス・ルール・サービス・コンポーネントは、Oracle Fusion Middlewareドキュメントではデシジョン・サービスのサービス・コンポーネントとも呼ばれます。

ビジネス・ルール・サービス・エンジン統計を監視するには、次の手順を実行します。

1. 次のいずれかのオプションを使用して、ビジネス・ルール・サービス・エンジンの「統計」ページにアクセスします。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

「サービス・エンジン」→「ビジネス・ルール」の順に選択します。

a. 「soa-infra」を選択します。

b. 「サービス・エンジン」を右クリックして、「ビジネス・ルール」を選択します。

2. 「統計」をクリックします。
「統計」ページに、次の詳細が表示されます。

- 平均リクエスト処理時間: このグラフには、サーバー起動時以降のビジネス・ルール・サービス・エンジンの平均リクエスト処理時間が表示されます。つまり、サービス・エンジンが処理した単位時間当たりのリクエスト数が表示されます。

- ビジネス・ルールのキャッシュ統計: このセクションには、サービス・エンジン・キャッシュに関する詳細が表示されます。このセクションには、サービス・エンジンが使用したキャッシュのタイプと、各キャッシュ内のオブジェクト数がリストされます。これらすべてのメトリックは、サーバー起動時以降のオブジェクト数に基づきます。

- 「ビジネス・ルールの操作統計」: この領域には、操作統計が表示されます。操作統計を使用すると、サーバー起動時以降のOracle Business Rulesのデシジョン関数へのコール数を確認したり、サーバー起動時以降のデシジョン関数で要した合計時間を確認できます。

注意:

Oracle Fusion Middleware 11g リリース1 (11.1.1)で作成したコンポジット・アプリケーションについてビジネス・ルールの操作統計を表示すると、callFunction操作のみが表示されます。このリリースでは、デシジョン・サービスのサービスはデシジョン関数を使用してOracle Business Rulesをコールするのみで、この操作はcallFunctionと呼ばれる操作の値(「件数」フィールドと「平均(ミリ秒)」フィールドを使用)で示されます。以前のリリースから移行したコンポジット・アプリケーションの場合、デシジョン・サービスのサービスは、callFunction操作と「ビジネス・ルールの操作統計」セクションにリストされている他の操作を実行します。これらの移行プロジェクトでは、サービス・エンジン内の様々な重要操作を使用してリクエストのフローをデバッグできます。また、長時間に及ぶ操作を検索して必要なアクションを実行できます。これらのメトリックもサーバー起動時以降を基にしています。

ビジネス・ルールのチューニングとパフォーマンス・パラメータの詳細は、パフォーマンスのチューニングを参照してください。

21.2 ビジネス・ルール・サービス・エンジンのデプロイ済コンポーネントの監視

複数のSOAコンポジット・アプリケーションのデプロイ済デシジョン・サービスのサービス・コンポーネントはすべて、「デプロイ済コンポーネント」ページを使用して監視できます。デシジョン・サービスのサービス・コンポーネントは、Oracle Fusion Middlewareドキュメントではビジネス・ルール・コンポーネントとも呼ばれます。

ビジネス・ルール・サービス・エンジンのデプロイ済コンポーネントを監視する手順は、次のとおりです。

1. 次のいずれかのオプション使用して、ビジネス・ルール・サービス・エンジンの「デプロイ済コンポーネント」タブにアクセスします。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

「サービス・エンジン」→「ビジネス・ルール」の順に選択します。

a. 「soa-infra」を右クリックします。

b. 「サービス・エンジン」→「ビジネス・ルール」の順に選択します。

2. 「デプロイ済コンポーネント」をクリックします。
「デプロイ済コンポーネント」ページに、次の情報が表示されます。

- 特定のコンポーネントを検索するためのユーティリティ。基準を指定して「検索」をクリックします。

- コンポーネントのリスト。名前、SOAコンポジット・アプリケーション名およびステータス(稼働中または停止中)が表示されます。

3. 「名前」列で、名前をクリックしてコンポーネントのホーム・ページに移動し、コンポーネントの詳細を表示します。

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

詳細は、「サービス・コンポーネントの概要」を参照してください。

21.3 ビジネス・ルールのトレースの監視

Oracle Enterprise Manager Fusion Middleware Controlを使用してルール実行トレースを実行できます。Fusion Middleware Controlへのアクセスおよび使用の詳細は、「Oracle BPM Suiteの管理のスタート・ガイド」を参照してください。

ルール実行トレースは、ルールの評価中に発生するビジネス・ルール・サービス・エンジン・イベントのトレース・メカニズムです。トレースされるイベントのタイプは次のとおりです。

- ファクト操作(アサート、撤回および変更)

- ルール実行

- ルールのアクティブ化

- ルールセット・スタックの変更

- ルールのコンパイル

- リセット(分析中に状態を維持するために必要)

各トレースには、トレースするイベントに関する情報が含まれます。たとえば、実行されたルールのルール・トレース・エントリは次の内容で構成されます。

- ルール名(RL名)

- 実行順序番号

- このルールに一致したファクトのファクトIDのリスト

- ミリ秒単位のタイムスタンプ

ルール実行トレースの監査レベルは、SOAインフラストラクチャでサポートされている監査レベルと同じであり、次のものがあります。

- オフ: ルール実行トレースは無効です。デシジョン・コンポーネント・インスタンスはまったく作成されません。

- 開発: ファクト(リスト、変更やアサートなどの操作)、ルールのアクティブ化、ルールセットのポップまたはプッシュなどに関するすべての詳細情報を含む完全なルール実行トレース。実行されたルールが一致するファクトIDのリストも提供されます。例は、「開発監査レベルでのルール実行のトレース」を参照してください。

- 本番: 実行されたルールがトレースされます。ファクト、ルールのアクティブ化、ルールセットのポップまたはプッシュに関する詳細はすべて使用できません。トレースには、一致するファクトIDのリストは含まれません。例は、「本番監査レベルでのルール実行のトレース」を参照してください。

監査レベルはSOAインフラストラクチャ・レベルまたはコンポジット・レベルのいずれかに設定できます。SOAインフラストラクチャの監査レベルの構成情報は、「SOAインフラストラクチャ・プロパティの構成」を参照してください。SOAインフラストラクチャ・レベルで設定された場合、およびコンポジット・レベルで設定された場合の監査レベルの優先順位の説明は、「監査レベル設定の優先順位の概要」を参照してください。

次の各項では、ルール実行トレースのために監査レベルをコンポジット・レベルに設定する場合について説明します。

21.3.1 開発監査レベルでのルール実行のトレース

監査レベルを「開発」に設定すると、実行されたルールに関連するすべての詳細情報を表示できます。

開発レベルのルール実行トレースを実行する手順は、次のとおりです。

1. Oracle Enterprise Manager Fusion Middleware Controlでコンポジット・アプリケーションを開きます。

コンポジットの「ダッシュボード」ページに、最近実行されたビジネス・フロー・インスタンスのリストが表示されます。

2. 「設定」リストをクリックし、コンポジットの監査レベル→「開発」の順に選択して、トレース・レベルをコンポジット・レベルとして「開発」に設定します。

3. 「確認」ダイアログで「はい」をクリックします。

4. 「テスト」をクリックした後に、サービスの名前をクリックしてビジネス・フローのテスト・インスタンスを起動し、様々な入力パラメータに対応するデシジョン・トレースを表示します。

5. 「Webサービスのテスト」ページの「引数の入力」セクションの「値」フィールドに値を入力し、「Webサービスのテスト」ボタンをクリックします。

「ペイロードのロード」フィールドを使用してペイロード・ファイルを追加します。「参照」をクリックしてファイルを検索した後、「ペイロードの保存」をクリックしてファイルを保存します。

入力したOrder IDに基づいて、サービスはOrder IDの詳細を含むBPELプロセス・インスタンスを呼び出し、オーダー詳細に関連するルールが実行されます。

6. 「レスポンス」タブの「フロー・トレースの起動」をクリックして、「フローのトレース」ページを開きます。

7. 「トレース」セクションでRatingRulesというデシジョン・サービスのサービス・コンポーネント・インスタンスをクリックして、実際のルール実行トレースを表示します。

注意:

ビジネス・ルール・コンポーネントを起動する前後のコンポジット変数の値を表示することもできます。「フローのトレース」ページでBPELプロセス・コンポーネント・インスタンスをクリックしてから、該当する「ペイロード」をクリックする必要があります。この場合、BPELコンポーネント名はWlsRulesFaultProcessです。

RatingRulesというデシジョン・サービスのサービス・コンポーネントの実行トレースを示しています。

8. 「監査証跡内のルール・セット・スタック状態の表示」チェック・ボックスを選択すると、ルール実行の詳細が表示されます。

このチェック・ボックスを選択すると、トレースのみが影響を受けます(右側にある「ルール・セット・スタック」パネルは影響を受けません)。このチェック・ボックスにより、プッシュまたはポップされたステップが表示または非表示になります。デフォルト・オプションは「非表示」で、監査証跡の表示が圧縮されます。

開発レベルのトレース・レポートに、ファクト名、アクティブ化されているルール、プッシュおよびポップされたルールセット名が表示されます。

次の表に、トレース・レポートのエントリをリストします。

要素

説明

呼び出されたデシジョン・サービス名

呼び出されたデシジョン・サービスのサービス・コンポーネントの名前が表示されます。

アサートされたファクト

アサートされたファクトには次の3つのタイプがあります。

- 入力ファクト

- デシジョン関数の初期アクションの一部としてアサートされるファクト

- ルールの実行中にアサートされるファクト

アクティブ化されたルール

アクティブ化されているルールの名前が、ルールをアクティブ化したファクトの名前とともに表示されます。

プッシュされたルールセット

ファクトがアサートされたときに呼び出されたルールセットの名前が表示されます。

ルールセット内の起動されたルール

ルールが実行されたルールセットの名前が表示されます。

起動されたルール

実行されたルールの名前が表示されます。

変更されたファクト

ルール実行によって変更されたファクトの名前が表示されます。この変更されたファクトは、デシジョン・サービスのサービス・コンポーネントからBPELサービスに渡されます。

ポップされたルールセット

実行が完了したため、ルールセットが実行キューから取り出されたルールセットの名前が表示されます。

注意:

呼び出されたデシジョン・サービス名のエントリは、異なるシナリオでは異なって表示されます。

- AS10.1.3.xからAS11にアップグレードされた、AssertExecuteWatchパターンを持つルール・ディクショナリでは、トレース・レポートのエントリは「呼び出されたデシジョン・サービス」として表示されます。

- AS10.1.3.xからAS11にアップグレードされた、CallFunctionパターンを持つルール・ディクショナリでは、トレース・レポートのエントリは「呼び出されたデシジョン関数」として表示されます。

- AS11で作成されたディクショナリでは、エントリは「呼び出されたデシジョン関数」として表示されます。

実行トレースのノードをクリックして、ページの「ビジネス・ルール・エンジンの状態」セクションで対応するエンジンの状態を確認します。このセクションは、次のパネルで構成されています。

作業メモリー内のファクト: このパネルには、すでにアサートされ、現在サービス・エンジンによって推論されているオブジェクトのツリーが表示されます。このようなオブジェクトは、後続のルールのアクティブ化または起動につながる可能性があり、ルールの一部として変更または撤回できるオブジェクトです。

ルール・セット・スタック: このパネルには、現在スタック状態のルールセットとそのスタックの最上位にあるルールセットが表示されます。そのルールセット内のアクティブ化されたルールがすべて起動されると、次のルールセットがスタックの最上位に移動し、そのルールセットで起動準備ができた最初のルールが次に起動されます。

ルールのアクティブ化: このパネルには、起動されたルールとアクティブ化されているがまだ起動されていないルールのリストが表示されます。

ルールを含むルールセットがスタックの最上位にない場合、またはサービス・エンジンの競合解決セマンティクスに従って優先度が高いと見なされているルールが同じルールセット内にある場合、ルールのアクティブ化はできますが、起動はできません。

21.3.2 本番監査レベルでのルール実行のトレース

監査レベルを「本番」に設定すると、ルール実行トレースに関する切り詰められたレポートが提供されます。ルールセットと起動されたルールのみ表示され、ファクトに関する詳細やルールのアクティブ化などは表示されません。

本番レベルのトレースのプロセスは、開発レベルのトレースに似ています。ただし、本番レベルのトレースでは、次の操作を実行する必要があります。

Fusion Middleware Controlで、コンポジットを開いた後、「設定」メニューのコンポジットの監査レベルから「本番」を選択します。

図21-1は、トレース・レポートを表示する「フローのトレース」ページを示しています。

図21-1 フロー・トレースの監査証跡 - 本番

本番レベルのトレース・レポートに、ルールセットの名前と起動されたルールのみが含まれています。また、ドリルダウン詳細トレース・レポートを表示する「監査証跡内のルール・セット・スタック状態の表示」チェック・ボックスは、本番レベルのトレース・レポートでは使用できません。

21.4 デシジョン・サービスのサービス・コンポーネントのログの監視

デシジョン・サービスのサービス・コンポーネントのログを監視できます。デシジョン・サービスのサービス・コンポーネントは、Oracle Fusion Middlewareドキュメントではビジネス・ルール・サービス・コンポーネントとも呼ばれます。

21.4.1 デシジョン・サービスのサービス・コンポーネントのログの表示

デシジョン・サービスのサービス・コンポーネントのログを表示する手順は、次のとおりです。

1. ナビゲーション・ツリーで、soa-infraを選択して右クリックします。

2. 「ログ」→「ログ・メッセージの表示」の順に選択します。「ログ・メッセージ」ページが表示されます。

「ログ・メッセージ」ページが開きます。このページを使用して、ターゲット・ログ・ファイルを選択します。

21.4.2 ログ構成での診断ロギング・レベルの設定

「ログ構成」ページを使用してロギング・レベルを構成します。

ログ構成を使用して診断ロギング・レベルを設定するには、次の手順を実行します。

1. 「soa-infra」を右クリックして、「ログ」→「ログ構成」の順に選択します。

2. デシジョン・サービスのサービス・コンポーネントのロギング・レベルを構成するには、「oracle.soa.service.rules」→「oracle.soa.services.rules.obrtrace」ロガーの順に開いて、通知レベルを設定します。

第VIII部 ヒューマン・タスク・サービス・コンポーネントとヒューマン・ワークフロー・サービス・エンジンの管理

この部では、ヒューマン・タスク・サービス・コンポーネントとヒューマン・ワークフロー・サービス・エンジンの管理方法について説明します。

この部は、次の章で構成されています。

- ヒューマン・ワークフローのサービス・コンポーネントとエンジンの構成

- ヒューマン・ワークフローのサービス・コンポーネントとエンジンの監視

- ヒューマン・ワークフローのサービス・コンポーネントとエンジンの管理

22 ヒューマン・ワークフローのサービス・コンポーネントとエンジンの構成

この章では、ヒューマン・ワークフロー・サービス・コンポーネントとヒューマン・ワークフロー・サービス・エンジンの構成方法(メッセージやアクション可能なアドレスの通知モードの構成方法を含む)について説明します。また、アクション可能な電子メール・アカウント名などのワークフロー・サービス・プロパティ、およびOracle Internet Directory、Microsoft Active Directory、Oracle iPlanetなどの代替認証プロバイダの構成方法についても説明します。

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

- ヒューマン・ワークフローの通知プロパティの構成

- テスト・アドレスに通知を送信する通知サービスの構成

- ヒューマン・ワークフロー・タスク・サービス・プロパティの構成

- Oracle HTTP Serverでのタスク・フォームの添付の構成

- プラガブル通知サービスの構成

- タスクに対するオート・リリース・タイマーのグローバルな無効化

- 電子メール通知メッセージの数の構成

- 複数の送信アドレスの構成

- 通知の再試行の構成

- IDサービスの構成

- LDAPツールを使用したユーザー、グループおよびアプリケーション・ロールのシード

- ヒューマン・タスクでの大文字/小文字を区別しないグループ名の有効化

- ヒューマン・ワークフローWebサービスのセキュリティ・ポリシーの構成

デモ・ユーザー・コミュニティというユーザーとグループの組織階層のインストールと使用の詳細は、「データベースへのデモ・ユーザー・コミュニティのインストール」を参照してください。

ヒューマン・ワークフローのチューニングとパフォーマンス・プロパティの詳細は、パフォーマンスのチューニングを参照してください。

22.1 ヒューマン・ワークフロー通知プロパティの構成

ヒューマン・ワークフロー通知プロパティを構成できます。これには、メッセージに対する通知モードの設定やアクション可能なアドレスの設定などがあります。このプロパティは、タスクの状態の変化をユーザーに通知するために使用されます。ワークフロー通知では、次の3つのタイプのアドレスを使用できます。

- 送信元アドレス: 通知の送信用。

- アクション可能なアドレス: アクション可能なレスポンスの受信用。

- 返信先アドレス: 返信通知の受信用。

注意:

次の手順では、ワークフロー通知プロパティを構成する前に、チャネル・ドライバを構成する必要があります。手順を開始する前に、必要なすべてのドライバ(受信IMAP電子メール・サーバーや送信SMTP電子メール・サーバーなど)のアドレスを確認してください。

ヒューマン・ワークフロー通知プロパティを構成する手順は、次のとおりです。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「SOA管理」→「ワークフロー・プロパティ」→「メーラー」タブの順に選択します。

a. 「soa-infra」を右クリックします。

b. 「SOA管理」→「ワークフロー・プロパティ」→「メーラー」タブの順に選択します。

「ワークフロー通知プロパティ」ページが表示されます。

通知を送受信するために、Oracle User Messaging Serviceを構成します。構成時に、ヒューマン・ワークフローで使用するアドレスを指定します。

2. 「「メッセージング・ドライバ」ページに移動」をクリックします。
「メッセージング・ドライバ」ページが表示されます。

3. 「関連ドライバ」セクションに移動します。

4. 「ローカル」タブの「ドライバの構成」列で、構成するドライバを選択します。この例では、「ユーザー・メッセージング電子メール・ドライバ」を選択します。

選択したメッセージング・サービス・ドライバを構成するための「電子メール・ドライバ・プロパティ」ページが表示されます。

5. 「作成」アイコンをクリックします。

選択したメッセージング・サービス・ドライバを構成するための「ドライバ・プロパティの作成」ページが表示されます。

6. 手順4で選択したメッセージング・サービス・ドライバに応じて、次の項を参照してください。

選択したドライバ

参照先

メッセージング拡張

第26.4.1.3項「メッセージング拡張ドライバの構成」

注意: このドライバは「ローカル」タブからは選択できませんが、構成可能です。

電子メール

Oracle User Messaging Serviceの管理の電子メール・ドライバの構成に関する項

SMPP

Oracle User Messaging Serviceの管理のSMPPドライバの構成に関する項

XMPP

Oracle User Messaging Serviceの管理のXMPPドライバの構成に関する項

VoiceXML

Oracle User Messaging Serviceの管理のVoiceXMLドライバの構成に関する項

プロキシ

Oracle User Messaging Serviceの管理の第26.4.1.9項のプロキシ・ドライバの構成に関する項

たとえば、電子メール・ドライバを選択した場合は、次のようなプロパティが構成用に表示されます。

- 受信IMAPおよび送信SMTPの電子メール・サーバー。

- 送信サーバーのユーザー名およびパスワード。

- 送信者アドレスおよびデフォルト送信者アドレスのリスト。(これらのプロパティに指定するアドレスは、「ワークフロー通知プロパティ」ページの「電子メール: 送信者アドレス」と「電子メール : アクション可能なアドレス」フィールドに指定したアドレスと一致している必要があります。)

不適切な電子メールのレスポンスを処理するには、受信メールを処理するように電子メール・ドライバを構成する必要があります。これによって、ヒューマン・ワークフローの参加者は通知を送受信できます。メッセージング・ドライバは、様々なメッセージング・トランスポートをサポートしています。

注意:

- 構成する電子メール・サーバーのホスト名とIPアドレスは、Oracle SOA Suiteが稼働しているサーバーの/etc/hostsファイルにも追加する必要があります。たとえば、ホスト名がxyz.example.comで、IPアドレスがaa.bb.cc.ddの場合は、この情報を/etc/hostsファイルに追加します。

- インバウンド(IMAP)電子メール・サーバーまたはアウトバウンド(SMTP)電子メール・サーバー(あるいはその両方)を構成した後は、これらの設定を有効にするために、SOAインフラストラクチャが構成されている管理対象Oracle WebLogic Serverを再起動する必要があります。

7. ドライバの構成が完了したら、「適用」をクリックします。

8. 「ワークフロー通知プロパティ」ページに戻ります。

9. 通知サービスのモードを指定します。値は次のとおりです。

- すべて: 電子メール、ショート・メッセージ・サービス(SMS)、インスタント・メッセージ(IM)およびボイスの各チャネルが構成され、通知は任意の使用チャネルを介して送信されます。

- 電子メール: 通知メッセージを送信するために電子メール・チャネルのみが構成されます。

- なし: 通知メッセージ送信するためのチャネルは構成されません。これがデフォルトの設定です。

10. 通知チャネルの値を指定します。

フィールド

説明

例

電子メール: 送信者アドレス

エンド・ユーザーが通知を受信する送信電子メール・アドレスを入力します。

指定するアドレスは、Oracle User Messaging Serviceの「電子メール・ドライバ・プロパティ」ページで指定したデフォルトの送信者アドレスおよび送信者アドレスと一致する必要があります。

注意: 送信電子メール・アドレスが受信メッセージも受信するように構成されている場合は、エラー・メッセージのみ受信できます。これによって、不適切または存在しない電子メール・アドレスからのエラー・メッセージがサーバーによってキャプチャされます。「電子メール: 返信先アドレス」フィールドで別の受信アカウントを構成しても、エラー・メッセージはサーバー・ログに表示されません。

「電子メール・ドライバ・プロパティ」ページで、送信者アドレスに送信電子メール・アドレスを指定することがベスト・プラクティスです。

workflow.notifications@mycompany.com

電子メール : アクション可能なアドレス

タスク・アクションを実行するための受信電子メール・アドレスを入力します。このアクション可能な電子メール・アカウントは、ヒューマン・ワークフローによって受信し処理するタスク・アクション関連電子メールです。

指定するアドレスは、Oracle User Messaging Serviceの「電子メール・ドライバ・プロパティ」ページで指定した受信者アドレスと一致する必要があります。

workflow.actions@mycompany.com

電子メール: 返信先アドレス

Oracle SOA Suiteから送信された電子メールに表示するアドレスを入力します。no.reply@mycompany.comなどのダミー・アドレスか、または有効なアドレスを入力できます。有効なアドレスを入力し、このアドレスを「メッセージング・ドライバ」ページで構成していた場合、ユーザーがアクション可能な電子メール・アドレスに返信すると、ヒューマン・ワークフローにより、使用方法が正しいことを示す電子メールが自動的に送信されます。これは、別の受信電子メール・アカウントです。

「電子メール・ドライバ・プロパティ」ページで、この電子メール・アカウントをアクション可能な電子メール・アドレス以外のアドレスに設定することがベスト・プラクティスです。(これをアクション可能な電子メール・アドレスと同じアドレスに設定すると、電子メール通知への自動返信または何らかの返信がワークフロー・エンジンによって処理され、未承諾の電子メールとして返されることがあります)。

workflow.no.reply@mycompany.com

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

12. システムMBeanブラウザで拡張通知プロパティを構成するには、「詳細ワークフロー通知構成プロパティ」をクリックします。表示されるプロパティの一部を次に示します。各プロパティには説明が記載されています。

- 「ASNSDriverIMAddress」: 受信インスタント・メッセージ(IM)を受信するアドレス。

- 「CustomNSDriverPropertyNames」: カスタム通知サービス・プロパティ名を返します。

- 「FaxCoverPageCount」: 構成されたFAXの表紙のページ数を返します。

- 「RetryNotificationMessageThrottle」: 通知の再試行サイクル時に処理可能な電子メール通知メッセージの数。詳細は、「電子メール通知メッセージの数の構成」を参照してください。

13. 使用環境に適した変更を行います。

注意:

IMメッセージにアクション可能と思われるコンテンツが含まれている場合、そのメッセージ内からタスクを操作しても、アクションは実行されません。たとえば、次のIMメッセージでタスクを操作しても、アクションは実行されません。

Help desk request for wfaulk  Task Help desk request for  wfaulk
requires your attention.  NOTE: You can act on the task by
copy-pasting one of following  lines as your response.

RESOLVED : [[NID]] :
Pt12uRUu9H+Xem4NYS2o7dKDtqNLs42d4YIs8ySO8Gn0ZVYFsb1SQVenRukRE+
IcE7c4XDb+tPazvP v9T2iA0qylDg0bTaVxX13HhsrCYAg= : [[NID]]
UNRESOLVED : [[NID]] :
xT9l06rbaGRAey+BtgQyJIXk62mkFtCe7ocKxwNLIsPzyE5/7AnGwXlBodEgQxr6
jorvsw2F54k/C1 r5mvyAJpAp4I4IekOHi4qhQ3eSbBHdzET1IL4F3qV/KZ/BAUsq :
[[NID]]

送信メッセージが適切な宛先に到着していることのテストを含む、ヒューマン・ワークフローにおける電子メール経由の受信および送信通知の管理の詳細は、「送信通知および受信電子メール通知の管理」を参照してください。

通知とユーザー・メッセージング・サービスの詳細は、次のドキュメントを参照してください。

- Oracle User Messaging Serviceの管理

- Oracle User Messaging Serviceによるアプリケーションの開発

22.2 テスト・アドレスに通知を送信する通知サービスの構成

本番用のアドレスではなくテスト・アドレスにすべての通知を送信するように、Oracle Human Workflow通知サービスを構成できます。これを行うには、Oracle Enterprise ManagerのシステムMBeanブラウザを使用します。

テスト・アドレスに通知を送信するように通知サービスを構成する手順は次のとおりです。

1. Oracle Enterprise ManagerのシステムMBeanブラウザにナビゲートします。「SOAインフラストラクチャ」メニューから、「管理」→「システムMBeanブラウザ」の順に選択します。または
ナビゲータのSOAフォルダから「soa-infra」を右クリックし、「管理」→「システムMBeanブラウザ」を選択します。

2. 「HWFMailerConfig」 Mbeanを検索します。これを行うには、「システムMBeanブラウザ」ナビゲータ・ペインで、「検索」アイコンをクリックします。「検索」リストで「MBean名」を選択し、リストの右側のテキスト・ボックスにHWFMailerConfigと入力します。「検索」矢印をクリックします。
対応する情報が右のペインに表示されます。

3. 「操作」ページを選択します。テスト・アドレスを設定する手順は次のとおりです。

a. 「操作」ページで、「addTestNotificationAddress」を選択します。「操作: addTestNotificationAddress」ページが表示されます。

b. 「パラメータ」表の「チャネル」行の「値」列に、それを経由して通知を送信するチャネルを指定します(例: 電子メール、SMS、FAX、IM、ボイス、ページャ)。

c. 「パラメータ」表の「testNotificationAddress」行の「値」列に、テスト受信者のアドレス(例: testAddress@yourDomain.com)を入力します。

d. 「起動」をクリックします。

e. 変更を有効にするには、SOAサーバーを停止して再起動する必要があります。

「Enterprise Manager」通知管理画面では、元の電子メール・アドレスが送信先アドレスとして表示されたままになります。

テスト・ユーザーは、アクション可能なすべての電子メールに返信できます。テスト電子メール・アドレスは、返信電子メール処理の一部として検証されるように、アイデンティティ・ストアのユーザーに属するようにしてください。

テスト・アドレスで通知サービスが開始され、受信者アドレスがテスト・アドレスに切り替えられると、ログに警告が記録されます。これは、テスト通知アドレスの不適切な構成を特定するのに役立ちます。

22.2.1 テスト・アドレスを削除する方法

テスト・アドレスを削除する手順は次のとおりです。

1. 「操作」ページで、「removeTestNotificationAddress」を選択します。右側のペインに「操作: removeTestNotificationAddress」ページが表示されます。

2. 「パラメータ」表の「チャネル」行の「値」列に、削除する通知用チャネルを指定します(例: 電子メール、SMS、FAX、IM、ボイス、ページャ)。

3. 「起動」をクリックします。

22.3 ヒューマン・ワークフロー・タスク・サービス・プロパティの構成

アクション可能な電子メール・アカウント名の割当て、ワークフロー・セッションのタイムアウトとカスタム・クラスパスURLのプロパティ値の指定、割当てサービスの動的割当てとタスク・エスカレーション関数の構成、およびヒューマン・ワークフロー・プロパティの追加設定を実行できます。

Dynamic Assignment Functionでは、グループまたはアプリケーション・ロールから、あるいはユーザー、グループまたはアプリケーション・ロールのリストから、特定のユーザー、グループまたはアプリケーション・ロールが選択されます。特定のDynamic Assignment Functionに固有の基準に基づいて選択されます。

ヒューマン・ワークフロー・タスク・サービス・プロパティを構成する手順は、次のとおりです。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「SOA管理」→「ワークフロー・プロパティ」→「タスク」タブの順に選択します。

a. 「soa-infra」を右クリックします。

b. 「SOA管理」→「ワークフロー・プロパティ」→「タスク」タブの順に選択します。

「ワークフロー・タスク・サービス・プロパティ」ページの上部には、「アクション可能な電子メール・アカウント」のフィールドと事前定義されたDynamic Assignment Functionが表示されます。

2. 次の詳細を入力します。

関数

説明

アクション可能な電子メール・アカウント

使用するアクション可能な受信電子メール・アカウントを入力します。

デフォルトのアカウント名は、Default (「ヒューマン・ワークフロー通知プロパティの構成」で構成したアカウント)です。別のアカウント名をこのフィールドに指定する場合は、「複数の送信アドレスの構成」の説明に従ってアカウントを作成し、構成してください。

ワークフロー・サービス・セッション・タイムアウト

Oracle BPM Worklistにログインしたユーザーが、セッションが失効して再度ログインが必要になるまでの、非アクティブの状態でいることができる時間の長さを入力します。この値は、TaskQueryService認証方法のいずれかを使用して作成された認証セッションにも適用されます。

ワークフロー・カスタム・クラスパスURL

URLクラスパスを入力します。これは、ワークフロー・サービスが、カスタム動的割当てとタスク・エスカレーション関数、カスタム・コールバックおよびシステム・リソース・バンドルWorkflowLabels.propertiesのカスタマイズされたインスタンスを実装するクラスを参照するために使用されるクラスパスです。

クラスパスには任意の有効なURLを指定できます(ローカル・ファイル・パスまたはリモートURL)。クラスパスにはディレクトリまたはJARファイルのいずれかを指定できます。URLにはプロトコルを含める必要があります。ローカル・ファイルシステムのクラスパスの場合は、'file:///example/directory/'のように、fileプロトコルを指定する必要があります。URLがディレクトリを示す場合は、スラッシュ('/')文字を含める必要があります。

クラスパスは複数のURLで構成することができ、クラスパスの各URLはカンマ(',')で区切ることができます。

3. 「動的割当てとタスク・エスカレーション関数」セクションに移動します。
次の表に、Dynamic Assignment Functionの定義を示します。独自の関数を作成してワークフロー・サービスに登録することもできます。

関数

Type

説明

MANAGERS_MANAGER

タスク・エスカレーション

この関数は、タスクのマネージャのマネージャを取得します。

ROUND_ROBIN

動的割当て

この関数は、各ユーザー、グループまたはアプリケーション・ロールを順に選択します。この関数では、初期化パラメータMAX_MAP_SIZEが使用されます。このパラメータは、関数がROUND_ROBINカウントを維持できる一連のユーザー、グループまたはロールの最大数を指定します。Dynamic Assignment Functionでは、ROUND_ROBIN関数を実行するように要求される各グループ、ロール(またはユーザー、グループ、ロールのリスト)について、参加者のリストがメモリーに保持されます。

LEAST_BUSY

動的割当て

この関数は、現在割り当てられているタスク数が最も少ないユーザー、グループまたはロールを選択します。

MOST_PRODUCTIVE

動的割当て

この関数は、一定期間(デフォルトでは過去7日間)に完了したタスク数が最大のユーザー、グループまたはロールを取得します。この関数は初期化パラメータDEFAULT_TIME_PERIODを使用します。このパラメータは、生産性を計算する期間(日数)を指定します。この値は、MOST_PRODUCTIVE Dynamic Assignment Functionのコール時にオーバーライドされます。

4. 関数をクリックして、「パラメータ」セクションに、その関数のパラメータと値を表示します。

5. 「追加」をクリックして、関数を追加します。次の項目を指定するためのプロンプトが表示されます。

- 関数名

- クラスパス

- 関数のパラメータ名

- 関数のパラメータ値

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

7. 関数のパラメータ値を更新するには、「動的割当てとタスク・エスカレーション関数」表で関数を選択します。
編集するパラメータ値が表示されます。

8. 値を更新します。

9. 「拡張」セクションを展開します。
「拡張」セクションには、次のプロパティが表示されます。

次の表に、これらのプロパティの定義を示します。

プロパティ

説明

ワークリスト・アプリケーションURL

タスクを要請する電子メールでは、Oracle BPM Worklistへのリンクが、このプロパティから読み込まれます。

この要素はURLを識別します。カスタムのOracle BPM Worklistを作成する場合は、この要素を構成すると役に立ちます。このURLにあるPC_HW_TASK_ID_TAGタグは、電子メールにURLを作成するときにタスクIDに置換されます。

割当て先のプッシュバック

タスクは、前の承認者または前の割当て先にプッシュバックできます。当初の割当て先は、タスクの再割当てやエスカレートを行っている可能性があるため、承認者ではないことがあります。この要素に対する可能な値は、INITIAL_ASSIGNEESおよびAPPROVERです。

ポータル・レルム・マッピング

このプロパティは、HTTPサーブレット・リクエストのユーザーを、タスク問合せサービス・メソッドcreateContextを介して認証する際(Oracle BPM Worklistがシングル・サインオン(SSO)環境で実行されている場合など)に使用されます。HTTPサーブレット・リクエストには、リモート・ユーザーが属しているアイデンティティ・サービス・レルムに関する情報が含まれていません。このパラメータは、HTTPサーブレット・リクエスト・リモート・ユーザー内のユーザーの認証に使用するレルムを構成するために使用されます。

注意: このプロパティは使用されなくなったため、変更しないでください。

タスク・オート・リリース構成

タスクがグループ、アプリケーション・ロールまたは複数ユーザーに割り当てられると、ユーザーはタスクを実行する前に、そのタスクを獲得する必要があります。獲得されたタスクを他のユーザーが実行することはできません。獲得したが操作しないタスクは、最終的には自動的にリリースされ、他のユーザーが獲得できます。これによって、獲得したタスクが未実行のまま放置されることを防止します。同時に、他のユーザーによるタスクの実行を防止します。タスク・オート・リリースを使用すると、ユーザーがタスクを獲得してから、システムが自動的にそのタスクをリリースして他のユーザーに再度開放するまでの経過時間を構成できます。オート・リリースまでの経過期間は、デフォルトの経過時間として、また指定タスクの有効期間に対する割合として構成できます。オート・リリースまでの経過期間はまた、タスクの優先度に応じて様々に構成できます。

たとえば、優先度2のタスクに対するタスク・オート・リリース経過期間を50%に設定するとします。このタスクのデフォルトの経過期間は12時間です。優先度2のタスクが2日後に失効するように設定すると、このタスクは1日後(失効経過期間の50%)に自動的にリリースされます。このタスクに失効日を設定しない場合、タスクは12時間後(デフォルトのオート・リリース経過期間)に自動的にリリースされます。

10. 使用環境に適した変更を行います。

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

12. システムMBeanブラウザで拡張タスク・サービス・プロパティを構成するには、「詳細ワークフロー・タスクサービス構成プロパティ」をクリックします。表示される拡張プロパティのリストは、「ヒューマン・ワークフロー通知プロパティの構成」の手順12を参照してください。

13. 使用環境に適した変更を行います。

タスク・サービスと割当てサービスの詳細は、『Oracle SOAスイートでのSOAアプリケーションの開発』を参照してください。

22.4 Oracle HTTP Serverでのタスク・フォームの添付の構成

Oracle HTTP Server (OHS)からタスク・フォームに添付を追加する場合は、場所として/ADFAttachmenthelperをOHS構成に含める必要があります。たとえば、instance_home/config/OHS/ohs_instanceの下にあるOHSのmod_wl_ohs.configファイルに次の内容を追加します。

<Location /ADFAttachmentHelper>
SetHandler weblogic-handler
PathTrim /weblogic
ErrorPage  http:/WEBLOGIC_HOME:WEBLOGIC_PORT/
</Location>

22.5 Oracle Human Workflow通知用のOracle Advanced Queuingの構成

Oracle Human Workflow通知用にOracle Advanced Queuingを構成するには、Oracle Enterprise Manager Fusion Middleware Controlで、HWFMailer構成の下にあるマネージドBeanプロパティUseAQをTRUEに設定します。SOAサーバーを再起動します。

サーバーを再起動すると、新しい通知メッセージがOracle Advanced Queuingにエンキューされます。JMSキューに保留中のメッセージは、通知再試行スレッドによってOracle Advanced Queuingにエンキューされます。

22.6 プラガブル通知サービスの構成

デフォルトの通知サービス・プロバイダのかわりに、カスタム通知サービスの実装をプラグインして使用できます。カスタム通知サービスは、すべてのチャネルまたは選択した特定のチャネルに対してプラグインできます。たとえば、この通知サービスはデフォルトのSMS通知サービスのかわりに、既存のSMS実装にプラグインできます。

22.6.1 プラガブル通知サービスの実装

通知サービスをプラグインするには、次のタスクのいずれかを実行します。

- インタフェースoracle.bpel.services.notification.ICustomNotificationServiceを実装します

- 抽象クラスoracle.bpel.services.notification.AbstractCustomNotificationServiceImplを拡張します。

このインタフェースには、次のチャネル用のメソッドがあります。

- 電子メール

- ボイス

- SMS

- IM

プラグインした通知サービスによって、1つ以上のチャネルのデフォルト・プロバイダをオーバーライドできます。チャネルのサブセットに対するデフォルト実装が、カスタム通知サービスによってオーバーライドされているときは、他のチャネル(オーバーライドされていないチャネル)に対応するメソッドが通知サービスでコールされることはありません。これらのメソッドが返すのは、NULL値のみです。また、この実装によって、次の抽象クラスを拡張できます。

oracle.bpel.services.notification.AbstractCustomNotificationServiceImpl

このクラスは、各チャネルに対して空の実装を提供します。この場合、実装で拡張されるのは適切なチャネルのメソッドのみです。

実装とその依存クラスは、Oracle WebLogic Serverのクラスパスで使用可能であることが必要です。

22.6.2 プラガブル通知サービスの登録

実装したプラガブル通知サービスは、システムMBeanブラウザで登録します。

プラガブル通知サービスを登録する手順は、次のとおりです。

1. Oracle Enterprise Manager Fusion Middleware Controlにログインします。

2. ナビゲータで、「SOA」フォルダを開きます。

3. 「soa-infra」を右クリックし、「管理」→「システムMBeanブラウザ」の順に選択します。

システムMBeanブラウザがページの右側に表示されます。

4. 「アプリケーション定義のMBean」→「oracle.as.soainfra.config」→「サーバー: server_name」→「HWFMailerConfig」→「human-workflow」の順に展開します。

5. ページの右側で、「CustomNSDriverPropertyNames」プロパティをクリックします。

6. 「CustomNSDriverPropertyNames」に表示される、「すべて」、「ボイス」、「電子メール」、「FAX」、「ページャ」、「SMS」および「IM」プロパティの値を書き留めます。

7. 「戻る」をクリックします。

8. 「操作」タブをクリックします。

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

10. 「propertyName」の「値」フィールドに、「CustomNSDriverPropertyNames」ページで書き留めた「すべて」、「ボイス」、「電子メール」、「FAX」、「ページャ」、「SMS」および「IM」プロパティの値のいずれかを入力します。次の詳細に注意してください。

- 電子メール・チャネルのみのデフォルト実装をオーバーライドする場合は、「propertyName」の「値」フィールドに「電子メール」の値を使用し、「propertyValue」の「値」フィールドには実施する実装の完全なクラス名を使用します。

- 他のチャネルのオーバーライドは、電子メール・チャネルの場合と同様に構成します。

- 「propertyName」の「値」フィールドに「すべて」プロパティの値を使用することは、指定の全チャネルへの実装を意味します。

11. 「propertyValue」の「値」フィールドで、実装の完全なクラス名を指定します。

12. 「起動」をクリックします。

13. Oracle WebLogic Serverを再起動します。

22.7 Oracle BPM Worklistタスクに対するオート・リリース・タイマーのグローバルな無効化

すべてのOracle BPM Worklistタスクに対してオート・リリース・タイマーが有効であるためにデータベースやJVMでオーバーヘッドが発生している場合は、タイマーをグローバルに無効にできます。

Oracle BPM Worklistタスクに対してオート・リリース・タイマーをグローバルに無効にする手順は、次のとおりです。

1. 「soa-infra」を右クリックし、「管理」→「システムMBeanブラウザ」の順に選択します。

システムMBeanブラウザがページの右側に表示されます。

2. 「アプリケーション定義のMBean」→「oracle.as.soainfra.config」→「サーバー: server_name」→「WorkflowConfig」→「human-workflow」→「WorkflowConfig.TaskAutoReleaseConfiguration」の順に展開します。

3. 変更するタスクの優先度を選択します。タスク・インスタンスごとに優先度があります。

- Priority[1]

- Priority[2]

- Priority[3]

- Priority[4]

- Priority[5]

4. 「属性」タブで、「DefaultDuration」をクリックします。

5. 「値」フィールドに、P0Dと入力します(0日を示します)。デフォルト値はP1D (1日)です。

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

7. オート・リリースを無効にする残りの優先度について、ステップ3から6を実行します。

完了すると、変更した優先度を指定して新規作成するタスク・インスタンスでは、オート・リリースが無効になります。

22.8 電子メール通知メッセージの数の構成

通知の再試行サイクル時に処理可能な電子メール通知メッセージの数は、システムMBeanブラウザのRetryNotificationMessageThrottleプロパティを使用して制御できます。このプロパティによって、キュー内のメッセージのオーバーロードを防ぎ、通知メッセージ・ペイロードのメモリー・サイズを縮小できます。

電子メール通知メッセージの数を構成する手順は、次のとおりです。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「SOA管理」→「ワークフロー・プロパティ」の順に選択します。

a. 「soa-infra」を右クリックします。

b. 「SOA管理」→「ワークフロー・プロパティ」の順に選択します。

2. 「詳細ワークフロー通知構成プロパティ」をクリックします。

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

4. 「値」フィールドに値を入力します。デフォルトは200000メッセージです。

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

22.9 複数の送信アドレスの構成

一部のプロセスでは、電子メールの送信元アドレスに基づいて電子メール通知を区別することが必要な場合があります。たとえば、人事管理のBPELプロセスでは、HR@yourcompany.comと設定された送信元アドレスを使用して電子メールを送信し、財務のBPELプロセスでは、finance@yourcompany.comと設定された送信元アドレスを使用して電子メールを送信します。

複数の送信アドレスを構成する手順は、次のとおりです。

1. Oracle Enterprise Manager Fusion Middleware Controlにログインします。

2. ナビゲータで、「SOA」フォルダを開きます。

3. 「soa-infra」を右クリックし、「管理」→「システムMBeanブラウザ」の順に選択します。

システムMBeanブラウザがページの右側に表示されます。

4. 「アプリケーション定義のMBean」→「oracle.as.soainfra.config」→「サーバー: server_name」→「HWFMailerConfig」→「human-workflow」の順に展開します。

5. 「属性」タブの下にある、「ASNSDrivers」属性の値を書き留めます。デフォルトでは、「デフォルト」の値のみが使用可能です。

6. 「戻る」をクリックします。

7. 「操作」タブをクリックします。

8. 「setASNSDriver」をクリックします。

9. 「propertyName」に値(この例ではEmailFromAddress)を入力します。

10. 「propertyValue」に値(この例ではHR@yourcompany.com)を入力します。

11. 「driverName」に値(この例ではHR)を入力します。

12. 「起動」をクリックします。

13. 必要な送信者アドレス数と同数のアカウントを追加します。

- 「propertyName」に値(この例ではEmailFromAddress)を入力します。

- 「propertyValue」に値(この例ではfinance@yourdomain.com)を入力します。

- 「driverName」に値(この例ではFinance)を入力します。

14. 「起動」をクリックします。

「ASNSDriver」属性には前述の手順で作成したすべてのアカウントが表示され、「getASNSDriverAddresses」操作には各ドライバで使用されるアドレスが表示されます。詳細は、Oracle User Messaging Serviceの管理のOracle User Messaging Serviceの構成に関する項を参照してください。

15. Oracle WebLogic Server管理コンソールを使用して、Oracle User Messaging Serviceの複数の電子メール・ドライバを送信者アドレスごとに1つずつインストールします。

16. 送信電子メールの送信用に必須の送信者アドレスを使用するように、電子メール・ドライバを構成します。

17. 設計時にOracle JDeveloperで、人事管理のBPELプロセスの電子メール・アクティビティを構成する際にアカウント名にHRを使用し、財務のBPELプロセスの電子メール・アクティビティを構成する際にアカウント名にFinanceを使用します。

22.10 通知の再試行の構成

Oracle SOA Suiteは、信頼性のある通知をサポートしています。アウトバウンド通知では、一意の通知IDを使用して通知メッセージが作成され、そのメッセージと一意のIDはデハイドレーション・ストアに格納されます。次に、この一意のIDがJMSキューにエンキューされ、トランザクションがコミットされます。このキューをリスニングしているメッセージドリブンBean (MDB)は、メッセージをデキューしてユーザーに通知を送信します。通知に失敗すると、その通知は3回再試行されます。すべての再試行に失敗すると、この通知はエラー発生としてマークされます。

22.11 アイデンティティ・サービスの構成

デフォルトでは、アイデンティティ・サービスは、Oracle WebLogic Serverの埋込みLDAPサーバーをデフォルトの認証プロバイダとして使用します。ただし、デフォルトのオーセンティケータとともに、Oracle Internet Directory、Microsoft Active DirectoryまたはOracle iPlanetなどの代替認証プロバイダを使用するようにOracle WebLogicを構成できます。

注意:

Oracle Virtual Directoryプラグインの構成と使用の詳細は、Oracle Fusion Middleware Oracle Virtual Directory管理者ガイドのOracle Virtual Directoryプラグインの理解に関する項を参照してください。

この項では、Oracle WebLogic管理コンソールまたはOracle Directory Services Managerを使用して認証プロバイダを追加し、その認証プロバイダのユーザーとグループを作成する方法を説明します。

複数のLDAP認証プロバイダの構成の詳細は、『Oracle Platform Security Servicesによるアプリケーションの保護』のアイデンティティ・ストア・サービスの構成に関する項を参照してください。

この節では、以下のトピックについて説明します。

- 認証プロバイダの追加

- 認証プロバイダのユーザーとグループの作成

- ディレクトリ・サービスの構成

デモ・ユーザー・コミュニティというユーザーとグループの組織階層のインストールと使用の詳細は、「データベースへのデモ・ユーザー・コミュニティのインストール」を参照してください。

注意:

Oracle Fusion Middlewareでは、カスタム・アイデンティティ・ストアと対話するユーザーおよびロールAPIを有効にするプロバイダがサポートされます。

詳細は、『Oracle Platform Security Servicesによるアプリケーションの保護』の「ユーザーおよびロールAPIによる開発」の章を参照してください。

22.11.1 認証プロバイダの追加

認証プロバイダは、Oracle WebLogic Server管理コンソールを使用してセキュリティ・レルムに追加できます。

認証プロバイダを追加する手順は、次のとおりです。

1. Oracle WebLogic Server管理コンソールにログインします。

2. 「ドメイン構造」ペインで「セキュリティ・レルム」をクリックし、リスト内のレルム名(「myrealm」など)をクリックします。

3. 「プロバイダ」→「認証」の順にクリックします。

「認証プロバイダ」ページが表示されます。

4. 「新規」をクリックして、新しい認証プロバイダを追加します。

「新しい認証プロバイダの作成」ページが表示されます。

5. 「名前」フィールドにプロバイダの名前を入力し、「タイプ」ドロップダウン・リストを使用してオーセンティケータ・タイプを選択して、「OK」をクリックします。

たとえば、Oracle Internet Directoryを使用してユーザー認証する場合は、名前として「OIDAuthenticator」を入力し、タイプとして「OracleInternetDirectoryAuthenticator」を選択します。

同様に、名前を入力して、リストから「ActiveDirectoryAuthenticator」、「iPlanetAuthenticator」、「openLDAPAuthenticator」または「NovellAuthenticator」を選択すると、対応するオーセンティケータを指定できます。

注意:

Oracle Internet Directoryを認証プロバイダとして使用する場合は、Oracle Directory Services Managerを使用して、「orclsslinteropmode」属性を「0」(ゼロ)に設定する必要があります。詳細は、「ディレクトリ・サービスの構成」を参照してください。

6. 「プロバイダ」→「認証」ページで、作成したオーセンティケータをクリックします。

認証プロバイダの設定が表示されます。

7. 「制御フラグ」ドロップダウン・リストから「SUFFICIENT」を選択し、「保存」をクリックします。

これによって、このオーセンティケータを使用してユーザーが正常に認証された場合、WebLogicは認証を受け入れ、追加のオーセンティケータを続けて呼び出さないことが指定されます。認証が失敗した場合、Oracle WebLogic Serverは、リストの次のオーセンティケータを使用してユーザーの認証を試行します。

「制御フラグ」を「SUFFICIENT」に設定すると、後続のすべてのオーセンティケータでも「制御フラグ」が「SUFFICIENT」に設定されます。同様に、デフォルトのオーセンティケータの「制御フラグ」も「SUFFICIENT」に設定されます。

8. 「プロバイダ固有」をクリックし、オーセンティケータ・サーバーの詳細を入力します。

9. 認証プロバイダのプロバイダ固有情報を入力し、「取得したユーザー名をプリンシパルとして使用する」チェック・ボックスを選択して、「保存」をクリックします。

次の情報を指定する必要があります。残りのフィールドはデフォルト設定を使用します。

フィールド

説明

ホスト

オーセンティケータ・サーバーが稼働しているホスト名またはIPアドレス。

ポート

オーセンティケータ・サーバーが稼働しているポート番号。

プリンシパル

サーバーへの接続時にOracle WebLogic Serverが使用するオーセンティケータ・サーバー・ユーザーの識別名(DN)。

資格証明

オーセンティケータ・サーバーへの接続に使用する資格証明(通常はパスワード)。

ユーザー・ベースDN

ユーザーが含まれているLDAPディレクトリ内のツリーのベース識別名(DN)。

グループ・ベースDN

グループが含まれているLDAPディレクトリ内のツリーのベース識別名(DN)。

取得したユーザー名をプリンシパルとして使用する

LDAPサーバーから取得したユーザー名をサブジェクトのプリンシパルとして使用するかどうかを指定します。

ユーザー名属性

ユーザー名を指定するLDAPユーザー・オブジェクト・クラスの属性(例: UID、CN、MAIL)。

注意:

「すべてのユーザーのフィルタ」、「名前指定によるユーザー・フィルタ」および「ユーザー名属性」の各フィールドには、同じユーザー名属性を使用する必要があります。

10. 「セキュリティ・レルム」→「プロバイダ」→「認証」の順にクリックして、認証プロバイダのリストに戻ります。

11. 「並替え」をクリックします。

「認証プロバイダの並べ替え」ページが表示されます。

12. 新しい認証プロバイダを選択し、「上へ」矢印をクリックしてリストの最上位にそのプロバイダを移動し、「OK」をクリックします。

並べ替え後は、「DefaultAuthenticator」がリストの最下位に表示されます。このアクションによって、通常LDAPディレクトリ内に存在しないが、サーバーを起動するために認証が必要なweblogicでのログインを処理できるようになります。

複数の認証プロバイダが構成されている場合、認証は、制御フラグの設定に従ってオーセンティケータのリストをフォールスルーします。ただし、Javaポートレット仕様(JPS)では、プロバイダ・リストの最初のエントリに対してのみ認可が提供されます。

22.11.1.1 ユーザー属性の更新

ログイン・ユーザー(ユーザー属性)として電子メール・アドレスを使用するように、Oracle WebLogic Server管理コンソールで認証プロバイダの設定を変更できます。次の手順を実行する必要があります。

1. Oracle WebLogic Server管理コンソールにログインします。

2. 「ドメイン構造」ペインで、「セキュリティ・レルム」を選択します。「セキュリティ・レルムのサマリー」ページが表示され、使用可能なレルムがリストされます。

3. リストで、変更するレルムの名前をクリックします。そのレルムの「設定」タブが表示されます。

4. 「プロバイダ」→「認証」を選択します。

5. 「認証」タブで、変更する認証プロバイダを選択します。その認証プロバイダの「設定」タブが表示されます。

6. 「構成」→「プロバイダ固有」の順に選択して、次のフィールドを更新します。

- すべてのユーザーのフィルタ: 値を(&(mail=)(objectclass=person)に設定します。

- 名前指定によるユーザー・フィルタ: 値を(&(mail=%u)(objectclass=person))に設定します。

- ユーザー名属性: 値をmailに設定します。

注意:

注意: 「すべてのユーザーのフィルタ」、「名前指定によるユーザー・フィルタ」および「ユーザー名属性」の各フィールドには、同じユーザー名属性を使用する必要があります。

7. 「保存」をクリックします。

22.11.1.2 複数の認証プロバイダの構成

11.1.1.4以降では、複数のオーセンティケータからのユーザーとグループを認可できます。$DOMAIN_HOME/config/fmwconfig/jps-config.xmlファイル内のidstoreインスタンスに、次のプロパティを追加します。

<serviceInstance name="idstore.ldap"
provider="idstore.ldap.provider">
............................
<property name="virtualize" value="true"/>
..............................
</serviceInstance>

22.11.2 認証プロバイダのユーザーとグループの作成

認証プロバイダのユーザーとグループは、Oracle WebLogic Server管理コンソールまたはOracle Directory Services Managerを使用して作成できます。

22.11.2.1 WebLogicコンソールを使用したユーザーの作成

Oracle WebLogic Server管理コンソールを使用して、特定のプロバイダのユーザーを作成したり、ユーザーのメンバーシップを定義できます。

WebLogicコンソールを使用してユーザーを作成する手順は、次のとおりです。

1. Oracle WebLogicコンソールにログインします。

2. 「ドメイン構造」ペインで「セキュリティ・レルム」をクリックし、リスト内のレルム名(「myrealm」など)をクリックします。

3. 「ユーザーとグループ」→「ユーザー」の順にクリックします。

ユーザー・ページが表示されます。

4. 「新規」をクリックして、新しいユーザーを追加します。「新しいユーザーの作成」ページが表示されます。

5. ユーザーに関する必要な情報を入力し、「OK」をクリックします。

次の情報を指定する必要があります。

フィールド

説明

名前

(必須)新しいユーザーの名前。

説明

新しいユーザーの説明。

プロバイダ

ユーザーのプロバイダ。

パスワード

新しいユーザーのログイン名に関連付けられているパスワード。

パスワードの確認

パスワードの確認。

指定したプロバイダの新しいユーザーが作成され、「ユーザー」ページが表示されます。必要に応じて、ユーザーのグループ・メンバーシップを構成できます。

6. ユーザーのグループ・メンバーシップを指定するには、リストにある新規に作成したユーザーをクリックします。新しいユーザーの設定ページが表示されます。

7. 「グループ」をクリックして、ユーザーのグループ・メンバーシップを指定します。

8. 「使用可能」リストでグループを選択し、右矢印をクリックして「選択済み」リストに移動します。

[Ctrl]キーを押しながらグループをクリックすると、複数のグループを選択して移動できます。

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

22.11.2.2 WebLogicコンソールを使用したグループの作成

Oracle WebLogic Server管理コンソールを使用して、特定のプロバイダのグループを作成したり、グループのメンバーシップを定義できます。

WebLogicコンソールを使用してグループを作成する手順は、次のとおりです。

1. 「ユーザーとグループ」→「グループ」の順にクリックします。

「グループ」ページが表示されます。

2. 「新規」をクリックして、新しいグループを追加します。「新しいグループの作成」ページが表示されます。

3. グループに関する必要な情報を入力し、「OK」をクリックします。

次の情報を指定する必要があります。

フィールド

説明

名前

(必須)新しいグループの名前。

説明

新しいグループの説明。

プロバイダ

グループのプロバイダ。

指定したプロバイダの新しいグループが作成され、「グループ」ページが表示されます。必要に応じて、グループのグループ・メンバーシップを構成できます。

4. グループのグループ・メンバーシップ(親グループ)を指定するには、リストにある新規に作成したグループをクリックします。新しいグループの設定ページが表示されます。

5. 「メンバーシップ」をクリックして、グループを他のグループに追加します。

6. 「使用可能」リストで親グループを選択し、右矢印をクリックして「選択済み」リストに移動します。

[Ctrl]キーを押しながらグループをクリックすると、複数のグループを選択して移動できます。

7. 「保存」をクリックします。

22.11.2.3 Oracle Internet Directoryを使用したユーザーとグループの作成

Oracle Internet Directoryを使用するユーザーとグループは、Oracle Directory Services Managerを介して作成できます。

Oracle Directory Services ManagerからOracle Internet Directoryに接続する手順は、次のとおりです。

1. Webブラウザを使用して次のURLに移動し、Oracle Directory Services Managerを起動します。

http://host_name:port/odsm/faces/odsm.jspx

ここで、host_nameとportは、Oracle Internet Directoryが稼働しているホスト名と管理対象サーバーのポート番号です。

2. 「ディレクトリに接続」リンクをクリックし、ドロップダウン・メニューで「新規接続の作成」を選択します。「新規接続」ダイアログが表示されます。

3. ディレクトリ・タイプとして「OID」を選択し、必須フィールドに値を入力して、「接続」をクリックします。

次の情報を指定できます。

フィールド

説明

名前

接続の名前。

サーバー

(必須)Oracle Internet Directoryが稼働しているシステムのホスト名またはIPアドレス。

ポート

(必須)Oracle Internet Directoryが稼働しているシステムのポート番号。

SSL有効

Secure Sockets Layer (SSL)通信を有効にする場合に選択します。

ユーザー名

(必須)Oracle Internet Directoryへのログインに使用するユーザー名。

パスワード

(必須)ユーザー名に関連付けられているパスワード。

開始ページ

Oracle Internet Directoryへのログイン後の開始ページ。

Oracle Directory Services Managerの「ホーム」ページが表示されます。

4. 「データ・ブラウザ」タブをクリックします。このページは、エントリを作成および削除するために使用できます。

22.11.2.3.1 ドメインの作成方法

ドメインを作成するには:

1. 「データ・ツリー」ペインで、「エントリを新規作成します。」ボタンをクリックします。「新規エントリの作成」ウィザードの「エントリ・プロパティ」ページが表示されます。

2. 「追加」ボタンをクリックし、ドメインに必要なオブジェクト・クラスを追加します。「オブジェクト・クラスの追加」ダイアログが表示されます。

3. オブジェクト・クラスの名前を入力します。適切なオブジェクト・クラスが「名前」リストに表示された場合は、そのオブジェクト・クラスを選択して「OK」をクリックします。

4. ステップ2と3を繰り返して、ドメインに必要なすべてのオブジェクト・クラスを追加します。通常、top、domainおよびorclContainerがドメインに必要なオブジェクト・クラスです。

注意:

Oracle SOA SuiteからのLDAP操作は、正しいLDAP属性に索引を作成していないと、完了するまでに長時間かかります。索引を作成するための推奨される検索可能な属性のリストは、cn、sn、givenName、uid、manager、title、mailおよびtelephoneNumberです。

5. 「参照」をクリックし、ドメインの親を選択します。「識別名(DN)パスの選択」ダイアログが表示されます。

6. ドメインの親を選択し、「選択」をクリックします。適切な親ドメインを選択することで、エントリの階層を作成できます。

7. 「新規エントリの作成」ダイアログで、「次へ」をクリックします。「新規エントリの作成」ウィザードの「必須プロパティ」ページが表示されます。

8. 必須フィールドに対する値を入力および選択し、「次へ」をクリックします。

次の情報を指定できます。

フィールド

説明

dc

(必須)ドメイン・コンポーネント。

相対識別名

(必須)ユーザーの相対識別名。

「新規エントリの作成」ウィザードの「ステータス」ページが表示されます。

9. 新規ドメインのステータスを検証し、「終了」をクリックして、新規ドメインを作成します。

22.11.2.3.2 ユーザーを作成する方法

ユーザーを作成するには:

1. 「データ・ツリー」ペインで、「エントリを新規作成します。」ボタンをクリックします。「新規エントリの作成」ウィザードの「エントリ・プロパティ」ページが表示されます。

2. 「追加」ボタンをクリックし、ユーザーに必要なオブジェクト・クラスを追加します。「オブジェクト・クラスの追加」ダイアログが表示されます。

3. オブジェクト・クラスの名前を入力します。適切なオブジェクト・クラスが「名前」リストに表示された場合は、そのオブジェクト・クラスを選択して「OK」をクリックします。

4. ステップ2と3を繰り返して、ユーザーに必要なすべてのオブジェクト・クラスを追加します。通常、top、person、inetorgperson、organizationalPersonおよびorcluserがユーザーに必要なオブジェクト・クラスです。

5. 「参照」をクリックし、ユーザーの親を選択します。「識別名(DN)パスの選択」ダイアログが表示されます。

6. ユーザーの親を選択し、「選択」をクリックします。

7. 「新規エントリの作成」ダイアログで、「次へ」をクリックします。「新規エントリの作成」ウィザードの「必須プロパティ」ページが表示されます。

8. 必須フィールドに対する値を入力および選択し、「次へ」をクリックします。

次の情報を指定します。

フィールド

説明

cn

(必須)一般名。

sn

(必須)姓。

相対識別名

(必須)ユーザーの相対識別名。

「新規エントリの作成」ウィザードの「ステータス」ページが表示されます。

9. 新規ユーザーのステータスを検証し、「終了」をクリックして、新規ユーザーを作成します。

10. 「データ・ツリー」ペインで、新規に作成したユーザーのエントリをクリックします。そのユーザーの「個人」ページが表示されます。

11. ユーザーに関する詳細を入力し、「適用」をクリックします。

22.11.2.3.3 グループを作成する方法

グループを作成するには:

1. 「データ・ツリー」ペインで、「エントリを新規作成します。」ボタンをクリックします。「新規エントリの作成」ウィザードの「エントリ・プロパティ」ページが表示されます。

2. 「追加」ボタンをクリックし、グループに必要なオブジェクト・クラスを追加します。「オブジェクト・クラスの追加」ダイアログが表示されます。

3. オブジェクト・クラスの名前を入力します。適切なオブジェクト・クラスが「名前」リストに表示された場合は、そのオブジェクト・クラスを選択して「OK」をクリックします。

4. ステップ2と3を繰り返して、グループに必要なすべてのオブジェクト・クラスを追加します。通常、top、groupOfUniqueNamesおよびorclGroupがグループに必要なオブジェクト・クラスです。

5. 「参照」をクリックし、グループの親を選択します。「識別名(DN)パスの選択」ダイアログが表示されます。

6. グループの親を選択し、「選択」をクリックします。

7. 「新規エントリの作成」ダイアログで、「次へ」をクリックします。「新規エントリの作成」ウィザードの「必須プロパティ」ページが表示されます。

8. 必須フィールドに対する値を入力および選択し、「次へ」をクリックします。

次の情報を指定します。

フィールド

説明

cn

(必須)一般名。

相対識別名

(必須)グループの相対識別名。

「新規エントリの作成」ウィザードの「ステータス」ページが表示されます。

9. 新規グループのステータスを検証し、「終了」をクリックして、新規グループを作成します。

10. 「データ・ツリー」ペインで、新規に作成したグループのエントリをクリックします。そのグループの「グループ」ページが表示されます。

11. グループに関する詳細を指定し、「適用」をクリックします。

22.11.2.3.4 エントリを削除する方法

エントリを削除する手順は、次のとおりです。

1. 「データ・ツリー」ペインで、エントリを選択します。

2. 「データ・ツリー」ペインで、このエントリを削除ボタンをクリックします。

22.11.3 ディレクトリ・サービスの構成

Oracle Internet Directoryを認証プロバイダとして使用する場合は、Oracle Directory Services Managerを使用して、「orclsslinteropmode」属性を「0」(ゼロ)に設定する必要があります。

注意:

LDAPサーバーのGUID属性がバイナリ値に設定されている場合、アイデンティティ・サービスで正しく処理できないため、ユーザーとグループの両方のオブジェクト・クラスに存在し、バイナリ値を持つことができない一意の属性にマップする必要があります。たとえば、cn属性が一意の場合、これらの要件をいずれも満たしているため、使用できます。

GUIDをjps-config.xmlファイルのcnにマップします。

<property value="GUID=cn" name="PROPERTY_ATTRIBUTE_MAPPING"/>

アイデンティティ・ストア属性マッピングの詳細は、『Oracle Platform Security Servicesによるアプリケーションの保護』の「ユーザーおよびロールAPIによる開発」の章を参照してください。

ディレクトリ・サービスを構成する手順は、次のとおりです。

1. Oracle Directory Services Managerを起動し、ドロップダウン・リストを使用してOracle Internet Directory接続を選択します。

2. 「データ・ブラウザ」タブをクリックします。

3. 「cn=subconfigsubentry」→「cn=osdldapd」→「cn=oid1」の各ノードを順に開きます。

4. 「属性」ページで、「orclsslinteropmode」属性を0に設定します。

5. 「適用」ボタンをクリックします。

22.11.4 アイデンティティ・プロバイダのカスタマイズ

アイデンティティ・プロバイダをカスタマイズする(自社ソリューションに格納されているユーザーとロールを処理する)には、次のURLを参照してください。

http://www.oracle.com/technetwork/middleware/id-mgmt/overview/index.html

22.12 LDAPツールを使用したユーザー、グループおよびアプリケーション・ロールのシード

この項では、LDAPツールを使用してユーザー、グループおよびアプリケーションの各ロールをシードするために必要となる手順の概要について説明します。

タスクを作成する場合は、そのタスクに参加して操作するユーザーを割り当てます。実行時に、参加者はOracle BPM Worklistからタスクに対してアクションを実行できます。これらのアクションには、休暇申請の承認、発注の却下、ヘルプ・デスク・リクエストへのフィードバックの提供などがあります。参加者には次の3つのタイプがあります。

- ユーザー

- グループ

- アプリケーション・ロール

詳細は、『Oracle SOAスイートでのSOAアプリケーションの開発』を参照してください。

22.12.1 組込みLDAPサーバーのデフォルト・パスワードの変更

パスワード資格証明には、Oracle WebLogic Server管理コンソールからドメインの「セキュリティ」→「組込みLDAP」の順に選択することによって、アクセスできます。

デフォルトのパスワード資格証明の変更手順については、『Oracle WebLogic Serverセキュリティの管理』の第9章「組込みLDAPサーバーの管理」を参照してください。

22.12.2 LDAPブラウザを介したユーザーまたはグループのシード

LDAPブラウザを介してユーザーまたはグループをシードするには、次の手順を実行します。

1. LDAPブラウザを起動します(例: openLdapブラウザ、ldapbrowser、jXplorerなど)。起動方法は、ブラウザのドキュメントを参照してください。

2. サーバーが実行されているホスト名とポート番号、およびログインする管理ユーザーの資格証明を指定して、LDAPサーバーに接続します。
組込みLDAPの場合

a. 管理対象サーバーのデフォルトのポート番号は7001です。

b. 管理資格証明のユーザー名はcn=adminです。

c. 管理資格証明パスワードは、「組込みLDAPサーバーでのデフォルト・パスワードの変更」で設定したものです。

OIDmの場合

a. デフォルトのポート番号は3060です。

b. 管理ユーザー名はcn=orcladminです。

c. 管理パスワードはLDAPサーバーのパスワードです。

3. ブラウザを介してユーザーまたはグループをシードするには、次の手順を実行します。

a. ユーザーまたはグループを追加する親を選択します。

b. 「編集」メニューを選択し、適切なオプションを選択して、新しいエントリを追加します。

c. エントリに必要な属性値をすべて入力します。

4. LDIFファイルを介してユーザーまたはグループをシードするには、次の手順を実行します。

a. ユーザーまたはグループをシードするドメインを選択します。

b. 「LDIF」メニューを選択し、LDIFファイルのインポートを選択します。

c. LDIFファイルのインポート・ダイアログで、LDIFファイルを参照および選択して、「インポート」をクリックします。
同様に、LDAPサーバーにシードされたユーザーまたはグループは、「LDIF」メニューから「エクスポート」オプションを選択することによって、LDIFファイルにエクスポートできます。

5. ユーザーまたはグループに属性を追加するには、次の手順を実行します。

a. 新しい属性を追加するエントリを選択します。

b. 右クリックしてオプションを選択し、新しい属性を追加します。

c. 「属性の追加」ダイアログで、属性の名前と値を指定します。
追加できるのは、LDAPサーバーのスキーマに定義されている属性のみです。

6. ユーザーまたはグループの属性を削除するには、次の手順を実行します。

a. 新しい属性を削除するエントリを選択します。

b. 属性のリストから属性を選択して削除します。

22.12.3 WLSTスクリプトを使用したアプリケーション・ロールのシード

WebLogic Scripting Tool (WLST)を使用してアプリケーション・ロールをシードする手順については、WebLogic Server WLSTコマンド・リファレンスの第4章「インフラストラクチャ・セキュリティのカスタムWLSTコマンド」を参照してください。

22.12.4 Oracle Enterprise Manager Fusion Middleware Controlでのアプリケーション・ロールの管理

この項では、Oracle Enterprise Manager Fusion Middleware Controlでアプリケーション・ロールを管理する方法について説明します。

注意:

管理者以外のユーザーがOracle SOAコンポーザにアクセスできるようにするには、次の手順を実行します。このことは、「アプリケーション・ロールの編集」ページで、ユーザーまたはグループにSOADesignerロールを割り当てることによって実行します。ユーザーはOracle WebLogic Serverレルムに存在する必要があります。

Oracle Enterprise Manager Fusion Middleware Controlでアプリケーション・ロールを管理するには、次の手順を実行します。

1. ナビゲータで「WebLogicドメイン」→「Farm_Domain_name」の順に選択し、該当するOracle WebLogic Serverを選択します。

2. ドメイン名を右クリックして、「セキュリティ」→「アプリケーション・ロール」の順に選択します。

3. アプリケーション・ロールを作成するには、次の手順を実行します。

a. 「アプリケーション」リストで、ロールを作成するアプリケーションの名前(server_name/soa-infra)を選択します。

b. 「アプリケーション・ロール」ページで「作成」オプションを選択します。
「アプリケーション・ロールの作成」ページが表示されます。

c. アプリケーション・ロールのロール名、表示名および説明を入力します。

d. 「ロール」セクションで「ロールの追加」、および「ユーザー」セクションで「ユーザーの追加」を選択して、メンバーを追加します。

e. 「OK」をクリックして、アプリケーション・ロールを作成します。

4. アプリケーション・ロールを編集するには、次の手順を実行します。

a. 「アプリケーション・ロール」ページの「検索」セクションの「検索するアプリケーション名の選択」リストで、該当するアプリケーション(soa_server1/soa-infraなど)を選択します。

b. 「ロール名」リストの右側にある「検索」アイコンをクリックします。
このアクションにより、そのアプリケーションに作成されているすべてのアプリケーション・ロールが一覧表示されます。

c. 編集するアプリケーション・ロールを選択します(たとえば、SOADesignerを選択します)。

d. 「編集」を選択します。
「アプリケーション・ロールの編集」ページが表示されます。

e. アプリケーション・ロールとグループを「ロール」セクションに追加し、ユーザーを「ユーザー」セクションに追加します(たとえば、Oracle SOAコンポーザへのアクセスを提供するユーザーにSOADesignerを割り当てます)。ユーザーはOracle WebLogic Serverレルム内に定義されている必要があります。

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

5. アプリケーション・ロールを削除するには、次の手順を実行します。

a. 「アプリケーション・ロール」ページの「検索」セクションの「検索するアプリケーション名の選択」リストで、該当するアプリケーションを選択します。

b. 「ロール名」リストの右側にある「検索」アイコンをクリックします。
このアクションにより、そのアプリケーションに作成されているすべてのアプリケーション・ロールが一覧表示されます。

c. 削除するアプリケーション・ロールを選択します。

d. 「削除」ボタンをクリックして、アプリケーション・ロールを削除します。

e. 「確認」ダイアログで「はい」をクリックします。

22.13 ヒューマン・タスクでの大文字/小文字を区別しないグループ名の有効化

デフォルトでは、ヒューマン・タスクのユーザー名のみが大文字/小文字を区別しません。この動作は、システムMBeansブラウザのユーザーに対するcaseSensitiveプロパティの値によって制御され、デフォルトでfalseに設定されています。ヒューマン・タスクのグループ名は、ユーザー・ディレクトリにシードされる名前と同じである必要があります。ただし、ヒューマン・タスクのグループ名で大文字/小文字を区別しないようにする場合、caseSensitiveGroupsプロパティをfalseに設定する必要があります。

ヒューマン・タスクのグループ名について大文字/小文字を区別する動作を有効にするには、次の手順を実行します。

1. 「soa-infra」を右クリックし、「管理」→「システムMBeanブラウザ」の順に選択します。

システムMBeanブラウザがページの右側に表示されます。

2. 「アプリケーション定義のMBean」→「oracle.as.soainfra.config」→「サーバー: server_name」→「WorkflowIdentityConfig」→「human-workflow」→「WorkflowIdentityConfig.PropertyType」→「caseSensitiveGroups」の順に展開します。

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

4. 「値」フィールドに、falseと入力します。

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

22.14 ヒューマン・ワークフローWebサービスのセキュリティ・ポリシーの構成

ポリシー・セットには複数のポリシー参照を含めるできるため、ポリシー・セットを使用すると、ある範囲に含まれる同じタイプのエンドポイントに対して、ポリシーをグローバルにアタッチできます。ポリシー・セットを使用してポリシーをグローバルにアタッチすることによって、開発者、アセンブラまたはデプロイヤなどの複数のユーザーが、アタッチするポリシーを明示的に指定しなかった状況において、すべてのサブジェクトが確実に保護されるようにできます。ポリシー・セットを使用してアタッチされるポリシーは、外部的にアタッチされたと見なされます。

たとえば、開発者が注釈内にポリシーを指定しなかった場合、または、デプロイメント・ディスクリプタにポリシー参照を含めなかった場合、デプロイヤはポリシーをアタッチする必要があり、このようにしないと、潜在的なセキュリティ・リスクが発生します。タイプ別のサブジェクトのセットに対してポリシーをグローバルにアタッチすることによって、管理者はデプロイメントに関係なく(かつデプロイメント前に)、すべてのサブジェクトがデフォルトで保護されるようにできます。たとえば、管理者はあるドメイン内のすべてのWebサービス・エンドポイントに対してセキュリティ・ポリシーをアタッチするポリシー・セットを定義できます。この場合、ドメインに追加されるすべての新規サービスには、ポリシー・セットに定義されたセキュリティ構成が自動的に継承されます。

ポリシー・セットを使用したポリシーのグローバルなアタッチの詳細は、Webサービスの管理を参照してください。

23 ヒューマン・ワークフローのサービス・コンポーネントとエンジンの監視

この章では、ヒューマン・ワークフロー・サービス・エンジンのアクティブ・リクエストと操作パフォーマンス統計を監視する方法、およびサービス・エンジンにデプロイされたヒューマン・ワークフローを監視する方法について説明します。

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

- 「ヒューマン・ワークフロー・サービス・エンジンのアクティブ・リクエストと操作パフォーマンス統計の監視」

- サービス・エンジンにデプロイされたヒューマン・ワークフローの監視

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

- サービス・エンジンの概要

23.1 ヒューマン・ワークフロー・サービス・エンジンのアクティブ・リクエストと操作パフォーマンス統計の監視

ヒューマン・ワークフロー・サービス・エンジン内のアクティブ・リクエストと操作統計(使用したサービス、実行した操作、アクティブ・リクエスト、完了リクエストなど)に関する詳細を表示できます。

ヒューマン・ワークフロー・サービス・エンジンのアクティブ・リクエストと操作統計を監視する手順は、次のとおりです。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「サービス・エンジン」→「ヒューマン・ワークフロー」の順に選択します。

a. 「soa-infra」を右クリックします。

b. 「サービス・エンジン」→「ヒューマン・ワークフロー」の順に選択します。

2. 「統計」をクリックします。
「統計」ページに、次の詳細が表示されます。

- サービス・エンジン内のアクティブ・リクエスト数。このグラフは、現在のサービス・エンジンの負荷を判断するために使用します。グラフに表示されるのは、極端な負荷状態のデータのみです。これは、ほとんどのリクエストはサービス・エンジンによって即時に処理されるためです。データは、DMS(ダイナミック・モニタリング・サービス)状態センサーによって収集されます。リクエストがサービス・エンジンによって処理されると、件数はゼロになります。このアクションでは、サービス・エンジンの現在の負荷(極端に高負荷など)を確認できます。

- SOAインフラストラクチャの最後の起動時以降の、サービス・エンジンでの平均リクエスト・メッセージ処理時間。このグラフは、サービス・エンジンのパフォーマンスを確認するために使用します。処理時間は、SOAインフラストラクチャの最後の起動に基づいて計算される一方、グラフに表示されるデータは、このページに最初にアクセスした時点から収集されます。このページにアクセスしていない場合、このグラフでデータが継続的に計算されて表示されることはありません。DMSフェーズ・イベント・センサーによって平均リクエスト処理時間が計算され、その処理時間のデータが表示されます。

- サービス・エンジンで使用したヒューマン・ワークフロー・サービスに関する操作統計。使用したヒューマン・ワークフロー・サービス、そのサービスが実行した操作、アクティブ・リクエストと完了リクエストの数、件数および平均処理時間が表示されます。

- 「バックログが最高のユーザー」には、様々なユーザー、グループまたはロールに割り当てられる作業負荷のスナップショットが表示されます。この表を使用すると、保留中のヒューマン・ワークフロー・サービス・タスクが大量にある割当て先と、各割当て先が自分のタスクを完了するのにかかる平均時間を識別できます。

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

- サービス・コンポーネントの概要

- ヒューマン・ワークフロー・サービスと操作の詳細は、『Oracle SOAスイートでのSOAアプリケーションの開発』を参照してください。

- ヒューマン・ワークフローのチューニングとパフォーマンス・プロパティの詳細は、パフォーマンスのチューニングを参照してください。

23.2 サービス・エンジンにデプロイされたヒューマン・ワークフローの監視

サービス・エンジンで実行しているヒューマン・ワークフロー・サービス・コンポーネントで構成されたすべてのデプロイ済SOAコンポジット・アプリケーションを監視できます。

サービス・エンジンにデプロイされたヒューマン・ワークフローを監視する手順は、次のとおりです。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「サービス・エンジン」→「ヒューマン・ワークフロー」の順に選択します。

a. 「soa-infra」を右クリックします。

b. 「サービス・エンジン」→「ヒューマン・ワークフロー」の順に選択します。

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

- デプロイ済の特定のSOAコンポジット・アプリケーションを検索するためのユーティリティ。フルネームを指定して「検索」をクリックします。

- サービス・エンジンで実行しているデプロイ済ヒューマン・ワークフロー・サービス・コンポーネントの詳細。サービス・コンポーネント名、SOAコンポジット・アプリケーション、現在のステータス、およびインスタンスの合計、実行中の数、失敗した数が表示されます。

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

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

24 ヒューマン・ワークフローのサービス・コンポーネントとエンジンの管理

この章では、ヒューマン・ワークフロー・サービス・コンポーネントとヒューマン・ワークフロー・サービス・エンジンの管理方法(ポリシーの管理、ワークフローのフォルトのリカバリ、タスク詳細アプリケーションのURIの管理、送信および受信電子メール通知の管理、およびワークフロー・データのテスト環境から本番環境への移動を含む)について説明します。

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

- ヒューマン・ワークフロー・サービス・コンポーネント・ポリシーの管理

- ヒューマン・ワークフロー・サービス・コンポーネントのタスク詳細アプリケーションのURI管理

- 送信通知および受信電子メール通知の管理

- ヒューマン・ワークフロー・データのテスト環境から本番環境への移動

注意:

ヒューマン・ワークフロー・サービス・コンポーネントは、Oracle Enterprise Manager Fusion Middleware Controlではヒューマン・タスク・サービス・コンポーネントとも呼ばれます。

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

- サービス・コンポーネントの概要

- サービス・エンジンの概要

24.1 ヒューマン・ワークフロー・サービス・コンポーネントのポリシーの管理

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

注意:

ヒューマン・タスクには、SAMLポリシーoracle/wss10_saml_token_service_policyを使用してデフォルトで保護されているポートがあります。本番環境ではこのポリシーを使用しないことをお薦めします。

ヒューマン・ワークフロー・サービス・コンポーネントのポリシーを管理する手順は、次のとおりです。

1. 次のいずれかのオプションを使用して、ヒューマン・ワークフロー・サービス・コンポーネントのホーム・ページにアクセスします。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

「サービス・エンジン」→「ヒューマン・ワークフロー」の順に選択します。

a. 「soa-infra」を選択します。

b. 右クリックして、「サービス・エンジン」→「ヒューマン・ワークフロー」の順に選択します。

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

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

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

5. ポリシーのアタッチ先またはデタッチ先のサービスまたはコンポーネントを選択します。
ポリシーをアタッチまたはデタッチするためのダイアログが起動します。

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

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

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

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

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

10. 「OK」をクリックします。
アタッチしたポリシーがポリシー表に表示されます。

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

- ポリシーの概要

- ポリシーのアタッチで表示されるダイアログについては、「SOAコンポジット・アプリケーションのポリシーの管理」を参照してください

24.2 ヒューマン・ワークフロー・サービス・コンポーネントのタスク詳細アプリケーションのURI管理

ヒューマン・ワークフローで使用するタスク詳細アプリケーションのURIを追加または削除できます。

ヒューマン・ワークフロー・サービス・コンポーネントのタスク詳細アプリケーションのURIを管理する手順は、次のとおりです。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

「サービス・エンジン」→「ヒューマン・ワークフロー」の順に選択します。

a. 「soa-infra」を選択します。

b. 右クリックして、「サービス・エンジン」→「ヒューマン・ワークフロー」の順に選択します。

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

3. コンポーネントのリストから、コンポーネントを選択します。

4. 「管理」をクリックします。
「管理」ページにタスク詳細アプリケーションのURIが表示されます。

注意:

SOAサーバーでSSLが有効化または無効化されている場合、すでにデプロイされているワークフロー・タスク詳細アプリケーションで、SSLを手動で有効化または無効化する必要があります。ワークフロー・タスクの表示URLを変更し、正しいプロトコルとポート番号を使用します。SSL (HTTPS) URLの使用を有効化するには、HTTPポート設定を空白のままにしてください。

5. 「追加」アイコンをクリックして、URIに次の詳細を指定します。

- アプリケーション名

- ホスト名

- HTTPポート

- HTTPSポート(オプション)

- URI

6. 「OK」をクリックし、次に「適用」をクリックします。

24.3 送信通知および受信電子メール通知の管理

ヒューマン・ワークフローでは、電子メールを介して受信通知および送信通知を管理できます。これには、メッセージのテスト、メッセージの再送信、およびメッセージをスパムとして識別することが含まれます。

受信通知と送信通知は、ヒューマン・ワークフローとの間で送受信されます。受信通知はアクション可能な通知に対するレスポンスです。たとえば、送信通知は、休暇を申請している従業員のマネージャに送信されます。マネージャは、アクション可能な通知電子メールにある「承認」リンクをクリックして、申請を承認します。このアクションによって、受信通知はヒューマン・ワークフローに送信され、他の処理が追加されます。

送信通知および受信電子メール通知を管理する手順は、次のとおりです。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「サービス・エンジン」→「ヒューマン・ワークフロー」の順に選択します。

a. 「soa-infra」を右クリックします。

b. 「サービス・エンジン」→「ヒューマン・ワークフロー」の順に選択します。

2. 「通知管理」をクリックします。
「通知管理」ページの上部には、次の詳細が表示されます。

- 特定のメッセージを検索するためのユーティリティ。基準を指定して「検索」をクリックします。このユーティリティを表示するには、「検索」アイコンを開く必要があります。

- 送信通知。ソースID、ソース・タイプ(たとえば、通知がBPELサービス・コンポーネントによって送信される場合はBPEL)、使用チャネル(電子メール、SMS、インスタント・メッセンジャ、ボイスなど)、メッセージ受信者のアドレス、メッセージ・ステータス(エラー、送信、再試行、送信済など)、およびメッセージの送信日時が表示されます。

「通知管理」ページの下部には、次の詳細が表示されます。

- 特定のメッセージを検索するためのユーティリティ。基準を指定して「検索」をクリックします。このユーティリティを表示するには、「検索」アイコンを開く必要があります。

- 受信通知。メッセージID、使用チャネル(送信通知と同じタイプ)、メッセージ送信者のアドレス、メッセージ受信者のアドレス、メッセージ・ステータス(返信済の電子メール通知、未承諾の電子メール、不明な電子メール・コンテンツ、未処理のレスポンスおよび処理済のレスポンス)、メッセージのコンテンツへのリンク、およびメッセージの受信日時が表示されます。

3. 送信通知に対して次のアクションを実行します。

アクション

説明

テスト通知の送信

送信メッセージが適切な宛先に届くことをテストします。これによって、宛先がアクセス可能であり、メッセージが届くことが確認されます。このオプションを選択すると、次の宛先詳細を指定するためのダイアログが起動されます。

- 宛先アドレス

- 配信チャネル(電子メールなど)

- メッセージの件名とコンテンツ

注意: メッセージング拡張ドライバでは次の情報が必要になるため、これを使用してテスト通知メッセージを送信できません。

- テスト・ページに手動で入力する特定のデータ(タスク詳細のURIなど)

- URI固有のヘッダー(時刻、ユーザーなど)

再送信

表から特定の送信通知メッセージを選択し、「再送信」をクリックして再送信します。このオプションは、メッセージが適切な宛先に届いていないと思われる場合に使用します。たとえば、受信者アドレスが正しく構成されていない場合などです。アドレスの修正後は、「再送信」をクリックして配信をテストします。

類似した通知をすべて再送信

選択したアドレスと同じ受信者アドレスが設定されているすべてのエラー通知メッセージを再送信します。

不正アドレスの表示

不正アドレスまたは無効なアドレスのリストを表示する場合にクリックします。これらのアドレスは、1時間後に不正アドレス・リストから自動的に削除されます。1時間の待機が必要ない場合は、それらのアドレスを明示的に選択して削除できます。

「削除」アイコン

選択したメッセージを削除する場合にクリックします。

メッセージ受信者の不適切なアドレスに送信された送信通知は、「受信者」列にエラーとして表示されます。この通知は、受信者のアドレスを修正して再送信できます。

4. 「受信者」列で、電子メール・アドレスをクリックし、アドレスを修正します。

5. 受信通知に対して次のアクションを実行します。

アクション

説明

スパムとしてマーク

選択した通知のメッセージ送信者のアドレスをスパムとしてマークします。このアクションによって、同じ送信者アドレスからの受信通知は再度配信されることがなくなります。

スパムではありません

受信メッセージをスパムではないとしてマークします。このアクションによって、その送信者アドレスからの新規メッセージが再配信されます。

「削除」アイコン

選択したメッセージを削除する場合にクリックします。

通知の詳細は、『Oracle SOAスイートでのSOAアプリケーションの開発』を参照してください。

24.4 ヒューマン・ワークフロー・データのテスト環境から本番環境への移動

ヒューマン・ワークフロー・ユーザー構成データ移行ツールを使用すると、テスト環境から本番環境にヒューマン・ワークフロー・ユーザー・メタデータ(ビュー、マップ済属性(以前はフレックス・フィールドと呼ばれていました)マッピング、休暇ルールなど)を移行できます。データ移行ツールは、コマンド行で実行可能なantターゲットとして使用できます。データ移行の入力パラメータをプロパティ・ファイルmigration.propertiesに指定します。

たとえば、次の2つのSOAサーバーがインストールされているとします。

- SOAServer_A
ヒューマン・ワークフロー・ユーザー構成可能データ(ユーザー・ビュー、標準ビュー、ユーザー・ルール、グループ・ルール、属性ラベルおよびタスク・ペイロード・マップ済属性マッピング)が含まれているテスト・サーバー。

- SOAServer_B
SOAServer_Aのデータを移動する本番サーバー

SOAServer_Aには大量のデータがあるため、すべてのデータを手動でSOAServer_Bに移行するのは時間がかかる可能性があります。データ移行ツールを使用すると、テスト・サーバーから本番サーバーにデータを移動できます。SOAServer_Aのコマンド行でantターゲットを実行して、データをSOAServer_Bに移行します。移行は常にXMLファイルを介して実行されます。データ移行ツールでは、次の操作がサポートされます。

- エクスポート操作: すべてのヒューマン・ワークフロー・ユーザー構成可能データをソースSOAサーバーからXMLファイルに格納します。

- インポート操作: ヒューマン・ワークフロー・ユーザー構成可能データをXMLファイルから読み取ることによって、これらのすべてのデータターゲットをSOAサーバーに作成します。

データ移行ツールは、次のファイルから構成されています。

- migration.properties: 移行操作のkey-valueペアに関する必要なすべての入力プロパティが含まれています。

- build.xml: データ移行ツールを実行するantターゲットのrunHwfMigratorが含まれています。

24.4.1 ヒューマン・ワークフロー・データのテスト環境から本番環境への移動

テスト環境から本番環境にデータを移動するには、次の手順を実行します。

ヒューマン・ワークフロー・データをテスト環境から本番環境に移動するには、次の手順を実行します。

1. PATH環境変数にJAVA_HOMEおよびANT_HOME環境変数が含まれていて、Oracle SOA Suiteがインストールされている場所の配下を指していることを確認します。

2. 任意の場所にmigration.propertiesファイルを作成し、テスト環境からワークリスト・アプリケーションのユーザー・メタデータ(例: グループ・ルール、ビュー、マップ済属性マッピングおよび休暇ルール)をエクスポートします。プロパティの指定方法は、「移行プロパティ・ファイルの例」を参照してください。

次の点に注意してください。

- マップ済属性マッピングはエクスポートできます。

- 属性ラベルはエクスポートできます。

- 一度にエクスポートできるのは、1つのタイプのデータのみです。

- 特定のユーザーまたはグループのデータをエクスポートする場合、別々の操作でエクスポートする必要があります。

- 属性ラベルは、マップ済属性マッピングをエクスポートする前にエクスポートする必要があります。
属性ラベルをエクスポートするには、migration.propertiesファイルに次の値を使用します。

objectType = TASK_PAYLOAD_FLEX_FIELD_MAPPING
migrateAttributeLabel = true

マップ済属性マッピングをエクスポートするには、migration.propertiesファイルで次の値を使用します。

objectType = TASK_PAYLOAD_FLEX_FIELD_MAPPING
migrateAttributeLabel = false

3. antスクリプトを使用して、データをエクスポートします。次の例は、コマンドを呼び出す方法とパラメータの指定方法を示しています。

ant -f ant-t2p-worklist.xml
-Dbea.home=/scratch/oracle/MW_HOME
-Dsoa.home=/scratch/oracle/MW_HOME/AS11gR1SOA
-Dmigration.properties.file=migration.properties
-Dsoa.hostname=hostname -Dsoa.rmi.port=7001
-Dsoa.admin.user=weblogic
-Drealm=jazn.com
-Dmigration.file=/tmp/export_all_userRules.xml
-Dmap.file=/tmp/export_all_userRules_mapper.xml

注意:

管理ユーザー名を指定した後に入力を求められた場合は、パスワードを入力します。

antプロパティの指定方法は、「antスクリプトのデータ移行の構文」を参照してください。

4. アプリケーションが、本番システムにデプロイされたことを確認します。

注意:

タスク・マップ済属性マッピング、ルール、ビューおよび承認グループなどのヒューマン・ワークフロー・アーティファクトはネームスペースに基づいて定義されます。データ移行ツールはネームスペースに基づいてヒューマン・ワークフロー・アーティファクトを移行します。したがって、パーティションに基づいてヒューマン・ワークフロー・アーティファクトを移行することはできません。

5. migration.propertiesファイルを作成して、ワークリスト・アプリケーションのユーザー・メタデータを本番環境にインポートします。

次の点に注意してください。

- 一度にインポートできるのは、1つのタイプのデータのみです。

- 特定のユーザーまたはグループのデータをインポートする場合は、別々の操作でインポートする必要があります。

- 属性ラベルは、マップ済属性マッピングをインポートする前にインポートする必要があります。
属性ラベルをインポートするには、migration.propertiesファイルに次の値を使用します。

objectType = TASK_PAYLOAD_FLEX_FIELD_MAPPING
migrateAttributeLabel = true

マップ済属性マッピングをインポートするには、migration.propertiesファイルに次の値を使用します。

objectType = TASK_PAYLOAD_FLEX_FIELD_MAPPING
migrateAttributeLabel = false

6. ステップ3でmap.fileプロパティを使用して作成したファイルexport_all_userRules.xmlから本番環境にデータをインポートします。次の例は、コマンドを呼び出す方法とプロパティの指定方法を示しています。

ant -f ant-t2p-worklist.xml
-Dbea.home=/scratch/oracle/MW_HOME
-Dsoa.home=/scratch/oracle/MW_HOME/AS11gR1SOA
-Dmigration.properties.file=migration.properties
-Dsoa.hostname=hostname
-Dsoa.rmi.port=7001
-Dsoa.admin.user=weblogic
-Dsoa.admin.password=password
-Drealm=jazn.com
-Dmigration.file=/tmp/export_all_userRules.xml
-Dmap.file=/tmp/export_all_userRules_mapper.xml

ルール、ビューなどのデータがユーザーにアタッチされている場合、そのユーザーは本番SOAサーバーで使用可能なユーザーである必要があります。

7. .earファイルにデプロイする場合と同様に、J2EEヒューマン・タスク・フォームをデプロイします。

8. 必要に応じて、本番メール・サーバーおよびインバウンドとアウトバウンドの電子メール・アカウントのワークフロー通知構成を更新します。「ヒューマン・ワークフロー通知プロパティの構成」を参照してください。

24.4.2 migration.propertiesファイルの構文

migration.propertiesファイルには、データ移行の入力パラメータを指定します。このファイルのテンプレートは次のディレクトリにあります。

migration.propertiesファイルには、次の入力パラメータが含まれています。

operationType = {EXPORT | IMPORT}
objectType = {VIEW | RULE | TASK_PAYLOAD_FLEX_FIELD_MAPPING}
name = name of VIEW or TASK_PAYLOAD_FLEX_FIELD_MAPPING
user = username of VIEW or RULE
group = groupname for RULE
grantPermission = {true | false}
migrateAttributeLabel = {true | false}
override = {true | false}
skip = {true | false}
migrateToActiveVersion = {true | false}

引数

定義

operationType

次のアクションのいずれかを実行することを指定します。

- EXPORT: SOAサーバー・インスタンスからXMLファイルにデータが移行されます。

- IMPORT: XMLファイルからSOAサーバー・インスタンスにデータが移行されます。

objectType

移行するオブジェクトのタイプを指定します。

- VIEW: ビューを移行します。

- RULE: 休暇ルールを移行します。

- TASK_PAYLOAD_FLEX_FIELD_MAPPING: マップ済属性マッピングを移行します。

name

objectTypeにVIEW値またはTASK_PAYLOAD_FLEX_FIELD_MAPPING値を指定した場合は、オブジェクト名を指定します。このプロパティは次の内容を意味します。

- VIEWのviewName

- TASK_PAYLOAD_FLEX_FIELD_MAPPINGのtaskDefinitionId

このタイプのすべてのオブジェクトを識別するには、ALLを指定します。

user

objectTypeプロパティにVIEW値またはRULE値を指定した場合のみ、ユーザー名を指定します。VIEWにユーザーが指定されていない場合は、STANDARD_VIEWを意味します。

group

objectTypeプロパティにRULE値を指定した場合のみ、このプロパティを指定します。これはグループ名(例: LoanAgentGroup)を識別します。

grantPermission

objectTypeプロパティにVIEW値を指定した場合のみ、このプロパティを指定します。

- true: ビュー定義と権限を移行します。

- false: ビュー定義のみを移行します。

migrateAttributeLabel

次のいずれかの値を指定します。

- true: 属性ラベルのみ移行します。ペイロード・マッピングは移行されません。

- false: 属性ラベルは移行されません。ペイロード・マッピングのみ移行します。

override

ターゲットSOAサーバー上のデータをオーバーライドするかどうかを指定します。

- true: ターゲットSOAサーバー上の既存のワークフロー・ユーザー構成可能データをオーバーライドします。

- false: ワークフロー・ユーザー構成可能データが存在するターゲットSOAサーバー・インスタンスをオーバーライドしません。

skip

エラー処理の詳細を指定します。

- true: エラーはスキップされ、移行ユーティリティは処理を続行します。

- false: エラーが発生すると移行が中断されます。

migrateToActiveVersion

マッピング・タスク定義IDの値を指定します。

- true: タスク定義IDをターゲットSOAサーバー・インスタンスのアクション・バージョンにマップします。

- false: タスク定義をマップしません。

24.4.2.1 移行プロパティ・ファイルの例

この項では、migration.propertiesファイルを構成する方法の例を示します。

24.4.2.1.1 すべての属性ラベルのエクスポート

次の例はすべての属性ラベルをエクスポートします。

operationType = EXPORT
objectType = TASK_PAYLOAD_FLEX_FIELD_MAPPING
name = ALL
user = jcooper
group =
grantPermission = true
migrateAttributeLabel = true
override = true
skip = true
migrateToActiveVersion = true

24.4.2.1.2 すべての属性ラベルのインポート

次の例はすべての属性ラベルをインポートします。

operationType = IMPORT
objectType = TASK_PAYLOAD_FLEX_FIELD_MAPPING
name = ALL
user = jcooper
group =
grantPermission = true
migrateAttributeLabel = true
override = true
skip = true
migrateToActiveVersion = true

24.4.2.1.3 特定の属性ラベルのエクスポート

次の例は特定の属性ラベルをエクスポートします。

operationType = EXPORT
objectType = TASK_PAYLOAD_FLEX_FIELD_MAPPING
name = cb801c91-4605-4e96-a234-aeb8441f0388
user = jcooper
group =
grantPermission = true
migrateAttributeLabel = true
override = true
skip = true
migrateToActiveVersion = true

24.4.2.1.4 特定の属性ラベルのインポート

次の例は特定の属性ラベルをインポートします。

operationType = IMPORT
objectType = TASK_PAYLOAD_FLEX_FIELD_MAPPING
name = cb801c91-4605-4e96-a234-aeb8441f0388
user = jcooper
group =
grantPermission = true
migrateAttributeLabel = true
override = true
skip = true
migrateToActiveVersion = true

24.4.2.1.5 すべてのタスク定義IDのタスク・ペイロード・マップ済属性マッピングのエクスポート

次の例はすべてのタスク定義IDのタスク・ペイロード・マップ済属性マッピングをエクスポートします。

operationType = EXPORT
objectType = TASK_PAYLOAD_FLEX_FIELD_MAPPING
name = ALL
user = jcooper
group =
grantPermission = true
migrateAttributeLabel = false
override = true
skip = true
migrateToActiveVersion = true

24.4.2.1.6 すべてのタスク定義IDのタスク・ペイロード・マップ済属性マッピングのインポート

次の例はすべてのタスク定義IDのタスク・ペイロード・マップ済属性マッピングをインポートします。タスク・ペイロード・マップ済属性マッピングは属性ラベルを使用します。前提条件として、インポートするタスク・ペイロード・マップ済属性マッピングに関連する属性ラベルを見つけます。ターゲットSOAサーバーにタスク・ペイロード・マップ済属性マッピングをインポートする前に、ターゲットSOAサーバーでこれらの属性ラベルが使用可能である必要があります。

推奨される手順は次のとおりです。

- ターゲットSOAサーバーに属性ラベルをインポートします。

- ターゲットSOAサーバーにタスク・ペイロード・マップ済属性マッピングをインポートします。

operationType = IMPORT
objectType = TASK_PAYLOAD_FLEX_FIELD_MAPPING
name = ALL
user = jcooper
group =
grantPermission = true
migrateAttributeLabel = false
override = true
skip = true
migrateToActiveVersion = true

24.4.2.1.7 特定のタスク定義IDのタスク・ペイロード・マップ済属性マッピングのエクスポート

次の例は特定のタスク定義IDのタスク・ペイロード・マップ済属性マッピングをエクスポートします。

operationType = EXPORT
objectType = TASK_PAYLOAD_FLEX_FIELD_MAPPING
name = default/HelpDeskRequestComposite!1.0*c9856b8b-bc9e-46a4-8aef-698e539ba1d7/HelpDesk
RequestHumanTask
user = jcooper
group =
grantPermission = true
migrateAttributeLabel = false
override = true
skip = true
migrateToActiveVersion = true

24.4.2.1.8 特定のタスク定義IDのタスク・ペイロード・マップ済属性マッピングのインポート

次の例では、特定のタスク定義IDのタスク・ペイロード・マップ済属性マッピングをインポートします。タスク・ペイロード・マップ済属性マッピングは属性ラベルを使用します。前提条件として、インポートするタスク・ペイロード・マップ済属性マッピングに関連する属性ラベルを見つけてください。ターゲットSOAサーバーにタスク・ペイロード・マップ済属性マッピングをインポートする前に、ターゲットSOAサーバーでこれらの属性ラベルが使用可能である必要があります。

推奨される手順は次のとおりです。

- ターゲットSOAサーバーに属性ラベルをインポートします。

- ターゲットSOAサーバーにタスク・ペイロード・マップ済属性マッピングをインポートします。

operationType = IMPORT
objectType = TASK_PAYLOAD_FLEX_FIELD_MAPPING
name = default/HelpDeskRequestComposite!1.0*c9856b8b-bc9e-46a4-8aef-698e539ba1d7/HelpDesk
RequestHumanTask
user = jcooper
group =
grantPermission = true
migrateAttributeLabel = false
override = true
skip = true
migrateToActiveVersion = true

24.4.2.1.9 特定のユーザーのすべてのルールのエクスポート

この例は特定のユーザーのすべてのルールをエクスポートします。特定のユーザーのルールをエクスポートする場合、groupプロパティは空白のままになります。

operationType = EXPORT
objectType = RULE
name = ALL
user = jcooper
group =
grantPermission = true
migrateAttributeLabel = false
override = true
skip = true
migrateToActiveVersion = false

24.4.2.1.10 特定のユーザーのすべてのルールのインポート

この例では、特定のユーザーのすべてのルールをインポートします。特定のユーザーのルールをインポートする場合、groupプロパティは空白のままになります。

operationType = IMPORT
objectType = RULE
name = ALL
user = jcooper
group =
grantPermission = true
migrateAttributeLabel = false
override = true
skip = true
migrateToActiveVersion = false

24.4.2.1.11 特定のグループのすべてのルールのエクスポート

この例は特定のグループのすべてのルールをエクスポートします。特定のグループのルールをエクスポートする場合、userプロパティは空白のままになります。

operationType = EXPORT
objectType = RULE
name = ALL
user =
group = LoanAgentGroup
grantPermission = true
migrateAttributeLabel = false
override = true
skip = true
migrateToActiveVersion = false

24.4.2.1.12 特定のグループのすべてのルールのインポート

この例では、特定のグループのすべてのルールをインポートします。特定のグループのルールをインポートする場合、userプロパティは空白のままになります。

operationType = IMPORT
objectType = RULE
name = ALL
user =
group = LoanAgentGroup
grantPermission = true
migrateAttributeLabel = false
override = true
skip = true
migrateToActiveVersion = false

24.4.2.1.13 すべてのユーザー・ビューのエクスポート

この例はすべてのユーザー・ビューをエクスポートします。

operationType = EXPORT
objectType = VIEW
name = ALL
user = jcooper
group =
grantPermission = true
migrateAttributeLabel = false
override = true
skip = true
migrateToActiveVersion = false

24.4.2.1.14 すべてのユーザー・ビューのインポート

この例では、すべてのユーザー・ビューをインポートします。

operationType = IMPORT
objectType = VIEW
name = ALL
user = jcooper
group =
grantPermission = true
migrateAttributeLabel = false
override = true
skip = true
migrateToActiveVersion = false

24.4.2.1.15 特定のユーザー・ビューのエクスポート

この例は特定のユーザー・ビューをエクスポートします。

operationType = EXPORT
objectType = VIEW
name = jcooperUserView1
user = jcooper
group =
grantPermission = true
migrateAttributeLabel = false
override = true
skip = true
migrateToActiveVersion = false

24.4.2.1.16 特定のユーザー・ビューのインポート

この例では、特定のユーザー・ビューをインポートします。

operationType = IMPORT
objectType = VIEW
name = jcooperUserView1
user = jcooper
group =
grantPermission = true
migrateAttributeLabel = false
override = true
skip = true
migrateToActiveVersion = false

24.4.2.1.17 すべての標準ビューのエクスポート

この例はすべての標準ビューをエクスポートします。

operationType = EXPORT
objectType = VIEW
name = ALL
user =
group = LoanAgentGroup
grantPermission = true
migrateAttributeLabel = false
override = true
skip = true
migrateToActiveVersion = false

24.4.2.1.18 すべての標準ビューのインポート

この例では、すべての標準ビューをインポートします。

operationType = IMPORT
objectType = VIEW
name = ALL
user =
group = LoanAgentGroup
grantPermission = true
migrateAttributeLabel = false
override = true
skip = true
migrateToActiveVersion = false

24.4.2.1.19 特定の標準ビューのエクスポート

この例は特定の標準ビューをエクスポートします。

operationType = EXPORT
objectType = VIEW
name = MyStandardView1
user =
group = LoanAgentGroup
grantPermission = true
migrateAttributeLabel = false
override = true
skip = true
migrateToActiveVersion = false

24.4.2.1.20 特定の標準ビューのインポート

この例では、特定の標準ビューをインポートします。

operationType = IMPORT
objectType = VIEW
name = MyStandardView1
user =
group = LoanAgentGroup
grantPermission = true
migrateAttributeLabel = false
override = true
skip = true
migrateToActiveVersion = false

24.4.3 antスクリプトのデータ移行の構文

データの移行にantスクリプトを使用します。このスクリプトは次のディレクトリにあります。

ORACLE_HOME/bin/ant-t2p-worklist.xml

このスクリプトは次のフォーマットを使用して、ヒューマン・ワークフロー構成可能データをあるSOAサーバーから別のSOAサーバーに移行します。

ant -f ant-t2p-worklist.xml
-Dbea.home=BEA_HOME
-Dsoa.home=SOA_HOME
-Dmigration.properties.file=MIGRATION_PROPERTY_FILE_PATH
-Dsoa.hostname=SOA_HOSTNAME
-Dsoa.rmi.port=SOA_RMI_PORT
-Dsoa.admin.user=SOA_ADMIN_USER
-Dsoa.admin.password=SOA_ADMIN_PASSWORD
-Drealm=REALM -Dmigration.file=MIGRATION_FILE
-Dmigration.file=<MIGRATION_FILE>
-Dmap.file=MAP_FILE
-Dhwf.t2p.config.file=

引数

定義

bea.home

Oracle WebLogic Serverのインストール・ディレクトリの絶対パス。

soa.home

Oracle SOA Suiteのホーム・ディレクトリの絶対パス。

migration.properties.file

migration.propertiesファイルへの絶対パス。

soa.hostname

SOAサーバー・インスタンスのホスト名。

注意: myhostのような形式ではなくmyhost.us.example.comなどの完全なドメイン名を指定する必要があります。

soa.rmi.port

SOAサーバー・インスタンスのRemote Method Invocation (RMI)ポート。

soa.admin.user

SOAサーバー・インスタンスに接続するための管理ユーザー名。

soa.admin.password

SOAサーバー・インスタンスに接続するための管理ユーザーのパスワード。

realm

SOAサーバー・インスタンスのレルム。

migration.file

SOAサーバーのすべてのユーザー構成可能データがエクスポートまたはインポートされる移行ファイルの完全パス・ロケーション。

map.file

ターゲットSOAサーバーのすべてのTaskDefinitionIdマッピングが保存されているマップ・ファイルのフルパス・ロケーション。このファイルを使用すると、マッピングをカスタマイズできます。

hwf.t2p.config.file

構成ファイルの場所。

注意:

指定する構成ファイルは、.propertiesタイプにし(例: config.properties)、soa.admin.passwordのエントリを含める必要があります(例: soa.admin.password=****)。

ant-t2p-worklist.xmlを呼び出す際は、引数soa.admin.passwordを正しいパスワードまたは空の値に設定します。例:

-Dsoa.admin.password=***または-Dsoa.admin.password=

soa.admin.passwordを空の値に設定した場合、hwf.t2p.config.file引数をファイルの場所に設定することにより、パスワード構成ファイルの場所を指定します。hwf.t2p.config.fileとsoa.admin.passwordの両方を設定した場合、soa.admin.password値が構成ファイルから読み取られます。

例:

ant -f ant-t2p-worklist.xml
-Dbea.home=/net/myhost/jsmith/fmwhome
-Dsoa.home=/net/myhost/jsmith/fmwhome/AS11gR1SOA
-Dmigration.properties.file=migration.properties
-Dsoa.hostname=myhost.us.example.com -Dsoa.rmi.port=7001
-Dsoa.admin.user=weblogic
-Drealm=jazn.com
-Dmigration.file=/tmp/export_all_userRules.xml
-Dmap.file=/tmp/export_all_userRules_mapper.xml
-Dhwf.t2p.config.file=

第IX部 Oracle JCAアダプタの管理

この部では、Oracle JCAアダプタの管理方法について説明します。

この部は、次の章で構成されています。

- Oracle JCAアダプタの構成

- Oracle JCAアダプタの監視

25 Oracle JCAアダプタの構成

この章では、Oracle JCAアダプタ実行時のインバウンドおよびアウトバウンドのエンドポイント・プロパティの構成方法について説明します。

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

- インバウンド・アダプタのエンドポイント・プロパティの構成

- アウトバウンド・アダプタのエンドポイント・プロパティの構成

アダプタのチューニングとパフォーマンス・プロパティの詳細は、パフォーマンスのチューニングを参照してください。

注意:

Oracle Enterprise Manager Fusion Middleware Controlで表示可能なすべてのアダプタのプロパティは、ライブ・ベースで更新できます。一部のプロパティは、エンドポイントでリサイクルを発生させる可能性があります(例: QueueName)。その他のプロパティは発生させません(例: jca.retry.count)。通常、アクティブ化または相互作用の仕様から生じたプロパティは、エンドポイントでリサイクルを発生させます。その他すべての(バインディング/エンドポイント)プロパティは、リサイクルを発生させません。

また、使用する、『テクノロジ・アダプタの理解』のプロパティの付録に関する項で指定されている任意のプロパティを追加することもできます。ただし、Oracle Enterprise Manager Fusion Middleware Control内でプロパティを追加するときには検証が行われないため、この方法はお薦めしません。

25.1 インバウンド・アダプタのエンドポイント・プロパティの構成

この項では、インバウンド・アダプタのエンドポイント・プロパティの構成方法について説明します。次のトピックが含まれています:

- インバウンド・アダプタの事前定義されたプロパティの編集

- インバウンド・アダプタの事前定義されたプロパティの追加

- インバウンド・アダプタの新規プロパティの作成

- インバウンド・アダプタのプロパティの削除

- インバウンド・アダプタのプロパティ値を元に戻す

25.1.1 インバウンド・アダプタの事前定義されたプロパティの編集

アダプタのプロパティは、通常、設計時にOracle JDeveloperで定義されます。ただし、Oracle Enterprise Manager Fusion Middleware Controlを使用して、事前定義されたプロパティを後で編集することができます。

インバウンド・アダプタの事前定義されたアダプタを編集するには、次のいずれかのオプションを使用してアダプタに移動します。

1. SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. ターゲット・メニューで「soa-infra」を右クリックします。

b. 「サービスと参照」をクリックします。
「サービス」および「参照」とともにSOAインフラのページが表示されます。

c. 「サービス」または「参照」のいずれかをクリックします。
アダプタの「ホーム」ページが表示されます。

a. 「soa-infra」の下にある、特定のSOAコンポジット・アプリケーションをクリックします。
SOAコンポジットのホーム・ページが表示されます。

b. 「コンポジット・ターゲット」メニューから、「サービス/参照プロパティ」を選択します。「サービス」または「参照」を選択します。アダプタの「ホーム」ページが表示されます。

アダプタの構成の詳細は、 「サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントのプロパティの構成」および『テクノロジ・アダプタの理解』を参照してください。

25.1.1.1 事前定義されたプロパティの編集:

1. 「プロパティ」をクリックし、現在定義されているバインディング・プロパティのリストを表示します。

2. 編集するプロパティを選択します。

3. 「値」テキスト・ボックスの値を編集し、「適用」をクリックします。
これで、インバウンド・アダプタの事前定義されたプロパティの編集を完了しました。

25.1.2 インバウンド・アダプタの事前定義されたプロパティの追加

アダプタのプロパティは、通常、設計時にOracle JDeveloperで定義されます。ただし、Oracle Enterprise Manager Fusion Middleware Controlを使用して、プロパティを後で追加することができます。

注意:

「プロパティ」ページには、エンドポイント・プロパティとバインディング・プロパティの両方がリストされますが、追加できるのはエンドポイント・プロパティのみです。

インバウンド・アダプタの事前定義されたプロパティを追加する手順は、次のとおりです。

1. 次のオプションのどちらかを使用して、アダプタに移動します。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. ターゲット・メニューで「soa-infra」を右クリックします。

b. 「サービスと参照」をクリックします。
「サービス」および「参照」とともにSOAインフラのページが表示されます。

c. 「サービス」または「参照」のいずれかをクリックします。
アダプタの「ホーム」ページが表示されます。

a. 「soa-infra」の下にある、特定のSOAコンポジット・アプリケーションをクリックします。
SOAコンポジットのホーム・ページが表示されます。

b. 「コンポジット・ターゲット」メニューから、「サービス/参照プロパティ」を選択します。「サービス」または「参照」を選択します。アダプタの「ホーム」ページが表示されます。

2. 事前定義されたプロパティを追加します。

a. 「プロパティ」タブをクリックし、現在定義されているバインディング・プロパティのリストを表示します。

b. 「追加」ボタンをクリックします。
既存のプロパティ・リストに、空の新規行が追加されます。

c. 新規行の「名前」フィールドで「値の選択」アイコンをクリックします。
「プロパティ」ダイアログが表示されます。

d. 特定のアダプタに対して有効なプロパティをプロパティ・リストから選択し、「OK」をクリックします。

e. 「適用」をクリックします。
これで、インバウンド・アダプタの事前定義されたプロパティの追加を完了しました。

アダプタの構成の詳細は、 「サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントのプロパティの構成」および『テクノロジ・アダプタの理解』を参照してください。

25.1.3 インバウンド・アダプタの新規プロパティの作成

アダプタのプロパティは、通常、設計時にOracle JDeveloperで定義されます。ただし、Oracle Enterprise Manager Fusion Middleware Controlを使用して、後で新しいプロパティを追加できます。

インバウンド・アダプタの新規プロパティを作成する手順は、次のとおりです。

1. 次のオプションのどちらかを使用して、アダプタに移動します。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. ターゲット・メニューで「soa-infra」を右クリックします。

b. 「サービスと参照」をクリックします。
「サービス」および「参照」とともにSOAインフラのページが表示されます。

c. 「サービス」をクリックします。
アダプタの「ホーム」ページが表示されます。

a. 「soa-infra」の下にある、特定のSOAコンポジット・アプリケーションをクリックします。
SOAコンポジットのホーム・ページが表示されます。

b. 「コンポジット・ターゲット」メニューから、「サービス/参照プロパティ」を選択します。「サービス」を選択します。アダプタの「ホーム」ページが表示されます。

2. 新規プロパティを作成します。

a. 「プロパティ」タブをクリックし、現在定義されているバインディング・プロパティのリストを表示します。

b. 「追加」ボタンをクリックします。
既存のプロパティ・リストに、空の新規行が追加されます。

c. 新規行の「名前」フィールドと「値」フィールドに、プロパティの名前と値を指定します。

d. 「保存」をクリックします。
これで、インバウンド・アダプタの新規プロパティの作成を完了しました。

アダプタの構成の詳細は、 「サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントのプロパティの構成」および『テクノロジ・アダプタの理解』を参照してください。

25.1.4 インバウンド・アダプタのプロパティの削除

プロパティの事前定義リストから追加したプロパティ、または新規作成したプロパティのみ削除できます。

インバウンド・アダプタのプロパティを削除する手順は、次のとおりです。

1. 次のオプションのどちらかを使用して、アダプタに移動します。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. ターゲット・メニューで「soa-infra」を右クリックします。

b. 「サービスと参照」をクリックします。
「サービス」および「参照」とともにSOAインフラのページが表示されます。

c. 「サービス」をクリックします。
アダプタの「ホーム」ページが表示されます。

a. 「soa-infra」の下にある、特定のSOAコンポジット・アプリケーションをクリックします。
SOAコンポジットのホーム・ページが表示されます。

b. 「コンポジット・ターゲット」メニューから、「サービス/参照プロパティ」を選択します。「サービス」を選択します。アダプタの「ホーム」ページが表示されます。

2. プロパティを削除します。

a. 「プロパティ」タブをクリックし、現在定義されているバインディング・プロパティのリストを表示します。

b. 削除するプロパティを選択し、「削除」をクリックします。
処理を確認するメッセージが表示されます。

c. 「はい」をクリックして確認します。

d. 「適用」をクリックします。
これで、インバウンド・アダプタのプロパティの削除を完了しました。

アダプタの構成の詳細は、 「サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントのプロパティの構成」および『テクノロジ・アダプタの理解』を参照してください。

25.1.5 インバウンド・アダプタのプロパティ値を元に戻す

自分で変更したプロパティのみ元に戻すことができます。また、元に戻す操作を実行できるのは、既存のプロパティ値に対してのみで、プロパティの事前定義リストから追加したプロパティまたは作成したプロパティに対しては実行できません。

インバウンド・アダプタのプロパティ値を元に戻す手順は、次のとおりです。

1. 次のいずれかのオプションを使用して、アダプタに移動します。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. ターゲット・メニューで「soa-infra」を右クリックします。

b. 「サービスと参照」をクリックします。
「サービス」および「参照」とともにSOAインフラのページが表示されます。

c. 「サービス」をクリックします。
アダプタの「ホーム」ページが表示されます。

a. 「soa-infra」の下にある、特定のSOAコンポジット・アプリケーションをクリックします。
SOAコンポジットのホーム・ページが表示されます。

b. 「コンポジット・ターゲット」メニューから、「サービス/参照プロパティ」を選択します。「サービス」を選択します。アダプタの「ホーム」ページが表示されます。

2. インバウンド・アダプタのプロパティ値を元に戻します。

a. 「プロパティ」タブをクリックし、現在定義されているバインディング・プロパティのリストを表示します。

b. 元に戻すプロパティを選択し、「元に戻す」をクリックします。
処理を確認するメッセージが表示されます。

c. 「はい」をクリックして確認します。

d. 「保存」をクリックします。
これで、インバウンド・アダプタのプロパティ値は元に戻りました。

アダプタの構成の詳細は、 「サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントのプロパティの構成」および『テクノロジ・アダプタの理解』を参照してください。

25.2 アウトバウンド・アダプタのエンドポイント・プロパティの構成

この項では、アウトバウンド・アダプタのエンドポイント・プロパティの構成方法について説明します。次のトピックが含まれています:

- アウトバウンド・アダプタの事前定義されたプロパティの編集

- アウトバウンド・アダプタの事前定義されたプロパティの追加

- アウトバウンド・アダプタの新規プロパティの作成

- アウトバウンド・アダプタのプロパティの削除

- アウトバウンド・アダプタのプロパティ値を元に戻す

25.2.1 アウトバウンド・アダプタの事前定義されたプロパティの編集

アダプタのプロパティは、通常、設計時にOracle JDeveloperで定義されます。ただし、Oracle Enterprise Manager Fusion Middleware Controlを使用して、後で事前定義プロパティを編集できます。

アウトバウンド・アダプタの事前定義されたプロパティを編集する手順は、次のとおりです。

1. 次のいずれかの方法を使用して、SOAコンポジット・アプリケーションに移動します。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. ターゲット・メニューで「soa-infra」を右クリックします。

b. 「サービスと参照」をクリックします。
「サービス」および「参照」とともにSOAインフラのページが表示されます。

c. 「参照」をクリックします。
アダプタの「ホーム」ページが表示されます。

a. 「soa-infra」の下にある、特定のSOAコンポジット・アプリケーションをクリックします。
SOAコンポジットのホーム・ページが表示されます。

b. 「コンポジット・ターゲット」メニューから、「サービス/参照プロパティ」を選択します。「参照」を選択します。アダプタの「ホーム」ページが表示されます。

2. 事前定義されたプロパティを編集します。

a. 「プロパティ」タブをクリックし、現在定義されているバインディング・プロパティのリストを表示します。

b. 編集するプロパティを選択します。

c. 「値」テキスト・ボックスの値を編集します。「適用」をクリックして変更を適用できます。
これで、アウトバウンド・アダプタの事前定義されたプロパティの編集を完了しました。

注意:

非同期のアウトバウンド・リクエスト/リプライ・シナリオにおけるOracle MQ Series Adapterでは、プロパティは(Enqueue)または(Dequeue)ラベルによって区別されます。たとえば、QueueName(Enqueue)はメッセージの蓄積に使用され、QueueName(Dequeue)はリプライのデキューに使用されます。

このシナリオでOracle MQ Series Adapterのプロパティを編集する場合は、次のことに注意してください。

- ReplyToQueueName(Enqueue)プロパティを変更する場合は、QueueName(Dequeue)プロパティも同じ値に変更する必要があります。

- MessageId(Dequeue)プロパティを変更する場合は、MessageId(Enqueue)プロパティも同じ値に変更する必要があります。

- CorrelationId(Dequeue)プロパティを変更する場合は、CorrelationId(Enqueue)プロパティも同じ値に変更する必要があります。

アダプタの構成の詳細は、 「サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントのプロパティの構成」および『テクノロジ・アダプタの理解』を参照してください。

25.2.2 アウトバウンド・アダプタの事前定義されたプロパティの追加

アダプタのプロパティは、通常、設計時にOracle JDeveloperで定義されます。ただし、Oracle Enterprise Manager Fusion Middleware Controlを使用して、事前定義されたプロパティを後で追加することができます。

アウトバウンド・アダプタの事前定義されたプロパティを追加する手順は、次のとおりです。

1. 次のいずれかのオプションを使用して、アダプタに移動します。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. ターゲット・メニューで「soa-infra」を右クリックします。

b. 「サービスと参照」をクリックします。
「サービス」および「参照」とともにSOAインフラのページが表示されます。

c. 「参照」をクリックします。
アダプタの「ホーム」ページが表示されます。

a. 「soa-infra」の下にある、特定のSOAコンポジット・アプリケーションをクリックします。
SOAコンポジットのホーム・ページが表示されます。

b. 「コンポジット・ターゲット」メニューから、「サービス/参照プロパティ」を選択します。「参照」を選択します。アダプタの「ホーム」ページが表示されます。

2. 事前定義されたプロパティを追加します。

a. 「プロパティ」タブをクリックし、現在定義されているバインディング・プロパティのリストを表示します。

b. 「追加」ボタンをクリックします。
既存のプロパティ・リストに、空の新規行が追加されます。

c. 新規行の「名前」フィールドで「値の選択」アイコンをクリックします。
「プロパティ」ダイアログが表示されます。

d. 特定のアダプタに対して有効なプロパティをプロパティ・リストから選択し、「OK」をクリックします。

e. 「保存」をクリックします。
これで、アウトバウンド・アダプタの事前定義されたプロパティの追加を完了しました。

アダプタの構成の詳細は、 「サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントのプロパティの構成」および『テクノロジ・アダプタの理解』を参照してください。

25.2.3 アウトバウンド・アダプタの新規プロパティの作成

アダプタのプロパティは、通常、設計時にOracle JDeveloperで定義されます。ただし、Oracle Enterprise Manager Fusion Middleware Controlを使用して、新しいプロパティを後で追加することができます。

アウトバウンド・アダプタの新規プロパティを作成する手順は、次のとおりです。

1. 次のいずれかのオプションを使用して、アダプタに移動します。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. ターゲット・メニューで「soa-infra」を右クリックします。

b. 「サービスと参照」をクリックします。
「サービス」および「参照」とともにSOAインフラのページが表示されます。

c. 「参照」をクリックします。
アダプタの「ホーム」ページが表示されます。

a. 「soa-infra」の下にある、特定のSOAコンポジット・アプリケーションをクリックします。
SOAコンポジットのホーム・ページが表示されます。

b. 「コンポジット・ターゲット」メニューから、「サービス/参照プロパティ」を選択します。「参照」を選択します。アダプタの「ホーム」ページが表示されます。

2. 新規プロパティを作成します。

a. 「プロパティ」タブをクリックし、現在定義されているバインディング・プロパティのリストを表示します。

b. 「追加」ボタンをクリックします。
既存のプロパティ・リストに、空の新規行が追加されます。

c. 新規行の「名前」フィールドと「値」フィールドに、プロパティの名前と値を指定します。

d. 変更を適用するには、「適用」をクリックします。
これで、アウトバウンド・アダプタの新規プロパティの作成を完了しました。

アダプタの構成の詳細は、「サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントのプロパティの構成」および『テクノロジ・アダプタの理解』を参照してください。

25.2.4 アウトバウンド・アダプタのプロパティの削除

プロパティの事前定義リストから追加したプロパティ、または新規作成したプロパティのみ削除できます。

アウトバウンド・アダプタのプロパティを削除する手順は、次のとおりです。

1. 次のいずれかのオプションを使用して、アダプタに移動します。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. ターゲット・メニューで「soa-infra」を右クリックします。

b. 「サービスと参照」をクリックします。
「サービス」および「参照」とともにSOAインフラのページが表示されます。

c. 「参照」をクリックします。
アダプタの「ホーム」ページが表示されます。

a. 「soa-infra」の下にある、特定のSOAコンポジット・アプリケーションをクリックします。
SOAコンポジットのホーム・ページが表示されます。

b. 「コンポジット・ターゲット」メニューから、「サービス/参照プロパティ」を選択します。「参照」を選択します。アダプタの「ホーム」ページが表示されます。

2. アウトバウンド・アダプタのプロパティを削除します。

a. 「プロパティ」タブをクリックし、現在定義されているバインディング・プロパティのリストを表示します。

b. 削除するプロパティを選択し、「削除」をクリックします。
処理を確認するメッセージが表示されます。

c. 「OK」をクリックして確定します。

d. 変更を適用するには、「適用」をクリックします。
これで、アウトバウンド・アダプタのプロパティの削除を完了しました。

アダプタの構成の詳細は、 「サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントのプロパティの構成」および『テクノロジ・アダプタの理解』を参照してください。

25.2.5 アウトバウンド・アダプタのプロパティ値を元に戻す

既存のプロパティ値に対する変更(ある場合)のみ元に戻すことができます。プロパティの事前定義リストから追加したプロパティ、または新規作成したプロパティに対する変更は元に戻せません。

インバウンド・アダプタのプロパティ値を元に戻す手順は、次のとおりです。

1. 次のいずれかのオプションを使用して、アダプタに移動します。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. ターゲット・メニューで「soa-infra」を右クリックします。

b. 「サービスと参照」をクリックします。
「サービス」および「参照」とともにSOAインフラのページが表示されます。

c. 「参照」をクリックします。
アダプタの「ホーム」ページが表示されます。

a. 「soa-infra」の下にある、特定のSOAコンポジット・アプリケーションをクリックします。
SOAコンポジットのホーム・ページが表示されます。

b. 「コンポジット・ターゲット」メニューから、「サービス/参照プロパティ」を選択します。「参照」を選択します。アダプタの「ホーム」ページが表示されます。

2. アウトバウンド・アダプタのプロパティ値を元に戻します。

a. 「プロパティ」タブをクリックし、現在定義されているバインディング・プロパティのリストを表示します。

b. 元に戻すプロパティを選択し、「元に戻す」をクリックします。
処理を確認するメッセージが表示されます。

c. 「OK」をクリックして確認し、「適用」をクリックします。
これで、アウトバウンド・アダプタのプロパティ値は元に戻りました。

アダプタの構成の詳細は、 「サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントのプロパティの構成」および『テクノロジ・アダプタの理解』を参照してください。

26 Oracle JCAアダプタの監視

この章では、インバウンドおよびアウトバウンドのOracle JCAアダプタの監視方法(インスタンスとフォルト、最新のフォルトと拒否メッセージ、アダプタのプロパティおよびアダプタ・ログの監視を含む)について説明します。

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

- インバウンド・アダプタのインスタンスとフォルトの監視

- インバウンド・アダプタの最新のフォルトと拒否メッセージの監視

- インバウンド・アダプタのフォルトの監視

- インバウンド・アダプタのプロパティの監視

- アウトバウンド・アダプタのインスタンスとフォルトの監視

- アウトバウンド・アダプタのフォルトの監視

- アウトバウンド・アダプタのプロパティの監視

- アダプタ・ログの監視

- アダプタ構成レポート

- Oracle Enterprise Schedulerを使用したJCAアダプタ・エンドポイントのアクティブ化および非アクティブ化のスケジュール

26.1 インバウンド・アダプタのインスタンスとフォルトの監視

コンポジットからサービスを起動するとエラーが発生する場合があります。このエラーは、サービスのフォルトとして取得されます。インバウンド・アダプタのインスタンスおよびフォルトの詳細は、「ダッシュボード」ページの「インスタンスとフォルト」セクションに表示されます。

インバウンド・アダプタのインスタンスとフォルトを監視する手順は、次のとおりです。

1. 次のいずれかのオプションを使用して、SOAコンポジット・アプリケーションに移動します。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「ホーム」をクリックします。
「SOAインフラストラクチャ」ページが表示されます。

b. 「デプロイ済コンポジット」タブをクリックします。
デプロイ済コンポジットのリストが表示されます。

c. 「コンポジット」セクションで、特定のSOAコンポジット・アプリケーションをクリックします。
SOAコンポジットのホーム・ページが表示されます。

d. 右パネルの「サービスと参照」セクションでインバウンド・アダプタ(サービス)をクリックします。
「サービス・ホーム」ページが表示されます。

a. 「soa-infra」の下にある、特定のSOAコンポジット・アプリケーションをクリックします。
SOAコンポジットのホーム・ページが表示されます。

b. 右パネルの「サービスと参照」セクションでインバウンド・アダプタ(サービス)をクリックします。

2. インバウンド・アダプタのインスタンスとフォルトを監視します。

a. soa-infraの下でコンポジットを選択したら、デフォルトで「ダッシュボード」ページが選択されます。

b. 「フロー・インスタンス」タブを選択します。その下に「フォルトがあるインスタンス」セクションが表示されます。「インスタンスとフォルト」セクション内でインスタンスとフォルトを表示できます。
フォルトの詳細は、「インスタンスとフォルト」セクションに折れ線グラフで表示されます。このグラフ内で最新のフォルトを検索できます。この折れ線グラフは、サーバー起動時以降の送信メッセージの合計数およびフォルトの合計数を示します。

アダプタの監視の詳細は、テクノロジ・アダプタの理解を参照してください。

26.2 インバウンド・アダプタの最新のフォルトと拒否メッセージの監視

インバウンド・アダプタの最新のフォルトと拒否メッセージの詳細は、「ダッシュボード」ページの「フロー・インスタンス」タブで確認できます。

インバウンド・アダプタの最新の拒否メッセージを監視する手順は、次のとおりです。

1. 次のいずれかのオプションを使用して、SOAコンポジット・アプリケーションに移動します。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「ホーム」をクリックします。
「SOAインフラストラクチャ」ページが表示されます。

b. 「デプロイ済コンポジット」タブをクリックします。
デプロイ済コンポジットのリストが表示されます。

c. 「コンポジット」セクションで、特定のSOAコンポジット・アプリケーションをクリックします。
SOAコンポジットのホーム・ページが表示されます。

d. 右パネルの「サービスと参照」セクションでインバウンド・アダプタ(サービス)をクリックします。
「サービス・ホーム」ページが表示されます。

a. 「soa-infra」の下にある、特定のSOAコンポジット・アプリケーションをクリックします。
SOAコンポジットのホーム・ページが表示されます。

b. 右パネルの「サービスと参照」セクションでインバウンド・アダプタ(サービス)をクリックします。
「サービス・ホーム」ページが表示されます。

2. インバウンド・アダプタの最新のフォルトと拒否メッセージを監視します。

a. 「ダッシュボード」をクリックします。
「ダッシュボード」ページが表示されます。

b. 「フロー・インスタンス」タブ内の「インスタンスとフォルト」セクションにリストされた最新のフォルトと拒否メッセージを確認します。
最新のフォルトと拒否メッセージのリストが、エラー・メッセージ、フォルト時間、ビジネス・フロー・インスタンスIDなどの詳細とともに表示されます。

アダプタの監視の詳細は、テクノロジ・アダプタの理解を参照してください。

26.3 インバウンド・アダプタのフォルトの監視

インバウンド・アダプタのフォルトと拒否メッセージの詳細は、「フロー・インスタンス」ページで確認できます。

インバウンド・アダプタの拒否メッセージを監視する手順は、次のとおりです。

1. 次のいずれかのオプションを使用して、SOAコンポジット・アプリケーションに移動します。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「ホーム」をクリックします。
「SOAインフラストラクチャ」ページが表示されます。

b. 「デプロイ済コンポジット」タブをクリックします。
デプロイ済コンポジットのリストが表示されます。

c. 「コンポジット」セクションで、特定のSOAコンポジット・アプリケーションをクリックします。
「SOAコンポジット・ホーム」ページが表示されます。

a. 「soa-infra」の下にある、特定のSOAコンポジット・アプリケーションをクリックします。
「SOAコンポジット・ホーム」ページが表示されます。

2. インバウンド・アダプタのフォルトと拒否メッセージを監視する手順は、次のとおりです。

a. 「フロー・インスタンス」タブ内の「インスタンスとフォルト」セクションにリストされた最新のフォルトと拒否メッセージを確認します。
フォルトと拒否メッセージのリストが、エラー・メッセージ、フォルト時間、ビジネス・フロー・インスタンスIDなどの詳細とともに表示されます。

アダプタの監視の詳細は、テクノロジ・アダプタの理解を参照してください。

26.3.1 インバウンド・アダプタの拒否メッセージの検索

インバウンド・アダプタのフォルトと拒否メッセージを検索するには、検索機能を使用します。

インバウンド・アダプタのフォルトと拒否メッセージを検索する手順は、次のとおりです。

1. 次のいずれかのオプションを使用して、SOAコンポジット・アプリケーションに移動します。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「ホーム」をクリックします。
「SOAインフラストラクチャ」ページが表示されます。

b. 「デプロイ済コンポジット」タブをクリックします。
デプロイ済コンポジット・アプリケーションのリストが表示されます。

c. 「コンポジット」セクションで、特定のSOAコンポジット・アプリケーションをクリックします。
「SOAコンポジット・ホーム」ページが表示されます。

a. 「soa-infra」の下にある、特定のSOAコンポジット・アプリケーションをクリックします。
「SOAコンポジット・ホーム」ページが表示されます。

2. 「フロー・インスタンス」タブを選択して、「フォルトがあるインスタンス」セクションを取得します。

3. 次の検索オプションのいずれかまたは全部を入力します。

- 時間範囲内のインスタンス
エラー・メッセージ・テキストの一部分を入力します。

- 時間
フォルトのIDを入力します。

- コンポジット
トグルから「開始中」または「参加中」を選択します。

- 状態
「アクティブ」を選択します(「すべてアクティブ」、「リカバリ」、「実行中」または「一時停止」のいずれか)。または「非アクティブ」を選択します(「すべて非アクティブ」、「完了」、「失敗」または「中断」のいずれか)。

- フォルト
使用可能なフォルトのリストからタイプを選択します。これには、「全フォルト」、「リカバリが必要です」、「リカバリ不可」、「リカバリ済」、「システム自動再試行」が含まれます

- 「最新のインスタンス」、「フォルトがあるインスタンス」、「リカバリ可能なインスタンス」のみの検索も選択できます。

4. 「検索」をクリックして検索操作を開始します。
指定した基準に一致するフォルトまたは拒否メッセージが表示されます。

5. 「リセット」をクリックして検索基準をリセットします。

アダプタの構成の詳細は、テクノロジ・アダプタの理解を参照してください。

26.3.2 インバウンド・アダプタの拒否メッセージの削除

検索基準を指定して、データベースから直接拒否メッセージを削除できます。

インバウンド・アダプタの拒否メッセージを削除する手順は、次のとおりです。

1. 次のいずれかのオプションを使用して、SOAコンポジット・アプリケーションに移動します。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「ホーム」をクリックします。
「SOAインフラストラクチャ」ページが表示されます。

b. 「デプロイ済コンポジット」タブをクリックします。
デプロイ済コンポジット・アプリケーションのリストが表示されます。

c. 「コンポジット」セクションで、特定のSOAコンポジット・アプリケーションをクリックします。
SOAコンポジットのホーム・ページが表示されます。

a. 「soa-infra」の下にある、特定のSOAコンポジット・アプリケーションをクリックします。
SOAコンポジットのホーム・ページが表示されます。

2. 「フロー・インスタンス」タブを選択して、「フォルトがあるインスタンス」セクションを取得します。

3. 「選択したフロー・インスタンスの削除」アイコンをクリックします。
「選択したフロー・インスタンスの削除」ダイアログが表示されます。

4. 「削除」をクリックします。

フォルトを削除するには、「インスタンス」ページから、関連するビジネス・フロー・インスタンスを削除する必要があります。

アダプタの構成の詳細は、テクノロジ・アダプタの理解を参照してください。

26.4 インバウンド・アダプタのプロパティの監視

「プロパティ」ページで、インバウンド・アダプタのプロパティの詳細を表示できます。

インバウンド・アダプタのプロパティを監視する手順は、次のとおりです。

1. 次のいずれかのオプションを使用して、SOAコンポジット・アプリケーションに移動します。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「ホーム」をクリックします。
「SOAインフラストラクチャ」ページが表示されます。

b. 「デプロイ済コンポジット」タブをクリックします。
デプロイ済コンポジットのリストが表示されます。

c. 「コンポジット」セクションで、特定のSOAコンポジット・アプリケーションをクリックします。
SOAコンポジットのホーム・ページが表示されます。

d. 右パネルの「サービスと参照」セクションでインバウンド・アダプタ(サービス)をクリックします。
「サービス・ホーム」ページが表示されます。

a. 「soa-infra」の下にある、特定のSOAコンポジット・アプリケーションをクリックします。
SOAコンポジットのホーム・ページが表示されます。

b. 右パネルの「サービスと参照」セクションでインバウンド・アダプタ(サービス)をクリックします。
「サービス・ホーム」ページが表示されます。

2. インバウンド・アダプタのプロパティを監視します。

a. 「プロパティ」をクリックします。
そのアダプタの「プロパティ」ページが表示されます。

プロパティのリストが、名前や値などの詳細とともに表示されます。

注意:

インバウンドの非同期リクエスト/リプライ・シナリオ(リプライ送信操作の前にメッセージ取得操作が実行される)が含まれるアダプタでは、アクティブ化仕様に関する詳細のみが表示され、相互作用の仕様に関する詳細は表示されません。

アダプタの監視の詳細は、テクノロジ・アダプタの理解を参照してください。

26.5 アウトバウンド・アダプタのインスタンスとフォルトの監視

コンポジットからの参照の起動は、エラーになる場合があります。このエラーは、参照内でフォルトとしてキャプチャされます。「ダッシュボード」ページの「インスタンスとフォルト」セクションで、アウトバウンド・アダプタのインスタンスとフォルトの詳細を表示できます。

アウトバウンド・アダプタのインスタンスとフォルトを監視する手順は、次のとおりです。

1. 次のいずれかのオプションを使用して、SOAコンポジット・アプリケーションに移動します。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「ホーム」をクリックします。
「SOAインフラストラクチャ」ページが表示されます。

b. 「デプロイ済コンポジット」タブをクリックします。
デプロイ済コンポジットのリストが表示されます。

c. 「コンポジット」セクションで、特定のSOAコンポジット・アプリケーションをクリックします。
SOAコンポジットのホーム・ページが表示されます。

d. 右パネルの「サービスと参照」セクションでアウトバウンド・アダプタ(参照)をクリックします。
「サービス・ホーム」ページが表示されます。

a. 「soa-infra」の下にある、特定のSOAコンポジット・アプリケーションをクリックします。
SOAコンポジットのホーム・ページが表示されます。

b. 右パネルの「サービスと参照」セクションでアウトバウンド・アダプタ(参照)をクリックします。
「サービス・ホーム」ページが表示されます。

2. アウトバウンド・アダプタのインスタンスとフォルトを監視します。

a. 「ダッシュボード」をクリックします。
「ダッシュボード」ページが表示されます。

b. 「フロー・インスタンス」タブをクリックして、「インスタンスとフォルト」セクションにリストされたインスタンスとフォルトを確認します。
フォルトの詳細は、「インスタンスとフォルト」セクションに折れ線グラフで表示されます。この折れ線グラフは、サーバー起動時以降の送信メッセージの合計数およびフォルトの合計数を示します。

c. 「表ビュー」を選択して展開された表ビュー・リストを表示し、サーバー起動時以降のメッセージの合計数またはフォルトの合計数を確認します。このリストは、昇順または降順にソートしたり、「拡張」を選択して拡張基準でソートできます。

アダプタの監視の詳細は、テクノロジ・アダプタの理解を参照してください。

26.6 アウトバウンド・アダプタのフォルトの監視

アウトバウンド・アダプタのインスタンスとフォルトの詳細は、「フォルト」ページに表示できます。

アウトバウンド・アダプタのフォルトを監視する手順は、次のとおりです。

1. 次のいずれかのオプションを使用して、SOAコンポジット・アプリケーションに移動します。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「ホーム」をクリックします。
「SOAインフラストラクチャ」ページが表示されます。

b. 「デプロイ済コンポジット」タブをクリックします。
デプロイ済コンポジットのリストが表示されます。

c. 「コンポジット」セクションで、特定のSOAコンポジット・アプリケーションをクリックします。
「SOAコンポジット・ホーム」ページが表示されます。

a. 「soa-infra」の下にある、特定のSOAコンポジット・アプリケーションをクリックします。
「SOAコンポジット・ホーム」ページが表示されます。

2. アウトバウンド・アダプタのフォルトを監視する手順は、次のとおりです。

a. 「フロー・インスタンス」タブを選択して、「フォルトがあるインスタンス」セクションを取得します。

b. 「表ビュー」を選択して、フォルト、サーバー起動時以降の受信メッセージの合計数およびフォルトの合計数のリストを表示し、好みにあわせて表示されたデータをソートします。

アダプタの監視の詳細は、テクノロジ・アダプタの理解を参照してください。

26.6.1 アウトバウンド・アダプタのフォルトの検索

アウトバウンド・アダプタのフォルトを検索するには、検索機能を使用します。

アウトバウンド・アダプタのフォルトを検索する手順は、次のとおりです。

1. 次のいずれかのオプションを使用して、SOAコンポジット・アプリケーションに移動します。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「ホーム」をクリックします。
「SOAインフラストラクチャ」ページが表示されます。

b. 「デプロイ済コンポジット」タブをクリックします。
デプロイ済コンポジット・アプリケーションのリストが表示されます。

c. 「コンポジット」セクションで、特定のSOAコンポジット・アプリケーションをクリックします。
「SOAコンポジット・ホーム」ページが表示されます。

a. 「soa-infra」の下にある、特定のSOAコンポジット・アプリケーションをクリックします。
「SOAコンポジット・ホーム」ページが表示されます。

2. 「フロー・インスタンス」タブを選択して、「フォルトがあるインスタンス」セクションを取得します。

3. 右側にある「検索」アイコンをクリックして保存済の検索を実行します。

4. 「検索オプション」セクションで、次の検索基準のいずれかまたは全部を入力します。

- 「リセット」アイコンを選択して検索基準をリセットします。

- 「ディスク」アイコンを選択してカスタム検索を保存します。

- 「ブックマーク」アイコンを選択してブックマーク可能なリンクを生成します。

- 右側にある「ファンネル」アイコンを選択してフィルタをカスタマイズ(追加または削除)します。

- 「フィルタの追加/削除」リンクで、「時間」、「コンポジット」、「リシーケンサ」、「フロー・インスタンス」、「状態」、「フォルト」または「ユーザー」ごとにフィルタを追加または削除できます。

- 「検索オプション」を使用して、「最新のインスタンス」、「フォルトがあるインスタンス」、「リカバリ可能なインスタンス」、「すべての保存済検索」を設定できます。

- 「期間のカスタマイズ」か、過去の時間数、分数、日数または週数を選択できます。

- 「参加中」またはコンポジットを選択します。

- 「状態」を、「すべてアクティブ」、「リカバリ」、「一時停止」、「実行中」から選択します。

- フォルトとして、「全フォルト」、「リカバリが必要です」、「リカバリ不可」、「リカバリ済」、「システム自動再試行」のいずれかを選択します。

5. 「検索」をクリックして検索操作を開始します。
指定した基準に一致するフォルトが表示されます。

アダプタの構成の詳細は、テクノロジ・アダプタの理解を参照してください。

26.7 アウトバウンド・アダプタのプロパティの監視

アウトバウンド・アダプタのプロパティの詳細は、「プロパティ」ページで表示できます。

アウトバウンド・アダプタのプロパティを監視する手順は、次のとおりです。

1. 次のいずれかのオプションを使用して、SOAコンポジット・アプリケーションに移動します。

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「ホーム」をクリックします。
「SOAインフラストラクチャ」ページが表示されます。

b. 「デプロイ済コンポジット」タブをクリックします。
デプロイ済コンポジットのリストが表示されます。

c. 「コンポジット」セクションで、特定のSOAコンポジット・アプリケーションをクリックします。
SOAコンポジットのホーム・ページが表示されます。

d. 右パネルの「サービスと参照」セクションでアウトバウンド・アダプタ(参照)をクリックします。
「サービス・ホーム」ページが表示されます。

a. 「soa-infra」の下にある、特定のSOAコンポジット・アプリケーションをクリックします。
SOAコンポジットのホーム・ページが表示されます。

b. 右パネルの「サービスと参照」セクションでアウトバウンド・アダプタ(参照)をクリックします。
「サービス・ホーム」ページが表示されます。

2. アウトバウンド・アダプタのプロパティを監視します。

a. 「プロパティ」タブをクリックします。
プロパティ・ページが表示されます。

b. 「表示」をクリックします。
プロパティのリストが、名前や値などの詳細とともに表示されます。

注意:

アウトバウンドの非同期リクエスト/リプライ・シナリオ(レスポンス取得操作の前にメッセージ送信操作が実行される)が含まれるアダプタの場合、相互作用の仕様に関する詳細のみが表示され、アクティブ化の仕様に関する詳細は表示されません。

アダプタの監視の詳細は、テクノロジ・アダプタの理解を参照してください。

26.8 アダプタ・ログの監視

Oracle Fusion Middlewareコンポーネントは、起動および停止情報、エラー、警告メッセージ、HTTPリクエスト時のアクセス情報など、すべての種類のイベントを記録するメッセージが格納されたログ・ファイルを生成します。すべてのOracle JCAアダプタに対してロガーは1つしか生成されず、このロガーはoracle.soa.adapterと呼ばれます。

ファイル・アダプタ・ログを監視する手順は、次のとおりです。

1. 選択したコンポジット・アプリケーションのSOAコンポジット・ダッシュボードに移動します。

2. SOAコンポジット・ダッシュボードの右側にある「選択したリンク」からコンポジット・アプリケーションのログを選択します。

3. 調査するログの日時範囲を指定します。

4. 日時範囲に加えて、検索するログのリストを区切る他の基準を指定することもできます。次のような要因があります。

- 含まれるメッセージ | 次に等しい | 次に等しくない | 次を含まない | 次で始まる | 次で始まらない | 次で終わる | 次で終わらない | 次に一致する |次に一致しない

- コンポジット名は次に等しい | 次に等しくない | 次を含む | 次を含まない | 次で始まる | 次で始まらない | 次で終わる | 次で終わらない | 次に一致する | 次に一致しない

- フォルトIDは次に等しい | 次に等しくない | 次を含む | 次を含まない | 次で始まる | 次で始まらない | 次で終わる | 次で終わらない | 次に一致する | 次に一致しない

- フロー相関は次に等しい | 次に等しくない | 次を含む | 次を含まない | 次で始まる | 次で始まらない | 次で終わる | 次で終わらない | 次に一致する | 次に一致しない

- フローIDは次に等しい | 次に等しくない | 次を含む | 次を含まない |次で始まる | 次で始まらない | 次で終わる | 次で終わらない | 次に一致する | 次に一致しない

5. Oracle Enterprise Manager Fusion Middleware Controlに、指定した基準を満たすログのリストが表示されます。ログのリストからサーバー・ログを選択し、ダウンロードしてエディタに表示します。

6. あるいは、「ターゲット」→「ナビゲーション」→「ドメイン」の順に移動し、コンポジットが存在するドメインを右クリックして「ログ・メッセージの表示」を選択することもできます。このようにすると、ログ・メッセージのリストが直接表示されます。

7. SOAアダプタ・ログに関する情報がロガーで見つかります。

ログの構成の詳細は、「ログ・ファイルの構成」を参照してください。ログに関連する診断の詳細は、「SOAコンポジット・アプリケーションに関する問題の診断」を参照してください。

26.9 アダプタ構成レポート

Oracleアダプタの構成レポートには、アダプタの構成方法に関する情報が示されます。スナップショット・レポートと監視レポートに加えて診断情報が示されます。このサポートがないと、顧客は診断のために複数のコンソールやログを調べる必要があります。診断レポートでレポートされるアダプタ・プロパティよりはるかに多くのアダプタ・プロパティが存在します。しかし、レポートに示されている情報は最も関連性の高いプロパティの情報です。

構成レポートには、サービス・エンドポイントに関する情報が示されます。このようなレポートはそれぞれ相互に関連しており、そうでなければ各種レポート間を何回も移動してアダプタ構成に関連する情報を見つける必要がある情報が提供されます。

アダプタ構成レポートで取得される情報は、次のとおりです。

- 接続ファクトリ・プロパティ

- サービス定義プロパティ(アクティブ化プロパティやサービス・エンドポイントに関連するその他の仕様)

- サービス・チューニング・プロパティ: サービスをチューニングして、スループットや抑制などのパフォーマンス項目の変更に使用されるサービス・エンドポイントのプロパティ

- 参照定義プロパティ(相互作用プロパティや参照エンドポイントに含まれるその他のタイプの仕様)

- 参照チューニング・プロパティ: サービスをチューニングして、スループットや抑制などのパフォーマンス・ファクタの変更に使用される参照エンドポイントのプロパティ。

レポートには、接続ファクトリ・プロパティには属さないアダプタ固有のプロパティに関する情報は示されません。たとえば、レポートにはLDAP RootDSEのプロパティに関する情報は示されません。

26.9.1 アダプタ・レポートの表示の有効化

Oracle Enterprise Manager Fusion Middleware Controlで次のアダプタ・レポートの表示を有効にできます。

- 監視レポート

- 構成レポート

- スナップショット・レポート

「監視レポート」ページの上部のチェック・ボックスを選択して、レポートを有効にできます。「プロパティ」タブで対応するプロパティを追加することによっても、レポートを有効にできます。

26.9.1.1 監視レポート

リアルタイム監視統計が表示される監視レポート内では、アクティブ化の仕様によって次のような構成関連の情報が示されます。

- 接続ファクトリ・プロパティとして表示されるEIS接続構成。

- アクセス先のリソース。これには、管理対象接続やこのような接続の最新のタイムスタンプが含まれます。

- 現在空いている接続や接続の最大プール・サイズなど、その他のチューニング情報。

図26-1に、診断レポートとスナップショット・レポートに関連した監視レポートの外観を示します。このレポートには、サービス・エンドポイントに関する情報が表示されています。

図26-1 サービス・エンドポイントに関する統計を示す監視レポート

監視レポートの要素の説明は、図26-1を参照してください。

表26-1 アダプタ監視レポートの要素

要素

説明

サーバー名

エンドポイントがデプロイされるサーバーの名前。

EIS接続ステータス

EISがエンドポイントに接続されているかどうかを示します。ステータスが「未接続」であるときにスタック・トレースを取得するには、ステータス・アイコンをクリックします。

管理対象接続

このアダプタからエンタープライズ情報システム(EIS)システムへの管理対象接続の接続プール統計。

現在空いています

このコネクタ接続プールのプール・サイズ。

平均使用数

作成された接続のうち実行中の平均使用数で、プールが最後に縮小されて以降、コネクタ・プールでアクティブなものです。

現在空いています

現在の合計空き接続数。

最大プール・サイズ

このコネクタ接続プールに構成されている最大容量。

最新のタイムスタンプ

最後のメッセージの公開および最後のサービスのアクティブ化に関する最新のタイムスタンプ。

最後のメッセージの公開

サービス・エンドポイントのファブリックに公開された最後のメッセージと、参照エンドポイントのEISに公開された最後のメッセージ。

最後のサービスのアクティブ化

サービス・エンドポイントの最後のアクティブ化。サービス・エンドポイント専用です。

最後の参照インタラクション

参照エンドポイントの最後のアクティブ化。参照エンドポイント専用です。

26.9.1.2 構成レポート

Oracle Enterprise Manager Fusion Middleware Controlダッシュボードの診断レポート内の構成レポートには、特定のサービス・エンドポイントの接続ファクトリ・プロパティ、バインディング・プロパティおよびアクティブ化プロパティのサマリーが表示されます。

図26-2は、サービス・エンドポイントのアダプタ構成レポートを示しています。このレポートには、デプロイメント構成タイプ、EIS接続性およびサービス・プロパティ(この場合はファイル・アダプタに固有のプロパティである定義プロパティとチューニング・プロパティ)に関する情報が表示されています。

図26-2 アダプタ構成レポート

アダプタ構成レポートの要素の説明は、表26-2を参照してください。

WebLogic Serverコンソール内で接続ファクトリを構成するプロセスを開始するには、ページの右上にある「関連リンク」を選択する必要があります。

表26-2 アダプタ構成レポートの要素

要素

説明

デプロイメント構成タイプ

エンドポイントがアクティブ/アクティブまたはアクティブ/パッシブ構成の一部であるかどうかを示します。これはサービス・エンドポイントに対してのみ表示されます。

EIS接続性

このエンドポイントに関連する接続ファクトリ・プロパティ、およびエンタープライズ情報システムへの接続に関する情報が表示されます。

サービス・プロパティ

このエンドポイントに固有のサービスを定義する際に使用する定義プロパティ、およびこのエンドポイントに固有のサービスをチューニングする際に使用するチューニング・プロパティがリストされます。参照エンドポイントの場合、定義プロパティとチューニング・プロパティを含む参照プロパティがあります。

プロパティの詳細なリストおよび定義は、テクノロジ・アダプタ・ユーザーズ・ガイドの付録を参照してください。

26.9.1.3 スナップショット・レポート

サービスまたは参照アダプタ・レポート・ページの「スナップショット・レポート」セクションには、指定された期間の接続停止時間およびメッセージ統計が表示されます。

スナップショット・レポートは、選択された期間の履歴データを集計します。

スナップショット・データ永続性のデフォルトは15分で、「データベースへの書込み」が選択されている場合に取得されたデータが保持される時間コレクションの期間です。スナップショット間隔は、「プロパティ」タブのsnapshotIntervalプロパティから構成できます。「プロパティ」タブの一部のプロパティのデフォルト値は明示的に表示されないため、「プロパティ」ページからsnapshotIntervalプロパティを追加して、必要に応じて変更してください。レポートの画面で「データベースへの書込み」を選択すると、データを保持できます。

同様に、enableSnapshots (「データベースへの書込み」の有効化)を追加または変更したり、「レポートの有効化」チェック・ボックス(レポートの有効化)を選択できます。

特定のアダプタの動作との関連で各スナップショット・レポートを理解する必要があります。たとえば、データベース・アダプタの場合、レポートおよび表示されるペイロード・サイズはアダプタによって生成されるXMLのサイズであり、アダプタによって消費されるXMLのサイズではありません。

アダプタに出力がない場合は、サイズは0とレポートされます。

同じサービス・エンドポイントの場合、スナップショット・レポートの情報を監視レポートと相関付けることができます。

図26-3は、「メッセージの統計」タブが選択されたスナップショット・レポートの例を示しています。レポートには次の情報が表示されています。

- データが24時間以内に取得されること

- 情報が収集されるサーバーの名前

- 平均メッセージ・サイズ(バイト)

- 最大メッセージ・サイズ(バイト)

- 最小メッセージ・サイズ(バイト)

- 合計メッセージ・サイズ(バイト)

- メッセージ数

- データの場所: 「永続」または「メモリー内」を指定し、アイコンやツールチップによって示されます。

- データベースへの書込み: データ永続性を有効にします。デフォルトでは、データは保持されません。有効にすると、永続性が一度に同時に、EIS接続統計およびメッセージ統計の両方に対して有効になります。永続性を有効にすると、データベースへの書込みに対する値が表示されます("15分ごと"など)。

図26-3 「メッセージの統計」タブが選択されたスナップショット・レポート

図26-4は、「EIS接続停止時間」または停止時間が表示されたスナップショット・レポートの例を示しています。レポートには次の情報が表示されています。

- サーバー名

- EIS停止時間の開始: 接続停止時間が開始した時刻

- EIS停止時間の終了: 接続停止時間が終了した時刻

- エラー・サマリー: 停止時間に関連する可能性があるエラーのサマリー。

- EIS接続停止時間の合計。

- データの場所: 「永続」または「メモリー内」を指定し、アイコンやツールチップによって示されます。

- 「XMLの表示」ボタン: クリックすると、表示される情報のXMLデータが示されます。

図26-4 「EIS接続停止時間」タブが選択されたスナップショット・レポート

26.9.1.3.1 スナップショット・レポートの永続性および間隔

スナップショット永続性期間では、データが保持される期間の履歴データを提供できます。この期間は、Oracle Enterprise Manager Fusion Middleware Controlのグローバル・リフレッシュ期間とは異なります。

また、スナップショット間隔(デフォルトは15分)とデータの取得期間(デフォルトは1日)も区別する必要があります。

永続データまたはメモリー内データは、問合せ基準ごとに表示されます(つまり、EIS接続停止時間が検索に使用する時間範囲内にあるか、メッセージ公開時間が検索に使用する時間範囲内にあります)。

永続性の設定により、保存済データをクラッシュおよび停止時間から保護することができます。ただし、保存済データを保持すると、パフォーマンスが低下します。

レポートの「データの場所」列には、レポートのデータの元の場所(永続データまたはメモリー内データ)を示す2つのアイコンの一方または両方が該当行に表示されます。

また、次の状況では、データが永続化されないことにも注意してください。

非永続(メモリー内)データでは、次の場合にデータが永続化されません。

- 「データベースへの書込み」が選択されていない場合

- アダプタのコンポジット・アプリケーションが停止またはリタイアされている場合

- コンポジットがアンデプロイされている場合

- (サービス・エンドポイントに対して)アダプタ・エンドポイントが非アクティブな場合

- SOAサーバーがバウンスされている場合

- 自動パージが行われた場合

永続データでは、次の場合にデータが永続化されません。

- 自動パージが行われた場合

過去のデータを検索して取得することができます。そのため、存在するデータには、いつでも「データの取得」検索コントロールを使用できます。検索機能は、エンタープライズ情報システム(EIS)に固有の接続統計を使用しており、メッセージ統計とは異なります。

スナップショット・アダプタ・レポートに表示される様々な要素とその意味は、表26-3を参照してください。

表26-3 スナップショット・アダプタ・レポートの要素

要素

説明

EIS接続停止時間

(サービス停止時間の場合のみ表示されます。)

時間範囲の選択

時間範囲フィルタにより、スナップショット・レポートに表示される統計を特定の分数、時間数、日数または週数で区切ります。

XMLの表示

XML形式で、EIS接続の停止時間を示します。

サーバー名

メッセージが表示されているこのアダプタに接続されているサーバーの名前。

EIS接続停止時間の終了

EIS接続がリストアされる時間。

EIS停止時間の開始

EIS接続が失われる時間。

エラー・サマリー

スタック・トレースを提供する場合は「エラー・サマリー」を選択します。

メッセージの統計

サーバー名

このエンドポイントが表示されるサーバーの名前。

平均メッセージ・サイズ

フィルタされたスナップショット間隔に処理される平均メッセージ・サイズ。

最大メッセージ・サイズ

フィルタされたスナップショット間隔に処理される最大メッセージ・サイズ。

最小メッセージ・サイズ

フィルタされたスナップショット間隔に処理される最小メッセージ・サイズ。

合計メッセージ・サイズ(バイト)

フィルタされたスナップショット間隔に処理されるすべてのメッセージの合計。

メッセージ数

フィルタされたスナップショット間隔に処理されるメッセージ数。

データの場所

「永続」または「メモリー内」を指定し、アイコンやツールチップによって示されます。

データベースへの書込み

永続性を有効にするには、このチェック・ボックスを選択します。有効にすると、データベースへの書込み頻度が、値(15分ごとなど)で示されます。デフォルトでは、このチェック・ボックスは選択されていません。永続性は同時に、EIS接続統計およびメッセージ統計の両方に対して有効になります。次のメッセージが画面に表示されます: データを永続化する場合に選択します。永続化したデータは、停止時間またはクラッシュの場合や、レポートを無効にした場合も使用可能なままになりますが、パフォーマンスに影響します。

永続性操作には、スナップショット・スケジューラや繰り返し行われるI/O (ディスクの読取りおよび書込み)操作が含まれます。メモリーからのI/O操作はデータベース操作より高速であるため、永続性操作はメモリー内操作とは異なります。

26.9.2 構成レポート・カテゴリとレポートされるアダプタのプロパティ

表26-4に、各アダプタ・タイプの構成レポート・カテゴリ、使用可能なプロパティ名および各プロパティの説明を示します。アダプタ構成プロパティはサービス/参照Mbeanおよびアダプタ・バインディングMBeanに設定できますが、アダプタ構成レポートには、アダプタ・バインディングMBeanからのプロパティのみが表示されます。

表26-4 アダプタ構成プロパティ

アダプタ

構成レポート・カテゴリ

プロパティ名

説明

MSMQアダプタ

接続ファクトリ・プロパティ

QueueManagerName

MQ Seriesキュー・マネージャ名

PortNumber

キュー・マネージャがリスニングするポート

HostName

キュー・マネージャが稼働しているホスト

ChannelName

MQ Seriesサーバー接続チャネル名

CCDTurl

MQ Series CCDTファイルへのURL。

XATransaction

JTAトランザクションへの参加を有効にするフラグ

SSLEnable

SSLを有効にするフラグ。

サービス定義プロパティ

QueueName

MQSeriesアダプタがポーリングするキュー。

BackoutQueueName

構成されたバックアウト・キュー名(ある場合)。

MessageSelector

インバウンド・メッセージをフィルタ処理するMessageSelector。

サービス・チューニング・プロパティ

jca.retry.count

メッセージを拒否するまでのJCA再試行数。

jca.retry.interval

JCA再試行間の時間間隔。

payloadSizeThreshold

アダプタが処理できるペイロードのサイズを決定します。

InboundThreadCount

メッセージをデキューするインバウンド・ポーリング・スレッドの数

参照定義プロパティ

QueueName (エンキュー)

メッセージの公開先となるキュー

QueueName (デキュー)

メッセージのデキュー元となるキュー

SegmentIfRequired

大きなメッセージをセグメント化する必要があるかどうかを示すフラグ

参照チューニング・プロパティ

jca.retry.count

メッセージを拒否するまでのJCA再試行数

jca.retry.interval

JCA再試行間の時間間隔

payloadSizeThreshold

アダプタが処理できるペイロードのサイズを決定します。

ファイル・アダプタ

接続ファクトリ・プロパティ

ControlDir

ブックキーピング情報を格納するためにアダプタで使用されるディレクトリ。

InboundDataSource

データソース名に設定して、インバウンド・アダプタの高可用性を有効にします。

OutboundLockTypeForWrite

oracle、databaseまたはcoherenceに設定して、アウトバウンド・アダプタのHAを有効にします。

IsTransacted

LRC (Last Resource Commit)の場合、trueに設定します。transaction-supports属性にLocalTransactionを選択した場合にのみ適用されます。

サービス定義プロパティ

PhysicalDirectory

ファイル・アダプタでポーリングされるディレクトリ。

Recursive

trueに設定すると、ファイル/FTPアダプタは、サブディレクトリのファイルを再帰的に処理します。

DeleteFile

trueに設定すると、ファイル/FTPアダプタは、処理したファイルを削除します。

PollingFrequency

このパラメータは、インバウンド・ディレクトリ内のファイルを検索するためにファイル/FTPアダプタが起動する頻度を指定します。秒単位で指定します。

MinimumAge

このパラメータは、処理用のファイルを取得するまでの時間間隔を指定します。たとえば、このパラメータを使用すると、処理のために大きいファイルを取得する前に、そのファイルをディレクトリに完全にコピーしておくことができます。経過時間は、最終変更時間によって決まります。ファイルが入力ディレクトリで検出された場合に、変更時刻が現在の時刻から5分以内であれば、まだ書き込まれる可能性があるため、そのファイルは取得されません。

PublishSize

このパラメータは、ファイルに複数のメッセージがあることを示し、一度に処理する必要があるメッセージ数を指定します。たとえば、あるファイルにレコードが11件あり、このパラメータが2に設定されている場合、ファイルのレコードは一度に2件ずつ処理され、最終レコードは6回目で処理されます。

jca.message.encoding

このパラメータは、インバウンドのファイル/FTPアダプタのNXSDスキーマに指定されているエンコーディングをオーバーライドするために使用します。

サービス・チューニング・プロパティ

ThreadCount

このパラメータが使用可能な場合、アダプタはグローバル・スレッド・プールのプロセッサ・スレッド(デフォルトでは、そのうちの4個)に依存せずに、独自のプロセッサ・スレッドを作成します。つまり、このパラメータはメモリー内キューを分割し、それぞれのコンポジット・アプリケーションが独自のメモリー内キューを取得します。ThreadCountを0に設定すると、スレッド動作はSingleThreadModelと同じになります。ThreadCountを-1に設定すると、グローバル・スレッド・プールを使用してスレッドが開始されます。このプロパティの最大値は40です。

SingleThreadModel

値がtrueの場合、ファイル/FTPアダプタ・ポーラーは同じスレッドでファイルを処理します。つまり、グローバル・メモリー内キューを処理に使用しません。

MaxRaiseSize

このパラメータは、ファイル/FTPアダプタが各ポーリング・サイクルでの処理用に発行するファイルの最大数を指定します。たとえば、インバウンド・ディレクトリに1000ファイルあり、このパラメータが100に設定されていて、ポーリング頻度が1分の場合、ファイル/FTPアダプタは毎分100ファイルを発行します。

参照定義プロパティ

PhysicalDirectory

アウトバウンドのファイル書込み用のディレクトリ・パス。

NumberMessages

このパラメータは、アウトバウンドのバッチ処理に使用されます。この発信ファイルは、メッセージ数の条件が満たされると作成されます。パラメータ・タイプはStringで必須ではありません。デフォルト値は1です。

FileNamingConvention

これは、アウトバウンドの書込み操作ファイルの命名規則用のパラメータです。

Append

このパラメータをtrueに設定すると、ファイル/FTPアダプタはアウトバウンドのファイルに追加されます。ファイルが存在しない場合は、新規ファイルが作成されます。

ChunkSize

チャンク相互作用操作のチャンク・サイズに設定します。

参照チューニング・プロパティ

ConcurrentThreshold

特定のアウトバウンド・シナリオで同時に実行可能な変換アクティビティの最大数。アウトバウンド操作中の変換ステップは、CPUの負荷が高くなり、他のアプリケーションやスレッドが停止する可能性があるため、ガードする必要があります。最大値は100 (BPELのdspMaxThreadsの最大値と同じ)です。

UseStaging

trueの場合、アウトバウンドのファイル/FTPアダプタは、変換済のデータをステージング・ファイルに書き込んだ後、そのステージング・ファイルをターゲット・ファイルにストリームします。falseの場合、アウトバウンドのファイル/FTPアダプタは、中間ステージング・ファイルを使用しません。

inMemoryTranslation

このパラメータを適用できるのは、UseStagingがfalseの場合のみです。trueに設定すると、変換ステップはメモリー内で発生します。つまり、メモリー内バイト配列が作成されます。falseに設定すると、アダプタによってターゲット・ファイルへの出力ストリームが作成され、トランスレータはストリームに対して直接変換や書込みが可能になります。

serializeTranslation

trueに設定すると、変換ステップはセマフォを使用してシリアライズされます。セマフォ(変換ステップをガード)の許可数は、ConcurrentThresholdパラメータ(前述)から導出されます。falseの場合、変換ステップはセマフォ外で行われます。

FTPアダプタ

FTPアダプタの場合、ファイル・アダプタのプロパティに加えて次のプロパティがあります。

接続ファクトリ・プロパティ

Host

FTPサーバー・ホスト名

Port

FTPサーバー・ポート

Username

FTPサーバー・ユーザー名

Password

FTPサーバー・パスワード

DefaultDateFormat

このパラメータは、デフォルトの日付書式値を指定します。FTPサーバー上では、これは古いファイルの値です。このパラメータのデフォルト値はMMM d yyyyです。これは、UNIX型のほとんどのFTPサーバーが古いファイルの最終変更時のタイムスタンプをMMM d yyyyの書式で返すためです。たとえば、Jan 31 2012です。

RecentDateFormat

このパラメータは、最新の日付書式値を指定します。FTPサーバー上では、これは最近作成されたファイルの値です。

ListParserKey

Oracle FTPアダプタにLISTコマンドのレスポンスを解析する方法を指示します。デフォルト値はUNIXです。この場合、Oracle FTPアダプタは、UNIX型FTPサーバーの一般的なパーサーを使用します。UNIXを除いてサポートされている他の値は、Microsoft Windows NT FTPサーバー用のWIN /WINDOWSおよびMVSシステムで実行するFTPサーバー用のMVSです。

ConnectionMode

FTPアダプタがアクティブ/パッシブ・モードを使用してFTPサーバーに接続するかどうかを示します。

UseFtps

FTP over SSLの場合、trueに設定します。

UseSftp

SFTPの場合、trueに設定します。

サービス定義プロパティ(ファイル・アダプタに使用するプロパティに加えて次のプロパティがあります。)

timestampOffset

このパラメータはFTPアダプタで使用され、タイムゾーンの問題に対処します。通常は、FTPサーバーとFTPアダプタが実行されているシステムの間の時間差をミリ秒単位に変換します。

UseNlst

FTPアダプタでデフォルトのLISTコマンドのかわりにNLST FTPコマンドを使用する場合、このプロパティをtrueに設定します。

サービス・チューニング・プロパティ(ファイル・アダプタに使用するプロパティに加えて次のプロパティがあります)

control.read.timeout

制御ソケットのタイムアウト(ミリ秒)。

参照定義プロパティ

(ファイル・アダプタと同じ)

参照チューニング・プロパティ

(ファイル・アダプタと同じ)

ソケット・アダプタ

接続ファクトリ・プロパティ

Host

ServerSocketが稼働しているホスト。

Port

ServerSocketがリスニングするポート。

BacklogQueue

着信接続のキューの長さ。

SSLEnable

SSLを有効にするフラグ

KeepAlive

接続のプーリングを有効にするフラグ

サービス定義プロパティ

Host

ServerSocketが稼働しているホスト

Port

ServerSocketがリスニングするポート。

TransMode

アダプタの変換モード。

Encoding

データのエンコーディング。

ByteOrder

データのバイト順。

サービス・チューニング・プロパティ

NIOProcessorThreadCount

インバウンドのメッセージを処理するスレッドの数(NIOモードのみ)。

参照定義プロパティ

Host

ServerSocketが稼働しているホスト

Port

ServerSocketがリスニングするポート

TransMode

アダプタの変換モード

Encoding

データのエンコーディング

ByteOrder

データのバイト順。

参照チューニング・プロパティ

UMSアダプタ

接続ファクトリ・プロパティ

XATransaction

インバウンドのXAトランザクション・サポートを無効にするには、値falseで指定します。デフォルト値はtrueです。

サービス定義プロパティ

DeliveryType

メッセージを受信/送信するメッセージ・チャネルを指定します。受信の場合は、Email、SMS、IMです。

To

受信メッセージの受信元となるアドレス。1つ以上のカンマ区切りデバイス・アドレス(電子メール・アドレスや携帯電話番号など)。

ConsumeMode

アダプタによってUMSからメッセージを受信する方法を指定します。ポーリング・モードではポーラーに設定され、リスナー・モードではリスナーに設定されます。

JavaCalloutImpl

メッセージをUMSから受け入れた後に、メッセージのフィルタ処理またはその他のチェックにカスタム・ロジックを定義するJavaクラスの名前。ICustomCalloutインタフェースの具体的実装です。

MessageFilters

1つまたは複数のメッセージ・フィルタが指定されます。単一フィルタは、メタデータ・フィールド・タイプおよび実行されるアクション(受入れまたは拒否)とともに、受信メッセージのコンテンツ/メタデータと照合するJavaパターン文字列で構成されます。

サービス・チューニング・プロパティ

InboundThreadCount

インバウンド・ポーラーまたはリスナー・スレッドの数を指定します。

PollingInterval

ポーラー・コンシューム・モードでのポーリング間隔(秒)です。

参照定義プロパティ

DeliveryType

メッセージの送信に使用するメッセージ・チャネルを指定します。Email、SMS、IM、Voiceです

(送信メッセージを送信する場合)

SendEmailAsAttachment

添付ファイルとして電子メールを送信するにはTrueにします。

参照チューニング・プロパティ

LDAPアダプタ

接続ファクトリ・プロパティ

inboundDataSource

有効なXAデータ・ソースを指すJNDI文字列の場所。

hostName

ディレクトリ・サーバーのホスト名。

port

LDAPサービスが実行されているポート。

bindDN

LDAPサービスへのバインドに使用されるエントリのDN。

operationTimeout

接続レベルで定義されたクライアント側のタイムアウト。レスポンスがタイムアウト期間にDSで受信されない場合、操作は中止され、例外が発生します。

useStartTLS

Start TLS拡張操作を使用して、暗号化されていないチャネルでのディレクトリ・サーバーとの通信を保護します。この場合のポートは、クリアテキストのLDAP接続をリスニングします。

useSSL

LDAPアダプタがSSLを使用してディレクトリ・サーバーとの通信を保護していることを示します。SSLモードでリスニングするようにサーバーを構成する必要があり、ポート引数の値はサーバーがSSLベース接続をリスニングする場合の値である必要があります。

サービス定義プロパティ

NotificationStrategy

通知をポーリングおよび公開する方法。changeLogのタイムスタンプに基づき、changelogの場合はどのchangeLogメカニズムであるか。

EventType

「すべて」を選択すると、すべてのイベントが公開されます。それ以外の場合は、公開するイベント・タイプのカンマ区切りリストが送信されます。

BaseDN

イベントをレポートする有効なDN。

EventScope

構成済ベースDNのイベント・ソースのスコープ。

SearchFilter

拡張フィルタ条件。特定のフィルタ条件を満たすイベントのみがアダプタによって公開されます。値はLDAPフィルタの有効な文字列表現である必要があります。

TypesOnly

trueに設定すると、属性名のみが戻されます。それ以外の場合は、属性名と値の両方が戻されます。

ReturnAttributes

イベントの一部として戻されるすべての属性のリスト。

ReturnAttributesDelimiter

文字列の正規表現。区切り正規表現。

サービス・チューニング・プロパティ

PollingInterval

新しいイベントの次の検索を実行するまでのポーリング間隔。

payloadSizeThreshold

公開するメッセージのバイト数しきい値制限を表す整数値。

SizeLimit

検索操作の一部として戻されるエントリの最大数。DS側でも構成できます。2つの値のうち低い値が有効になります。SizeLimitは単一のページ内で施行されます。

TimeLimit

結果を戻すまでにサーバーが待機する最大時間。

PageSize

1ページに公開されるイベントの最大数。

参照定義プロパティ

RequestControls

アダプタは、この相互作用の仕様プロパティから適切な制御オブジェクトを作成して、リクエスト・メッセージとともに渡します。

参照チューニング・プロパティ

SizeLimit

検索操作の一部として戻されるエントリの最大数。この値はディレクトリ・サーバー側でも構成できます。その場合、2つの値のうち低い値が有効になります。

TimeLimit

結果を戻すまでにサーバーが待機する最大時間(秒)。

FollowReferrals

リフェラル追跡方法。

HopLimit

リフェラルの追跡中に許容されるホップの最大数。

AliasDereferencing

検索の処理中に別名エントリを処理する動作。

MaxDSMLRequestSize

DSMLには、バッチ・リクエストが含まれています。このバッチ・リクエストには、何百万のLDAP操作リクエストが含まれている可能性があります。このプロパティを使用して、単一のDSMLバッチ・リクエストを介してLDAPアダプタに渡すことができる許容される操作リクエストの最大数を制御します。

DBアダプタ

接続ファクトリ・プロパティ

サービス定義プロパティ

PollingStrategy

レコードのポーリング方法および1回のみ処理するための読取り後の処理方法を示します。

DescriptorName

ルート表名から生成された名前。

サービス・チューニング・プロパティ

PollingInterval

新しいレコードのポーリング頻度

MaxTransactionSize

単一のトランザクションで一度にフェッチして処理するレコード数(ポーリング間隔ごとではありません)。

MaxRaiseSize

単一のXMLドキュメントおよび単一のプロセス・インスタンスにバンドルするトップレベルのレコード数。

NumberOfThreads

レコードを同時にポーリングして処理するスレッド数。

参照定義プロパティ

SchemaName

ストアド・プロシージャが属するスキーマ。

PackageName

ストアド・プロシージャが属するパッケージ。

ProcedureName

実行するストアド・プロシージャの名前。

SqlString

実行するSQL

DescriptorName

ルート表名から生成された名前。

QueryName

実行するEclipseLink問合せの名前

IsQueryByExample

queryNameを設定しないと、SQLは入力XMLの例のレコードから作成されます。

DmlType

マージ、挿入、更新または削除を示します。

参照チューニング・プロパティ

JMSアダプタ

接続ファクトリ・プロパティ

ConnectionFactoryLocation

JMSプロバイダ接続ファクトリ。

FactoryProperties

リモート検索のコンテキストを確立するパラメータを有効にします。

IsTopic

JMS接続先に基づいて接続ファクトリ(トピック/キュー)を選択できるフラグ

IsTransacted

アダプタがローカルまたはXAトランザクションに参加するかどうかを指定できるフラグ。

サービス定義プロパティ

DestinationName

キューまたはトピックの名前。

MessageSelector

アダプタが対象とするメッセージを指定する(SQL92条件式のサブセットに基づく)文字列式

DurableSubscriber

永続サブスクリプションの識別に使用される名前。

PayloadType

JMSメッセージのタイプを指定します。

サービス・チューニング・プロパティ

adapter.jms.receive. threads

エンドポイントをアクティブ化するときに作成されるポーラー・スレッド。

adapter.jms.receive. timeout

同時受信コールに使用されるタイムアウト値。

adapter.jms.retry. interval

Oracle JMSアダプタが接続の消失後に接続の再作成を試行するまで待機する時間。

参照定義プロパティ

DestinationName

キューまたはトピックの名前

TimeToLive

メッセージの存続期間(ミリ秒)を表します。

Priority

メッセージの優先度を表します。

PayloadType

JMSメッセージのタイプを指定します。

DeliveryMode

使用する配信モードを表します。

参照チューニング・プロパティ

adapter.jms.receive. timeout

同時受信コールに使用されるタイムアウト値。

adapter.jms.retry. interval

Oracle JMSアダプタが接続の消失後に接続の再作成を試行するまで待機する時間。

AQアダプタ

接続ファクトリ・プロパティ

XADataSourceName

XAトランザクションのデータソース名

DataSourceName

ローカル・トランザクションのデータソース名

サービス定義プロパティ

QueueName

AQキューの名前。

DatabaseSchema

キューが存在するスキーマ

Consumer

特定のコンシューマのデキュー・メッセージ

ObjectFieldName

キューがADTキューである場合、ビジネス・ペイロードを含むフィールドを識別します。

PayloadHeaderRequired

ADTのすべての非ペイロード属性が処理に使用できるようにします。

Correlation

指定された値と一致するメッセージをデキューします。

DequeueCondition

特定の条件に基づいてメッセージのデキューを許可する式。

サービス・チューニング・プロパティ

DequeueTimeOut

インバウンド・キューでメッセージが受信されない場合にdequeue() APIがタイムアウトになるまでの間隔。

adapter.aq.dequeue. threads

エンドポイントがアクティブ化されたときに作成されるポーラー・スレッドの数を指定します。

参照定義プロパティ

QueueName

AQキューの名前。

DatabaseSchema

キューが存在するスキーマ。

ObjectFieldName

キューがADTキューである場合、ビジネス・ペイロードを含むフィールドを識別します。

PayloadHeaderRequired

ADTのすべての非ペイロード属性が処理に使用できるようにします。

RecipientList

コンシューマ名またはアダプタによってエンキューされたメッセージの対象受信者の名前を指定します。

参照チューニング・プロパティ

コヒーレンス・アダプタ

接続ファクトリ・プロパティ

CacheConfigLocation

キャッシュおよび拡張クライアント設定を定義するキャッシュ構成ファイルの場所。

ServiceName

接続に関連付けられているキャッシュ・サービスの名前

サービス定義プロパティ

n/a

n/a

参照定義プロパティ

CacheName

特定のコヒーレンス・キャッシュを識別します。

CacheOperation

CacheNameで識別されたキャッシュで実行される操作。

Filter

操作を適用する必要があるキャッシュのサブセットを指定するために使用します。

ValueType

キャッシュに保存するか、キャッシュから取得するオブジェクトを識別する完全修飾クラス名。

ReturnCacheKeysOnly

キャッシュ識別子(キー)のみを戻すことを許可するブール

Key

キャッシュ・エントリの識別子。

KeyType

キーとして使用される値のJavaタイプを識別します。

参照チューニング・プロパティ

payloadSizeThreshold

アダプタが処理できるペイロードのサイズを決定します。

MSMQアダプタ

接続ファクトリ・プロパティ

Host

MSMQホストの名前。

Domain

MSMQホストのWindowsドメイン名。

AccessMode

接続ファクトリがネイティブ・アクセスを許可するかどうかを識別します。

TransactionMode

メッセージを送信および受信する場合に接続がトランザクションに参加するかどうかを識別します。

サービス定義プロパティ

DestinationType

キューのタイプを識別します。

DestinationName

MSMQキューの名前。

DestinationPath

ActiveDirectoryで表されているとおりのDistributionListまたはパブリック・キューを識別する実際の文字列

UseActiveDirectoryPath

パブリック・キューの識別に、キュー名ではなくActive Directoryパスを使用することを許可するブール。

UseDirectFormatName

パブリックおよびプライベートのキューに直接フォーマット名を使用することを許可するブール。

Correlation

相関識別子。

サービス・チューニング・プロパティ

adapter.msmq.receive.timeout

次の開始前にメッセージ・キューイングがメッセージの到着を待機する時間(ミリ秒)

別のポーリング・サイクル

adapter.msmq. dequeue.threads

エンドポイント・アクティブ化が発生するときに初期化されるポーラー・スレッドの数。

参照定義プロパティ

DestinationType

キューのタイプを識別します。

DestinationName

MSMQキューの名前。

DestinationPath

ActiveDirectoryで表されているとおりのDistributionListまたはパブリック・キューを識別する実際の文字列。

UseActiveDirectoryPath

パブリック・キューの識別に、キュー名ではなくActive Directoryパスを使用できるようにするブール。

UseDirectFormatName

パブリックおよびプライベートのキューに直接フォーマット名を使用できるようにするブール。

Priority

メッセージの優先度

TimeToLive

このプロパティは、ターゲット・キューからメッセージを取得する時間制限(秒)を指定します。

Delivery

このプロパティは、式(非永続)またはリカバリ可能なメッセージング(永続)の指定に使用します。

参照チューニング・プロパティ

SAPアダプタ

接続ファクトリ・プロパティ

ServerDataProvider_JCO_gwhost

ゲートウェイ・ホスト

ServerDataProvider_JCO_gwserv

ゲートウェイ・サービス

ServerDataProvider_JCO_progid

サーバーのプログラムID。

ServerDataProvider_JCO_trace

RFCトレースの有効化/無効化。

ServerDataProvider_JCO_params

RFCライブラリの任意のパラメータ

ServerDataProvider_JCO_snc_myname

SNC名。

ServerDataProvider_JCO_snc_qop

SNCセキュリティ・レベル。

ServerDataProvider_JCO_snc_lib

SNCライブラリへのパス。

ServerDataProvider_JCO_unicode

Unicodeモードで接続するかどうかのフラグ。

ServerDataProvider_JCO_max_startup_delay

最大サーバー起動遅延時間(秒)。

ServerDataProvider_JCO_connection_count

許可される最大サーバー接続スレッド数。

ServerDataProvider_JCO_dsr

dsrサポートの有効化/無効化。

DestinationDataProvider_JCO_client

SAPクライアント

DestinationDataProvider_JCO_user

ログオン・ユーザー

DestinationDataProvider_JCO_alias_user

ログオン・ユーザー別名

DestinationDataProvider_JCO_passwd

ログオン・パスワード

DestinationDataProvider_JCO_lang

ログオン言語

DestinationDataProvider_JCO_saprouter

ファイアウォールで保護されるシステムに使用するSAPルーター文字列

DestinationDataProvider_JCO_sysnr

SAPシステム番号。

DestinationDataProvider_JCO_ashost

SAPアプリケーション・サーバー

DestinationDataProvider_JCO_mshost

SAPメッセージ・サーバー

DestinationDataProvider_JCO_msserv

オプション: デフォルトのsapms sidのかわりに使用するSAPメッセージ・サーバー・ポート

DestinationDataProvider_JCO_gwhost

ゲートウェイ・ホスト

DestinationDataProvider_JCO_gwserv

ゲートウェイ・サービス

DestinationDataProvider_JCO_r3name

SAPシステムのシステムID

DestinationDataProvider_JCO_group

SAPアプリケーション・サーバーのグループ

DestinationDataProvider_JCO_tpname

外部サーバー・プログラムのプログラムID

DestinationDataProvider_JCO_tphost

外部サーバー・プログラムのホスト

DestinationDataProvider_JCO_type

リモート・ホストのタイプ

DestinationDataProvider_JCO_trace

RFCトレースの有効化/無効化

DestinationDataProvider_JCO_cpic_trace

CPICトレースの有効化/無効化

DestinationDataProvider_JCO_use_sapgui

SAP GUIを起動して接続に関連付けます。

DestinationDataProvider_JCO_codepage

SAP表記の初期コードページ

DestinationDataProvider_JCO_getsso2

ログオン後にSSOチケットを取得する/取得しない

DestinationDataProvider_JCO_mysapsso2

指定したSAP Cookieバージョン2をログオン・チケットとして使用

DestinationDataProvider_JCO_x509cert

指定したX509証明書をログオン・チケットとして使用

DestinationDataProvider_JCO_lcheck

オープン時のログオン・チェックの有効化/無効化

DestinationDataProvider_JCO_snc_mode

セキュア・ネットワーク接続モード

DestinationDataProvider_JCO_snc_partnername

SNCパートナ

DestinationDataProvider_JCO_snc_qop

SNCセキュリティ・レベル

DestinationDataProvider_JCO_snc_myname

SNC名。デフォルトのSNCパートナをオーバーライドします。

DestinationDataProvider_JCO_snc_lib

SNCサービスを提供するライブラリへのパス

DestinationDataProvider_JCO_dsr

dsrサポートの有効化/無効化

DestinationDataProvider_JCO_peak_limit

同時に接続先に対して作成できるアクティブ接続の最大数

DestinationDataProvider_JCO_pool_capacity

接続先によりオープンされたままのアイドル接続の最大数。値0は、接続プーリングがないことを示します。

DestinationDataProvider_JCO_expiration_time

接続先で保持された接続を閉じるまでの時間(ミリ秒)。

DestinationDataProvider_JCO_expiration_check_period

接続先で期限切れの解放された接続を確認するまでの期間(ミリ秒)

DestinationDataProvider_JCO_max_get_client_time

接続の最大許容数がアプリケーションによって割り当てられる場合の接続を待機する最大時間(ミリ秒)。

DestinationDataProvider_JCO_repository_destination

リポジトリとして使用する宛先を指定します。つまり、この宛先のリポジトリを使用します。

DestinationDataProvider_JCO_repository.user

リポジトリの宛先が設定されず、このプロパティが設定されている場合、リポジトリ・コールのユーザーとして使用されます。これにより、リポジトリ検索に別のユーザーを使用できます。

DestinationDataProvider_JCO_repository.passwd

リポジトリ・ユーザーのパスワード。リポジトリ・ユーザーを使用する必要がある場合は、必須です。

DestinationDataProvider_JCO_repository.snc_mode

SNCをこの宛先に使用する場合、このプロパティを0に設定すると、リポジトリ接続をオフにできます。デフォルトはDestinationDataProvider_JCO_snc_modeの値です。

サービス定義プロパティ

Type

SAPオブジェクト・タイプ

BAPIName

BAPIオブジェクトの名前

RFCName

RFCオブジェクトの名前

IDOCName

IDOCオブジェクトの名前

ProgramID

SAPで登録されたプログラムID

AutoSYSTAT01

自動SYSTAT01確認IDOC

EncodeIDOC

フラット・ファイル形式のIDOCのエンコード

Migration

古いSAPアダプタに対する移行サポート

サービス・チューニング・プロパティ

エンドポイントごとにはなく、チューニング・プロパティは接続ファクトリにあります。

参照定義プロパティ

Type

SAPオブジェクト・タイプ

BAPIName

BAPIオブジェクトの名前

RFCName

RFCオブジェクトの名前

IDOCName

IDOCオブジェクトの名前

QueueName

送信するSAPインバウンド・キューの名前

Interaction

ステートフルまたはステートレスの相互作用

Migration

古いSAPアダプタに対する移行サポート

参照チューニング・プロパティ

エンドポイントごとにはなく、チューニング・プロパティは接続ファクトリにあります。

Oracle E-Business Suiteアダプタ

接続ファクトリ・プロパティ

XADataSourceName

XAトランザクションのデータソース名

DataSourceName

ローカル・トランザクションのデータソース名

サービス定義プロパティ

IRepInternalName

統合リポジトリからのEBSインタフェースの内部名

PollingStrategy

レコードのポーリング方法および1回のみ処理するための読取り後の処理方法。

DescriptorName

ルート表名から生成された名前。

QueueName

AQキューの名前。

DatabaseSchema

キューが存在するスキーマ。

Consumer

特定のコンシューマのデキュー・メッセージ。

Correlation

指定された値と一致するメッセージをデキューします。

DequeueCondition

特定の条件に基づいてメッセージのデキューを許可する式。

AppsEventSchema

ビジネス・イベント・ペイロードのカスタム・スキーマ。

サービス・チューニング・プロパティ

PollingInterval

新しいレコードのポーリング頻度。

MaxTransactionSize

単一のトランザクションで一度にフェッチして処理するレコード数(ポーリング間隔ごとではありません)

MaxRaiseSize

単一のXMLドキュメントおよび単一のプロセス・インスタンスにバンドルするトップレベルのレコード数

NumberOfThreads

レコードを同時にポーリングして処理するスレッド数

DequeueTimeOut

インバウンド・キューでメッセージが受信されない場合にdequeue() APIがタイムアウトになるまでの間隔

adapter.aq.dequeue.threads

エンドポイントがアクティブ化されたときに作成されるポーラー・スレッドの数を指定します。

参照定義プロパティ

IRepInternalName

統合リポジトリからのEBSインタフェースの内部名

SchemaName

ストアド・プロシージャが属するスキーマ。

PackageName

ストアド・プロシージャが属するパッケージ

ProcedureName

実行するストアド・プロシージャの名前。

SqlString

実行するSQL

DescriptorName

ルート表名から生成された名前。

QueryName

実行するEclipseLink問合せの名前。

IsQueryByExample

queryNameを設定しないと、SQLは入力XMLの例のレコードから作成されます。

DmlType

マージ、挿入、更新または削除を示します。

DataSecurityCheck

EBS関数セキュリティ・チェックを有効にします。

APIErrorHandler

FND_MSG_PUBメッセージ・スタックからエラー・メッセージを取得します。

QueueName

EBSキューの名前

DatabaseSchema

キューが存在するスキーマ

IRepOverloadSequence

統合リポジトリからのシーケンスをオーバーロードします。

AppsFlexConfigFile

フレックスフィールド・マッピング構成ファイル名。

26.10 Oracle Enterprise Schedulerを使用したJCAアダプタ・エンドポイントのアクティブ化および非アクティブ化のスケジュール

Oracle Enterprise Manager Fusion Middleware Controlから、SOAコンポジットのJCAアダプタ・サービスのアクティブ化および非アクティブ化をスケジュールできます。指定したOracle Enterprise Schedulerのスケジュール・メタデータを使用すると、次のことができます。

- コンポジットのJCAアダプタ・サービスのアクティブ化に対するリクエストのスケジュール。

- コンポジットのJCAアダプタ・サービスの非アクティブ化に対するリクエストのスケジュール。

Oracle Enterprise Manager Fusion Middleware Controlでは、アダプタ・エンドポイント(コンポジット・サービス)の現在の状態を表示することもできます。これは、アクティブまたは非アクティブのどちらかになります。

また、既存のメタデータを編集してスケジュールを変更したり、アダプタのスケジュールを削除できます。

注意:

Oracle Enterprise Schedulerのインストールはオプションであるため、Oracle Enterprise Schedulerがインストールされていない場合、この機能は使用できません。

次の手順に従って、SOAコンポジットのJCAアダプタ・サービスのアクティブ化および非アクティブ化をスケジュールします。

- スケジュール・メタデータの作成

- 作成したスケジュール・メタデータを使用したSOAコンポジットのJCAアダプタの非アクティブ化およびアクティブ化のスケジュール

- Oracle Enterprise Schedulerのスケジュール・メタデータの編集

- アダプタ・エンドポイントからのスケジュールの削除

26.10.1 スケジュール・メタデータの作成

スケジュール・メタデータを作成するには、「スケジュールの定義」を選択してフォームに入力します。フォームにより、メタデータが移入されます。

1. Oracle Enterprise Manager Fusion Middleware Controlで、「スケジューリング・サービス」ページにログインし、「スケジューリング・サービス」メニューを使用して「SOAインフラストラクチャ」メニュー→「スケジュールの定義」ページに移動します。

2. 次のOracle Enterprise Schedulerのページに、ジョブの発行スケジュールがリストされます。

3. このページで、「作成」ボタンを選択し、スケジュール・メタデータを作成できるページを起動します。

4. このページでスケジュール・メタデータを定義します。スケジュールの名前、表示名、説明、アクティブ化および非アクティブ化の頻度、スケジュールの開始日を指定します。スケジュール・メタデータは必ず/oracle/apps/ess/custom/soaパッケージに作成します。

26.10.2 作成したスケジュール・メタデータを使用したSOAコンポジットのJCAアダプタの非アクティブ化およびアクティブ化のスケジュール

次に、作成したメタデータを使用してアダプタの非アクティブ化およびアクティブ化をスケジュールします。

1. スケジュールの作成後、SOAコンポジットのホーム・ページに戻り、「コンポジット・アプリケーション」または「SOAインフラ」ページの「サービスと参照」ページに(コンポジット全体のサービスと参照を確認するために)移動します。

2. サービスのホームページで、JCAアダプタを選択します。ページの右上に示されるアイコンを選択してポップアップを起動し、非アクティブ化をスケジュールします。アイコンは右側に表示されます。このボタンを選択すると、エンドポイントがアクティブ化または非アクティブ化されます。これは、スケジュールを手動でアクティブ化または非アクティブ化する方法です。

3. ポップアップには、「非アクティブ化」と「アクティブ化」の2つのセクションがあります。各セクションには、保存済のスケジュールが表示されるドロップダウンがあります。アクティブ化および非アクティブ化スケジュールを選択し、「スケジュールの適用」ボタンを選択して、このアダプタの自動アクティブ化を有効にするか、すでに適用済のスケジュールをリフレッシュします。(どちらのセクションも必須です。)

サービスのホームページには、アダプタ・エンドポイントのステータスがアイコンとともに表示されます。

「スケジュールの削除」を選択して、このアダプタの自動アクティブ化/非アクティブ化を停止します。

アダプタにアクティブ化/非アクティブ化スケジュールがすでに設定されている場合は、それらを取り消して新しいスケジュールを追加するか、単純にスケジュールを取り消すかを選択できます。

ドロップダウン・リストが空白である場合は、エンドポイントにスケジュールが関連付けられていないことを示します。

26.10.3 Oracle Enterprise Schedulerのスケジュール・メタデータの編集

Oracle Enterprise Scheduler/Oracle Enterprise Manager Fusion Middleware Controlのページを使用して作成した既存のメタデータを編集できます。これを行うには、次のようにします。

1. 「スケジューリング・サービス」メニューを使用して、「スケジューリング・サービス」→「ジョブ・リクエスト」→「スケジュールの定義」ページに移動します。

2. 表に既存のスケジュールが表示されます。編集対象を選択し、表のツールバーの「編集」ボタンを選択します。

3. 「スケジュールの編集」メタデータ画面が開き、スケジュールの現在の状態が表示されます。頻度の変更ボタンをクリックします。

4. 表示された警告ポップアップで「はい」をクリックします。

5. スケジュールが編集可能モードで開き、必要な変更を実行できます。スケジュールを変更した場合、そのスケジュールですでに発行されているアダプタのアクティブ化/非アクティブ化リクエストには自動的に適用されません。そのアクティブ化/非アクティブ化リクエストを再発行する必要があります。

26.10.4 アダプタ・エンドポイントからのスケジュールの削除

アダプタ・エンドポイントからスケジュールを削除できます。これを行うには、次のようにします。

1. 非アクティブ化およびアクティブ化スケジュールをアダプタ・エンドポイントに添付すると、それに応じてアイコンに状態が反映されます。このアイコンを選択して、このアダプタに関連付けられたスケジュールがすでに選択された状態のポップアップを表示します。

2. 「スケジュールの削除」ボタンを選択し、このアダプタ・エンドポイントからスケジュールを削除します。

3. 確認のダイアログが表示されます。「OK」をクリックしてスケジュールを削除します。

26.11 アダプタのリジリエンシの監視

リジリエンシは、SOA内での障害の増大の原因となるダウンストリームのサービス停止または接続の問題を処理します。JCAテクノロジ・アダプタのコンテキストにおいては、これはアダプタに関連するダウンストリーム・サービスの停止を処理することを意味します。ダウンストリーム・エンドポイントが停止した場合や散発的な動作をしている場合、多数のインスタンスがエラー・ホスピタルに転送され、そのリカバリが必要になります。エンドポイントが停止した場合、マシン・リソースが、完了することのないインスタンスの一部を処理するために無駄に消費されます。これを解決するには、アップストリーム・インバウンド・アダプタを一時停止します。障害リジリエンシが設定されている場合、メッセージはエンドポイントが再開されるまでキューまたはトピック内で待機します。

リジリエンシを使用するための最初の手順は、リジリエンシを有効化することです。グローバルに有効化すると、各ダウンストリーム・エンドポイントが障害リジリエンシ構成を継承しますが、その1つのエンドポイントに対するこのリジリエンシをオーバーライドすることもできます。

アップストリーム・エンドポイントが一時停止されると、1件または数件のメッセージが定期的にフローに入ります。ダウンストリーム・エンドポイントがクリアであると検出されると、アップストリーム・エンドポイントが自動的に再開されます。

リジリエンシ機能は、エラー率ヒューリスティック(N分間におけるM件の障害)に基づいてシステム・エラーによりいつダウンストリーム・エンドポイントが停止したかを判別します。

次に、メッセージの発信側のアップストリーム・エンドポイントを無効化/一時停止し、受信メッセージをSOA (Adapters、WebServices)でエラー処理せずにネイティブ・システムに残します

EDNイベントはシステムのキューにまだ残っていますが、サブスクライバによって読み取られていません。

リジリエンシ機能では、JMS、AQ、DB、FileおよびFTPアダプタがサポートされています。

WebServiceリクエストは拒否されます。

リジリエンシ機能では、インバウンド・リクエストの定期的な処理と、メッセージが正常に送信された場合のアップストリーム・エンドポイントの再有効化を行うことにより、ダウンストリーム・エンドポイントを監視し、エンドポイントがいつ再開されたかを判別します。

リジリエンシによって、無効になっているエンドポイントにFusion Middleware Controlダッシュボード通知および履歴(アップストリーム・エンドポイントの再有効化ステータス)が提供され、Fusion Middleware Controlからアップストリーム・エンドポイントを再開することが可能になります。

詳細は、このガイドのリジリエンシに関する項を参照してください。

26.11.1 リジリエンシに関連するアダプタ・プロパティ

アダプタ・プロパティは、Fusion Middleware Control (の「アダプタ・プロパティ」画面)で定義するか、JDeveloperを使用し、WebServiceプロパティは、JDevでのアダプタと同様にして(コンポジット・バインディング)、Fusion Middleware ControlでMBeansを使用して設定します。EDNサブスクライバはリジリエンシ・プロパティをオーバーライドできません。

第X部 Oracle B2BとOracle Healthcareの管理

この部では、Oracle B2BとOracle Healthcareの管理方法を説明します。

この部は、次の章で構成されています。

- Oracle B2Bの構成

- 監視

- Oracle Healthcareの監視

27 Oracle B2Bの構成

この章では、Oracle B2Bを構成してB2Bバインディング上にデータを表示し、Oracle B2B操作および属性を構成する方法について説明します。

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

- Oracle B2Bサーバーのプロパティの構成

- Oracle B2B操作の構成

- Oracle B2B属性の構成

- Oracle B2Bロギング・モードの構成

Oracle B2Bのチューニングとパフォーマンス・プロパティの詳細は、パフォーマンスのチューニングを参照してください。

27.1 Oracle B2Bサーバーのプロパティの構成

Oracle Enterprise Manager Fusion Middleware Controlの「B2Bサーバー・プロパティ」ページにある「メトリックの有効化」プロパティを構成できます。

メトリックは、デフォルトで有効化されています。このメトリックには、最近のアクティブなドキュメント・タイプの上位5つと取引パートナの上位5つ、およびインバウンドとアウトバウンドのエンドポイントに関するデータが含まれています。

注意:

このプロパティを変更した後、サーバーを再起動する必要はありません。

Oracle B2Bサーバー・プロパティを構成する手順は、次のとおりです。

1. 「SOAインフラストラクチャ」メニューから、「SOA管理」→「B2Bサーバー・プロパティ」の順に選択します。

2. 「メトリックの有効化」を選択して、B2BバインディングとSOAコンポジットの各ページにデータを表示します。

企業とその取引パートナ間のビジネス・ドキュメントのセキュアで信頼できる交換を可能にするOracle B2Bの使用方法の詳細は、Oracle B2Bユーザーズ・ガイドを参照してください。

27.2 Oracle B2B操作の構成

Oracle B2B操作のプロパティは、「システムMBeanブラウザ」を使用して値を設定することで構成できます。

注意:

次の「MBean」プロパティを更新した場合は、SOAサーバーを再起動する必要があります。

- b2b.inboundThreadCount

- b2b.outboundThreadCount

Oracle B2B操作のプロパティを指定する手順は、次のとおりです。

注意:

Oracle B2Bのアプリケーション定義のMBeanにアクセスするには、「B2Bサーバー・プロパティ」ページで「詳細B2B構成プロパティ」リンクをクリックすることもできます。

1. 「SOA」ノードを展開し、「soa-infra」ノードを選択します。

注意:

また、「検索」を使用してB2BConfigを検索することもできます。

2. 「SOAインフラストラクチャ」メニューから、「管理」→「システムMBeanブラウザ」の順に選択します。

「システムMBeanブラウザ」ページが表示されます。

3. 「アプリケーション定義のMBean」の下の「oracle.as.soainfra.config」ノードを展開します。

4. 「manage server name」ノードを展開します。

5. 「B2BConfig」ノードを開きます。

6. 「b2b」MBeanをクリックします。

MBeanのプロパティが右側のペインに表示されます。

7. 「操作」タブをクリックします。

8. リスト内の操作をクリックします。

9. 必要な情報(キー、値、および必要に応じてコメント)を指定して、「呼出し」をクリックします。

プロパティ名と有効な値のリスト、デプロイメント中に検証をオフにするプロパティを含める方法、MDSキャッシュ・サイズの設定、スレッド数とスレッド・スリープ時間の設定、機能承認の処理方法の指定、ペイロードの難読化の設定などの詳細は、『Oracle B2Bユーザーズ・ガイド』の付録「Fusion Middleware ControlでのOracle B2B構成プロパティの設定」を参照してください。

27.3 Oracle B2B属性の構成

Oracle B2B属性は、「システムMBeanブラウザ」を使用して値を設定することで構成できます。

Oracle B2B属性のプロパティを指定する手順は、次のとおりです。

1. 「Oracle B2B操作の構成」の手順1から6までを実行します。

2. 「属性」タブをクリックします。

3. 「プロパティ」をクリックします。

4. 「Property_0」、「Element_1」などを展開して、変更するプロパティを見つけます。

5. プロパティ名と値を確認して、「戻る」をクリックします。

たとえば、「Element_3」の下には、デフォルト値「False」の「b2b.payloadObfuscation」プロパティがあります。

6. 「操作」タブをクリックします。

7. 「setProperty」をクリックします。

8. キー、値、および必要に応じてコメントを入力します。

たとえば、ペイロードの難読化を有効にするには、「b2b.payloadObfuscation」に「True」を設定します。

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

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

27.4 Oracle B2Bロギング・モードの構成

Oracle Enterprise Manager Fusion Middleware Controlを使用してOracle B2Bのロギング・モードを構成できます。

たとえば、ログ・モードをTRACEモード(DEBUG)に設定する手順は次のとおりです。

1. 「SOA」ノードを展開し、「soa-infra」ノードを選択します。

2. 「SOAインフラストラクチャ」メニューから、「ログ」→「ログ構成」の順に選択します。

3. 「ログ構成」ページで、「oracle.soa」を開きます。

4. 「Oracle Diagnostic Loggingレベル」(Javaレベル)リストを使用して、TRACE:32 (最も詳細)を「oracle.soa.b2b」に選択します。

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

注意:

ログ・ファイル、およびログ・ファイルに書き込むロギング情報のレベルとタイプの詳細は、『Oracle Fusion Middleware管理者ガイド』を参照してください。

28 Oracle B2Bの監視

この章では、Oracle B2Bの監視方法(Oracle B2Bインフラストラクチャの監視、Oracle B2Bバインディング・コンポーネントのメッセージ・フローの表示、サービスと参照の表示、B2Bコンポジットの「フローのトレース」ページからのOracle B2Bレポートへのアクセスを含む)について説明します。

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

- Oracle B2Bインフラストラクチャの監視

- 「B2Bインフラストラクチャ」ページからOracle B2Bへのアクセス

- Oracle B2Bバインディング・コンポーネントのメッセージ・フローの表示

- サービスと参照の表示

- Oracle B2Bコンポジットの「フローのトレース」ページからのOracle B2Bレポートへのアクセス

28.1 Oracle B2Bインフラストラクチャの監視

Oracle B2Bインフラストラクチャを監視するには、「B2Bサーバー・プロパティ」ページでメトリックを有効(デフォルト)にする必要があります。

「B2Bインフラストラクチャ(SOAバインディング)」ページの「関連リンク」の下部にある「B2Bサーバー・プロパティ」リンクを使用して、この設定を変更します。メトリックの有効化の詳細は、「Oracle B2Bサーバーのプロパティの構成」を参照してください。

表28-1に、「B2Bインフラストラクチャ(SOAバインディング)」ページに表示される情報を示します。

表28-1 B2Bインフラストラクチャ(SOAバインディング)

セクション/列

説明

最近のアクティブなドキュメント・タイプの上位5つ

アクティブなドキュメント・タイプが、サーバーの現在のセッションで交換されたメッセージの最大件数(インバウンドとアウトバウンドの合計)とともに表示されます。

このセクションには、ランタイム・センサーによってトリガーされたOracle DMSメトリックのドキュメント・タイプがリストされます。これは永続的なデータではありません。したがって、Oracle B2Bが再起動すると、Oracle B2Bアクティビティに基づいて新しいデータが表示されます。

処理済メッセージ数

ホストと取引パートナ間で交換されたドキュメント・メッセージの件数が表示されます。「アウトバウンド」はホストから取引パートナに送信されたメッセージを示し、「インバウンド」は取引パートナからホストに送信されたメッセージを示します。

平均メッセージ処理時間(秒)

アウトバウンド・メッセージとインバウンド・メッセージの両方のドキュメント平均処理時間が秒単位で表示されます。

平均メッセージ・サイズ(KB)

アウトバウンド・メッセージとインバウンド・メッセージの両方のドキュメント平均サイズがKB単位で表示されます。

エラー

ドキュメントのエラー件数が表示されます。

最近のアクティブな取引パートナの上位5つ

アクティブな取引パートナが、サーバーの現在のセッションで交換されたメッセージの最大件数(FromとToの合計)とともに表示されます。

ここには、ランタイム・センサーによってトリガーされたOracle DMSメトリックの取引パートナがリストされます。これは永続的なデータではありません。したがって、Oracle B2Bが再起動すると、Oracle B2Bアクティビティに基づいて新しいデータが表示されます。

処理済メッセージ数

ホストと取引パートナ間で送受信されたメッセージの件数が表示されます。「From」は、このパートナからその取引パートナに送信されたメッセージを示します。「To」は、このパートナが取引パートナから受信したメッセージを示します。

平均メッセージ処理時間(秒)

交換されたメッセージのドキュメント平均処理時間が秒単位で表示されます。

平均メッセージ・サイズ(KB)

交換されたメッセージのドキュメント平均サイズがKB単位で表示されます。

エラー

ドキュメントのエラー件数が表示されます。

インバウンド・エンドポイント

接続が試行された時点(接続後ではなく)のリスニング・エンドポイントのステータスが表示されます。たとえば、汎用ファイル転送を使用するEDIトランザクションで、Oracle B2Bがディレクトリから読み込む場合は、そのディレクトリがインバウンド・エンドポイントです。

プロトコル

交換に使用されるトランスポート・プロトコルのタイプ(ファイル、AQ、FTPなど)を表示します。

エンドポイント

メッセージの受信元を表示します。エンドポイントには、URL、フォルダ、パスなどがあります。

ステータス

前回接続が試行されたエンドポイント(プロトコル)のステータス(「稼働中」または「停止中」)を表示します。

アウトバウンド・エンドポイント

配信が試行された時点(配信後ではなく)の配信エンドポイントのステータスが表示されます。たとえば、汎用ファイル転送を使用するEDIトランザクションで、Oracle B2Bがディレクトリに書き込む場合は、そのディレクトリがアウトバウンド・エンドポイントです。

プロトコル

交換に使用されるトランスポート・プロトコルのタイプ(ファイル、AQ、FTPなど)を表示します。

エンドポイント

メッセージの送信先を表示します。エンドポイントには、URL、フォルダ、パスなどがあります。

ステータス

前回配信が試行されたエンドポイント(プロトコル)のステータス(「稼働中」または「停止中」)を表示します。

Oracle Enterprise Manager Fusion Middleware Controlを使用してOracle B2Bインフラストラクチャを監視する手順は、次のとおりです。

1. 「SOA」ノードを開きます。

2. SOAインフラストラクチャ(「soa-infra (soa_server1)」など)を選択します。

3. 「SOAインフラストラクチャ」メニューから、「バインディング」→「B2B」の順に選択します。
表示される情報の詳細は、表28-1を参照してください。

Fusion Middleware Controlに表示される情報は、インバウンドおよびアウトバウンドのエンドポイントを含むDMSメトリックに基づいています。このため、Oracle B2Bランタイム・データへの変更は、Fusion Middleware Controlに反映されない場合やただちに反映されない場合があります。

たとえば、ランタイム・データをパージした場合、またはOracle B2BインタフェースでOracle B2Bの構成を変更した場合、その変更はDMSメトリックには反映されません。現在のランタイム・データを表示するには、Oracle B2Bインタフェースを使用します。Fusion Middleware Controlのデータには、Oracle B2B (SOA)サーバーが起動されてからのOracle B2Bのメッセージ・トラフィックが表示されます。

28.2 「B2Bインフラストラクチャ」ページからOracle B2Bへのアクセス

Oracle B2Bにログインするには、図28-1に示すように、「関連リンク」の下にある「B2Bコンソール」リンクを使用します。

図28-1 Oracle Enterprise Manager Fusion Middleware ControlからOracle B2Bへのアクセス

Oracle B2Bインタフェースの使用方法の詳細は、Oracle B2Bユーザーズ・ガイドを参照してください。

28.3 Oracle B2Bバインディング・コンポーネントのメッセージ・フローの表示

Oracle B2Bバインディング・コンポーネントのメッセージ・フローをビジネス・フロー・インスタンスに表示する手順は、次のとおりです。

1. Oracle B2Bバインディング・コンポーネントが含まれているSOAコンポジット・アプリケーションを選択します。

最新のインスタンスのリストが「ダッシュボード」ページに表示されます。

2. このSOAコンポジット・アプリケーションのすべてのインスタンスを参照するには、「インスタンス」タブをクリックします。

注意:

特定のメッセージの詳細を表示するには、Oracle B2Bインタフェースの「レポート」ページでインスタンスIDを検索します。

3. フォルトおよびフローのトレースを参照するには、「インスタンスID」リストで特定のインスタンスをクリックします。

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

- 「フォルト」セクションには、SOAコンポジット・アプリケーションを構成するサービス、サービス・コンポーネントおよび参照で発生しているフォルト、および収集されたセンサー情報が表示されます。

- 「トレース」セクションには、SOAコンポジット・アプリケーションを構成するサービス、サービス・コンポーネントおよび参照間での一連のメッセージ・フローが表示されます。

28.4 サービスと参照の表示

コンポジット・アプリケーションの「ダッシュボード」ページには、コンポジットで使用されるサービスと参照がリストされます。

Oracle B2Bをサービス(インバウンド)として使用する場合は、取引パートナからメッセージを受信し、それをSOAコンポジット・アプリケーションに配信します。Oracle B2Bを参照(アウトバウンド)として使用する場合は、SOAコンポジット・アプリケーションからパートナにメッセージを送信します。

図28-2に示されているOracle B2B参照(B2B_Send_ebMS_PO)の詳細は、「参照ホーム」ページに表示されます。

図28-2 Oracle B2B参照(B2B_Send_ebMS_PO)

「インスタンスとフォルト」セクションには、サーバーが起動された後の送信メッセージ件数とフォルト件数が表示されます。「最近のアクティブな取引パートナの上位5つ」セクションの詳細は、表28-1を参照してください。

「最新のフォルト」セクションには、エラー・メッセージ、フォルトの発生時間、関連するビジネス・フロー・インスタンスIDなどの詳細とともに、フォルトが表示されます。フォルトの対象は、サービス・バインディング・コンポーネントによって処理された受信メッセージ、または参照バインディング・コンポーネントによって処理された送信メッセージです。

Oracle B2Bコンソールにはすべてのエラーが表示されますが、Oracle Enterprise Manager Fusion Middleware Controlには一部のフォルトのみが表示されます。このサブセットには、Oracle B2Bでの取引パートナ識別後に発生したエラーを含む、すべてのインバウンド・メッセージが含まれています。

詳細は、「監視」および「サービスおよび参照バインディング・コンポーネントの監視」を参照してください。

28.5 Oracle B2Bコンポジットの「フローのトレース」ページからのOracle B2Bレポートへのアクセス

Oracle B2Bコンポジットの「フローのトレース」ページには、Oracle B2Bのフォルトとトレースが表示されます。インスタンスをクリックするとOracle B2Bコンソールが開き、レポートが表示されます。

29 Oracle Healthcareの監視

この章では、ヘルスケア統合コンポーネントおよびアプリケーションのユーザー・アクティビティの監査証跡を有効化および構成する方法を説明します。Oracle SOA Suite for healthcare integrationは、Oracleの共通監査フレームワークを使用して、healthcare integrationコンポーネントに対するユーザー・アクティビティをログします。

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

- 監査証跡の概要

- Healthcare Integration監査証跡の構成

- ユーザー監査ログの表示

29.1 監査証跡の概要

Oracle監査フレームワークは、構成されたコンポーネントに影響を与えるイベントに関する情報を収集して格納し、これらのコンポーネントのアクティビティに関する監査ログを提供して、コンプライアンス要件のサポートを支援します。それぞれのSOA Suiteコンポーネントの監査は、監査ポリシーによって定義されます。監査ポリシーは、監査ログに取得するコンポーネントとアクティビティを定義します。必要な情報のみを取得して他の情報は無視するように監査ポリシーを構成できます。これはOracle Enterprise Managerの「監査ポリシー」ページで行います。詳細は、Oracle Fusion Middlewareアプリケーション・セキュリティ・ガイドの監査ポリシーの管理に関する項を参照してください。

それぞれのアプリケーションとコンポーネントの監査可能なイベントのセットは、監査ポリシーによって定義され、各アプリケーションによって異なります。コンポーネントのイベント・リストを開くと、そのコンポーネントで監査可能なイベントのみがリストに表示されます。さらに、各イベントについて、成功した試行のみをログするか、失敗した試行のみをログするかを指定できます(現在Oracle SOA Suite for healthcare integrationは、成功した試行のみをログします)。

監査を構成する際は、次の監査レベルから選択できます。

- 低: このオプションでは、監査ポリシー・リストの監査可能なすべてのコンポーネントから、Oracle SOA Suite for healthcare integrationイベントのサブセットを含むイベントのサブセットが選択されます。このオプションでは、カスタム・フィルタは作成できません。

- 中: このオプションでは、監査ポリシー・リストの監査可能なすべてのコンポーネントから、すべてのOracle SOA Suite for healthcare integrationイベントを含むイベントのより大きなサブセットが選択されます。このオプションでは、カスタム・フィルタは作成できません。

- カスタム:このオプションを使用すると、監査するコンポーネント、イベントおよび条件のみを選択できます。これはOracle SOA Suite for healthcare integrationで推奨されるレベルです。Oracle Healthcareの監査を有効にするには、Oracle Enterprise Managerコンソールでこのレベルを選択する必要があります。

実行したアクションや使用したコンポーネントに関係なくアクティビティを監査するユーザーのリストも指定できます。これらのユーザーに対しては、定義した監査レベルまたはフィルタに関係なく監査が行われます。

監査ポリシーの詳細は、Oracle Fusion Middlewareアプリケーション・セキュリティ・ガイドの監査の構成と管理に関する項を参照してください。

29.1.1 Oracle SOA Suite for Healthcare Integrationの監査オプション

監査可能なコンポーネントとイベントは、Oracle Enterprise Managerの「監査ポリシー」ページにリストされます(Weblogicドメイン→「セキュリティ」→「監査ポリシー」)。これらのオプションを構成するには、「監査コンポーネント名」リストから「Oracle SOA Suite for Healthcare」を選択し、「監査レベル」リストから「カスタム」を選択して、イベントの隣のチェック・ボックスを選択します(図29-1を参照)。

図29-1 「監査ポリシー」ページのHealthcare Integrationコンポーネント

注意:

現在はSUCCESSイベントのみが監査されます。FAILUREイベントは選択しないでください。

Oracle SOA Suite for healthcare integrationでは現在、次のコンポーネントとイベントの監査がサポートされています(リストには他のイベントも表示されますが、それらのログは現在のところ行われません)。

- ユーザー・セッション

- ユーザー・ログイン

- ユーザー・ログアウト

- エンドポイント管理

- エンドポイントの作成

- エンドポイントの有効化

- エンドポイントの無効化

- エンドポイントの削除

- ドキュメント管理

- ドキュメント定義の作成

- ドキュメント定義の更新

- ドキュメント定義の削除

- メッセージの再発行

- メッセージのパージ

- メッセージの再発行

- メッセージのパージ

- ペイロードの読取り

- 構成

- インポート

- エクスポート

- 内部デリバリ・チャネルの作成

- 内部デリバリ・チャネルの削除

- マップセットの作成

- マップセットの削除

29.1.2 Oracle B2Bの監査オプション

監査で使用可能なOracle B2Bのコンポーネントおよびイベントは、Oracle Enterprise Managerの「監査ポリシー」ページにリストされます。Oracle B2Bのオプションを表示または構成するには、SOA_B2Bの下のノードを展開します。

Oracle B2Bで監査に使用できるコンポーネントおよびイベントは、次のとおりです。

- ユーザー・セッション

- ユーザー・ログイン

- ユーザー・ログアウト

- ドキュメント管理

- ドキュメント定義の作成

- ドキュメント定義の更新

- ドキュメント定義の削除

- メッセージの再発行

- メッセージのパージ

- ペイロードの読取り

- 構成

- インポート

- エクスポート

- バッチの作成

- バッチの削除

- バッチの更新

- 停止時間のスケジュール設定の作成

- 停止時間のスケジュール設定の削除

- マップセットの作成

- マップセットの削除

- パートナ管理

- 取引パートナの作成

- 取引パートナの削除

- アグリーメント管理

- アグリーメントの作成

- アグリーメントの削除

- アグリーメントの編集

- アグリーメントのデプロイ

- アグリーメントのアクティブ化

- アグリーメントの非アクティブ化

- アグリーメントのリタイア

- アグリーメントのパージ

- チャネル管理

- デリバリ・チャネルの作成

- デリバリ・チャネルの削除

- 内部デリバリ・チャネルの作成

- 内部デリバリ・チャネルの削除

- リスニング・チャネルの作成

- リスニング・チャネルの編集

- リスニング・チャネルの削除

- ユーザー管理

- ユーザー・ロールの追加

- ユーザー・ロールの削除

- サポートされているドキュメント定義の追加

- サポートされているドキュメント定義の削除

29.1.3 監査でのフィルタ条件の使用

それぞれのイベントについて、成功条件のフィルタを定義できます。フィルタでは、イベントの属性に基づいたルールベースの式を使用します。Oracle SOA Suite for healthcare integrationのほとんどのユーザー・アクセス監査では、次の属性をフィルタ式に使用できます。

- ホストID

- ホスト・ネットワーク・アドレス

- 起動側

- クライアントのIPアドレス

- リソース

- ドメイン名

式にはANDおよびOR演算子に加え、次と等しい、次で始まる、次を含む、次と等しくない。といった様々な比較関数を含めることができます。

29.2 ヘルスケア統合監査証跡の構成

監査ポリシーは、Oracle Enterprise Managerで監査ログに含めるイベントやコンポーネント選択することで構成します。現在、Oracle B2Bコンポーネントおよびイベントは、監査証跡に含まれません。

デフォルトの構成は低および中の監査レベルの2つで、コンポーネントまたはイベントの定義済のサブセットが選択されます。これらはOracle SOA Suite for healthcare integrationではお薦めできません。なぜなら、これらは、Oracle SOA Suite for healthcare integrationのコンポーネントのみでなく、監査可能なすべてのコンポーネントに影響するからです。これらのオプションのいずれかを選択すると、無関係な監査エントリと不必要に大きな監査ログが生成される可能性があります。さらに、これら2つのオプションでは、フィルタをまったく定義できません。

次の手順は、カスタムレベルの監査ポリシー構成に適用されます。

ヘルスケア統合の監査を構成する手順は次のとおりです。

1. Oracle Enterprise Managerにログインします。

2. 左側のナビゲーション・パネルで、「WebLogicドメイン」を開き、ユーザー監査を有効にするドメインの名前を右クリックします。

3. 表示されたコンテキスト・メニューで、「セキュリティ」をポイントして、「監査ポリシー」を選択します。

4. 「監査レベル」フィールドで、「カスタム」を選択します。

「監査用に選択」列にチェック・ボックスが表示され、監査対象のヘルスケア統合コンポーネントおよびイベントを選択できます。

5. 「ユーザー・セッション」といったイベント・カテゴリをクリックし、そのカテゴリに関するイベントのリストを下部に表示します。

6. 次のいずれかの操作を実行します。

- Oracle SOA Suite for healthcare integrationのすべてのコンポーネントとイベントの監査を有効にするには、「すべてのイベントを監査」ボタンをクリックします。

- 特定コンポーネントのすべてのイベントの監査を有効にするには、コンポーネント名の隣の「監査用に選択」列のチェック・ボックスをクリックします。
たとえば、エンドポイントに対して行われるすべてのアクションを監査するには、「 エンドポイント管理」のチェック・ボックスを選択します。

- コンポーネントの特定イベントの監査を有効にするには、そのコンポーネントを開き、コンポーネント下のイベント名の隣の「監査の有効化」列のチェック・ボックスを選択します。

7. 成功条件のフィルタを定義するには、成功条件について「監査の有効化」を選択し、その「フィルタの編集」アイコンをクリックします。表示されたダイアログでフィルタを定義して、「OK」をクリックします。

フィルタの詳細は、「監査でのフィルタ条件の使用」および「フィルタの編集」ダイアログから使用可能なオンライン・ヘルプを参照してください。フィルタは、現時点の成功条件についてのみ定義できます。

8. コンポーネントの構成に関係なく常にそのアクティビティを監査するユーザーのリストを指定するには、「常に監査するユーザー」セクションにユーザー・アカウントのリストを入力します。アカウント名はカンマで区切ります。

9. 監査の構成が完了したら、「適用」をクリックします。

10. 変更を有効にするためにサーバーを再起動します。

29.3 ユーザー監査ログの表示

イベントが監査ログの入力をトリガーすると、イベント情報が監査ログ・ファイルに書き込まれます。監査ログには次の情報が取得されます。入力をトリガーしたイベント・タイプに応じて、これらのフィールドの一部は空になる場合もあります。

- 日付と時刻

- イベントのイニシエータ

- イベント・タイプ

- イベント・ステータス

- メッセージ・テキスト(何が発生したかを示します)

- ECID

- RID

- コンテキスト・フィールド

- セッションID

- ターゲット・コンポーネント・タイプ

- アプリケーション名

- イベント・カテゴリ

- スレッドID

- 失敗コード

- リモートIPアドレス

- ターゲット

- リソース

- ロール

- 認証方式

- 理由

監査ログ・ファイルは直接表示できます。これは次の場所に書き込まれます。

fmw_home/user_projects/domains/domain_name/servers/managed_server_name/logs/auditlogs/healthcare/audit_1_0.log

第XI部 バインディング・コンポーネントの管理

この部では、バインディング・コンポーネントの管理方法について説明します。

この部は、次の章で構成されています。

- サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントの構成

- サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントの監視

- サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントの管理

30 サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントの構成

この章では、SOAコンポジット・アプリケーションのWebサービス、RESTおよびJCAアダプタ・バインディング・コンポーネントのランタイム・プロパティを構成する方法について説明します。バインディング・コンポーネントは、SOAプラットフォームを外部の世界と接続するネットワーク・プロトコルとサービスです。

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

- サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントのプロパティの構成

バインディング・コンポーネントの詳細は、次のドキュメントを参照してください。

- バインディング・コンポーネントの概要

- 『Oracle SOA Suiteを使用したSOAアプリケーションの開発』

注意:

- リモートRMI呼出しを介してSOAコンポジット・アプリケーションを呼び出す直接バインディング・コンポーネントのメッセージ・ヘッダー・プロパティは構成できません。このため、直接バインディング・コンポーネントの場合、「プロパティ」タブは表示されません。

- HTTPバインディング・コンポーネントの「httpBinding」プロパティは変更できません。

- WebサービスへのMTOMアタッチメントの追加がサポートされています。詳細は、『Oracle SOAスイートでのSOAアプリケーションの開発』を参照してください。

30.1 サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントのプロパティの構成

デプロイ済SOAコンポジット・アプリケーションに組み込まれているサービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントに対してメッセージ・ヘッダー・プロパティを構成できます。

サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントのプロパティを構成する手順は、次のとおりです。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

SOAコンポジットのメニューから...

a. 「サービスと参照」を選択します。

b. 特定のサービスまたは参照を選択します。

c. 「プロパティ」タブをクリックします。

a. 「soa-infra」を右クリックします。

b. 「サービスと参照」を選択します。

c. 特定のサービスまたは参照を選択します。

d. 「プロパティ」タブをクリックします。

a. 「サービス/参照プロパティ」を選択します。

b. 特定のサービスまたは参照を選択します。

c. 「プロパティ」タブをクリックします。

Webサービスについて次のバインディング・コンポーネント・プロパティが表示されます。

ファイル・アダプタについて次のバインディング・コンポーネント・プロパティが表示されます。JCAアダプタの選択に従って、異なる構成プロパティが表示されます。

REST参照バインディング・コンポーネントには、次のバインディング・コンポーネント・プロパティが表示されます。

2. 次の方法で、バインディング・コンポーネントの選択に基づいてプロパティを変更します。

- Webサービスに対するプロパティの構成

- RESTアダプタのプロパティの構成

- Oracle JCAアダプタに対するプロパティの構成

注意:

このページでアダプタ・ヘッダー・プロパティとその値を参照するには、「SOAインフラストラクチャの共通プロパティ」ページで、「監査レベル」プロパティの値を「本番」(デフォルト)から「開発」に変更する必要があります。このプロパティが「本番」に設定されている場合、プロパティとその値は表示されません。詳細は、「SOAインフラストラクチャ・プロパティの構成」を参照してください。

30.1.1 Webサービスに対するプロパティの構成

表30-1に、Webサービス・バインディング・コンポーネントに使用可能なプロパティを示します。

表30-1 Webサービスのプロパティ

サービス、参照またはエンドポイント

プロパティ名

説明

サービス

RESTの有効化

メッセージをREST形式で受け入れるWebサービス・ポートを有効または無効にします。

サービス

WSDL対応

WebサービスのWSDLを有効または無効にします。

サービス

メタデータ交換の有効化

Webサービスのメタデータ交換を有効または無効にします。

サービス

エンドポイント・テストの有効化

Webサービスのエンドポイント・テストを有効または無効にします。

サービス

スキーマ検証

スキーマ検証を有効化または無効化します。

サービス

アトミック・トランザクションのフロー・オプション

トランザクションの参加を示す値を選択します。

- 行わない
トランザクション・コンテキストは、インポート(サービスの場合)またはエクスポート(参照の場合)されません。

- サポート
トランザクションが存在する場合は、トランザクション・コンテキストがインポート(サービスの場合)またはエクスポート(参照の場合)されます。この情報はcomposite.xmlファイルに追加されます。

- 必須
トランザクション・コンテキストはインポート(サービスの場合)またはエクスポート(参照の場合)されます。エクスポートの場合、アクティブなトランザクションが存在しない場合はWebサービス例外メッセージがスローされます。インポートの場合、リクエストにトランザクション・コンテキストが存在しない場合はフォルトがクライアントに戻されます。

詳細は、『Oracle SOAスイートでのSOAアプリケーションの開発』のWS-AtomicTransactionサポートに関する項を参照してください。

サービス

アトミック・トランザクションのバージョン

WS-AtomicTransaction (WS-AT)がサポートされているバージョン(1.0、1.1、1.2またはデフォルト)を選択します。

30.1.2 RESTアダプタのプロパティの構成

表30-2に、RESTバインディング・コンポーネントに使用可能なプロパティを示します。

表30-2 RESTアダプタのプロパティ

プロパティ・タイプ

バインディング・コンポーネント・タイプ

説明

エンドポイント・アドレス

参照

クライアントがリクエストを送信するエンドポイントURL

チャンク化の停止

参照

クライアント・リクエストに対してチャンクを有効にするかどうかを指定するフラグ。

チャンク化サイズ(バイト)

参照

リクエスト・チャンクのサイズ(バイト)。

HTTP読取りタイムアウト(ミリ秒)

参照

リクエスト読取りのタイムアウトの長さ(ミリ秒)。

HTTP接続タイムアウト(ミリ秒)

参照

リクエスト接続のタイムアウトの長さ(ミリ秒)。

30.1.3 Oracle JCAアダプタに対するプロパティの構成

未登録のJCAバインディング・レベル・プロパティをcomposite.xmlファイルに手動で追加した後、Oracle Enterprise Manager Fusion Middleware Controlでは、そのプロパティや該当するサービスや参照について登録された他のプロパティを編集できなくなります。表30-3はJCAアダプタのプロパティ・タイプを示しています。

表30-3 JCAアダプタのタイプ

プロパティ・タイプ

説明

制限事項

アクティブ化仕様および相互作用仕様

SOAコンポジット・アプリケーション内で、アクティブ化仕様プロパティはサービスとして機能し、相互作用仕様プロパティは参照として機能します。

これらのプロパティは追加したり削除しないでください。値の変更のみが可能です。

これらのプロパティには、リサイクル対象のアダプタ・エンドポイントが必要です。これらのプロパティ・タイプは、他のプロパティにも依存しています。これらのいずれかのプロパティを追加する場合、他にも追加する必要がある従属プロパティを把握する方法はありません。

エンドポイント

これらのエンドポイントは、チューニングに関連するプロパティ(タイムアウト、しきい値、最大間隔などを指定する)で、アクティブ化仕様プロパティまたは相互作用仕様プロパティでは表示されません。

エンドポイント・プロパティの追加、削除または変更には制限がありません。プロパティが追加、削除または変更されるとアダプタに通知が送信されますが、アダプタによる再デプロイメントは不要です。

jca.retry.*エンドポイント・プロパティは、コンポジットを再デプロイしないと追加または削除できません。ただし、これらのプロパティは、Oracle Enterprise Manager Fusion Middleware Controlを使用することで、コンポジットの再デプロイなしに変更できます。

使用可能なJCAアダプタ構成プロパティの詳細は、『テクノロジ・アダプタの理解』の付録「Oracle JCAアダプタ・プロパティ」を参照してください。

31 サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントの監視

この章では、SOAコンポジット・アプリケーションのサービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントのメッセージとフォルトを監視する方法について説明します。Oracle Enterprise SchedulerがOracle SOA Suiteでデプロイされている場合は、JCAアダプタ・サービスのアクティブ化および非アクティブ化をスケジュールするためのページにアクセスすることもできます。

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

- バインディング・コンポーネントのメッセージとフォルトの監視

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

- バインディング・コンポーネントの概念の詳細は、「バインディング・コンポーネントの概要」を参照してください

- Oracle B2BとOracle Healthcareの管理

- 『Oracle SOA Suiteを使用したSOAアプリケーションの開発』

31.1 バインディング・コンポーネントのメッセージとフォルトの監視

SOAコンポジット・アプリケーションに組み込まれているすべてのバインディング・コンポーネントのメッセージとフォルトを監視できます。

バインディング・コンポーネントのメッセージとフォルトを監視する手順は、次のとおりです。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「ホーム」→「デプロイ済コンポジット」の順に選択します。

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

a. 「soa-infra」の下にあるパーティションを展開します。

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

2. 「ダッシュボード」をクリックします(選択されていない場合)。

3. 「サービスと参照」セクションで、特定のサービスまたは参照を選択します。

4. JCAアダプタ、WebサービスまたはRESTサービスのサービス・バインディング・コンポーネントを選択した場合、「ダッシュボード」ページには、サーバー起動時以降の受信メッセージおよびフォルトの合計数がグラフィック表示されます。

5. RMI(リモート・メソッド呼出し)呼出し(直接バインディングと呼ばれる)を介してSOAコンポジット・アプリケーションを起動するサービスを選択した場合、「ダッシュボード」ページにステップ4の説明と類似した詳細が表示されます。直接バインディングを使用すると、JVM全体でトランザクションとセキュリティの伝播をサポートするAPIを介して、SOAコンポジット・アプリケーションを起動できます。
単語「ダイレクト」がヘッダーに表示され、直接バインディング・コンポーネントであることが示されます。ただし、直接バインディング・コンポーネントでは、「ポリシー」タブと「プロパティ」タブは使用できません。

6. 参照バインディング・コンポーネントを選択した場合、「ダッシュボード」ページには、サーバー起動時以降の送信メッセージおよびフォルトの合計数がグラフィック表示されます。参照バインディング・コンポーネントは、JCAアダプタ、WebサービスおよびRESTサービスでのみ使用可能です。

Oracle Enterprise SchedulerがOracle SOA Suiteでデプロイされている場合は、「アダプタ・スケジュール」アイコンが「関連リンク」リストの左側に表示されます。これを使用すると、JCAアダプタ・サービスのアクティブ化および非アクティブ化をスケジュールできます。

7. アクティブ化および非アクティブ化スケジュールを選択してこのアダプタの自動アクティブ化を有効にするための「アダプタ・スケジュール」ダイアログを起動する場合は、「アダプタ・スケジュール」アイコンをクリックします。

詳細は、「Oracle Enterprise Schedulerを使用したJCAアダプタ・エンドポイントのアクティブ化および非アクティブ化のスケジュール」を参照してください。

32 サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントの管理

この章では、SOAコンポジット・アプリケーションのWebサービス、JCAアダプタ・サービスおよび参照バインディング・コンポーネントのポリシーの管理方法、ならびにサービス・バインディング・コンポーネントの登録済のUniversal Description, Discovery, and Integration (UDDI)ソースからUDDIレジストリへの公開方法および追加のOracle Service Registryタスクの実行方法について説明します。

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

- 「バインディング・コンポーネントのポリシーの管理」

- UDDIレジストリへのWebサービスの公開

- Oracle Service Registryと統合している場合のエンドポイント参照およびサービス・キーの変更

- Oracle Service Registryの公開および参照

注意:

Oracle SOA Suiteでは、サービス・バインディング・コンポーネントまたは参照バインディング・コンポーネントに対する複数のバインディング(例: composite.xmlファイルにSOAP 1.1とSOAP 1.2の両方を指定する)はサポートされていません。サポートの対象は、サービスまたは参照ごとに1つのWebサービス・バインディングのみです。複数のバインディングを指定する場合は、1つを除いてすべてのバインディングを削除し、SOAコンポジット・アプリケーションを再デプロイします。

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

- バインディング・コンポーネントの概念の詳細は、「バインディング・コンポーネントの概要」を参照してください

- 『Oracle SOA Suiteを使用したSOAアプリケーションの開発』

32.1 バインディング・コンポーネントのポリシーの管理

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

注意:

ポリシーをアタッチする前に、使用可能なポリシーの定義およびユーザー環境で使用するポリシーの詳細は、Oracle Web Services ManagerによるWebサービスの保護およびポリシーの管理に関する項を参照してください。

バインディング・コンポーネント・ポリシーを管理する手順は、次のとおりです。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「ホーム」を選択します。

b. 「デプロイ済コンポジット」タブを選択します。

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

a. 「soa-infra」の下にあるパーティションを展開します。

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

選択したSOAコンポジット・アプリケーションに対する「ダッシュボード」タブが表示されます。このページの「サービスと参照」セクションに、アプリケーションで使用されているバインディング・コンポーネントが表示されます。

2. 「サービスと参照」セクションで、サービスまたは参照を選択します。

3. 「ポリシー」をクリックします。
「ポリシー」ページでは、グローバルにアタッチされたポリシーおよび直接アタッチされたポリシーを表示でき、サービス・バインディング・コンポーネントまたは参照バインディング・コンポーネントとの間でセキュリティ・ポリシーをアタッチまたはデタッチできます。

- 「グローバルにアタッチされたポリシー」表には、グローバルにアタッチされたポリシーの名前、ポリシー・セット、カテゴリ(「管理」、「信頼できるメッセージング」、「MTOMアタッチメント」、「セキュリティ」または「WSアドレス」など)、SOAインフラストラクチャの最後の再起動以降の違反、およびSOAインフラストラクチャの最後の再起動以降の認証、認可、機密性および整合性の失敗が表示されます。
ポリシー・セットを使用すると、ある範囲に含まれる同じタイプのエンドポイントに対して、ポリシーをグローバルにアタッチできます。ポリシー・セットを使用してポリシーをグローバルにアタッチすることによって、開発者、アセンブラまたはデプロイヤがアタッチするポリシーを明示的に指定しなかった状況において、管理者は、すべてのサブジェクトが確実に保護されるようにできます。ポリシー・セットを使用してアタッチされるポリシーは、外部的にアタッチされたと見なされます。ポリシー・セットの作成と管理に関する情報は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』を参照してください。

- 「直接アタッチされたポリシー」表には、直接アタッチされたポリシーの名前、ポリシー参照ステータス(有効または無効)、カテゴリ、SOAインフラストラクチャの最後の再起動以降の違反、およびSOAインフラストラクチャの最後の再起動以降の認証、認可、機密性および整合性の失敗が表示されます。

5. 「直接アタッチされたポリシー」セクションで、「アタッチ/デタッチ」をクリックします。
複数のコンポーネントが使用可能な場合は、アタッチまたはデタッチを実行するサービスまたはコンポーネントを選択するプロンプトが表示されます。

注意:

ポリシーをサービス・バインディング・コンポーネント(クライアント)にアタッチして、「Webサービスのテスト」ページでSOAコンポジット・アプリケーションのインスタンスを起動し、ポリシーのアタッチに失敗した場合、Oracle Web Services Manager (OSWM)ポリシー・エラーは生成されず、Oracle Enterprise Manager Fusion Middleware Controlに表示されません。

同じビジネス・フロー・インスタンスが外部で起動された場合は、ポリシー・エラーが生成され、Oracle Enterprise Manager Fusion Middleware Controlに表示されます。

サービス・コンポーネント(BPELプロセスなど)または参照バインディング・コンポーネントの場合は、ビジネス・フロー・インスタンスが外部で起動されたか、「Webサービスのテスト」ページを介して内部で起動されたかに関係なく、ポリシー・エラーは常に生成され、表示されます。

6. ポリシーのアタッチ先またはデタッチ先のサービスまたはコンポーネントを選択します。
ポリシーをアタッチまたはデタッチするためのダイアログが起動します。

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

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

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

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

10. エラー・メッセージが表示された場合は、検証エラーがなくなるまで必要な修正を行います。
アタッチしたポリシーがポリシー表に表示されます。

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

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

- ポリシーの概要

- ポリシーのアタッチで表示されるダイアログについては、「SOAコンポジット・アプリケーションのポリシーの管理」を参照してください

- 使用可能なポリシーの定義およびユーザー環境で使用するポリシーの詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』を参照してください。

32.1.1 ポリシー構成プロパティ値のオーバーライド

使用環境には、同じポリシーを持つ複数のサーバーを含めることができます。ただし、各サーバーはそれぞれ固有のポリシー要件を保持できます。実行時要件を満たすために、サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントにアタッチされている管理ポリシーおよびセキュリティ・ポリシーのプロパティ値をオーバーライドできます。

1. サービス・バインディング・コンポーネントまたは参照バインディング・コンポーネントにポリシーをアタッチするには、「バインディング・コンポーネントのポリシーの管理」の手順を参照してください。

2. 表内でアタッチされているポリシーを選択します。

3. 「ポリシー構成のオーバーライド」をクリックします。

「セキュリティ構成の詳細」ダイアログが表示されます。

4. 「値」フィールドに値を入力して、「元の値」列のデフォルト値をオーバーライドします。

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

ポリシー値のオーバーライドの詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』を参照してください。

32.2 UDDIレジストリへのWebサービスの公開

サービス・バインディング・コンポーネントを登録済のUDDIソースからUDDIレジストリに公開できます。

注意:

- 参照バインディング・コンポーネントは、UDDIレジストリには公開できません。

- UDDIレジストリに公開できるのはWebサービスのみです。たとえば、JCAアダプタは公開できません。

UDDIレジストリへのWebサービスの公開の詳細は、Webサービスの管理を参照してください。

32.2.1 UDDIレジストリへのWebサービスの公開

注意:

Oracle Enterprise Manager Fusion Middleware ControlからデフォルトのOracle Service RegistryビジネスにWebサービスを公開できます。デフォルト以外のビジネスに公開するには、Oracle Service Registryの公開オプションを使用します。

ドキュメントを含むOracle Service Registryの詳細は、次のURLを参照してください。

http://www.oracle.com/technetwork/middleware/registry/overview/index.html

UDDIレジストリにWebサービスを公開するには、次の手順を実行します。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「サービスと参照」を選択します。

a. 「soa-infra」を右クリックします。

b. 「サービスと参照」を選択します。

「サービス」ページには、サービスの名前とタイプ、サービスが使用されているSOAコンポジット・アプリケーション、コンポジットがデプロイされているパーティション、処理されたメッセージの合計数、平均処理時間、およびサービスで発生したフォルトの件数に関する詳細が表示されます。

2. 「サービス」表で、UDDIレジストリに公開するサービスを選択します。

3. 「アクション」リストで、「UDDIに公開」を選択します。

「UDDIへのサービスの公開」ダイアログ・ボックスが表示されます。

4. 次の情報を入力します。

フィールド

説明

サービス名

選択したサービスの名前を表示します。

サービスの説明

選択したサービスに関するオプションの説明を入力します。

システム定義の場所

UDDIレジストリに公開するWSDL URLを表示します。例:

http://myhost.mycompany.com:7001/soa-infra/services/default/HelloWorld/client?WSDL

UDDIソース

サービスの登録元のUDDI公開ソースを選択します。

ビジネス名

サービスを公開するビジネスを選択します。これは、UDDIレジストリ内のデータ構造の名前です。ビジネスがすでにUDDIレジストリに登録されていることが前提とされています。

完了すると、「UDDIへのサービスの公開」ダイアログ・ボックスは次のように表示されます。

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

32.3 Oracle Service Registryと統合している場合のエンドポイント参照およびサービス・キーの変更

SOAコンポジット・アプリケーションの参照バインディング・コンポーネントがOracle Service Registry (OSR)と統合されている場合は、このページの「一般」セクションでエンドポイント参照とサービス・キーを変更できます。

実行時のエンドポイントの解決にUDDIを使用することを選択した場合は、composite.xmlファイルのbinding.ws property="oracle.soa.uddi.serviceKey"の値が「UDDI ServiceKey」フィールドに自動的に表示されます。

SOAコンポジット・アプリケーションがデプロイされた後に、次の目的のために「UDDI ServiceKey」フィールドを編集できます。

- 必要に応じて値を変更するため

- 実行時のエンドポイント解決にUDDIを使用していないコンポジットに追加するため

「エンドポイント・アドレス」フィールドは、composite.xmlファイルのws.binding endpointURIプロパティに定義されているエンドポイントの位置を表します。「エンドポイント・アドレス」フィールドは、SOAコンポジット・アプリケーションをデプロイした後は入力できませんが、具体的なWSDLでエンドポイントの位置をオーバーライドできます。

エンドポイントの位置の優先順位は、次のとおりです。

- 「UDDI ServiceKey」フィールドに、バインディングoracle.soa.uddi.serviceKeyを実行時に動的に設定します。

- 「エンドポイント・アドレス」フィールドに、バインディング・プロパティendpointURIを実行時に動的に設定します。

- composite.xmlファイル(Oracle Enterprise Manager Fusion Middleware Controlで表示および編集可能)のoracle.soa.uddi.serviceKeyのバインディング・プロパティ値を使用します。

- composite.xmlファイル(Oracle Enterprise Manager Fusion Middleware Controlで表示および編集可能)のendpointURIのバインディング・プロパティ値を使用します。

- 具体的なWSDLで指定されている位置を使用します。

図32-1は両方のフィールドを示しています。

図32-1 エンドポイント参照とサービス・キーのプロパティ

OSRと統合されている場合にエンドポイント参照およびサービス・キーを変更する手順は次のとおりです。

1. 「UDDI ServiceKey」フィールドで、実行時に使用するサービス・キーを変更します。

2. 「エンドポイント・アドレス」フィールドに、実行時に使用するエンドポイント・アドレスを入力します。

両方のフィールドを編集できます。設計時に「UDDIデプロイメント・オプション」ダイアログで選択した内容に基づいて、片方のフィールドの値が選択および使用されます。これらのフィールドへの変更は、実行時にはcomposite.xmlファイルで維持されます。

ビジネス・サービスの公開、UDDIレジストリへの接続の作成、レジストリからサービスを起動するためのSOAプロジェクトの構成などの設計時のタスクの詳細は、『Oracle SOAスイートでのSOAアプリケーションの開発』を参照してください。

実行時に照会URLを設定する方法の詳細は、「SOAインフラストラクチャ・プロパティの構成」を参照してください。

32.3.1 WSDL URLのキャッシュの構成

エンドポイントWSDL URLのキャッシングは、デフォルトで実行時に発生します。エンドポイントWSDL URLがorauddiプロトコルを使用して解決された場合、後続の呼出しはWSDL URLをOSRからではなくキャッシュから取得します。照会時にキャッシュのエンドポイントWSDL URLを使用できる時間を増やすには、「UddiCacheLifetime」プロパティを持つサービス・キーを使用します。このプロパティに指定した時間間隔でキャッシュが無効化されます。デフォルト値は86400秒です。最小値は300秒です。

WSDL URLのエンドポイントのキャッシュを構成する手順は、次のとおりです。

1. 「SOAインフラストラクチャ」メニューから、「管理」→「システムMBeanブラウザ」の順に選択します。

2. 「アプリケーション定義のMBean」→「oracle.as.soainfra.config」→「サーバー: soa_server1」→「SoaInfraConfig」→「soa-infra」→「属性」の順に選択します。

3. ページの右側にある「UddiCacheLifetime」プロパティをクリックします。

4. 値を入力します。

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

32.4 Oracle Service Registryの公開および参照

Oracle Service Registry (OSR)では、Webサービスを公開したり、Webサービスの情報を検出するための共通の標準が提供されます。この項では、個別にインストールしたOracle SOA Suite環境に対してOSRを構成する方法について説明します。

Oracle SOA Suiteでは、次のバージョンのOSRを使用できます。

- OSR 11g

- OSR 10.3 (Oracle WebLogic Server 10.3で使用)

- OSR 10.1.3

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

http://www.oracle.com/technetwork/middleware/registry/overview/index.html

注意:

- この項では、Oracle JDeveloperに組み込まれたOracle WebLogic Serverに対してOSRを構成する方法については説明しません。

- OSR 10.3は、バージョン10.3.0.0のOracle WebLogic Serverにデプロイされます。

- OSR 10.3は、バージョン10.3.1.0のOracle WebLogic Serverをサポートしていません。

32.4.1 ビジネス・サービスの公開

この項では、ビジネス・サービスの公開方法の概要を説明します。手順の詳細は、次のURLにあるドキュメントを参照してください。

http://www.oracle.com/technetwork/middleware/registry/overview/index.html

「レジストリ・ドキュメント」リンクをクリックしてドキュメントにアクセスすることもできます。

ビジネス・サービスを公開する手順は、次のとおりです。

1. レジストリ・コントロールに移動します:

http://hostname:port/registry/uddi/web

2. 「パブリッシュ」→「WSDL」をクリックします。

3. プロンプトが表示された時点でログインします。

4. アクセス・ポイントのURLを指定してビジネス・サービスのWSDLを公開するために、このページの各フィールドを完了します。

注意:

エンドポイントの場所を後で変更した場合は、レジストリ・コントロールでWSDLの場所も更新する必要があります。そうしないと、実行時にUDDIの起動に失敗します。「レジストリ・コントロールにおけるエンドポイントの場所の変更」を参照してください。

32.4.2 レジストリへの接続の作成

レジストリへの接続を作成する手順は、次のとおりです。

1. Oracle JDeveloperに移動します。

2. 「ファイル」→「新規」→「接続」→「UDDIレジストリ接続」の順に選択して、UDDI接続を作成します。

3. 接続名を入力します。

4. 照会エンドポイントURLを入力します。次に例を示します。

http://myhost.us.example.com:7001/registry/uddi/inquiry

5. 「ビジネス・ビュー」ボタンが必ず選択されているようにします。

6. 「次へ」をクリックします。

7. 「接続のテスト」をクリックします。

8. 成功した場合は、「終了」をクリックします。そうでない場合、「戻る」ボタンをクリックし、エラーを修正します。

注意:

Oracle JDeveloperの「リソース」ウィンドウの「IDE接続」→「アプリケーション・サーバー」でSOAコンポジット・アプリケーションのWebサービスを右クリックすると、「UDDIにWSDLを公開」オプションは無効になります。

32.4.3 レジストリからサービスを起動するためのSOAプロジェクトの構成

SOAプロジェクトを構成してレジストリからサービスを起動する手順は、次のとおりです。

1. ビジネス・サービスへの参照を作成するSOAプロジェクトを開きます。

2. 「Webサービス」アイコンを「外部参照」スイムレーンにドラッグします。

「Webサービスの作成」ダイアログが表示されます。

3. 「WSDL URL」フィールドの右側にあるアイコンをクリックし、WSDLを選択します。

4. 上部のリストから「リソース・パレット」を選択します。

5. ナビゲーション・ツリーを開きます。

6. 「UDDIレジストリ」→「ビジネス・サービス」の順に開きます。

7. 公開したビジネス・サービスを選択して、「OK」をクリックします。

「UDDIデプロイメント・オプション」ダイアログが表示されます。

8. 次のいずれかのデプロイメント・オプションを選択します。

- 実行時にSOAPエンドポイントの場所を動的に解決します

- 実行時に具体WSDLの場所を動的に解決します

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

「Webサービスの作成」ダイアログが再び表示されます。

10. 「UDDIデプロイメント・オプション」ダイアログでの選択内容に応じて、次の項を参照してください。

- 「SOAPエンドポイントの場所の動的解決」

- 「WSDLエンドポイントの場所の動的解決」

32.4.3.1 SOAPエンドポイントの場所の動的解決

SOAPエンドポイントの場所を動的に解決する手順は、次のとおりです。

1. 「Webサービスの作成」ダイアログの残りのフィールドを完成し、「OK」をクリックします。
「Webサービスの作成」ダイアログは次のようになります。

2. 適切なサービス・コンポーネントを使用して参照に接続します。

3. SOAコンポジット・エディタで「ソース」をクリックします。
composite.xmlファイルにserviceKeyが表示されます。このプロパティによって、実行時にエンドポイント・バインディングの場所が動的に解決されます。

<property name="oracle.soa.uddi.servicekey" type="xs:string" many="false">uddi:
d3611b59-1c79-478e-9ae5-874007eb20c4">

4. 必要な場合は、「プロパティ・インスペクタ」でoracle.soa.uddi.servicekeyプロパティを明示的に追加して、SOAPエンドポイントの場所を解決することもできます。この操作によって、Webサービスの外部参照について、実行時にSOAPエンドポイントの場所が動的に解決されます。

a. 「外部参照」スイムレーンの参照バインディング・コンポーネントをハイライト表示します。

b. 「プロパティ・インスペクタ」で「プロパティ」セクションを開きます。

c. 「追加」アイコンをクリックします。

d. 「名前」リストに、oracle.soa.uddi.servicekeyと入力します。

e. 「値」フィールドに、composite.xmlファイルのoracle.soa.uddi.servicekeyの値を指定します。

32.4.3.2 WSDLエンドポイントの場所の動的解決

WSDLエンドポイントの場所を動的に解決する手順は、次のとおりです。

1. 「Webサービスの作成」ダイアログの残りのフィールドを完成し、「OK」をクリックします。

2. 適切なサービス・コンポーネントを使用して参照に接続します。

3. SOAコンポジット・エディタで「ソース」をクリックします。

composite.xmlファイルに、WSDLの場所が具体的なURL (HTTP URLなど)ではなく、orauddi:/uddi_service_keyの抽象的なURLであることが示されます。orauddiプロトコルによって、実行時にWSDLの場所が動的に解決されます。

<location="orauddi:/uddi:d3689250-6ff5-11de-af2b-76279200af27">

32.4.3.3 エンドポイントの解決

Oracle SOA Suiteは、エンドポイントを解決するためにサービスを呼び出します。例と説明は、表32-1を参照してください。

表32-1 エンドポイントの解決

エンドポイントの解決

説明

例

正規化されたメッセージUDDI serviceKey

OSR UDDI serviceKeyは、Oracle MediatorまたはOracle BPEL Process Managerのassignアクティビティ(serviceKey)内で、正規化されたメッセージのプロパティに指定されます。

たとえば、Oracle Mediatorでは次のようになります。

<copy target="$out.property.oracle.soa.uddi.serviceKey"
value="uddi:10a55fa0-99e8-11df-9edf-7d5e3ef09eda"/>

正規化されたメッセージendpointURI

正規化されたメッセージendpointURIプロパティは、Oracle MediatorまたはOracle BPEL Process Managerのassignアクティビティ(endpointURI)内で指定されます。

たとえば、Oracle Mediatorでは次のようになります。

<copy target="$out.property.endpointURI"
value="http://hostname:8001/soa-infra/services
/partition/Project/endpoint_ep"/>

composite.xml UDDI serviceKey

OSR UDDI serviceKeyプロパティ(oracle.soa.uddi.serviceKey)は、composite.xmlのバインディング・コンポーネント・セクションで指定されます。

注意: これは、Oracle Enterprise Manager Fusion Middleware Controlで上書きできます。

<binding.ws
port="http://xmlns.oracle.com/UDDIPublishApplication
/Proj/BPELProcess1#wsdl.endpoint(bpelprocess1_client
_ep/BPELProcess1_pt)"
. . .>
<property name="oracle.soa.uddi.serviceKey"
type="xs:string"
many="false">uddi:31040650-9ce7-11df-9ee1-7d5e3e
f09eda</property>
</binding.ws>

composite.xml endpointURI

endpointURIプロパティは、composite.xmlのバインディング・コンポーネント・セクションで指定されます。

注意: これは、Oracle Enterprise Manager Fusion Middleware Controlで上書きできます。

<binding.ws
port="http://xmlns.oracle.com/UDDIPublishApplica
tion/Project/BPELProcess1#wsdl.endpoint(bpelproc
ess1_client_ep/BPELProcess1_pt)"
. . . >
<property name="oracle.soa.uddi.endpointURI"
value="http://hostname:8001/soa-infra/services/
Partition/Project/bpelprocess1_client_ep"</property>
</binding.ws>

composite.xml具体WSDLのエンドポイントの場所

エンドポイントの場所は、composite.xmlのバインディング・コンポーネント・セクションの具体WSDLで指定されます。

<binding.ws
port="http://xmlns.oracle.com/UDDIPublishApplication
/Project/BPELProcess1#wsdl.endpoint(bpelprocess1_
client_ep/BPELProcess1_pt)"
location="http://hostname:8001/soa-infra/services
/Partition/Project/bpelprocess1_client_ep?wsdl"
soapVersion="1.1">

エンドポイントを解決するときのフェイルオーバー・シナリオは次のとおりです。

- 正規化されたメッセージUDDI serviceKey

- エンドポイント・アクセスでエラー

- サーバー・エラーをログに記録する

- ユーザーにエラーを返す

- 正規化されたメッセージendpointURI

- エンドポイント・アクセスでエラー

- サーバー・エラーをログに記録する

- ユーザーにエラーを返す

- composite.xml UDDI serviceKey

- OSR接続でエラー

- サーバー・エラーをログに記録する

- コーディングされている場合は、composite.xml endpointURIを使用する

- それ以外の場合、ユーザーにエラーを返す

- 接続で無効なserviceKeyのエラー

- サーバー・エラーをログに記録する

- コーディングされている場合は、composite.xml endpointURIを使用する

- それ以外の場合、ユーザーにエラーを返す

- エンドポイント・アクセスでエラー

- 警告エラーをログに記録する

- 存在する場合は、2つ目(または3つ目)のバインディング・テンプレートを使用する

- それ以外の場合は、composite.xml endpointURIにフェイルオーバーする

- composite.xml endpointURI

- エンドポイント・アクセスでエラー

- 警告エラーをログに記録する

- composite.xml具体WSDLのエンドポイントの場所にフェイルオーバーする

- composite.xml具体WSDLのエンドポイントの場所

- エンドポイント・アクセスでエラー

- サーバー・エラーをログに記録する

- ユーザーにエラーを返す

32.4.4 ランタイムの照会URL、UDDIサービス・キーおよびエンドポイント・アドレスの構成

照会URL、UDDIサービス・キーおよびエンドポイント・アドレスは、実行時にOracle Enterprise Manager Fusion Middleware Controlで設定できます。

ランタイムの照会URL、UDDIサービス・キーおよびエンドポイント参照を構成する手順は、次のとおりです。

1. Oracle Enterprise Manager Fusion Middleware Controlにログインします。

2. 次のプロパティに値を指定します。

- 「SOAインフラストラクチャの共通プロパティ」ページで、「UDDIレジストリ接続の作成」ウィザードで指定したUDDI照会URLを指定します。詳細は、「UDDIレジストリ・プロパティの構成」を参照してください。

- 参照バインディング・コンポーネントの「プロパティ」ページでは、設計時に作成したエンドポイント参照およびサービス・キーの値を変更できます。詳細は、「サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントのプロパティの構成」を参照してください。

3. SOAインフラストラクチャを再起動します。

4. Oracle Enterprise Manager Fusion Middleware Controlを終了します。

5. エンドポイントの統計を表示するために、レジストリ・コントロールに戻ります。

6. 「管理」ページに移動し、キャッシュされていない場合(最初)の起動数の増加を確認します。

デフォルトでは、実行時にWSDL URLのキャッシュが発生します。orauddiプロトコルを使用してWSDL URLが解決された場合、後続の起動では、WSDL URLはOSRからではなくキャッシュから取得されます。キャッシュから取得したエンドポイントのWSDLにアクセスできない場合は、キャッシュがリフレッシュされて、新規エンドポイントのWSDLの場所を取得するためにOSRに接続されます。Oracle Enterprise Manager Fusion Middleware Controlで不要になりSOAインフラストラクチャで使用されないサービスは、アンデプロイすることをお薦めします。停止またはリタイア状態の(アンデプロイしていない)エンドポイント・サービスには引き続きアクセスできます。したがって、キャッシュはリフレッシュされません。

ビジネス・サービスWSDLをあるホストから別のホストに移動する場合は、必ずレジストリ・コントロールで場所を変更してください。Oracle JDeveloperまたはOracle Enterprise Manager Fusion Middleware Controlでの変更は不要です。

必要に応じて、サービス・キーによる照会のためにWSDL URLをキャッシュで使用できる時間を増加できます。詳細は、「サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントのプロパティの構成」を参照してください。

注意:

11gでは、キャッシュは自動的に発生します。Oracle SOA Suite 10.1.3を使用している場合は、bpel.xmlでCacheRegistryWSDLプロパティをtrueに設定することでキャッシュがサポートされます。このプロパティをfalseに設定すると、キャッシュは無効になります。

32.4.4.1 レジストリ・コントロールにおけるエンドポイントの場所の変更

レジストリ・コントロールには、エンドポイントの場所を変更するオプションがあります。これは2ステップのプロセスです。次の手順で概要を示します。詳細は、Oracle Service Registryのドキュメントを参照してください。

http://www.oracle.com/technetwork/middleware/registry/overview/index.html

WSDLバインディングを更新する手順は、次のとおりです。

1. レジストリ・コントロールにログインします。

2. 「検索」→「ビジネス」をクリックします。

3. 「追加」→「名前」をクリックします。

4. 「名前」フィールドで、検索基準を入力します。

5. 「検索」をクリックします。

6. 検索結果で、表示されたビジネス名をクリックします。

7. 右側で「サービス」タブをクリックします。

8. サービスのリストで、サービス名をクリックします。

9. 下部で「編集」ボタンをクリックします。

10. 右側で「バインド」タブをクリックします。

11. バインディングのリストで、説明列の隣にあるメモ帳アイコンを選択します。

Oracle Service Registryが、バインディングの編集モードになります。

12. 「アクセス・ポイント」フィールドで必要なURLを変更し、変更内容を保存します。

32.4.4.1.1 WSDLバインディングのサマリー・ドキュメントを更新する手順:

1. レジストリ・コントロールで、「検索」をクリックします。

2. 「tModel名」フィールドに名前を入力し、「tModelの検索」をクリックします。

3. 「名前」列で、「wsdl:type representing portType」という説明の付いた名前をクリックします。

4. WSDLの詳細が正しく表示されていることを確認します。

5. 「編集」ボタンをクリックします。

6. 右側で「サマリー・ドキュメント」タブをクリックします。

7. 「説明の追加」ボタンの下で、「編集」アイコンをクリックします。

8. 新しいURLをクリックします。

9. 「更新」をクリックし、変更内容を保存します。

10. 検証を行うには、サービスにナビゲートし、WSDLのURLが新しい場所を指していることを確認します。

32.4.4.2 複数のSOAパーティションからのWSDLの発行

次の手順に従って、レジストリ・コントロールを使用して複数のSOAパーティションからWSDLを発行し、個別のserviceKeyとバインディングを使用してそれらにアクセスします。

複数のSOAパーティションからWSDLを発行する手順は、次のとおりです。

1. レジストリ・コントロールにログインします。

http://host:port/registry/uddi/web

2. 最初のパーティションからWSDLを発行します。

3. 2番目のパーティションからWSDLを発行します。

a. 「パブリッシュ」→「WSDL」をクリックします。

b. 「ビジネス・キー」フィールドと「WSDLの場所(URI)」フィールドに値を入力します。

c. 「拡張モード」チェック・ボックスを選択します。

d. 「パブリッシュ」をクリックします。

e. 左ペインのナビゲーション・ツリーで、エンドポイント、バインディング、ポート・タイプを選択し、「"新規"モード」オプションが選択されていることを確認します。

f. 「パブリッシュ」をクリックします。

32.4.5 複数のパーティションでUDDIにWSDLを発行する方法

Oracle Enterprise Manager Fusion Middleware ControlからWSDLサービスを発行する際には、次の制限があります。

- 異なるSOAパーティションから、または異なるホストから同じターゲット・ネームスペースで同じサービスを発行することはできません。

- 独自のサービス・キーを入力するオプションはありません。

かわりに、レジストリ・コンソールを使用して、異なるパーティションにデプロイされている同じWSDLサービスをOSRに発行します。

複数のパーティションのUDDIにWSDLを発行する手順は、次のとおりです。

1. レジストリ・コンソールにログインします。

2. 最初のパーティションのWSDLを発行します。

3. 前述のサービス名を一意の名前に変更します。

4. 2番目のパーティションのWSDLを発行します。

これで2つのサービスがOSRに作成されます。

第XII部 ビジネス・イベントの管理

この部では、ビジネス・イベントの管理方法について説明します。

この部は、次の章で構成されています。

- ビジネス・イベントの管理

33 ビジネス・イベントの管理

この章では、ビジネス・イベントおよびイベント配信ネットワーク(EDN)の管理方法(様々なJMS宛先を介した各種ビジネス・イベントのフローのマッピング、ビジネス・イベントの公開のテスト、ビジネス・イベントのイベント定義言語(EDL)ファイルの表示およびビジネス・イベントをサブスクライブしているサービス・コンポーネントの表示、JMSタイプの変更およびインバウンド・ポーラー・スレッド番号の構成を含む)について説明します。ビジネス・イベントは、ビジネス環境での発生結果として送信されたメッセージ・データで構成されています。ビジネス・イベントが公開されると、他のサービス・コンポーネントはそれをサブスクライブできます。

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

- イベント配信ネットワークおよびJMSプロバイダ・タイプの概要

- JMSトピック宛先へのビジネス・イベントのマッピング

- ビジネス・イベントの公開のテストとEDLファイルの表示

- ビジネス・イベント・サブスクライバの表示

- クラスタ環境におけるサブスクライバの重複メッセージの解決

- JMSタイプの変更

- インバウンド・ポーラー・スレッド番号の構成

ビジネス・イベント問題のトラブルシューティングの詳細は、「ビジネス・イベントおよびイベント配信ネットワークのトラブルシューティング」を参照してください。

Oracle JDeveloperでのビジネス・イベントの作成の詳細は、『Oracle SOA SuiteでのSOAアプリケーションの開発』の「ビジネス・イベントおよびイベント配信ネットワークの使用方法」を参照してください。

33.1 イベント配信ネットワークおよびJMSプロバイダ・タイプの概要

ビジネス・イベントは、Oracle JDeveloper で作成し、SOAコンポジット・アプリケーションに組み込みます。このアプリケーションは、Oracle Enterprise Manager Fusion Middleware Controlにデプロイします。サービス・コンポーネントはビジネス・イベントにサブスクライブできます。公開されたビジネス・イベントは、そのイベントをサブスクライブしているエンティティが受信します。

EDNとは、公開済のビジネス・イベントを受け入れ、サブスクライバに配信するOracle SOA Suiteのサブシステムです。EDNは、バックエンド・ストアとしてJMSトピックを使用します。EDNは次の2つのJMSベースのタイプを提供します。

- Oracle WebLogic Server JMS
EDNは、すべてのイベント・タイプの基になるJMSストアとして、デフォルトのOracle WebLogic Server JMSトピックを使用します。図33-1に詳細を示します。

図33-1 Oracle WebLogic Server JMSのJMSトピック

サポートされているJMSアダプタ接続ファクトリは次のとおりです。

- eis/wls/EDNxaDurableTopic (XA、ClientID=edn_wljms_xa_clientとの永続トピックをサポート)

- eis/wls/EDNxaTopic (XAをサポート)

- eis/wls/EDNLocalTxDurableTopic (ローカル・トランザクション、ClientID=edn_wljms_localtx_clientとの永続トピックをサポート)

- eis/wls/EDNLocalTxTopic (ローカル・トランザクションをサポート)

デフォルトのJMSタイプを変更できます。詳細は、「JMSタイプの変更」を参照してください。また、カスタムのJMSトピックを作成し、そのカスタム・トピックにマップする特定の対象イベント・タイプを指定することもできます。

- Oracle Advanced Queueing (AQ) JMS
AQ JMSトピックを作成して使用することもできます。EDNでは、事前プロビジョニングされた即時利用可能なAQ JMSトピックを提供します。図33-2に詳細を示します。

図33-2 Oracle AQ JMSのJMSトピック

AQ JMSは、外部サーバーを介して公開されます。

サポートされているJMSアダプタ接続ファクトリは次のとおりです。

- eis/aqjms/EDNxaDurableTopic (XA、ClientID=edn_aqjms_xa_clientとの永続トピックをサポート)

- eis/aqjms/EDNxaTopic (XAをサポート)

- eis/aqjms/EDNLocalTxDurableTopic (ローカル・トランザクション、ClientID=edn_aqjms_localtx_clientとの永続トピックをサポート)

- eis/aqjms/EDNLocalTxTopic (ローカル・トランザクションをサポート)

サポートされているJDBCデータ・ソースは次のとおりです。

- jdbc/EDNDataSource (XAをサポート)

- jdbc/EDNLocalTxDataSource (ローカル・トランザクションをサポート)

次の外部サーバーがサポートされています。

- EDNAQjmsForeignServer (XAをサポート)

- EDNAQjmsLocalTxForeignServer (ローカル・トランザクションをサポート)

表33-1は、両方のJMSプロバイダ・タイプの利点を示しています。

表33-1 JMSプロバイダ・タイプの比較

Oracle WebLogic Server JMS

AQ JMS

- ファイルベースの(ファイル・ストア)、およびファイルがキャッシュされデータベースにバックアップされた(JDBCストア)実装。

- JMSサーバーと同じプロセス・スペースで実行されるアプリケーションがある場合、それは常にAQ JMSより高速になります。これは、AQ JMSで常にデータベース・ラウンドトリップを必要とするためです。

- メッセージのSQL可視性を提供しないため、言語の変換のコストがかかりません。

- ほとんどの中小規模および一部のハイエンド(同時実行、スループット)のJMSユース・ケースでは、Oracle WebLogic Server JMSのパフォーマンスはAQ JMSを上回ります。これは、標準のJMSで期待されている機能以上のもの(たとえば、クラッシュのリカバリ可能性、SQL可視性、完全順序付けおよび障害回復など)が求められるときには、通常、各種のサービスのクオリティが比較されるためです。

- 合計コストを評価する場合、通常は価格とパフォーマンスの点で有利になります。

- Oracleデータベース・アクセスは、複数のデータベース接続を使用することにより本質的にマルチスレッド化されています(Oracle WebLogic Server JMSストレージはシングル・スレッドです)。予備のデータベース接続が十分にある場合、AQ JMSはクラスタ化(AQ JMSの場合RAC)および非クラスタ化環境の両方で、同じ宛先に到達するOracle WebLogic Server JMSと比較して、高い同時実行性を提供します。

- AQ JMSでは、Oracleデータベース操作がXAトランザクションに関連している場合、2台のPCの使用を省略できます。そのため、XAを使用するために必要な2台のPCのコストに比べてメッセージング・コストがずっと低い場合は、AQ JMSが適しています。

- AQ JMSは、大きなメッセージ・バックログや、複雑なセレクタが存在する場合など、大規模なメッセージ・サイズが関連している場合は、Oracle WebLogic Server JMSよりも優れたパフォーマンスを提供します。これは、データベースが、Oracle WebLogic Server JMSが提供するよりも優れたインデックス付け、LOBストリーミング、埋込みのルール・エンジン、およびロック管理を提供するためです。

- AQ JMSでは、Exadata機能をよりよく活用するため、Exadata-Exalogicペアにおいて適切に機能します。Oracle WebLogic Server JMSでは、Exalogicのローエンドのストレージ・ノードが原因で、ボトルネックが発生します。

永続サブスクリプションがサポートされています。つまり、サブスクライバが起動して稼働していない場合でも、イベントは保持されます。永続サブスクリプションによってイベントが蓄積され続けます。表33-2に、SOAコンポジット・アプリケーションの様々なライフ・サイクル状態で非永続サブスクリプションと永続サブスクリプションがどのように処理されるかを示します。

表33-2 ビジネス・イベントおよびコンポジットのライフ・サイクル状態

コンポジットの状態

非永続サブスクライバに対する影響

永続サブスクライバに対する影響

デプロイ

サブスクライバは作成され、イベントの受信を開始します。

サブスクライバは作成され、永続サブスクリプションが登録され、サブスクライバはイベントの受信を開始します。

アンデプロイ

サブスクライバは削除され、イベントの受信を停止します。

サブスクライバは削除され、永続サブスクリプションが登録解除され、サブスクライバはイベントの受信を停止します。

再デプロイ

永続サブスクリプションとサブスクライバは再作成されます。

永続サブスクリプションとそのサブスクライバは再作成されます。

停止

サブスクライバはイベントの受信を停止します。

サブスクライバはイベントの受信を停止しますが、イベントは永続サブスクリプションを介してキューに入れられ続けます(削除されません)。

起動

サブスクライバはイベントの受信を開始します。

サブスクライバは、起動前にキューに入れられたイベントも含め、イベントを受信します。

リタイア

サブスクライバはイベントの受信を停止します。

サブスクライバはイベントの受信を停止し、イベントはキューに入れられません(削除されます)。

アクティブ化

サブスクライバはイベントの受信を開始します。

サブスクライバはイベントの受信を開始します。

33.2 JMSトピック宛先へのビジネス・イベントのマッピング

Oracle Enterprise Manager Fusion Middleware Controlで様々なJMS宛先を介して各種ビジネス・イベントのフローをマップできます。このマッピングにより、単一の宛先を介してすべてのビジネス・イベントをマッピングすることで発生するビジネス・イベントのボトルネックを軽減できます。インストール後、すべてのビジネス・イベントはデフォルトで1つのローカルなOracle WebLogic Server JMSトピックにマップされます。追加のJMSトピックを手動で作成し、パフォーマンスのニーズに適したトピックにビジネス・イベントをマップできます。

デフォルト以外のJMSトピックにビジネス・イベントをマップする際には、次のベスト・プラクティスに注意してください。

- マッピングは、メッセージがJMSトピック宛先に流れ込む前に実行します。これにより、サブスクライバがない古いJMSトピック宛先に既存のイベントが流れ込むのを防ぎます。

- SOAコンポジット・アプリケーションまたはSOAサーバーのサブスクライブは、マッピングの完了後に再開します。これにより、新しいJMSトピック宛先にサブスクライバを関連付けることができます。

- Oracle WebLogic Server管理コンソールで、JMSトピックが構成されていることを確認します。「JMSトピックの作成」を参照してください。

- Oracle WebLogic Server管理コンソールで、すべてのJMSアダプタ接続ファクトリが構成されていることを確認します。「JMSのJMSアダプタ接続ファクトリの作成(オプション)」を参照してください。

33.2.1 Oracle WebLogic Server JMSトピックの作成

Oracle WebLogic Server JMSトピックを作成する手順は、次のとおりです。

1. Oracle WebLogic Server管理コンソールにログインします。

2. 「ドメイン構造」で、「サービス」→「メッセージング」→「JMSモジュール」に移動します。

3. 「名前」列で、「SOAJMSModule」をクリックします。

4. 「新規」をクリックします。

5. 新規トピックを作成します。

6. それを「SOAJMSServer」に割り当てます。

33.2.2 Oracle WebLogic Server JMSのJMSアダプタ接続ファクトリの作成(オプション)

通常、EDNインストールに含まれるものを再利用できるため、JMSアダプタの接続ファクトリを作成する必要はありません。接続ファクトリを作成する必要がある場合(別途の管理目的など)は、次の手順を実行します。

Oracle WebLogic Server JMSのJMSアダプタ接続ファクトリを作成する手順は、次のとおりです。

1. Oracle WebLogic Server管理コンソールにログインします。

2. 「ドメイン構造」で、「soainfra」→「環境」→「デプロイメント」→JMSアダプタ→「構成」→「アウトバウンド接続プール」の順に選択します。

3. 「新規」をクリックします。

4. JNDI名を指定します(eis/wls/MyEdnWLjmsTopicなど)。

5. 新しいデプロイメント・プランを保存します。

6. JMSアダプタ→「構成」→「アウトバウンド接続プール」に戻り、新規に作成した接続ファクトリをクリックします。

7. 接続ファクトリに次の適切な値を指定します。

プロパティ名

プロパティ値

AcknowledgeMode

AUTO_ACKNOWLEDGEのままにします。

ConnectionFactoryLocation

XAの場合、weblogic.jms.XAConnectionFactoryを使用します。ローカル・トランザクションの場合、weblogic.jms.ConnectionFactoryを使用します。

FactoryProperties

永続トピックの場合、ClientID=your_client_IDを指定します。非永続トピックの場合、このフィールドを空白のままにします。

IsTopic

常にtrueにします。

IsTransacted

XAの場合、falseを使用します。

ローカル・トランザクションの場合、trueを使用します。ただし、Oracle WebLogic Server JMSサーバーがローカルJVM (EDN/JMSアダプタと同じJVM)で実行中の場合は、IsTransactedをfalseに設定します。

パスワード

空白のままにします。

Username

空白のままにします。

Transaction Support (「トランザクション」タブ内)

XA Transactionのままにします。

33.2.3 AQ JMSトピックの作成

データベース・ナビゲータ(Oracle JDeveloperの場合)またはSQL Developerをsoainfraユーザーとして開き、次のスクリプトを実行してAQ JMSトピックを作成します。

define edn_user=soainfra_schema_user_here
define topic=your_custom_aqjms_topic_name_here (for example, EDN_AQJMS_TOPIC_2)
define topic_table=your_custom_aqjms_topic_table_here (EDN_AQJMS_TOPIC_
TABLE_2)

begin
DBMS_AQADM.stop_queue(queue_name => '&edn_user..&topic');
DBMS_AQADM.drop_queue(queue_name => '&edn_user..&topic');
DBMS_AQADM.drop_queue_table(queue_table => '&edn_user..&topic_table');
end;
/
begin
dbms_aqadm.create_queue_table(queue_table => '&edn_user..&topic_table',
queue_payload_type => 'SYS.AQ$_JMS_MESSAGE',
multiple_consumers => true);
dbms_aqadm.create_queue(queue_name => '&edn_user..&topic',
queue_table => '&edn_user..&topic_table',
max_retries => 256);
dbms_aqadm.start_queue(queue_name    =>    '&edn_user..&topic');
end;
/
commit;

キューおよびキュー表が作成されます。

33.2.4 AQ JMSトピックの公開

「AQ JMSトピックの作成」でAQ JMSトピックを作成したら、トピックをOracle WebLogic Serverアプリケーション(Oracle SOA Suiteアプリケーションを含む)に公開する必要があります。Oracle WebLogic Server管理コンソールを使用して新しい外部サーバーを作成するか、既存の外部サーバーEDNAQjmsForeignServerを更新してAQ JMSトピック・マッピングを追加します。

AQ JMSトピックを公開する手順は、次のとおりです。

1. オプションで、新しい外部サービスを作成します。

a. Oracle WebLogic Server管理コンソールにログインします。

b. 「ドメイン構造」で、「サービス」→「メッセージング」→「JMSモジュール」→「SOAJMSModule」に移動します。

c. 「新規」をクリックして、「外部サーバー」を選択します。

d. 外部サーバーに名前を付け、それをSOAサーバーに割り当てて、「終了」をクリックします。

e. 新しい外部サーバーを開いて、「構成」→「全般」に移動します。

f. 次のプロパティを設定します。

プロパティ

値

JNDI初期コンテキスト・ファクトリ

oracle.jms.AQjmsInitialContextFactory

JNDIプロパティ

EDN XA JDBCデータ・ソースの場合(例: datasource=jdbc/EDNDataSource)。

EDN 非XA JDBCデータ・ソースの場合(例: datasource=jdbc/EDNLocalTxDataSource)。

2. AQ JMSにカスタムJMSアダプタの接続ファクトリも作成する場合は、次のように接続ファクトリ・マッピングを作成する必要があります。

a. 外部サーバーの「構成」→「接続ファクトリ」タブに移動し、「新規」をクリックします。

b. ローカルJNDI名(アダプタのConnectionFactoryLocationで構成した値に一致するもの)とリモートJNDI名(XAサポートの場合XATopicConnectionFactory)を指定します。

c. 非XA JDBCデータ・ソースを使用する別の外部サーバーを作成する必要がある場合は、リモートJNDI名を、非XAサポートのTopicConnectionFactoryに設定します。

3. AQ JMSトピックへのマッピングの追加

a. 「新規」をクリックして、新規に作成した外部サーバーの1つまたは既存の外部サーバーEDNAQjmsForeignServerで新しい宛先マッピングを作成します。

b. ローカルJNDI名を、Topics/custom_aqjms_topic_nameのリモートJNDI命名規則にマップします。

33.2.5 AQ JMSのJMSアダプタの接続ファクトリの作成(オプション)

通常、EDNインストールに含まれるものを再利用できるため、JMSアダプタの接続ファクトリを作成する必要はありません。接続ファクトリを作成する必要がある場合(別途の管理目的など)は、次の手順を実行します。

AQ JMSのJMSアダプタの接続ファクトリを作成する手順は、次のとおりです。

1. Oracle WebLogic Server管理コンソールにログインします。

2. 「ドメイン構造」で、「soainfra」→「環境」→「デプロイメント」→JMSアダプタ→「構成」→「アウトバウンド接続プール」の順に選択します。

3. 「新規」をクリックします。

4. JNDI名を指定します(eis/wls/MyEdnAQjmsTopicなど)。

5. この新しいデプロイメント・プランを保存します。

6. JMSアダプタ→「構成」→「アウトバウンド接続プール」に戻り、新規に作成した接続ファクトリをクリックします。

7. 接続ファクトリに次の適切な値を指定します。

プロパティ名

プロパティ値

AcknowledgeMode

AUTO_ACKNOWLEDGEのままにします。

ConnectionFactoryLocation

XAの場合、値はEDNAQjmsForeignServerの外部サーバーまたはXAをサポートするカスタム外部サーバーのXATopicConnectionFactoryにマップされる接続ファクトリのローカルJNDI名と一致している必要があります。

ローカル・トランザクションの場合、値はEDNAQjmsLocalTxForeignServerの外部サーバーまたはローカル・トランザクションをサポートするカスタム外部サーバーのTopicConnectionFactoryにマップされる接続ファクトリのローカルJNDI名と一致している必要があります。

FactoryProperties

永続トピックの場合、ClientID=your_client_IDを指定します。非永続トピックの場合、このフィールドを空白のままにします。

IsTopic

常にtrueにします。

IsTransacted

XAの場合、falseを使用します。

ローカル・トランザクションの場合、trueを使用します。

パスワード

空白のままにします。

Username

空白のままにします。

Transaction Support (「トランザクション」タブ内)

XA Transactionのままにします。

33.2.6 リモート・クライアントのAQ JMSベースのトピックとの相互作用の有効化

イベント・タイプがデフォルトのEDN AQ JMSトピックまたはカスタムのAQ JMSトピックにマップされている場合、EDNはOracle SOA SuiteパブリッシャおよびサブスクライバがAQ JMSトピックを介してこのイベント・タイプと相互作用できるようにします。ただし、EDNはデフォルトではリモート・パブリッシャまたはサブスクライバの相互作用を有効化しません。

リモート・パブリッシャ、サブスクライバまたはその両方を有効化するには、EDN外部サーバー(EDNによりインストールされたサーバーまたはカスタム外部サーバー)で、表33-3で示すようにJNDIプロパティと資格証明が更新されている必要があります。

表33-3 JNDIプロパティおよび資格証明

プロパティ名

プロパティ値

JNDIプロパティ

db_url=jdbc:oracle:thin:@host:port:service

java.naming.security.principal=soainfra_schema_userを追加します。

JNDIプロパティ資格証明

oainfra_schema_userのパスワードを入力します。

図33-3に詳細を示します。

図33-3 リモート・クライアントのAQ- MSベース・トピックとの相互作用の有効化

33.2.7 「ビジネス・イベント」ページでのJMSトピック宛先へのビジネス・イベントのマッピング

Oracle Enterprise Manager Fusion Middleware Controlの「ビジネス・イベント」ページで、JMSトピック宛先にビジネス・イベントをマップできます。

「ビジネス・イベント」ページでJMSトピック宛先にビジネス・イベントをマップする手順は、次のとおりです。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

「ビジネス・イベント」を選択します。

「soa-infra」を右クリックして、「ビジネス・イベント」を選択します。

「ビジネス・イベント」ページに、次の詳細が表示されます。

- 特定のビジネス・イベントを検索するためのユーティリティ。名前の全部または一部を指定して「検索」アイコンをクリックします。詳細は、「weblogic」メニューの「ヘルプ」→「このページのヘルプ」をクリックします。

- ビジネス・イベント。ネームスペース、イベント名、JMSタイプおよびマッピング、各イベントのサブスクリプション数および失敗したイベント配信数が表示されます。ビジネス・イベントは、それぞれのネームスペース内に格納されています。

2. 「JMSマッピング」列に、イベントのサポートされるJMSトピック・マッピングを表示します。

- デフォルト: ビジネス・イベントがデフォルトのJMSトピック宛先マッピングを使用していることを示します。デフォルトの構成は、基礎となるプロバイダとしてOracle WebLogic Server JMSを使用する1つのローカルなJMSトピック宛先で構成されます。

- 変更済: ビジネス・イベントがデフォルトのJMSトピック宛先マッピングを使用していないことを示します。

3. 列のJMSトピック・マッピング・タイプをクリックします。たとえば、「デフォルト」を選択した場合は、次の詳細が表示されます。最初に表示される接続ファクトリ設定は、インストール時に自動的に設定されます。

4. 環境に適した値を入力します。

要素

説明

Oracle Enterprise Messaging System (OEMS)

基礎となるJMSプロバイダを次から選択します。

- Oracle WebLogic Server JMS (デフォルト・プロバイダ)

- Oracle Advanced Queueing JMS

JNDIコネクション・ファクトリ

JMSアダプタの接続ファクトリの詳細を指定します。EDNでは、JMSアダプタを使用してJMSとやり取りします。

Oracle WebLogic Server JMSの場合:

- eis/wls/EDNxaDurableTopic (XA、ClientID=edn_wljms_xa_clientとの永続トピックをサポート)

- eis/wls/EDNxaTopic (XAをサポート)

- eis/wls/EDNLocalTxDurableTopic (ローカル・トランザクション、ClientID=edn_wljms_localtx_clientとの永続トピックをサポート)

- eis/wls/EDNLocalTxTopic (ローカル・トランザクションをサポート)

Oracle AQ JMSの場合:

- eis/aqjms/EDNxaDurableTopic (XA、ClientID=edn_aqjms_xa_clientとの永続トピックをサポート)

- eis/aqjms/EDNxaTopic (XAをサポート)

- eis/aqjms/EDNLocalTxDurableTopic (ローカル・トランザクション、ClientID=edn_aqjms_localtx_clientとの永続トピックをサポート)

- eis/aqjms/EDNLocalTxTopic (ローカル・トランザクションをサポート)

JMSトピック名

JMSトピックのJNDI名を指定します。

デフォルトJMSトピックの使用

選択すると、すべての構成フィールドがリセットされ、インストール時に指定されたデフォルトのJMSトピック宛先を使用します。デフォルトの構成は、基礎となるプロバイダとしてOracle WebLogic Server JMSを使用する1つのローカルなJMSトピック宛先で構成されます。

ただし、デフォルトのJMSタイプがOracle WebLogic Server JMSではなくAQ JMSに変更されると、デフォルトの構成は、基礎となるプロバイダとしてOracle AQを使用する1つのローカルなJMSトピックで構成されます。

5. 「適用」をクリックしてダイアログを閉じると、「JMSマッピング」列に選択内容が表示されます。

6. 次のいずれかを停止して起動します。

- SOAインフラストラクチャの「デプロイ済コンポジット」ページの影響を受けるSOAコンポジット・アプリケーション

- Oracle SOA Suiteの管理対象サーバー

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

- SOAコンポジット・アプリケーションのコンテンツの概要

- ビジネス・イベントの詳細は、『Oracle SOAスイートでのSOAアプリケーションの開発』の「ビジネス・イベントおよびイベント配信ネットワークの使用方法」を参照してください。

33.3 ビジネス・イベントの公開のテストとEDLファイルの表示

ビジネス・イベントの公開をテストし、EDLファイルの内容を表示できます。ビジネス・イベントは、EDLを使用して定義されます。EDLは、ビジネス・イベント定義の作成に使用するスキーマです。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

「ビジネス・イベント」を選択します。

「soa-infra」を右クリックして、「ビジネス・イベント」を選択します。

「ビジネス・イベント」ページに、次の詳細が表示されます。

- 特定のビジネス・イベントを検索するためのユーティリティ。名前の全部または一部を指定して「検索」アイコンをクリックします。詳細は、「weblogic」メニューの「ヘルプ」→「このページのヘルプ」をクリックします。

- ビジネス・イベント。ネームスペース、イベント名、JMSタイプ、ビジネス・イベントとJMSトピック宛先間のマッピング、各イベントのサブスクリプション数および失敗したイベント配信数が表示されます。ビジネス・イベントは、それぞれのネームスペース内に格納されています。

2. 「ネームスペースおよびイベント」列で、テストする特定のイベントを選択します。

a. 「テスト」をクリックし、選択したイベントをテストします。このテストによって、サブスクライバが操作できるテスト・イベントを公開できます。
「テスト・イベント」ダイアログが表示されます。

b. テストに使用するXMLペイロードを指定します。

c. 「パブリッシュ」をクリックします。
パブリッシュが成功した場合は、次のメッセージが表示されます。

The Event published successfully

3. 「ネームスペースおよびイベント」列で、EDLファイルを表示する特定のイベントを選択します。

a. 「イベント定義の表示」をクリックし、選択したイベントのEDLファイルを表示します。

b. 「OK」をクリックして、メッセージを閉じます。

33.4 ビジネス・イベント・サブスクライバの表示

ビジネス・イベントが公開されると、サービス・コンポーネントはそれをサブスクライブできます。ビジネス・イベントをサブスクライブしているサービス・コンポーネントを表示できます。サービス・コンポーネント・サブスクリプションは、設計時にOracle JDeveloperで作成されるため、Oracle Enterprise Manager Fusion Middleware Controlでは変更できません。

すべてのビジネス・イベントは、パブリッシャおよびサブスクライバの個々のパーティションではなく、Oracle SOA Suiteドメイン全体に適用可能です。また、ビジネス・イベントは、ビジネス・フロー・インスタンスのフロー・トレースで個々のエントリとして表示されます。

注意:

- SOAコンポジット・アプリケーションにビジネス・イベント・サブスクリプションが組み込まれている状況で、別のリビジョンのコンポジットをデプロイすると、そのコンポジットの全リビジョンのイベント・サブスクリプションすべてがアクティブとなり、メッセージを受信します。最新リビジョンのコンポジットのみを使用してイベントを受信するには、以前のリビジョンのコンポジットすべてをリタイア状態にすることをお薦めします。

- リタイア状態のSOAコンポジット・アプリケーション内のBPELコンポーネントでは、BPELプロセスの非開始受信アクティビティにイベントが関連付けられていても、ビジネス・イベントを受信できません。

ビジネス・イベント・サブスクライバを表示する手順は、次のとおりです。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「ビジネス・イベント」を選択します。

a. 「soa-infra」を右クリックします。

b. 「ビジネス・イベント」を選択します。

2. 「サブスクリプション」をクリックします。
「サブスクリプション」ページに、次の詳細が表示されます。

- 特定のサブスクリプションを検索するためのユーティリティ。基準を指定して「検索」をクリックします。ネームスペースまたはイベント名に基づいて検索できます。詳細は、「weblogic」メニューの「ヘルプ」→「このページのヘルプ」をクリックします。

- コンポーネント・サブスクリプション。イベント名、ネームスペース、イベントをサブスクライブするサービス・コンポーネント、SOAコンポジット・アプリケーション、必要に応じて定義したXPathフィルタ、一貫性レベル(保証付きまたはOneAndOnlyOne)および配信に失敗したビジネス・イベントの数が表示されます。

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

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

Oracle JDeveloperでのビジネス・イベントの作成の詳細は、『Oracle SOA SuiteでのSOAアプリケーションの開発』の「ビジネス・イベントおよびイベント配信ネットワークの使用方法」を参照してください。

注意:

イベント・サブスクリプションに対するポリシーの実行は、このリリースではサポートされていません。ポリシーは、警告なしでビジネス・イベントをサブスクライブするサービス・コンポーネント(Oracle Mediatorなど)に対してアタッチまたはデタッチできます。ポリシーの実行は発生しないため、このアクションによるエラーはありません。

33.5 クラスタ環境におけるサブスクライバの重複メッセージの解決

SOAコンポジット・サブスクライバは、複数ノードのクラスタ内で重複イベントを受信する場合があります。これは、EDNがデフォルトのJMSタイプおよびトピック(つまり、Oracle WebLogic Server JMS)を使用している場合に発生します。これは、Oracle SOA Suiteインストールで使用されるテンプレートが、レプリケートされた(パーティション化ではなく)転送ポリシーを持つUniform Distributed WebLogic JMSトピックにデフォルトで設定され、転送ポリシーの構成をサポートしていないために起こります。

EDN JMSトピックが、クラスタ化環境においてパーティション分散トピックになるよう自動的に構成するには、EDN JMSトピックをレプリケートからパーティション化に変更します。

パーティション化されたポリシーに変更する手順は、次のとおりです。

1. Oracle WebLogic Server管理コンソールにログインします。

2. 「ドメイン構造」で、「soainfra」→「サービス」→「メッセージング」→「JMSモジュール」→「SOAJMSModule」に移動します。

3. 分散EDNトピック(dist_EDNTopic_auto)をクリックします。

4. 「構成」→「全般」タブに移動します。

5. ドロップダウン・リストで、「転送ポリシー」を、「レプリケート」から「パーティション化」に変更します。

Partitionedに設定すると、メッセージを受信する物理メンバーは、メッセージを認識する共通分散トピックのメンバーのみになります。パーティション化された共通分散トピックの論理名にメッセージが公開される場合、メッセージは特定の1つの物理トピック・メンバーにのみ届きます。メッセージが物理トピック・メンバーに届くと、次のようになります。

- メッセージは、共通分散宛先の残りのメンバーに転送されません。

- 他の物理トピック・メンバーにあるサブスクライバは、メッセージのコピーを受信しません。

33.6 JMSタイプの変更

デフォルトのJMSプロバイダ・タイプを、Oracle WebLogic Server JMSからAQ JMSに、またはその逆に変更できます。

1. 「SOAインフラストラクチャ」メニューから、「管理」→「システムMBeanブラウザ」の順に選択します。

2. 「検索」をクリックし、「EDNConfig」と入力して、「検索」をクリックします。

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

4. 値を指定します。

- WLJMS (Oracle WebLogic Server JMS)

- AQJMS (Oracle Advanced Queuing JMS)

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

6. SOAサーバーを再起動します。

カスタムJMSトピックへのマッピングがないイベント・タイプからマッピングされたデフォルトJMSタイプのみを変更できることに注意してください。カスタム・マッピング(イベント・タイプがユーザー定義のJMSトピックにマップされている)は、この変更によって変更されません。

33.7 インバウンド・ポーラー・スレッド番号の構成

各サブスクライバに対して、EDNは基になるJMSコンシューマにポーラー・スレッド(デフォルトで1つのワーカー・スレッド)を生成します。次の2つの方法のいずれかを使用して、インバウンド・ポーラー・スレッドの数を変更できます。

- システムMBeanブラウザ内のグローバル・インバウンド・ポーラー・スレッド番号の更新

- サービス・コンポーネント・レベルでのローカル・インバウンド・ポーラー・スレッド番号の値の更新

33.7.1 システムMBeanブラウザ内のグローバル・インバウンド・ポーラー・スレッド番号の更新

SOAインフラストラクチャ・レベルのインバウンド・ポーラー・スレッド番号を、ThreadsPerSubscriberの(グローバル)属性値で更新できます。

システムMBeanブラウザのインバウンド・ポーラー・スレッド番号を更新する手順は、次のとおりです。

1. 「SOAインフラストラクチャ」メニューから、「管理」→「システムMBeanブラウザ」の順に選択します。

2. 「検索」をクリックし、「EDNConfig」と入力して、「検索」をクリックします。

3. 「ThreadsPerSubscriber」属性をクリックします。値をデフォルトの1から適切な整数に変更し、「適用」をクリックします。

ThreadsPerSubscriber属性が正常に更新されたことを示す確認メッセージが表示されます。SOAサーバーの再起動またはSOAコンポジット・アプリケーションの再デプロイメントは不要です。

33.7.2 サービス・コンポーネント・レベルでのローカル・インバウンド・ポーラー・スレッド番号の値の更新

サービス・コンポーネント・レベルのローカル・インバウンド・ポーラー・スレッド番号を、イベントをサブスクライブするコンポーネント(Oracle MediatorまたはBPELプロセス)を含むコンポジットに対応するシステムMBeanプロパティで更新できます。

1. 「SOAインフラストラクチャ」メニューから、「管理」→「システムMBeanブラウザ」の順に選択します。

2. 「アプリケーション定義のMBean」→「oracle.soa.config」→「サーバー: Server_name」→「SCAComposite」→「composite_name」→「SCAComposite.SCAComponent」→「component_name」の順に選択します。

3. 「イベント」属性を展開します。

4. 「numberOfPollerThreads」の値を更新します。デフォルト値は-1で、グローバルSOAインフラストラクチャ・レベルEDNConfig MBeanのThreadsPerSubscriber値が、サブスクライバのEDNインバウンド・ポーラー・スレッドを初期化するために有効になることを意味します。指定した値により更新されたnumberOfPollerThreads値は、グローバル値よりも優先されます。

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

6. 確認メッセージが表示されたら、「戻る」をクリックします。

7. 「操作」タブに切り替えて、「保存」をクリックします。

8. 「操作: 保存」ページで、「起動」をクリックします。

確認メッセージが表示されます。

9. 対象のSOAコンポジット・アプリケーションを再起動するか、SOAサーバーを再起動して、numberOfPollerThreadsが有効になるようにします。

第XIII部 Oracle BPMNプロセス・サービス・コンポーネントとエンジンの管理

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

この部は、次の章で構成されています。

- Oracle BPMNプロセス・サービス・コンポーネントとエンジンの構成

- BPMNプロセスのサービス・コンポーネントとエンジンの監視

- Oracle BPMNのサービス・コンポーネントとエンジンの管理

34 Oracle BPMNプロセス・サービス・コンポーネントとエンジンの構成

この章では、BPMNプロセス・サービス・エンジンの構成方法(BPMNサービス・コンポーネントの処理中にエンジンによって使用されるプロパティの構成を含む)について説明します。

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

- BPMNプロセス・サービス・エンジン・プロパティの構成

- Oracle BPMとOracle BAM 12cの統合

- Oracle BAM 11gとの統合

BPMNプロセスのチューニングとパフォーマンス・プロパティの詳細は、パフォーマンスのチューニングを参照してください。

34.1 BPMNプロセス・サービス・エンジン・プロパティの構成

BPMNプロセス・サービス・エンジン・プロパティを構成する手順は、次のとおりです。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「SOA管理」→「BPMNプロパティ」の順に選択します。

a. 「soa-infra」を右クリックします。

b. 「SOA管理」→「BPMNプロパティ」の順に選択します。

「BPMNサービス・エンジン・プロパティ」ページに、監査証跡しきい値と大容量ドキュメントしきい値の設定、ペイロード・スキーマの検証および監査証跡レベルの設定を行うためのプロパティが表示されます。

2. 使用環境に適するようにサービス・エンジン・プロパティを変更します。

プロパティ

説明

監査レベル

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

- オフ: ロギングは実行されません。ビジネス・フロー・インスタンス・トラッキングとペイロード・トラッキングの情報は収集されません。測定が有効な場合、このレベルは「最小」にオーバーライドされます。

- 継承(デフォルト): ロギング・レベルは、SOAインフラストラクチャの監査レベルと同じです。これにより、グローバル設定の変更時にBPMN監査レベルが自動的に変更されるようになります。このページで異なる監査レベル・トラッキングを設定すると、SOAインフラストラクチャ・レベルに設定されたトラッキングがオーバーライドされます。

- 最小: インスタンス・トラッキング情報は収集されますが、ペイロード詳細は収集されないため、フローの監査証跡でペイロード詳細は使用できません。

- 本番: インスタンス・トラッキング情報は収集され、ペイロード詳細は、非同期アクティビティの出力データ・アソシエーションについてのみ収集されます。多くの場合、通常の操作およびテストにはこのレベルが最適です。

- 開発: ビジネス・フロー・インスタンス・トラッキングおよびペイロード・トラッキングの両方を使用可能にします。ただし、このことによってパフォーマンスが低下する場合があります。このレベルは通常、デバッグする際に便利です。

注意: 監査エントリが表示されないようにするには、監査レベルとメトリックの両方をオフにする必要があります。メトリックが有効である場合は、監査レベルがオフに設定されている場合でも、監査エントリが表示されます。

監査証跡しきい値(バイト)

監査証跡とは別にチャンクされてデハイドレーション・ストア表に保存される前の、インスタンスの監査証跡の最大サイズをバイト単位で入力します。このしきい値を超えると、ペイロードのかわりに、「XMLの表示」リンクが監査証跡に表示されます。

大容量のドキュメントしきい値(バイト)

BPMNプロセス・コンポーネント・インスタンス内の生成済ドキュメントの最大サイズを入力します。これを超えると、生成済ドキュメントはデハイドレーション・ストア内にある別の表に保存されます。

ペイロードの検証

インバウンド・メッセージとアウトバウンド・メッセージの検証を有効にする場合に選択します。スキーマに準拠しないペイロード・データが捕捉され、フォルトとして表示されます。

注意: この設定は、SOAコンポジット・アプリケーションおよびSOAインフラストラクチャのペイロード検証レベルの設定に依存しません。ペイロード検証がサービス・エンジンとSOAインフラストラクチャ・レベルの両方で有効化されている場合、データは2回チェックされます。1回はSOAインフラストラクチャに入力されたとき、もう1回はサービス・エンジンに入力されたときです。

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

デプロイ済のすべてのSOAコンポジット・アプリケーションのすべてのBPMNコンポーネントについて定義されているすべてのBPMNモニターおよびセンサーを無効化するには、このチェック・ボックスを選択します。

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

4. システムMBeanブラウザで拡張BPMNプロパティを構成するには、「詳細BPMN構成プロパティ」をクリックします。表示されるプロパティには次のものがあります。各プロパティには説明が記載されています。

- AuditDetailThreshold: 監査証跡詳細文字列が、監査証跡とは別に格納される前に許可される最大サイズ(バイト単位)。

- AuditLevel: プロセスによってログに記録される監査イベントの数を制御します。現在サポートされているロギング・レベルはoff(ロギングをまったく実行しない)であり、インスタンス処理のパフォーマンスがわずかに向上する場合があります。

- AuditKeyExtents: BPMN監査問合せID生成用のエクステント・サイズ。この値は、IDの新規セットがリクエストされるたびにBPMN監査問合せ順序が増える量を指定します。

- AuditUpdateBatchSize: アンデプロイ中にBPMNプロセス監査情報を中断とマークするときに使用されるバッチ・サイズ。

- BpelcClasspath: BPMNで生成されたJavaソースをコンパイルするときに追加のクラスパスを含める必要があります。

- ConfigMBean: trueの場合、このMBeanが構成MBeanであることを示します。

- cleanupCompletedTask: falseの場合、「自分と自分のグループ」割当てフィルタに該当する「完了」ステータスの完了したタスクを取得します。デフォルトではcleanupCompletedTask=trueに設定されており、表をクリーン・アップしてパフォーマンスを改善し、Me(previous)割当てフィルタに該当する「完了」ステータスの完了したタスクを表示します。

- DebugIgnore: デバッガ・エージェントによって無視されるBPMNアクティビティ(localNameのみ)をリストします。BPMNアクティビティ名は、カンマ(,)、セミコロン(;)または空白で区切ります。

- DisableProcessBroker: falseに設定すると、プロセス・ブローカ・サービスが有効になります。デフォルト値はtrueです。

- DisableProcessTracking: trueに設定すると、監査はプロセス追跡を無効化します。デフォルト値はfalseです。

- DisableSensors: trueに設定すると、サービス・エンジンはセンサーへのすべての呼出しを無効化します。デフォルト値はfalseです。

- DispatcherEngineThreads: エンジン・ディスパッチャ・メッセージの処理に割り当てられるスレッドの合計数。

- DispatcherInvokeThreads: 呼出しディスパッチャ・メッセージの処理に割り当てられるスレッドの合計数。

- DispatcherMaxRequestDepth: サービス・エンジンが処理する内部メッセージの最大件数。この件数を超えると、新しいメッセージはディスパッチされません。デフォルト値は600です。

- DispatcherSystemThreads: システム・ディスパッチャ・メッセージの処理に割り当てられるスレッドの合計数。

- eventProvider: trueに設定された場合、このMBeanがJSR-77によって定義されているイベント・プロバイダであることを示します。

- eventTypes: このMBeanによって送信されるすべてのイベントのタイプ。

- ExpirationMaxRetry: 失敗した期限切れ呼出し(wait/onAlarm)が失敗するまでに再試行される最大回数。

- ExpirationRetryDelay: 次の期限切れ呼出し再試行までの遅延。デフォルト値は120秒です。

- InstanceKeyBlockSize: 1回のフェッチごとにデハイドレーション・ストアから割り当てられるインスタンスIDのブロック・サイズ。

- LargeDocumentThreshold: 残りのインスタンス・スコープ・データとは別の場所に格納される前に許可されるBPMN変数の最大サイズ(バイト単位)。

- MaximumNumberOfInvokeMessagesInCache: メモリー内キャッシュに保持できる呼出しメッセージ数を指定し、サービス・エンジンがこの制限に達するとディスパッチャのメモリー内キャッシュにメッセージをプッシュしてかわりにデータベースにメッセージを保存し、保存されたこれらのメッセージはリカバリ・ジョブを使用してリカバリできます。このプロパティを無効化するには、値-1を使用します。

- MaxOptimizationDataToFetch: 最適化機能のためにデータベースからフェッチされるデータの最大の深さ。

- objectName: MBeanの固有のJMX名。

- OERCredentialMapName: OER資格証明マップ名をここで設定します。

- OERPublisherCsfKeyName: ビジネス・アーキテクチャ・プロジェクトをOERに公開するときに使用するOER資格証明マップ名を設定します。

- OERServerURL: ポート名を含むOERサーバーのURL。このサーバー名は、OERにアセットを公開するために使用されます。

- OneWayDeliveryPolicy: 一方向呼出しメッセージを配信するかどうかを変更します。

- OptimizationDataUpdateInterval: 管理用に公開された属性。

- OptimizationDisabledProcesses: 最適化機能を無効にするプロセスのリスト。

- OptimizationEnabled: グローバルにプロセス最適化機能を有効または無効にします。Oracle Business Process Management Workspaceで「プロセス・モニター」ダッシュボードを有効化するには、これをtrueに設定する必要があります。

- PeopleQueryTimeout: 人の問合せにquartz cron式を指定します。論理ピープル・グループの人の問合せは、このcron式に基づいて再評価されます。

- QualityOfService: BPMNサービス・エンジンのOracle Coherenceキャッシュを有効化または無効化するフラグ。Oracle Coherenceを有効化するには、CacheEnabledを使用します。

- ReadOnly: trueに設定された場合、このMBeanが読取り専用MBeanであることを示します。

- RecoveryConfig: リカバリ構成の値を設定します。

- RepositoryType: ビジネス・アーキテクチャ・レポートに使用するリポジトリ・タイプを設定します。使用可能な値は、RDFRepositoryまたはOERRepositoryです。OER固有のパラメータは、OERRepositoryタイプが指定されているときにのみ使用できます。

- RestartNeeded: 再起動が必要かどうかを示します。

- StatsLastN: 最近処理されたリクエスト・リストのサイズ。

- SystemMBean: trueに設定された場合、このMBeanがシステムMBeanであることを示します。

- TimeEstimationToBamUpdateInterval: プロセス・インスタンスの見積完了時間がBAMに移入される時間間隔(秒)。

- UserInitiateProcessCleanupAction: クリーン・アップ・プロシージャに実行するアクション。OFF(デフォルト)、ABORTまたはDELETEを指定できます。OFFを指定すると、スケジュールに従ってプロセスが次にアクティブ化された際、クリーンアップ・プロセスは無効になります。

- UserInitiateProcessCleanupCronExpression: クリーン・アップ・プロシージャの実行時期と頻度を示すcronタイプの式。スケジュールの変更は、スケジュールに従ってクリーンアップ・プロセスが次にアクティブ化された際、有効になります。

- UserInitiateProcessCleanupRetentionDays: number of days oldより古い、ユーザーが開始したプロセスのみが処理されます。ゼロは使用できません。1日の一部分は小数で指定できます。

- UserInitiateProcessCleanupTaskStates: クリーン・アップ・プロシージャ時に考慮する必要があるタスクの状態。

注意:

UserInitiateProcessCleanupプロパティは、イニシエータ・タスクを使用して作成されたプロパティのクリーン・アップをサポートします。

- ValidateXML: trueに設定すると、サービス・エンジンは受信および送信XMLドキュメントに対してスキーマ検証を適用します。デフォルト値はfalseです。

- Version: 構成ファイルのバージョン。

- Visible: trueに設定すると、このMBeanは現行ユーザーに表示されます。

34.1.1 BPMNサービス・エンジンでのプロセス監視の構成

Oracle Business Process Management Workspaceの「プロセス・モニター」ダッシュボードを使用すると、ボトルネックやその他のパフォーマンス上の問題を特定することにより、プロセスの実行を監視および最適化することができます。

「プロセス・モニター」ダッシュボードのサポートを構成する手順は、次のとおりです。

1. 前述の説明に従って、BPMNサービス・エンジン・プロパティにアクセスし、「詳細BPMN構成プロパティ」をクリックして、OptimizationEnabledプロパティをtrueに設定します。

2. 「AnalyticsConfig:analytics」Mbeanを探します。「システムMBeanブラウザ」で、「フィルタ」をクリックします(Mbeanブラウザに適用されるフィルタを表示して確認します)。

3. 「フィルタ設定」ダイアログで、「MBeanパターン・フィルタ」に「oracle.as.soainfra.config:name=analytics,*」と指定します。

4. 「DisableAnalytics」をfalseに設定します。

5. 「DisableProcessMetrics」をfalseに設定します。

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

34.2 Oracle BPMとOracle BAM 12cの統合

測定が有効にされたBPMコンポジット(標準またはユーザー定義)が作成されると、コンポジットに固有の導出された物理および論理データ・オブジェクトがOracle Business Activity Monitoring (Oracle BAM) 12cで作成されます。これらのデータ・オブジェクトには、標準のメトリックとユーザー定義メトリックのための列があります。

34.2.1 物理データ・オブジェクト

コンポジット固有プロセスの物理導出データ・オブジェクト

名前: ORACLE_PROCESSANALYTICS_<COMPOSITE>_PROCESS

表示名: oracle/processanalytics/<COMPOSITE>/Process (物理)

コンポジット固有アクティビティの物理導出データ・オブジェクト

名前: ORACLE_PROCESSANALYTICS_<COMPOSITE>_ACTIVITY

表示名: oracle/processanalytics/<COMPOSITE>/Activity (物理)

34.2.2 論理データ・オブジェクト

コンポジット固有プロセスの論理データ・オブジェクト

名前: ORACLE_PROCESSANALYTICS_<COMPOSITE>_BPM_PROCESS

表示名: oracle/processanalytics/<COMPOSITE>/Process

コンポジット固有アクティビティの論理データ・オブジェクト

名前: ORACLE_PROCESSANALYTICS_<COMPOSITE>_BPM_ACTIVITY

表示名: oracle/processanalytics/<COMPOSITE>/Activity

34.2.3 プロセス・スター・スキーマ・データベース・ビュー

BPMコンポジットでは、ユーザーがコンポジットに「分析ビュー識別子」を定義している場合、コンポジット固有の物理データ・オブジェクト・ビューのシノニムが生成されます。これらのビューは、SQLアクセスを取得して、分析データを処理するために使用されます。ビューのシノニムの命名規則は次のとおりです。

BPM_PV_PRCS_<IDENTIFIER>_V - コンポジット固有のプロセス・ファクト

BPM_PV_ACTV_<IDENTIFIER>_V - コンポジット固有のアクティビティ・ファクト

ここで、<IDENTIFIER>は、コンポジットで定義された分析ビュー識別子です。

Oracle BAM 12cのコンポジット固有のファクト・データ・オブジェクトに加えて、標準のディメンション・データ・オブジェクト(COMPOSITE_DEFINITION、ACTIVITY_DEFINITION、PROCESS_DEFINITION、TASK_DEFINITION、ROLE_DEFINITIONなど)にも、コンポジットからの適切なメタデータ情報が入力されます。

34.2.4 タスク1: Oracle BAM 12cへのOracle BPMデータ・パブリッシュの有効化

このタスクを実行するには、Oracle Enterprise Manager Fusion Middleware Controlを使用します。

Oracle BAM 12cへのOracle BPMデータ・パブリッシュを有効にする手順は、次のとおりです。

1. Oracle Fusion Middleware Controlの「WebLogicドメイン」で、ドメインおよびサーバーを選択します。

2. 「システムMBeanブラウザ」に移動します。

3. 「oracle.as.soainfra.config」→「サーバー」→「BPMNConfig」→「bpmn」の順に選択します。

4. 「分析」をクリックします。

右側で、「disableProcessMetrics」をfalseに設定します。(デフォルトはtrueです。)

注意:

ProcessMetricsターゲットは、Oracle BAM 12cサーバーが検出された場合にのみ有効にできます。

5. 「保存」および「送信」をクリックします。

注意:

測定が構成された新しいBPMコンポジットが、ProcessMetricsを有効にする前に、またはOracle BAM 12cサーバーの停止中にデプロイされた場合、そのようなコンポジットからOracle BAM 12cプロセス・スター・スキーマにパブリッシュされるすべてのデータは、永続的に無効になります(Oracle BAM 12cが後で再開された場合でも)。これは、実行時の分析の移入を許可するために必要な一部の必須アーティファクトを、コンポジットのデプロイメント時にOracle BAM 12cで作成できなかったためです。そのようなコンポジットでOracle BAM 12cプロセス・スター・スキーマにデータをパブリッシュできるようにするには、Oracle BAM 12cの稼働中に、それらを再デプロイする必要があります。

34.3 Oracle BPMとOracle BAM 11gの統合

BPMNコンポジット・アプリケーションがデプロイされると、次のOracle BAMデータ・オブジェクトが自動的に生成されます。

- 次のビジネス・インジケータのデータ・オブジェクト
TEMPLATE_BI_Partition_Composite_Process

これをインポートするとき、次の名前に変更する必要があります。

BI_DEFAULT_Compositename_ProcessName

これはターゲット・フォルダに作成されます。データ・オブジェクトがすでに存在する場合、古い列のデータ型が一致することを前提として、新しい列が追加されます。そうでない場合、エラーがスローされます。

- COMPONENT、INTERVAL、COUNTERデータ・オブジェクト(ターゲット・フォルダに存在しない場合)。

ターゲットのOracle BAMサーバーはJNDI名前パラメータによって指定されます。

注意:

データ・オブジェクトはデプロイ時に自動的にのみ作成されます。これらは手動で作成できません。

Oracle BPMをOracle BAM 11gと一緒に使用するように構成するには、次のタスクを実行します。

- タスク1: サーバー上でのOracle BAMアダプタの構成

- タスク2: Oracle BAM 11g Monitor ExpressへのOracle BPMデータ・パブリッシュの有効化

34.3.1 タスク1: Oracle BPMサーバー上でのOracle BAMアダプタの構成

Oracle BAMとの通信用にSOAPまたはRMIを使用するようOracle BAMアダプタを構成する必要があります。

Oracle BAMアダプタをOracle BPMサーバー上に構成するには、次の手順を実行します。

1. Oracle WebLogic Server管理コンソールの「ドメイン構造」で、「デプロイメント」をクリックします。

2. 「OracleBAMAdapter」→「構成」→「アウトバウンド接続プール」の順にクリックします。

3. 「oracle.bam.adapter.adc.soap.SOAPConnectionFactory」を展開します。

4. eis/bam/soapまたはeis/bam/rmiをクリックします。

Oracle BAMアダプタを構成するために使用するJNDI名が使用されます。たとえば、SOAPを使用するようにOracle BAMアダプタを構成した場合、デフォルトのJNDI名はeis/bam/soapです。同様に、RMIを使用するようにOracle BAMアダプタを構成した場合、デフォルトのJNDI名はeis/bam/rmiです。

5. Oracle BAMサーバーに一致するようにプロパティを変更します。(テキストを入力した後、[Enter]を押してください)。

6. 「保存」をクリックします。

7. デプロイメント・プランのロケーション(たとえばbam/Plan.xml)を選択し、ダイアログを完了します。

8. 「デプロイメント」に戻ります。

9. 「OracleBAMAdapter」を選択します。

10. 「更新」をクリックし、ダイアログを完了します。

Oracle BAMとOracle SOA Suiteコンポジット・アプリケーションの統合の詳細は、『Oracle SOA SuiteでのSOAアプリケーションの開発』を参照してください。

34.3.2 タスク2: Oracle BAM 11g Monitor ExpressへのOracle BPMデータ・パブリッシュの有効化

このタスクを実行するには、Oracle Enterprise Manager Fusion Middleware Controlを使用します。

Oracle BAM 11g Monitor ExpressへのOracle BPMデータ・パブリッシュを有効にする手順は、次のとおりです。

1. Oracle Fusion Middleware Controlの「WebLogicドメイン」で、ドメインおよびサーバーを選択します。

2. 「システムMBeanブラウザ」に移動します。

3. 「oracle.as.soainfra.config」→「サーバー」→「BPMNConfig」→「bpmn」の順に選択します。

4. 「分析」をクリックします。

右側で、「disableMonitorExpress」をfalseに設定します。(デフォルトはtrueです。)

5. 「保存」および「発行」をクリックします。

35 BPMNプロセスのサービス・コンポーネントとエンジンの監視

この章では、BPMNプロセス・サービス・コンポーネントとサービス・エンジンの監視方法(監査証跡とプロセス・フローの表示、リクエストとスレッド・パフォーマンス統計の監視およびデプロイ済BPMNプロセスの監視を含む)について説明します。

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

- BPMNプロセス・サービス・コンポーネントの監査証跡およびプロセス・フローの表示

- 「BPMNプロセス・サービス・エンジンのパフォーマンス統計の監視」

- サービス・エンジンにデプロイされたBPMNプロセスの監視

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

- サービス・コンポーネントの概要

- サービス・エンジンの概要

35.1 BPMNプロセス・サービス・コンポーネントの監査証跡とプロセス・フローの表示

この項では、ビジネス・フロー・インスタンスのBPMNプロセス・サービス・コンポーネントに関する監査証跡とプロセス・フローの表示方法について説明します。

注意:

- この項では、ビジネス・フロー・インスタンスが起動されていることを前提としています。そうでない場合は、「ビジネス・フローのテスト・インスタンスの起動」を参照してください。

- 複数のメッセージが短い間隔でスローされた場合、これらのメッセージは送信された順序では処理されません。このことは、プロセス・インスタンスの監査証跡を確認すると明らかになります。

BPMNプロセス・サービス・コンポーネントの監査証跡とプロセス・フローを表示する手順は、次のとおりです。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「ホーム」→「デプロイ済コンポジット」の順に選択します。

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

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

選択したコンポジット・アプリケーションに対する「ダッシュボード」ページが表示されます。

2. 「フロー・インスタンス」タブをクリックします。
次のいずれかの方法を使用して、アプリケーションのインスタンスを選択します。

- このアプリケーションの最新のインスタンスの場合は、「最新のインスタンス」リンクをクリックします。

- フォルトがあるインスタンスの場合は、「フォルトがあるインスタンス」リンクをクリックします。

- リカバリ可能なインスタンスの場合は、「リカバリ可能なインスタンス」リンクをクリックします。

「検索」ページが表示されます。

検索基準を入力し、「検索」をクリックしてインスタンスのリストを表示します。

3. 必要なインスタンスを選択し、「詳細の表示」をクリックしてインスタンスに関する追加情報を次のタブで構成される表に表示します。

- 「フォルト」タブには、SOAコンポジット・アプリケーションを構成するサービス、サービス・コンポーネントおよび参照で発生しているフォルトが表示されます。情報には、エラー名、フォルト名、フォルト所有者、フォルト時間、リカバリなどがあります。「表示」オプションを使用して表示する列を選択します。

- 「コンポジット・センサー値」タブには、SOAコンポジット・アプリケーションのサービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントに組み込まれているコンポジット・センサーの詳細が表示されます。コンポジット・センサーは、設計時にOracle JDeveloperで、サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントに追加できます。サービス・コンポーネントにはコンポジット・センサーを追加できません。

- 「コンポジット」タブには、フロー内の一連のコンポジットが表示されます。

4. 選択したインスタンスのフローIDをクリックして、「フローのトレース」ページを表示します。

フローのトレースは、フローIDによって識別されるメッセージ・フローのランタイム追跡で、このページの右上隅に表示されます。フローIDを使用すると、様々なコンポジットのインスタンス間のメッセージ・フローを追跡できます。フローのトレースでは、フローに含まれているコンポジットのすべてのサービス、参照、コンポーネントがリストされます。

「トレース」セクションにあるフローの例では、フローに関連するサービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントでメッセージが正常に受信されて処理されています。

5. 「フォルト」セクションで、フォルトを選択します。
選択すると、「トレース」セクションでは、フォルトが発生した行が強調表示されます。

6. フォルトを閉じると、「トレース」セクションの選択がクリアされます。

7. 「コンポジット・センサー値」セクションを開いて、コンポジット・センサーを表示します。

8. 「コンポジット・センサー値」タブで、センサーを選択します。
選択すると、「トレース」セクションでは、コンポジット・センサー・データが収集された行が強調表示されます。

9. 「トレース」セクションの「インスタンス」列で、特定のBPMNプロセス・サービス・コンポーネントのインスタンスをクリックします。サービス・コンポーネントのインスタンスはこのセクションからアクセスできます。サービスと参照にはアクセスできません。
「インスタンス」ページが表示されます。

これらのページを使用して、BPMNプロセス・サービス・コンポーネント・インスタンスの監査証跡、フローおよびフォルトを表示します。次のリンクを使用すると、インスタンスに関するその他の詳細を表示できます。

- 「フローのトレース」リンク: ページの左上隅にあるブレッドクラムをクリックすると、該当するBPMNコンポーネント・インスタンスが含まれるビジネス・フロー・インスタンスのフローのトレースにアクセスできます。

- 「情報」アイコン: BPMNコンポーネント名(ページ・タイトル)の右側にある「情報」アイコンをクリックすると、このBPMNインスタンスの履歴情報が表示されます。この情報はインスタンスのサマリーであり、インスタンスID、インスタンスの起動時間、最終変更時間、インスタンス状態(実行中など)、フォルト数などが含まれます。
このアイコンは、BPMNプロセスおよびOracle Mediatorの「監査証跡」ページにのみ表示され、ヒューマン・タスクおよびビジネス・ルールのページには表示されません。

最初に「インスタンス」ページを開くと、デフォルトで「監査証跡」プロセス・インスタンスの詳細が表に表示されます。BPMNプロセス内のアクティビティに関する実行の詳細が表示されます。ドロップダウンを使用して、詳細をリスト、ツリーまたはグラフィカル・ビューとして表示できます。リストで表示するよう選択した場合、表示するプロセス・タイプも選択できます。「すべて」、「ヒューマン・アクティビティ」、「サービス・アクティビティ」、「ビジネス・ルール・アクティビティ」、「サブプロセス」、「イベント」、「ゲートウェイ」、「スクリプト・アクティビティ」および「その他のアクティビティ」を選択できます。

「リスト」表には次の情報が含まれます。

列

説明

アクティビティ

プロセス内で使用可能なすべてのBPM構成を、実行される順序でリストします。次のものがあります。

- イベント: 開始、終了、シグナル、スロー、メッセージの捕捉。

- アクティビティ: ユーザー・タスク、ビジネス・ルール・タスク、サービス・タスク、コール・アクティビティ、サブプロセス。

- ゲートウェイ: 包含、排他、パラレル、イベント・ベースおよび複合。

ステータス

インスタンス一時停止中、インスタンス・フォルト、アクティビティ・フォルト、アクティビティ完了など、アクティビティのステータスが表示されます。

開始

アクティビティが開始された時間を示すタイムスタンプ。

終了

アクティビティが終了した時間を示すタイムスタンプ。

場所

アクティビティの場所を示します。

「監査証跡」はツリー表示でも表示できます。「監査証跡」をツリー表示にすると、割込みタイマーまたは非割込みタイマーがツリー構造に表示されます。割込みタイマーの場合、期限切れになると中断される期日がノードに表示されます。

タイマーのスケジューリング・タイプ

非割込み

割込み

イベント・サブプロセス

タイマーのスケジューリング・ノードは、このタイマーがトリガーされるプロセス・レベルまたはサブプロセス・レベルに表示されます。

「期日」はタイマーが開始したときに閉じるノードに設定されます。

境界タイマー

タイマーのスケジューリング・ノードは、このタイマーがバインドされるアクティビティ・レベルまたはサブプロセス・レベルに表示されます。

「期日」はタイマーが開始したときに、閉じるか取り消されるノードに伝播されます。

中間タイマー

FLOW_NODE_INイベントはスケジューリングを、FLOW_NODE_OUTは終了を示します。

期日は伝播されません。

35.2 BPMNプロセス・サービス・エンジンのパフォーマンス統計の監視

サービス・エンジンで実行しているすべてのBPMNプロセス・サービス・コンポーネントについて、保留中およびアクティブなリクエストとスレッド・パフォーマンス統計を監視できます。

BPMNプロセス・サービス・エンジンのリクエストとスレッド統計を監視する手順は、次のとおりです。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「サービス・エンジン」→「BPMN」の順に選択します。

a. 「soa-infra」を右クリックします。

b. 「サービス・エンジン」→「BPMN」の順に選択します。

2. 「統計」タブをクリックします。
「統計」ページに、次の詳細が表示されます。

- サービス・エンジン内の保留中のリクエスト数。このグラフを使用して、実行を待機中のバックログ・リクエストを表示できます。

- サービス・エンジン内のアクティブ・リクエスト数。このグラフは、現在のサービス・エンジンの負荷を判断するために使用します。ほとんどのリクエストが即時処理されるため、極度の負荷状態でのみグラフにデータが表示されます。

- サービス・エンジンのスレッド統計。この表を使用して、BPMNプロセス・サービス・エンジンのスレッド・パフォーマンスの詳細を表示します。詳細には、パフォーマンス・カテゴリに使用されるスレッド数(アクティブ・スレッド数、最大アクティブ・スレッド数など)が含まれます。

BPMNプロセスのチューニングとパフォーマンス・プロパティの詳細は、パフォーマンスのチューニングを参照してください。

35.3 サービス・エンジンにデプロイされたBPMNプロセスの監視

サービス・エンジンで実行しているBPMNプロセス・サービス・コンポーネントで構成されたすべてのデプロイ済SOAコンポジット・アプリケーションを監視できます。

注意:

サブタスクはOracle Enterprise Manager Fusion Middleware Controlにはリストされません。

サービス・エンジンにデプロイされたBPMNプロセスを監視する手順は、次のとおりです。

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「サービス・エンジン」→「BPMN」の順に選択します。

a. 「soa-infra」を右クリックします。

b. 「サービス・エンジン」→「BPMN」の順に選択します。

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

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

- デプロイ済の特定のSOAコンポジット・アプリケーションを検索するためのユーティリティ。基準を指定して「検索」をクリックします。

- サービス・エンジンで実行しているBPMNプロセス・サービス・コンポーネントで構成されたデプロイ済SOAコンポジット・アプリケーションの詳細。サービス・コンポーネント名、SOAコンポジット・アプリケーションおよび現在のステータスが表示されます。

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

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

36 Oracle BPMNのサービス・コンポーネントとエンジンの管理

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

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

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

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

- 複数のコンポジット・アプリケーション・リビジョン間でのインスタンスの移行

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

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

注意:

ポリシーをアタッチする前に、使用可能なポリシーの定義およびユーザー環境で使用するポリシーの詳細について、Webサービスの管理を参照してください。

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

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

「サービス・エンジン」→「BPMN」の順に選択します。

a. 「soa-infra」を選択します。

b. 右クリックして「サービス・エンジン」→「BPMN」の順に選択します。

2. 「ビュー」表の「コンポジット」列に移動し、特定のSOAコンポジット・アプリケーションを選択して「ダッシュボード」ページにアクセスします。

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

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

5. ポリシーのアタッチ先またはデタッチ先のサービスまたはコンポーネントを選択します。
ポリシーをアタッチまたはデタッチするためのダイアログが起動します。

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

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

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

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

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

10. 「OK」をクリックします。
アタッチしたポリシーがポリシー表に表示されます。

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

- ポリシーの概要

- ポリシーのアタッチで表示されるダイアログについては、「SOAコンポジット・アプリケーションのポリシーの管理」を参照してください。

- 使用可能なポリシーの定義およびユーザー環境で使用するポリシーの詳細は、Webサービスの管理を参照してください。

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

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

注意:

エラー・メッセージORA-01000: maximum open cursors exceededが表示された場合、次を実行します。

1. Oracleデータベースを停止します。

2. OPEN_CURSORSの値を1500に増やします。

3. Oracleデータベースを再起動します。

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

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

SOAインフラストラクチャのメニューから...

ナビゲータのSOAフォルダから...

a. 「サービス・エンジン」→「BPMN」の順に選択します。

a. 「soa-infra」を右クリックします。

b. 「サービス・エンジン」→「BPMN」の順に選択します。

2. 「リカバリ」をクリックします。
「リカバリ」ページに、次の詳細が表示されます。

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

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

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

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

アクション

説明

リカバリ

フォルトが発生したメッセージを再試行します。

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

取消としてマーク

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

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

36.3 複数のコンポジット・アプリケーション・リビジョン間でのインスタンスの移行

注意:

この機能は、非同期BPELプロセスを含まないOracle BPMNプロジェクトにのみ適用されます。

リリース12.1.3では、リビジョン間でのインスタンスの移行は、コンポジット・インスタンスではなくフロー・インスタンスに基づきます。一連のフロー・インスタンスと1つのコンポジット・タイプの場合、各フロー内のコンポジットのすべてのインスタンスが移行されます。フローの移行では、まずコンポジットの関連付けられたサービス・エンジンのそれぞれから、フロー・インスタンスおよびコンポジット・タイプのコンポーネント・インスタンスが取得されます。次に、サービス・エンジンはこれらのコンポーネント・インスタンスを一度に1つずつ移行するよう要求されます。

フロー・インスタンス移行には次のような理由があります。

- プロセスの初期リビジョンで設計または実装エラーが発見されたり、外部サービスから提供される無効データがプロセスの状態を不良にする可能性がある。

- プロセスの完了までの所要時間が長すぎる。たとえば、月単位または年単位で実行するフロー・インスタンスがあるとします。これが原因で次のようになります。

- フロー・インスタンスの進行中に変更を適用する必要が生じることがあります。

- 事前には変更が不明のため、常にルールまたは短期間のサブプロセスとしてモデル化できるとはかぎりません。

- 規制またはポリシーの変更(新規ポリシーまたは変更ポリシーの強制の適用)により、すべてのプロセスにステップを追加することが必要になります。

フロー・インスタンスの移行には次の制限が適用されます。

- 双方のコンポジット・リビジョンをデプロイする必要があります。

- 実行中のフロー・インスタンスのみ移行が可能です。フォルト状態でも移行が成功するOracle Mediatorを除き、完了、中断、フォルトのフロー・インスタンスは移行できません。

- 互換性のあるフロー・インスタンスのみ、正常に移行できます。互換性は、コンポジット内の関連サービス・コンポーネントの互換性に依存します。重要な変更は移行できません。

- フロー・インスタンスごとにトランザクション境界が存在します。一般に、特定のコンポジットに関連するフロー・インスタンスはバッチで操作されます。フロー・インスタンスのそれぞれは、単一トランザクションにバインドされます。バッチ全体が失敗していなくても、1つ以上のフロー・インスタンスの移行が失敗する場合があります。

次の2つの移行方法がサポートされます。

- 自動移行: リビジョン間の変更が些少の場合。フロー・インスタンスのそれぞれは、単一トランザクションにバインドされます。フロー・インスタンスのバッチを移行できます。

- 移行計画を使用した手動移行(Oracle BPMのみ): リビジョン間で重要な変更がある場合に使用されます。移行計画には、移行の実行方法が記載されます。

36.3.1 移行の互換性

コンポジット移行の互換性は、アプリケーション内で定義されているサービス・コンポーネントに依存します。サービス・コンポーネントに対する変更に互換性がない場合は、そのフロー・インスタンス全体が移行に不適格になります。SOAコンポジット・アプリケーション・フロー・インスタンスは、関連するサービス・コンポーネント・フロー・インスタンスが移行可能な場合のみ移行されます。

次のサービス・コンポーネントは移行できます。

- 非永続的BPELプロセス

- Oracle Mediator

- ヒューマン・ワークフロー

- ビジネス・ルール

- Oracle BPMN

関与するサービス・エンジンはそれぞれのフロー・インスタンスを移行するために調整されます。フロー・インスタンス追跡データは、新しいリビジョンに移行されます。

フロー・インスタンスには、次の状態のアクティブなコンポーネント・インスタンスが少なくとも1つ必要です。

- 実行中

- リカバリが必要

- 一時停止

表36-1は、各サービス・コンポーネント・フロー・インスタンスが新しいフロー・インスタンスにどのように移行されるかを示しています。互換性がない場合は、フロー・インスタンスの移行全体が非互換とレポートされ、移行はできません。

表36-1 サービス・コンポーネント・フロー・インスタンスの移行の詳細

サービス・コンポーネント

サポートされる移行タイプ

移行制限

BPELプロセス

BPELプロセス・フロー・インスタンスの新規リビジョンへの自動移行

- 非永続的BPELプロセスのみがサポートされます(チェックポイントまたはブレークポイントなしのプロセス)。永続的プロセスには、タイマー付きの非同期プロセスや同期プロセス、または完了前にデハイドレーションが行われるアクティビティが含まれます。

- 完了したコンポーネント・フロー・インスタンスのみが移行されます。

Oracle Mediator

Oracle Mediatorフロー・インスタンスの新規リビジョンへの自動移行

サポートされるメッセージ・パターンは、リクエストのみ、リクエスト-レスポンス、および順次ルーティング・ルールのみです。これは、一方向および同期のOracle Mediatorコンポーネントのみ移行できることを意味します。

インスタンスは、「正常完了」、「失敗」または「ユーザーにより終了」のいずれかの状態である必要があります。

ヒューマン・ワークフロー

ヒューマン・ワークフロー・フロー・インスタンスの新規リビジョンへの自動移行

なし(すべての実行中および完了済インスタンスが移行されます)。

ビジネス・ルール

ビジネス・ルールの新規リビジョンへの自動移行(ルール・フロー・インスタンスの概念なし)

なし。

Oracle BPM

Oracle BPMフロー・インスタンスの新規リビジョンへの手動移行(移行計画を使用)、および自動移行

互換性のないモデル間ではフロー・インスタンスを移行できません。互換性のないフロー・インスタンスの例には次のものが含まれます。

- サブプロセスの動作の削除または変更

- いずれかのアクティビティのレベルの変更

- ゲートウェイの削除(排他ゲートウェイを除く)

- インタフェースの変更

- いずれかのアクティビティの境界イベントの追加または削除

アクティビティの追加や削除は、移行計画を使用して手動で移行する必要があることを意味します。

注意:

パラレル・ルーティング・ルールのあるOracle Mediatorサービス・コンポーネントおよびOracle BPMNサービス・コンポーネントを含むインスタンスでは、フロー・インスタンスの移行が失敗します。

36.3.2 antスクリプトによるインスタンスの移行

移行を実行するantスクリプトを作成する必要があります。スクリプトは、$Middleware_Home/soa/bin/ant-flow-instance-migration.xmlスクリプトをインポートする必要があります。

次のコマンドを使用して、antスクリプトを作成するためのヘルプを表示できます。

ant -f $Middleware_Home/soa/bin/ant-flow-instance-migration.xml help

次の要素がサポートされています。

- locatorConfig: ロケータの構成を定義します。

- locatorSession: ロケータ・セッションを表します。

- flowInstanceFilterDef: 移行するフロー・インスタンスを選択するフィルタ。この要素でサポートされる属性は、次のとおりです。

- id (必須)

- compositeDN (必須)

- flowId

- pageStart

- pageSize

- tenantId

- maxCreationDate

- minCreationDate

- maxModifyDate

- minModifyDate

- like

- ecid

- conversationId

- compositeName

- domainName

- label

- revision

- title

- generateFlowMigrationReport: フロー移行レポートを同期に生成します。

- migrateFlowInstances: フロー・インスタンスを同期に移行します。

次のコード・サンプルでは、ant-flow-instance-migration.xmlスクリプトの例を示します。

<?xml version="1.0" encoding="iso-8859-1"?>
<project name="migration-test1" basedir="." default="test">
<property name="env" environment="env" value="env"/>
<property name="mw.ora.home" value="${env.MW_ORA_HOME}"/>
<import file="${mw.ora.home}/bin/ant-flow-instance-migration.xml"/>
<property name="reports.dir" value="${baseDir}/reports"/>
<locatorConfig id="c1" host="localhost" port="7001" user="weblogic"
password="weblogic1"/>

<target name="test">
<flowInstanceFilterDef
id="f3"
compositeDN="default/SubProcess!1.0"/>
<locatorSession configId="c1">
<generateFlowMigrationReport  filterId="f3"
revision="2.0"
outputFile="${reports.dir}/
migrationReport.html"/>
<migrateFlowInstances  filterId="f3"
revision="2.0"
migrationPlan="${basedir}/
TaskRemovedInSubprocess-plan.xml"
outputFile="${reports.dir}/
migrationResult.html"/>
</locatorSession>
</target>
</project>

36.3.3 Oracle BPMのリビジョン・インスタンス移行の例

ここでは、Oracle BPMを含むReviewProcessコンポジットのリビジョン・インスタンスを移行する例を紹介します。この例ではヒューマン・ワークフローの承認タスクが削除されているため、移行計画が必要になります。

図36-1に、コンポジットのリビジョン1.0のインスタンス・フローを示します。このコンポジットのリビジョンには、時間を消費するユーザー承認タスクであるVeryExpensiveUserReviewを含め、2つのヒューマン・タスクが存在します。

図36-1 リビジョン1.0のOracle BPMインスタンス・フロー

図36-2は、SOAコンポジット・エディタ内でリビジョン1.0のコンポジットを表示しています。

図36-2 リビジョン1.0のコンポジット・アプリケーション

図36-3は、リビジョン2.0のコンポジット・アプリケーションの改善されたインスタンス・フローを示しています。

時間を消費するVeryExpensiveUserReviewヒューマン承認タスクが削除されています。かわりに、サービス・タスクによる自動確認が使用されています。このサービス・タスクは、確認承認を外部のWebサービスに委譲します。

図36-3 リビジョン2.0のOracle BPMインスタンス・フロー

図36-4は、SOAコンポジット・エディタ内でリビジョン2.0のコンポジット・アプリケーションを表示しています。

図36-4 リビジョン2.0のコンポジット・アプリケーション

移行時は、次のタスクが発生します。

- ReviewProcessの定義が改善された新しい2.0リビジョンがデプロイされます。

- この新しい2.0リビジョンは、古い1.0リビジョンとサイドバイサイドで実行されます。

- 進行中のインスタンスは、必要に応じてリビジョンが移行されます。

36.3.3.1 リビジョン・インスタンス移行

Oracle BPMのリビジョン・インスタンスを移行する手順は次のとおりです。

1. 以下を判定する移行実行可能性レポートを生成します。

- 選択したインスタンスの移行が実行可能であるかどうか。

- 移行が自動であるか、移行計画を使用した手動であるか。アクティビティで実行中のインスタンスが削除されるため、移行計画が必要です。

移行計画では以下が指定されます。

- 古いリビジョンのVeryExpensiveUserReviewタスクから新しいコンポーネントのLegacyReviewタスクへのフロー更新。

- 後でLegacyReviewタスク・タイトルで使用される新しい値でのインスタンス・データの更新。

2. 次のタスクが実行される移行計画を作成します。

- データ・オブジェクトの更新。

- インスタンス・タイトル値の更新。

- VeryExpensiveUserReviewタスク・フローのLegacyReviewタスク・フローへの置換。

移行計画は任意のディレクトリの場所に配置できます。

サンプルを使用することも、XSDに基づいて独自の移行計画を作成することもできます。build.xmlファイルを実行してインスタンスを移行する際に、ファイルへのパスを指定します。

3. antで使用するbuild.xmlファイルを作成します。この例では、antが使用されます。build.xmlファイルは、ディレクトリ構造の任意の場所に配置できます。antを同じディレクトリから実行するか、ant -fを実行し、build.xmlのディレクトリ・パスの場所を指定する必要があります。

<property name="migrationPlanPath" value="${basedir}/migration_plan.xml"/>

locatorConfig id="c1" host="${wls.host}" port=${wls.port}"
user="{wls.user}" password="${wls.password}"/>
compositeInstanceFilterDef id="f1" domainName="default"
compositeName="Project3" compositeInstanceId="40001"/>

<target name="test">
<locatorSession configId="c1">
<generateFlowMigrationReport filterId="f1" revision="2.0">
<migrateReportedCompositeInstances migrationPlanPath=
"${migrationPlanPath}"/>
</generateFlowMigrationReport>
</locatorSession>
</target>

4. SOAコンポジット・アプリケーションのリビジョン1.0のビジネス・フロー・インスタンスを作成します。インスタンスを移行するには、リビジョン1.0と2.0の両方がデプロイされている必要があります。インスタンスの作成の詳細は、「ビジネス・フローのテスト・インスタンスの起動」を参照してください。

5. 「フロー・インスタンス」ページで、リビジョン1.0のフローID(この例では40007)をクリックします。

6. 「トレース」表で、ReviewProcessインスタンスをクリックします。

7. 「フロー」タブをクリックします。

フローのリビジョン1.0が表示されます。インスタンスは、2つのインスタンス・タスクのパラレル承認で待機しています。

8. build.xmlファイルの場所に移動します。

9. 「flowId」の値を、40007に移行するよう変更します。

10. 右上隅で、antスクリプトを実行します。

11. antビルド・レポートを表示して、移行が成功したことを確認します。

12. Oracle Enterprise Manager Fusion Middleware Controlの「フロー・インスタンス」ページに戻ります。

13. 「リフレッシュ」アイコンをクリックして、古いインスタンスが表示されなくなっていることに注目します。これは、新しいインスタンスに移行されたためです。

14. ナビゲータでリビジョン2.0をクリックします。

15. リビジョンに移行後のインスタンスが表示されていることがわかります。

16. インスタンスをクリックします。

17. 「トレース」表で、ReviewProcessをクリックします。

LegacyReviewヒューマン・ワークフロー・コンポーネントは実行中と表示され、VeryExpensiveUserReviewヒューマン・ワークフロー・コンポーネントは、取消し済として表示されます。

18. 「フロー」タブをクリックします。

19. LegacyReviewのある新しいフローを表示します。

20. Oracle Business Process Workspaceにログインします。

21. 「プロセス・トラッキング」をクリックして、ページをリフレッシュします。

22. バージョンReviewProcess 2.0が実行中であることがわかります。

23. 承認するタスクに移動して、「承認」を選択します。

24. Oracle Enterprise Manager Fusion Middleware Control内のインスタンスに戻ります。

25. 「フロー」タブをクリックします。

26. アクティビティが承認済と表示されていることがわかります。

第XIV部 付録

次の付録で構成されています。

- データベースへのデモ・ユーザー・コミュニティのインストール

- Oracle SOA SuiteとOracle BPM Suiteのトラブルシューティング

A データベースへのデモ・ユーザー・コミュニティのインストール

この付録では、デモ・ユーザー・コミュニティと呼ばれるユーザーおよびグループの組織階層を、データベースにインストールし、使用する方法について説明します。このコミュニティのユーザーとグループを、タスク・ワークフローを進めるための承認など人とのやりとりが必要なタスクに割り当てることができます。

この付録の内容は次のとおりです。

- デモ・ユーザー・コミュニティのインストール

- デモ・コミュニティのユーザー

- デモ・コミュニティのグループ

- soa-infraアプリケーション・ロール

- SOATestDemoAppアプリケーション・ロール

- ユーザーに付与されているロールおよびユーザーが所有しているロール

- WorkflowPermissionクラス

A.1 デモ・ユーザー・コミュニティのインストール

デモ・ユーザー・コミュニティは、ユーザーとグループの組織階層です。Oracle SOA Suiteをインストールした後は、デモ・ユーザー・コミュニティをデータベースにインストールする必要があります。デモ・ユーザー・コミュニティは、Oracle SOA Suiteサンプル・サイト上のHWリンクから利用可能なworkflow-001-DemoCommunitySeedAppサンプルの一部です。サンプルに含まれるREADME.txtファイルには、デモ・ユーザー・コミュニティをインストールするための基本的な方法と高度な方法の両方が説明されています。デモ・ユーザー・コミュニティをインストールするための基本的な方法は、この項でも説明します。

注意:

リモートではなくドメイン内からユーザー・デモ・コミュニティをローカルに作成するには、このスクリプトを実行する必要があります。

デモ・ユーザー・コミュニティをインストールする手順は、次のとおりです。

1. 次のいずれかがローカルにインストールされていることを確認します。

- Oracle JDeveloper

- Oracle BPMサーバー

- ant 1.7

2. Oracle SOA Suiteサンプルのサイトからworkflow-001-DemoCommunitySeedAppサンプルをダウンロードします。

3. 次のコマンドを入力し、ホスト上のJavaのバージョンを確認します。

java -version

デモ・ユーザー・コミュニティをデータベースにインストールするホストには、Java 1.6 update 17以降が含まれていることが必要です。

4. 環境のPATHに、Oracle SOA Suite添付のJavaのバージョンが含まれていることを確認します。

5. データベースへのデモ・ユーザー・コミュニティのインストール方法を選択します。

build.propertiesファイルを使用する方法

指定のパラメータでantスクリプトを実行する方法

a. ダウンロードしたサンプルに含まれるbuild.propertiesファイルを、環境に合わせて編集します。

# Set the admin server location
admin.url=t3://localhost:7001
server.url=http://localhost:8001

# Set the Fusion Middleware home, also
# called the bea home
# Linux style /scratch/oracle/middleware
# Windows style C:\\Oracle\\Middleware
bea.home=/scratch/oracle/middleware/
home_betaupdate

# Set the authentication
admin.name=weblogic
admin.pwd=password

# Use the managed server for the target or
# if single server configuration use the
# admin server
# e.g. target=soa_server1 or
# target=AdminServer
target=AdminServer

b. 次のantコマンドを実行します。

$FMW_HOME\modules\org.apache.ant
_1.7.0\bin\ant seedDemoUsers

$FMW_HOMEには、Oracle JDeveloperまたはSOA ServerのOracle Fusion Middlewareホーム・ディレクトリを指定します(または、ant 1.7の場所へのパスを指定します)。

a. 指定のパラメータでantスクリプトを実行します。bea.homeとFMW_HOMEは同じであることに注意してください。

ant seedDemoUsers -Dbea.home=FMW_HOME
-Doracle.home=ORACLE_HOME
-Ddomain.home=FMW_HOME/user_projects/
domains/Domain_Name
-Dtarget=Managed_Server_Name
-Dadmin.url=t3://HOST:Admin_Server_Port
-Dserver.url=http://HOST:Managed_Server_Port
-Dadmin.name=Admin_Name
-Dadmin.pwd=Admin_Password

FMW_HOMEにはインストール・ホーム・ディレクトリの絶対パスを、ORACLE_HOMEにはインストール時に指定したOracleホームの絶対パスを指定します。

例:

ant seedDemoUsers
-Dbea.home=/scratch/wls/as11wls/lt20
-Doracle.home=/scratch/wls/as11wls/lt20/
AS11gR1SOA
-Ddomain.home=/scratch/wls/as11wls/lt20/
user_projects/domains/domain1
-Dtarget=soa_server1
-Dadmin.url=t3://wlserver.example.com:7001
-Dserver.url=http:///wlserver.example.com:
8001
-Dadmin.name=weblogic
-Dadmin.pwd=password

これによってデモ・ユーザー・コミュニティがインストールされて、デモappRolesに権限が付与されます。

インストールが成功した場合は、次のメッセージが表示されます。

Build Successful

注意:

Build Successfulメッセージは、接続に問題がある場合でも表示されます。これらのメッセージを監視してください。

デモ・ユーザーのシードに成功すると、jcooper、jsteinまたは他のユーザーとして、build.propertiesファイルに指定されたパスワードを使用してログインできます。

インストールに成功しなかった場合は、次のメッセージが表示されます。

Build Failed

インストールの失敗は、構成またはサーバーの可用性の問題が原因となって起こります。これらの問題を修正して再試行してください。

A.2 デモ・コミュニティのユーザー

表A-1に、デモ・コミュニティ内のユーザーをリストします。

表A-1 デモ・コミュニティ内のユーザー

ユーザー

ユーザー名

名

姓

役職

マネージャ

電子メール

1

achrist

Agatha

Christie

Loan Consultant

wfaulk

achrist@emailExample.com

5

cdickens

Charles

Dickens

CEO

--

cdickens@emailExample.com

6

cdoyle

Conan

Doyle

Loan Agent 2

rsteven

cdoyle@emailExample.com

3

EHEMING

Ernest

Hemingway

CFO

JVerne

EHEMING@emailExample.com

7

fkafka

Franz

Kafka

Manager 1

ltolstoy

fkafka@emailExample.com

8

istone

Irving

Stone

Loan Agent 2

sfitzger

istone@emailExample.com

9

jausten

Jane

Austen

Loan Consultant

fkafka

jausten@emailExample.com

10

jcooper

James

Cooper

Loan Agent 1

jstein

jcooper@emailExample.com

11

jlondon

Jack

London

Loan Agent 1

sfitzger

jlondon@emailExample.com

12

jstein

John

Steinbeck

Manager 2

wfaulk

jstein@emailExample.com

2

JVerne

Jules

Verne

CIO

cdickens

JVerne@emailExample.com

13

ltolstoy

Leo

Tolstoy

Director

wfaulk

ltolsoy@emailExample.com

14

mmitch

Margaret

Mitchell

Loan Analyst

fkafka

mmitch@emailExample.com

15

mtwain

Mark

Twain

Loan Agent 2

jstein

mtwain@emailExample.com

16

rsteven

Robert

Stevenson

Manager 3

jstein

rsteven@emailExample.com

17

sfitzger

Scott

Fitzgerald

Manager 1

wfaulk

sfitzger@emailExample.com

18

szweig

Stefan

Zweig

Loan Analyst

fkafka

szweig@emailExample.com

4

VHUGO

Victor

Hugo

HR Manager

EHEMING

VHUGO@emailExample.com

19

wfaulk

William

Faulkner

Vice President

cdickens

wfaulk@emailExample.com

20

wshake

William

Shakespeare

Manager 3

rsteven

wshake@emailExample.com

図A-1に、デモ・コミュニティの組織階層を示します。

図A-1 デモ・コミュニティの組織階層

A.3 デモ・コミュニティのグループ

表A-2には、次がリストされています。

- デモ・コミュニティ内のグループ

- 各グループ・ロールを付与されているユーザーとグループ(直接権限受領者とすべての権限受領者)

- 各グループに付与されているグループ・ロールとアプリケーション・ロール(直接権限付与ロールとすべての権限付与ロール)

ユーザーでソートされた、ユーザーに付与されているロールについては、表A-6を参照してください。

表A-2 デモ・コミュニティ内のグループ: 権限付与の関係

グループ

直接権限受領者

すべての権限受領者

直接権限付与ロール

すべての権限付与ロール

RegionalOffices

CentralRegion、WesternRegion、EasternRegion

szweig、wshake、jcooper、WesternRegion、mmitch、EasternRegion、jlondon、CentralRegion、istone、cdoyle、mtwain、California、fkafka

-

-

EasternRegion

szweig、wshake、mmitch、fkafka

szweig、wshake、mmitch、fkafka

RegionalOffices

RegionalOffices

CentralRegion

jlondon、mtwain

jlondon、mtwain

RegionalOffices

RegionalOffices

WesternRegion

cdoyle、California

jcooper、istone、cdoyle、California

RegionalOffices

RegionalOffices

California

jcooper、istone

jcooper、istone

WesternRegion

RegionalOffices、WesternRegion

LoanAgentGroup

jlondon、wshake、LoanAnalyticGroup、jcooper、istone、cdoyle、mtwain

szweig、jlondon、wshake、LoanAnalyticGroup、jcooper、istone、cdoyle、mtwain、mmitch、fkafka

-

-

LoanAnalyticGroup

szweig、mmitch、fkafka

szweig、mmitch、fkafka

BPMWorkflowCustomize、LoanAgentGroup

BPMWorkflowCustomize、LoanAgentGroup

Supervisor

jcooper、mtwain、rsteven

jcooper、mtwain、rsteven

-

-

Executives

cdickens、JVerne、EHEMING、VHUGO

cdickens、JVerne、EHEMING、VHUGO

-

-

表A-3は、表A-2にリストした複数のグループに関する情報を示します。ここには次がリストされています。

- 各グループを所有するユーザーとグループ(直接所有者とすべての所有者)

- 各グループが所有するグループ・ロール(直接所有ロールとすべての所有ロール)

ユーザーでソートされた、ユーザーが所有しているロールについては、表A-6を参照してください。

表A-3 デモ・コミュニティ内のグループ: 所有の関係

グループ

直接所有者

すべての所有者

直接所有ロール

すべての所有ロール

EasternRegion

jstein

jstein

-

-

WesternRegion

jstein

jstein

-

-

California

fkafka

fkafka

-

-

LoanAgentGroup

jcooper、fkafka

jcooper、fkafka

-

-

LoanAnalyticGroup

jstein

jstein

-

-

Supervisor

jstein

jstein

-

-

A.4 soa-infraアプリケーション・ロール

表A-4には次がリストされています。

- soa-infraアプリケーション・ロール

- 各アプリケーション・ロールを付与されたユーザー、グループおよびロール(直接権限受領者とすべての権限受領者)

- 各アプリケーション・ロールに付与されているロール(直接権限付与ロールとすべての権限付与ロール)

ユーザーでソートされた、ユーザーに付与されているアプリケーション・ロールについては、表A-6を参照してください。

表A-4 soa-infra内のアプリケーション・ロール

アプリケーション・ロール

直接権限受領者

すべての権限受領者

直接権限付与ロール

すべての権限付与ロール

SOAAdmin

Administrators

Administrators

BPMWorkflowAdmin

BPMWorkflowCustomize BPMWorkflowAdmin

BPMWorkflowAdmin

SOAAdmin、demoadmin

SOAAdmin、demoadmin、Administrators

BPMWorkflowCustomize

BPMWorkflowCustomize

BPMWorkflowCustomize

LoanAnalyticGroup、BPMWorkflowAdmin

szweig、LoanAnalyticGroup、SOAAdmin、BPMWorkflowAdmin、mmitch、fkafka、Administrators、demoadmin

-

-

アプリケーション・ロールの詳細は、『Oracle SOAスイートでのSOAアプリケーションの開発』を参照してください。

A.5 SOATestDemoAppアプリケーション・ロール

表A-5に、SOATestDemoAppアプリケーション内のロールをリストします。

表A-5 SOATestDemoAppロール

アプリケーション・ロール

直接権限受領者

すべての権限受領者

直接権限付与ロール

すべての権限付与ロール

DevTeam

- rsteven

rsteven、mmitch、fkafka、jcooper、istone

QATeam

jlondon、Supervisor

jlondon、jcooper、mtwain、rsteven、mmitch、fkafka、istone

ProductionTeam

mmitch、fkafka、California

mmitch、fkafka、jcooper、istone

DevTeam、QATeam

DevTeam、QATeam

A.6 ユーザーに付与されているロールおよびユーザーが所有しているロール

表A-6には、次がリストされています。

- 各ユーザーに付与されているロール(直接権限付与ロールとすべての権限付与ロール)

- 各ユーザーが所有するロール(直接所有ロールとすべての所有ロール)

表A-6 各ユーザーのロール

ユーザー名

直接権限付与ロール

すべての権限付与ロール

直接所有ロール

すべての所有ロール

achrist

Executives

-

-

-

cdickens

-

-

Executives

-

cdoyle

WesternRegion、LoanAgentGroup

RegionalOffices、WesternRegion、LoanAgentGroup

-

-

EHEMING

Executives

fkafka

LoanAnalyticGroup、EasternRegion、ProductionTeam

BPMWorkflowCustomize、RegionalOffices、LoanAnalyticGroup、LoanAgentGroup、EasternRegion、ProductionTeam、DevTeam、QATeam

LoanAgentGroup、California

LoanAgentGroup、California

istone

LoanAgentGroup、California

RegionalOffices、WesternRegion、LoanAgentGroup、California、DevTeam、QATeam、ProductionTeam

-

-

jausten

-

-

-

-

jcooper

Supervisor、LoanAgentGroup、California

RegionalOffices、WesternRegion、Supervisor、LoanAgentGroup、California、DevTeam、QATeam、ProductionTeam

LoanAgentGroup

LoanAgentGroup

jlondon

CentralRegion、LoanAgentGroup、QATeam

CentralRegion、RegionalOffices、LoanAgentGroup、QATeam

-

-

jstein

-

-

LoanAnalyticGroup WesternRegion、Supervisor、EasternRegion

LoanAnalyticGroup WesternRegion、Supervisor、EasternRegion

JVerne

Executives

ltolstoy

-

-

-

-

mmitch

LoanAnalyticGroup、EasternRegion、ProductionTeam

BPMWorkflowCustomize、RegionalOffices、LoanAnalyticGroup、LoanAgentGroup、EasternRegion、DevTeam、QATeam、ProductionTeam

-

-

mtwain

CentralRegion、Supervisor、LoanAgentGroup

CentralRegion、RegionalOffices、Supervisor、LoanAgentGroup、QATeam

-

-

rsteven

Supervisor、DevTeam

Supervisor、DevTeam

-

-

sfitzger

-

-

-

-

szweig

LoanAnalyticGroup、EasternRegion

BPMWorkflowCustomizeDemoApp/FlexFieldRole、RegionalOffices、LoanAnalyticGroup、LoanAgentGroup、EasternRegion

vhugo

Executives

wfaulk

-

-

-

-

wshake

LoanAgentGroup、EasternRegion

RegionalOffices、LoanAgentGroup、EasternRegion

-

-

A.7 WorkflowPermissionクラス

表A-7に、WorkflowPermissionクラスで定義されている権限および各権限に関連付けられているアプリケーション・ロールをリストします。

表A-7 WorkflowPermissionクラス

権限

権限のあるアプリケーション・ロール

workflow.mapping.publicFlexField

BPMWorkflowAdmin、BPMWorkflowCustomize

workflow.mapping.protectedFlexField

BPMWorkflowAdmin

workflow.admin

BPMWorkflowAdmin

workflow.admin.evidenceStore

BPMWorkflowAdmin

B Oracle SOA SuiteとOracle BPM Suiteのトラブルシューティング

この付録では、ロギング・レベルの設定、パラレル・パージと表のパーティション化の問題、接続およびトランザクション・タイムアウトの問題、ランタイム診断の問題、ヒューマン・ワークフローの問題、イベント配信ネットワーク(EDN)の問題、パフォーマンスの問題、サーバー起動のベスト・プラクティス、ブラウザの問題など、Oracle SOA SuiteとOracle BPM Suiteの使用時に発生する可能性がある問題をトラブルシューティングする方法について説明します。その他のトラブルシューティング情報の参照先も示されています。

この付録の内容は次のとおりです。

- トラブルシューティングのためのロギング・レベルの設定

- パラレル・パージと表のパーティション化の問題

- 接続およびトランザクション・タイムアウトのトラブルシューティング

- ランタイム診断のトラブルシューティング

- ヒューマン・ワークフローのトラブルシューティング

- ビジネス・イベントおよびイベント配信ネットワークのトラブルシューティング

- パフォーマンスのトラブルシューティング

- サーバーのトラブルシューティング

- ブラウザのトラブルシューティング

- その他のトラブルシューティングのドキュメント

B.1 トラブルシューティングのためのロギング・レベルの設定

トラブルシューティングを容易にするために、Oracle Enterprise Manager Fusion Middleware Controlで、ロギング・レベルを「TRACE:32 FINEST」レベルに設定することをお薦めします。この項では、このレベルに設定するロガーについて説明します。

トラブルシューティングのためにロギング・レベルを設定する手順は、次のとおりです。

1. 「ログ構成」ページにアクセスする手順については、「ログ・ファイルの構成」を参照してください。

2. 「Oracle Diagnostic Loggingレベル(Javaレベル)」リストから、次の親ロガーを「TRACE:32 FINEST」レベルに設定します。

- oracle.soa

- oracle.fabric

- oracle.integration

- oracle.wsm (このロガーは、「ERROR」レベルの設定でも必要なエラー・メッセージが記録されるため、この設定でも問題ありません)

3. さらに詳細なロギング管理を行う場合は、親ロガーを展開して、次の任意のロガーを設定します。

コンポーネント

ランタイム・ロガー

ヒューマン・ワークフロー、承認管理の拡張(AMX)、ルール

- oracle.soa.services.common

- oracle.soa.services.identity

- oracle.soa.services.notification

- oracle.soa.services.rules

- oracle.soa.services.rules.obrtrace

- oracle.soa.services.workflow

- oracle.soa.services.workflow.common

- oracle.soa.services.workflow.evidence

- oracle.soa.services.workflow.metadata

- oracle.soa.services.workflow.persistency

- oracle.soa.services.workflow.query

- oracle.soa.services.workflow.report

- oracle.soa.services.workflow.runtimeconfig

- oracle.soa.services.workflow.soa

- oracle.soa.services.workflow.task

- oracle.soa.services.workflow.task.dispatch

- oracle.soa.services.workflow.task.routing

- oracle.soa.services.workflow.user

- oracle.soa.services.workflow.verification

- oracle.soa.services.workflow.performance

- oracle.soa.services.workflow.worklist

SOAインフラストラクチャ

- oracle.fabric.common.wsdl

- oracle.integration.platform.blocks.deploy

- oracle.integration.platform.blocks.soap

- oracle.integration.platform.blocks.local

- oracle.integration.platform.kernel

- oracle.integration.plaform.blocks.mesh

- oracle.integration.platform.common

- oracle.integration.platform.instance

- oracle.integration.platform.instance.activity

- oracle.integration.platform.instance.store

EDN

- oracle.integration.platform.blocks.event

- oracle.integration.platform.blocks.event.saq

- oracle.integration.platform.blocks.event.jms

デプロイメント

oracle.integration

Oracle Mediator

- oracle.soa.mediator.common

- oracle.soa.mediator.common.cache

- oracle.soa.mediator.common.error

- oracle.soa.mediator.common.error.recovery

- oracle.soa.mediator.common.listener

- oracle.soa.mediator.common.message

- oracle.soa.mediator.common.persistence

- oracle.soa.mediator.dispatch

- oracle.soa.mediator.dispatch.db

- oracle.soa.mediator.dispatch.resequencer.toplink

- oracle.soa.mediator.monitor

- oracle.soa.mediator.resequencer

- oracle.soa.mediator.resequencer.besteffort

- oracle.soa.mediator.resequencer.fifo

- oracle.soa.mediator.resequencer.standard

- oracle.soa.mediator.service

- oracle.soa.mediator.service.common.functions

- oracle.soa.mediator.service.filter

- oracle.soa.mediator.service.transformation

- oracle.soa.mediator.serviceEngine

Oracle BPEL Process Manager

- oracle.soa.bpel

- oracle.soa.bpel.console

- oracle.soa.bpel.engine

- oracle.soa.bpel.engine.activation

- oracle.soa.bpel.engine.agents

- oracle.soa.bpel.engine.bpel

- oracle.soa.bpel.engine.compiler

- oracle.soa.bpel.engine.data

- oracle.soa.bpel.engine.delivery

- oracle.soa.bpel.engine.deployment

- oracle.soa.bpel.engine.dispatch

- oracle.soa.bpel.engine.sensor

- oracle.soa.bpel.engine.translation

- oracle.soa.bpel.engine.ws

- oracle.soa.bpel.engine.xml

- oracle.soa.bpel.entity

- oracle.soa.bpel.jpa

- oracle.soa.bpel.system

Oracle BPM Suite

oracle.bpm.bpmn.engine

Oracle B2B

- oracle.soa.b2b.apptransport

- oracle.soa.b2b.engine

- oracle.soa.b2b.transport

- oracle.soa.b2b.ui

- oracle.soa.b2b.repository

Oracleアダプタ

oracle.soa.adapter

Oracle Web Services Manager(OWSM)

oracle.wsm

4. 「Oracle Diagnostic Loggingレベル(Javaレベル)」リストから、ロガーレベルを次のいずれかの設定に変更します。

- TRACE:1 (詳細)

- TRACE:16 (より詳細)

- TRACE:32 (最も詳細) - 最も詳細なレベル(トラブルシューティングでのみ使用することをお薦めします)

変更が有効になるまで数分かかります。

B.1.1 すべての管理対象サーバーからのログ・ファイルおよびスレッド・ダンプ

表B-1に、確認するログ・ファイルと取得するスレッド・ダンプを示します。

表B-1 ログ・ファイルとスレッド・ダンプ

出力

説明

サーバー診断ログ

次のファイルを確認します。

$DOMAIN_HOME/servers/server_name/logs/server_name-diagnostic.log

たとえば、server_nameがsoa_server1の場合は、soa_server1-diagnostic.logです。

これは、ログ出力を入手できる場所です。デフォルトでは、最新分100 MBの診断ログのみが保持されます。

サーバー・ログ

server_name.log (たとえば、server_nameがsoa_server1の場合は、soa_server1.logです)

サーバー・コンソールの出力

<stdout>も役に立ちます(特に、デプロイおよびパッチの問題の場合)。

サーバーのスレッド・ダンプ

オペレーティング・システムのコマンド・プロンプトで、次のように入力します。

kill -3 managed_server_process_ID

また、Oracle WebLogic Server管理コンソールを使用することもできます。

1. Oracle WebLogic Server管理コンソールのナビゲーション・ツリーで、「環境」→「サーバー」の順に選択します。

2. 表の中から、サーバーを選択します。

3. 「監視」タブを選択します。

4. 「スレッド」タブを選択します。

5. 「スレッド・スタックのダンプ」をクリックします。

出力がコンソール・ログに表示されます。

OWSMメッセージ・ログ

次のログに、ネットワーク上のすべてのSOAPメッセージがキャプチャされます。

$DOMAIN_HOME/servers/server_name/logs/owsm/msglogging/diagnostic.log

このログは、デフォルトでは無効になっています。このログを有効にするには、次の手順を実行します。

1. 「Fusion Middleware Control」→「WebLogicドメイン」→「Webサービス」→「ポリシー」の順に移動します。

2. ログを有効にするセキュリティ・レベルを選択します。

3. ポリシーを編集して、ログのアサーションを有効にします。

B.2 パラレル・パージと表のパーティション化の問題

この項では、パラレル・パージと表のパーティション化の問題をトラブルシューティングする方法について説明します。監査レベルの推奨事項も示します。

PL/SQLパージ・スクリプトを使用して、またはOracle Enterprise Manager Fusion Middleware Controlの「自動パージ」ページからインスタンスおよび拒否メッセージを削除できます。詳細は、「データベース増分の管理」を参照してください。

B.2.1 パラレル・パージ・スクリプトの実行

この項では、Oracle SOA Suiteデータベースが管理されておらず、領域を再利用する必要がある状況について説明します。また、この項では、日々の通常の実行に適切なパラメータ設定の識別方法についても説明します。

領域の再利用を試行する際は、パージ・スクリプトを頻繁に実行して、作成されているより大幅に多くのSOAコンポジット・アプリケーションを削除する必要があります。これは、長い待機キューを回避するために監視する必要があるホストおよびデータベース・リソースに影響を与えます。

削除するSOAコンポジット・アプリケーションの目標数は、明確に定めておくことが必要です。そうしないと、パージ・スクリプトが過度に強力に構成される可能性があります。次の内容について説明します。

- 並列度値の指定

- 削除するSOAコンポジット・アプリケーションの解析

- パラレル問合せスレーブの使用

- パージ操作のデバッグとトレース

B.2.1.1 並列度値の指定

適切な並列度(DOP)値を指定する際は、ハードウェア・リソースを考慮する必要があります。DOPは、データベースによってスケジュールされるジョブの数と、ホスト上で同時に実行されるプロセスの数を識別します。

パラレル・パージ・ジョブはI/O集中型です。これは、CPUのみに負荷がかかるのではないことを意味します。ただし、次の式は出発点で、この後で、なんらかの増分を識別するためのテストと監視が必要とされます。

DOP <= PARALLEL_THREADS_PER_CPU x CPU_COUNT

パージ・ジョブは同時に実行されますが、実際にはリソースの競合を回避するために、30秒ずつ遅延させて実行されます。パージ・ジョブが同じSOAコンポジット・アプリケーションをめぐって競合することはないので、この遅延は小さな競合を回避するためではありません。この遅延は、パージ・ジョブの経過時間と関係します。たとえば、DOPが10の場合は、10番目のパージ・ジョブが270秒間スリープしてから開始することを意味します(つまり、(DOP - 1) * 30 sec)。

大きなDOP数を指定した場合は、max_runtimeパラメータを適切に設定する必要があります。

B.2.1.2 削除するSOAコンポジット・アプリケーションの解析

領域を再利用する際は、当然のことながら、パージ・スクリプトの各実行でできるだけ多くのSOAコンポジット・アプリケーションを削除したいと考えます。しかし、スクリプトは適切なSOAコンポジット・アプリケーションのデータを解析する必要があり、これはパージの経過時間を独占する可能性があります。

そのため、日付およびmax_countパラメータを適度に設定して頻繁にパージ・スクリプトを実行することで、このデータを削減する必要があります。これを削減するには、パラレル・パージを頻繁に、おそらく1時間に2回程度スケジュールすることが必要です。

解析するSOAコンポジット・アプリケーションのセットは、次のパラメータによって識別されます。

- min_creation_date

- max_creation_date

- retention_date

- max_count

解析の経過時間を短縮するには、適度なmax_countパラメータ設定が最も効果的な方法です。出発点としてmax_countパラメータを小さく(50,000程度に)設定し、少しずつ増加して最適な値を見つけてください。表のサイズを縮小すると、max_countパラメータと日付の範囲を増加させることができます。

注意:

この削減方法は常に有効ではありません。より大量のデータを解析するために、パラレル問合せを使用することが必要な場合もあります。

B.2.1.3 パラレル問合せスレーブの使用

削減候補のSOAコンポジット・アプリケーションの解析は、主として複数のINSERT ... SELECT文によって実行されます。解析するSOAコンポジット・アプリケーションのセットが大きくなるほど、データベースのコストベースのオプティマイザは全表スキャンの実行を支持するようになります。表の大きな部分を通過する必要がある場合は、マルチブロックI/Oコールを実行する全表スキャンを実行するほうが索引アクセスよりも高速になる可能性があります。

パラレル問合せは、複数スレーブ・プロセスにわたって作業を調整および分散させることで、全表スキャンのパフォーマンスを大幅に改善できます。さらに、INSERTの部分のPARALLELヒントが、APPENDモードで実行されます。これはダイレクト・パス挿入によってパフォーマンスをさらに向上させます。

スケジュールされたパージ・ジョブと同様に、パラレル問合せスレーブはI/O集中型で、CPUのみに負荷がかかるわけではありません。ただし、PARALLELヒントのDOPを選択する際は、次の式を出発点とすると役立ちます。

DOP <= PARALLEL_THREADS_PER_CPU x CPU_COUNT

注意:

パラレル・パージ・ジョブの数を識別するためのDOP設定と、パラレル問合せスレーブの数を識別するためのDOP設定があります。これらのDOP設定は両方とも、ホスト上で実行されるプロセスの量を左右しますが、同時にではありません。INSERT ... SELECT文が最初に実行されてデータの解析が行われ、その後でパラレル・パージ・ジョブのスケジューリングが実行されます。

INSERT... SELECT文では、PARALLELヒントを、INSERTキーワードまたはSELECTの後、あるいは両方の後に指定できます。したがって、INSERT操作とSELECT操作の並列処理は互いに独立しています。文全体の適切なDOPは、次の優先順位ルールを使用して識別されます。

- 文のINSERT部分のPARALLELヒント。

- セッションの設定。

- INSERT表のDOP。

- 文内の任意の表の最大DOP設定。

パラレルDMLを実行するには、スクリプト内で次の文を実行する必要があります。

ALTER SESSION FORCE PARALLEL DML STATEMENT

たとえば、この文のDOPは、INSERTでは2、SELECTでは4となっています。しかし、優先順位ルールに従うと、文全体のDOPは2になります。

INSERT /*+ PARALLEL(TBL_INS,2) */ INTO TBL_INS
SELECT /*+ PARALLEL(TBL_SEL,4) */ * FROM TBL_SEL;

注意:

必要な場合は、パージ・スクリプト内でDELETEおよびSUBSELECTコマンドにパラレル問合せを適用することもできます。

B.2.1.4 パージ操作のデバッグとトレース

この項では、デバッグとトレースの問題について説明します。

B.2.1.4.1 パージ操作のデバッグ

パージ・スクリプトには、各操作に関する詳細なタイムスタンプ付きの情報を提供するDEBUGフラグが装備されています。この情報を評価して、削除が困難なためにパージ・スクリプトの外部で表パーティション化によって管理したほうが適している表を識別できます。DEBUGフラグを設定する手順は次のとおりです。

1. デバッグ・ログを書き込むオペレーティング・システム・ディレクトリを作成します。

mkdir -p /,,/debuglogs

2. SYSDBAアカウントを使用してデータベースに接続して、データベース・ディレクトリを作成します。

SQL> CREATE OR REPLACE DIRECTORY SOA_PURGE_DIR AS '/../DEBUGLOGS';

3. Oracle SOA Suiteスキーマ所有者に権限を付与します。

SQL> GRANT READ, WRITE ON DIRECTORY SOA_PURGE_DIR TO DEV_SOAINFRA;

4. Oracle SOA Suiteスキーマ所有者として接続して、DEBUGフラグを設定します。

cd MW_HOME/SOA_ORACLE_HOME/rcu/integration/soainfra/sql/soa_purge/
SQL> @DEBUG_ON.SQL;

5. パージ・スクリプトを実行します。

SQL> SET SEVEROUT ON
SQL> EXECUTE_PURGE

注意:

または、SQL*Plus SPOOLコマンドを使用して、デバッグ情報をキャプチャします。

パージの期間に関する自動ワークロード・リポジトリ(AWR)レポートも、経過時間と実行時間が最もかかるSQLの識別に役立ちます。

B.2.1.4.2 パージ操作のトレース

パラレル・パージ・スクリプトのパフォーマンスを診断するためにSQLトレースが必要とされる場合は、次が必要となります。

1. プロシージャsoa.delete_instances_in_parallelとsoa.delete_insts_in_parallel_jobを編集して、SQLトレース(10046)を追加します。

SQL> EXECUTE IMMEDIATE 'ALTER SESSION SET EVENTS ''10046 TRACE NAME CONTEXT
FOREVER,LEVEL 12''';

注意:

すべての引用符は一重引用符です。

これによってパージ・セッションとスケジュールされたパージ・ジョブ(J000)のSQLトレースが、データベースのユーザー・ダンプの宛先に作成されます。

SQL> SHOW PARAMETER DUMP

2. トレース・ファイルで文字列dbms_scheduler.create_jobまたはdelete_instances_in_parallelを検索することで、メイン・データベース・セッションのトレースを識別します。

grep -i dbms_scheduler.create_job *

例:

TESTORA2_ora_3893.trc

スケジュールされたジョブの数はDOPによって異なります。たとえば、DOPが4の場合は、次のようになります。

- TESTORA2_j000_9585.trc

- TESTORA2_j001_9587.trc

- TESTORA2_j002_9604.trc

- TESTORA2_j003_9606.trc

パラレル問合せスレーブをパージ・スクリプトにカスタマイズすると、それぞれにトレース・ファイル(P000)が作成されます。パラレル問合せトレース・ファイルの重要度は低くなります。なぜなら、他方のトレース・ファイルの問合せ計画がそれらの実行の説明を行うからです。例:

PSOAORA2_p000_4284.trc

3. トレース・ファイルでTKPROFを実行し、経過時間でソートして最もコストの大きなSQLを識別します。

TKPROF TESTORA2_ORA_3893.TRC ../OUT/ TESTORA2_ORA_3893.OUT WAITS=YES
SYS=YES AGGREGATE=YES SORT=EXEELA

TKPROFの詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。

B.2.2 Oracle SOA Suiteの表のパーティション化

Oracleの表のパーティション化では、大きな表をパーティションと呼ばれるより小さく扱いやすいセグメントに分解することで、大きな表のメンテナンスに関する多くの問題に対処します。SOAスキーマには、Oracleデータベースのレンジ・パーティション化を利用するためのパーティション・キーが装備されています。

パーティション化の詳細は、「コンポーネント表のパーティション化」を参照してください。

B.2.2.1 参照整合性および同一レベル・パーティション化

パフォーマンス上の理由から、Oracle SOA Suiteサービス・コンポーネント(Oracle B2Bを除く)には、参照整合性を規制するための外部キー制約はありません。この制約がない場合、マスター表と詳細表の関係は、詳細表の不確定な参照を回避するように保護する必要があります。

同一レベル・パーティション化は、マスター表と詳細表をその外部キー制約に基づいてパーティション化するデータベース・パーティション化機能です。この機能は、関連するマスター行と詳細行を同じ日付範囲にグループ化する表パーティションを作成します。このグループ化によって、パーティションが削除された場合に不確定な参照が作成されることがなくなります。

この機能を模倣するために、Oracle SOA Suiteにはビジネス・フロー・インスタンスの作成日をコンポーネントのマスター表(Oracle BPEL Process Manager、Oracle Mediatorおよびヒューマン・ワークフロー)にプッシュ・ダウンする機能が装備されています。SOAインフラストラクチャは、他のすべてのコンポーネントが依存する最上位のコンポーネントであるため、この方法ではすべての依存行が日付範囲によってグループ化されます。

たとえば、SCA_FLOW_INSTANCE表のCREATED_TIME列のタイムスタンプは、次の表にプッシュ・ダウンされます。

- Oracle BPEL Process Managerマスター表CUBE_INSTANCEの列CPST_INST_CREATED_TIME、その後これはCUBE_SCOPE.CI_PARTITON_DATEといった依存表にプッシュ・ダウンされます。

- Oracle Mediatorマスター表MEDIATOR_INSTANCEの列COMPOSITE_CREATION_DATE、その後これは依存表にプッシュ・ダウンされます。

注意:

- 依存表はそのマスターを使用してパーティション化する必要があり、どの場合も、最上位のSOAインフラストラクチャであるSCA_FLOW_INSTANCE表はパーティション化する必要があります。

- 同一レベル・パーティション化を完了するには、すべての表パーティションは同じ名前と日付範囲を使用する必要があります。

要約すると、同一レベル・パーティション化とは、関連付けられた依存表の行が、それらのマスター表の行と同じパーティション・キー範囲を持つ1つのパーティションに存在することを意味します。したがって、同一レベル・パーティションのそれぞれの詳細行の状態は、その行に関連するマスター表の行から推測できます。

B.2.2.2 SOAコンポジット・アプリケーションのレンジ - ハッシュ・パーティション

レンジ・パーティションではその行をサブパーティションにハッシュして、SOAコンポジット・アプリケーションのレンジ - ハッシュ・パーティション化を実装できます。ハッシュ・サブパーティションはI/Oの分散において効果がある可能性がありますが、Oracle SOA Suiteの表をパーティション化する際は現在推奨されていません。

キーのハッシュは等価性の述語(=、IN)と一緒に使用すると効果のある方法で、Oracle BPEL Process Manager CIKEY表など、候補として適したキー付きの表がいくつか存在します。ただし、レンジ - ハッシュ・パーティションだけでは、ハッシュ・キーの一意性を提供しません。コストベースのオプティマイザが一意性を識別するには、問合せで表の全パーティションを検索する必要があります(全表スキャン)。パーティション・プルーニングは検索するパーティションの範囲を絞り込むことで役立ちますが、Oracle SOA Suiteではこの機能は使用されません。(「パーティション・プルーニング」を参照。)したがって、コストベースのオプティマイザが一意性を識別する際に全表スキャンを回避するために、索引が検索されてハッシュ・サブパーティションがバイパスされます。

B.2.2.3 時間隔パーティション化

時間隔パーティション化はレンジ・パーティション化の拡張で、必要に応じてパーティションを自動的に作成するようにデータベースに指示します。

検証スクリプトは現在、グループのすべての表でパーティション名が同じであることを要求します。時間隔パーティション化システムは、パーティションごとに異なるパーティション名を生成します。したがって、これはサポートされません。

B.2.2.4 グローバル・ハッシュ索引

グローバル・ハッシュ索引の使用は、Oracle SOA Suiteの表のパーティション化とは独立しています。

Oracle SOA Suiteは絶え間なく行を挿入し、索引キーの多くは単調増加します。BTREE構造の索引はこれらのキーを挿入し、Oracle Real Application Clusters (Oracle RAC)の設定全体で非常にホットになる可能性がある数個のデータベース・ブロックのみをターゲットにします。これは通常AWRレポート内で、過剰なバッファ・ビジー待機として示されます。多数のデータベース・ブロックにわたって索引キーをランダムに分散させるために、グローバル・ハッシュ索引を使用します。

B.2.2.5 パーティション・プルーニング

レンジ・パーティション・キーが述語として使用されている場合は、オプティマイザは検索するパーティションの数をプルーニングできます。Oracle SOA Suiteおよび特にOracle Enterprise Manager Fusion Middleware Controlは、現在SQL問合せでパーティション・キーを使用しないので、このパフォーマンス機能を利用しません。

同一レベル・パーティション化の要件によって、パーティション・キーは、コンポーネントの作成日ではなくSOAコンポジット・アプリケーションの作成日を使用して移入されます。コンポーネント(Oracle BPEL Process Manager、Oracle Mediatorおよびヒューマン・ワークフロー)には自らの作成日があり、これはコンソールの問合せで使用されます。

Oracle BPEL Process Managerの例としては、次のようなものがあげられます。

- パーティション・キー: 表CUBE_INSTANCE 列CPST_INST_CREATED_TIME

- 作成日: 表CUBE_INSTANCE 列CREATION_DATE

B.2.2.6 パーティションのパージ

特に行移行スクリプトを使用したときは、パーティション化された表をパージすることが必要になる場合があります。これは、メンテナンスのために表のパーティション化を行うという目的にそぐわないことで、ALTER TABLE ... DROP PARTITIONコマンドによってデータが一括して削除される可能性があります。

パーティション化された表をパージしようとすると、多くの場合、解析パフォーマンスの問題が発生します。パーティションをパージする必要がある場合は、パーティションの縮小も行ってください。詳細は、「領域管理の理解」を参照してください。

B.2.3 監査レベルの低減

この項では、Oracle SOA Suiteスキーマに書き込まれるデータとSOAコンポジット・アプリケーションの監査レベルを下げる方法についてのチューニング情報を提供します。

B.2.3.1 本番環境の監査レベルの設定

Oracle Enterprise Manager Fusion Middleware Controlの「SOAインフラストラクチャの共通プロパティ」ページで、すべての本番環境の「監査レベル」を「本番」に設定します。これは、本番でのすべてのOracle SOA Suiteドメインの標準設定です。それぞれのコンポーネントは、SOAコンポジット・アプリケーションのレベルとは独立して設定できます。ただし、「本番」が最小設定になります。「監査レベル」を「開発」から「本番」に変更すると、(個々のコンポーネントの監査設定をチューニングしないで)パフォーマンスを改善できます。

監査を無効にすると(ビジネス環境でそれが可能な場合)、パフォーマンスが大幅に向上します。「本番」を「オフ」に変更すると、(個々のコンポーネントの監査設定をチューニングしないで)パフォーマンスを改善できます。ただし、監査を無効にできない場合は、次の手順に従って監査レベルを下げることをお薦めします。

監査証跡が不要な同期BPELコンポーネントの場合は、次の設定を使用します。

- inMemoryOptimization = true

- completionPersistPolicy = faulted

このように設定すると、同期プロセスはインスタンス・フォルトが発生した場合のみ監査証跡に表示されます。

inMemoryOptimizationおよびcompletionPersistPolicyの設定の詳細は、『Oracle SOAスイートでのSOAアプリケーションの開発』の付録「デプロイメント・ディスクリプタのプロパティ」を参照してください。

「監査レベル」の設定の詳細は、「SOAインフラストラクチャ・プロパティの構成」を参照してください。

注意:

これらの設定は同期BPELプロセスに使用し、どのタイプであっても非同期BPELプロセスには使用しないでください。

B.3 接続およびトランザクション・タイムアウトのトラブルシューティング

この項では、接続およびトランザクション・タイムアウトの問題をトラブルシューティングする方法について説明します。

B.3.1 接続タイムアウトの解決

次のような状況では、接続タイムアウト・エラーが発生する可能性があります。

- 処理に30秒以上かかる大きなペイロードのSOAコンポジット・アプリケーションを実行する場合。

- Oracle Enterprise Manager Fusion Middleware Controlの「Webサービスのテスト」ページから、大きいペイロードを使用してストレス・テストを起動している場合。

- ファイル・アダプタ・サービスを使用して、コンポジットに大量のメッセージ・ファイル(100万)を渡している場合。

トランザクション・タイムアウト・プロパティを増やして、こうしたタイムアウト・エラーを回避する手順は、次のとおりです。

1. Oracle WebLogic管理コンソールにログインします。

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

3. 「タイムアウト」の値を変更します(デフォルトは30です)。

4. 「保存」をクリックします。

5. Oracle WebLogic Serverを再起動します。

B.3.2 電子メール通知のタイムアウトの解決

大量の電子メール通知(たとえば、200,000通)が送信された場合、接続タイムアウト・エラーが発生する可能性があります。

そのようなタイムアウト・エラーを回避するには、次のようにします。

1. JTA Timeout Seconds値を1200に増やします。

2. NotificationSender、NotificationServiceBeanおよびTaskNotificationSender EJBのEJBタイムアウトを1300に変更します。「リモートWebサービスへの長時間実行される同期コールによるエラーの発生または非同期トランザクションの長時間後のエラー・リターン」を参照してください。

3. データ・ソースXAトランザクション・タイムアウトの値を1330に増やします。

4. データベースで、Distributed_lock_timeoutパラメータの値を1400に変更します。

注意:
ここでの重要な点として、データ・ソースXAトランザクション・タイムアウトをJTAトランザクション・タイムアウトより大きく、Distributed_loc_timeoutがデータ・ソースXAトランザクション・タイムアウト値よりも大きくする必要があることに注意してください。

5. これらを変更した後に、Oracle WebLogic Serverを再起動します。

B.3.3 データベース接続値を増やす

データベースへの接続が遅いと、次のエラー・メッセージが表示される場合があります。

090304)): oracle.toplink.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: Internal error: Cannot obtain
XAConnection weblogic.common.resourcepool.ResourceDeadException: Pool
SOADataSource has been disabled because of hanging connection tests, cannot
allocate resources to applications.

このことが発生した場合は、次の手順を実行します。

1. Linuxでは$DOMAIN_HOME/bin/setSOADomainEnv.shファイルを、WindowsではDOMAIN_HOME\bin\setSOADomainEnv.cmdファイルを開きます。

2. DOMAIN_HOME\bin\setSOADomainEnv.cmdファイルを開きます。

3. 太字で表示されている行を非コメント化します。

# 8331492: Value of weblogic.resourcepool.max_test_wait_secs is 10
# seconds. It can be increased by uncommenting line below if your database
# connections are slow. See SOA documentation for more details.
EXTRA_JAVA_PROPERTIES="${EXTRA_JAVA_PROPERTIES}
-Dweblogic.resourcepool.max_test_wait_secs=30"
export EXTRA_JAVA_PROPERTIES

4. 変更を保存して、管理対象のOracle WebLogic Serverを再起動します。

B.3.4 SOAインフラストラクチャの障害後にデプロイメント・アーカイブのEJBトランザクション・タイムアウト値を更新する

Oracle WebLogic Server管理コンソールの「デプロイメント」→展開されたSOAインフラストラクチャ・アプリケーション→「FacadeFinderBean」→「構成」タブで、「FacadeFinderBean」プロパティのトランザクション・タイムアウト値を更新すると、SOAインフラストラクチャの再起動後に次のエラーが発生することがあります。

java.lang.IllegalArgumentException: Cannot convert value of type [$Proxy223
implementing
oracle.bpel.services.workflow.verification.IVerificationService,org.springframe
work.aop.SpringProxy,org.springframework.aop.framework.Advised]
to required type
[oracle.bpel.services.workflow.verification.IVerificationService] for
property 'verificationService': no matching editors or conversion strategy found
Message icon - Warning Errors were encountered while performing this operation.

また、SOAインフラストラクチャのステータスも失敗として表示されます。

このエラーはFacadeFinderBeanに固有のものではありません。SOAインフラストラクチャ・アプリケーションの一部であるすべてのEJBにも当てはまります。

このエラーを解決するには、デプロイメント・アーカイブのトランザクション・タイムアウト設定を手動で変更する必要があります。

トランザクション・タイムアウト設定を更新する手順は、次のとおりです。

1. デプロイメント・アーカイブでfabric-ejb.jarファイルを開きます。

2. META-INF/weblogic-ejb-jar.xmlファイル内のトランザクション・タイムアウト値を大きくします。

3. JARファイルを作成しなおします。

4. 「管理対象サーバーとSOAインフラストラクチャの停止と起動」の説明に従って、SOAインフラストラクチャが含まれている管理対象サーバーを再起動します。

注意:

この問題は、SOAインフラストラクチャの一部としてデプロイされたEJBを更新するときにも発生することがあります。この問題が発生した場合は、それらのEJBに含まれている対応するJARファイルを同様の方法で更新する必要があります。

B.3.5 リモートWebサービスへの長時間実行される同期コールによるエラーの発生または非同期トランザクションの長時間後のエラー・リターン

リモートWebサービスに対して長時間実行した同期コールが、JTAトランザクション・ロールバック・エラーで終了する場合があります。(SOAサーバーに対するコールなど)非同期コールを行うトランザクションを実行すると、アプリケーションがエラーを返す場合もあります。サーバー・ログには、この動作の原因となる可能性があるJTAトランザクション・タイムアウトが示されます。

Oracle WebLogic Server管理コンソールで、JTAトランザクションのタイムアウトをチェックする手順は次のとおりです。

1. Oracle WebLogic Server管理コンソールにログインします。

2. 「ドメイン構造」で、「サービス」→「JTA」の順に選択して、タイムアウト値をチェックします。
トランザクションが30秒を超えると常にタイムアウトする場合に、それがカスタム・コンポジット同期クライアント呼出しの場合は、設計アプローチを再検討する必要があります。場合によっては、非同期トランザクションとして外部Webサービスを呼び出す方法が最善となります。

長時間実行される同期トランザクションをサポートするためにJTAを増加させることは、単なる暫定的なメカニズムです。JTAトランザクション・タイムアウト設定の変更の詳細は、「接続タイムアウトの解決」を参照してください。

3. 同期クライアントの呼出しに長時間がかかる場合は、システムにパフォーマンスの問題がないかどうかをチェックして、それらの解決を試みます。

4. JTAタイムアウト設定との関連でsyncMaxWaitTimeプロパティとBPELのEJBトランザクション・タイムアウト設定の適切な値をチェックした後でのみ、必要に応じてJTAタイムアウトの値を増加します。
syncMaxWaitTimeプロパティの表示および変更の詳細は、「BPELプロセス・サービス・エンジン・プロパティの構成」を参照してください。

5. BPEL EJBトランザクション・タイムアウト設定を表示および変更するには、次の手順を実行します。

a. Oracle WebLogic Server管理コンソールにログインします。

b. 「ドメイン構造」で、「デプロイメント」をクリックします。

c. 「soa-infra」→「EJB」の順に展開します。

d. 次のEJBを更新します。
- BPELActivityManagerBean

- BPELDeliveryBean

- BPELDispatcherBean

- BPELEngineBean

- BPELFinderBean

- BPELInstanceManagerBean

- BPELProcessManagerBean

- BPELSensorValuesBean

- BPELServerManagerBean

e. 「保存」をクリックします。

f. Oracle WebLogic Serverを再起動します。

6. 非同期トランザクションについては、BPEL EJBトランザクション・タイムアウトとJTAトランザクション・タイムアウトの両方の値をチェックして、必要に応じて調整します。

B.3.6 HTTP POSTタイムアウト値の増加によるパイプの破損エラーの解決

次に示すパイプの破損エラーが表示されたら、Oracle WebLogic Server管理コンソールでHTTP POSTタイムアウト値を大きくしてください。

<BEA-000000> <got FabricInvocationException, Cikey=73410002, FlowId=10001, Current
Activity Key=73460002-BpInv0-BpSeq0.3-3, Current Activity Label=Invoke_1,
ComponentDN=default/TestClientWSMEDWSBPELFAProj!2.0*soa_
b2e412f3-1167-4a9a-bbe0-73795f0743d4/BPELProcess1
java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:113)

HTTP POSTタイムアウト値を大きくする手順は、次のとおりです。

1. Oracle WebLogic Server管理コンソールにログインします。

2. 「ドメイン構造」で、「環境」→「サーバー」の順に選択します。

3. 「名前」列で、SOAサーバーをクリックします。

4. ページ上部で、「プロトコル」タブをクリックします。

5. 「POSTタイムアウト」フィールドで、値を最大の120に増やします。

B.3.7 大規模ドキュメントを処理する際の例外エラーの解決

大きな添付ファイルを処理する際に、次に示すエラーが表示されたら、EJBプロパティ・タイムアウト値を増やしてください。

java.sql.SQLException: Unexpected exception while enlisting XAConnection
java.sql.SQLException: Transaction rolled back: Transaction timed out after 501
seconds

EJBプロパティ・タイムアウト値を増やす手順は、次のとおりです。

1. Oracle WebLogic Server管理コンソールにログインします。

2. 「ドメイン構造」で、「デプロイメント」をクリックします。

3. 「soa-infra」→「EJB」の順に展開します。

4. ページ下部で、「EJB」セクションを展開します。

5. 次のタイムアウト値を増やします。

- BpelEngineBean

- BpelDeliveryBean

- CompositeMetaDataServiceBean

B.4 ランタイム診断のトラブルシューティング

この項では、ランタイムの問題をトラブルシューティングする方法について説明します。

B.4.1 受信処理のワーク・マネージャ・スレッドが利用不可能

決まった数のワーク・マネージャ・スレッドが受信処理に割り当てられているため、Oracle SOA Suiteでスレッドの上限に達した場合、次に示す例外メッセージが表示されます。Oracle SOA Suiteは正常に処理をバック・アウトし、リソースのボトルネックによりスタック・スレッドのシナリオが発生することを防ぎます。このエラーが表示されたら、要求を再送信する必要があります。

<Mar 11, 2014 2:10:16 PM PDT> <Error> <HTTP> <BEA-101017>
<[ServletContext@207971169[app:soa-infra module:/soa-infra path:null
spec-version:3.0]] Root cause of ServletException.
java.lang.Exception: Unable to acquire the workmanager thread resource in
order to process requests directed at compsoite
default/POProcessing!1.0*soa_7a9c6320-c26e-4df2-b29f-7b80782d3693
at
oracle.integration.platform.blocks.deploy.CompositeLazyLoader.load(CompositeLa
zyLoader.java:112)
at
. . .
. . .

B.4.2 「WSDLを読み取れません」というOracle SOA Suite実行時エラー

エンドポイントを参照できない場合、または不適切なデプロイメント・プラン・ファイルを使用してコンポジットがデプロイされている場合は、次のエラーが表示されます。

oracle.fabric.common.FabricException: Cannot read WSDL

この問題を診断する手順は次のとおりです。

1. 参照用のエンドポイントが稼働していることを確認します。

WSDLまたはエンドポイントがエラーに示されます。そこで、Oracle Enterprise Manager Fusion Middleware Controlからサービスを参照して、それがアクティブかどうかをチェックできます。サービスがアクティブでエンドポイントが到達可能であったら、SOAインスタンスを検索して、Oracle Enterprise Manager Fusion Middleware ControlのBPELプロセス・サービス・エンジンの「リカバリ」タブでそれを再試行します。

2. 拡張やカスタマイズの場合は、デプロイメント構成プランで適切なURLが更新されていることを確認します。

sca_extractPlanを使用してプランを抽出する例を含め、デプロイメント・プランの詳細は、『Oracle SOA SuiteでのSOAアプリケーションの開発』のデプロイメント前のターゲット環境向けのアプリケーションのカスタマイズに関する項を参照してください。

B.4.3 BPELインスタンスの自動リカバリで特定インスタンスがリカバリされない

BPELプロセスには、未解決の起動メッセージやコールバック・メッセージ、指定のしきい値の時間に完了していないアクティビティなど、リカバリ可能なアクティビティを自動的にリカバリしようとする自動リカバリ機能が装備されています。ただし、自動リカバリ機能は、数個のインスタンスのリカバリのみを試行し、固定された回数だけ再試行します。一部のインスタンスが自動的にリカバリされない場合は、自動リカバリ・パラメータの構成によってそれらのインスタンスはピックアップされないと考えられます。

この問題の解決方法:

- 自動的にリカバリするメッセージの最大数を設定します。
デフォルトでは、Oracle BPEL Process Managerの自動リカバリ機能は、それぞれのリカバリ試行ごとに送信する50件のメッセージを処理します。これはmaxMessageRaiseSizeプロパティによって制御されます。

1. ナビゲーション・ペインで、「soa-infra」(SOA_cluster_name)を右クリックします。

2. 「SOA管理」→「BPELプロパティ」→「詳細BPEL構成プロパティ」→「RecoveryConfig」の順に選択します。

3. 「RecurringScheduleConfig」→「maxMessageRaiseSize」と「StartupScheduleConfig」→「maxMessageRaiseSize」の両方を開きます。
それぞれのデフォルト値は50です。負の値に設定すると、データベースから選択されたすべてのメッセージがリカバリのために送信されます。0(ゼロ)の値を指定すると、メッセージはデータベースから選択されません(事実上のリカバリの無効化)。50を超えるメッセージをリカバリするには、その値にプロパティ値を設定します。サーバーに対するリカバリの影響を制限するには、このプロパティを使用します。

- 1つのメッセージに対して自動リカバリを試行する最大回数を設定します。
また、同じリカバリ可能インスタンスで実行する自動リカバリ試行の回数も構成できます。入力した値によって、起動メッセージおよびコールバック・メッセージがリカバリされる最大回数が指定されます。値が0(デフォルト値)の場合、すべてのメッセージがリカバリされます。1つのメッセージに対するリカバリ試行の数が、指定された値を超過すると、そのメッセージにはリカバリ不能のマークが付けられます。

Oracle Enterprise Manager Fusion Middleware Controlで起動メッセージとコールバック・メッセージの自動リカバリ試行を構成する手順は次のとおりです。

1. ナビゲーション・ペインで、「soa-infra」(SOA_cluster_name)を右クリックします。

2. 「SOA管理」→「BPELプロパティ」→「詳細BPEL構成プロパティ」の順に選択します。

3. 「MaxRecoverAttempt」を選択し、「値」フィールドに値を入力します。

4. 「適用」をクリックします。
自動リカバリは、使用しないほうがよい場合もあります。サービスが多重呼出し不変でない場合は、破損が発生する可能性があります。さらに、自動リカバリ機能はコンポジットを、最後に保存された状態にリストアしますが、これは非同期の呼出しや待機などの直後の可能性があります。したがって、大量のリカバリを実行する前に、プロセスの動作とそれが次に何をするかを理解しておくことが重要です。大量の自動リカバリは、コンポジット・エラーの根本原因が修正された後(たとえば、利用できなかったサービスが利用可能になった後や領域不足のデータベースが修正された後など)でのみ試行してください。また、自動リカバリによって、エラー・シナリオで予期しないロードがトリガーされる可能性もあります。これにより、リモート・サーバー上でブロックするスレッド数が増加して、結果としてSOAサーバーで次々とハングが発生する可能性があります。

詳細は、「Oracle BPEL Process Managerの自動リカバリの構成」を参照してください。

B.4.4 障害発生時に一部コンポジットは複数回再試行される

BPELプロセス・フローでエラーが発生すると、それが呼び出したすべてのアクティビティとともに再試行されます。これは望ましくない場合もあります。

プロパティGlobalTxMaxRetry(デフォルト値は3)は、再試行可能としてエラーが識別されたときに実行する再試行回数を指定します。たとえば、Webサービスを数回呼び出した後で、データ・ソース・エラーによってデハイドレーションが失敗した場合は、これは再試行可能なエラーとして識別され、前のデハイドレーション状態のすべてのアクティビティが再試行されます。再試行されているアクティビティが多重呼出し不変でない場合(つまり、それらの状態が再試行ごとに変化する可能性があり、同じ動作の提供が保証されない場合)は、複数回の再試行によって問題が生じる可能性があります。

この状況を修正するには、composite.xmlファイルのパートナ・リンク設定セクションでidempotentをfalseに設定して多重呼出し不変でないアクティビティを明確にマークすることでコンポジットをカスタマイズして、再試行を防止します。

<property name="bpel.partnerLink.partner_link_name.idempotent">false</property>

idempotentプロパティはOracle Enterprise Manager Fusion Middleware Controlでは設定できません。

また、システムMBeanブラウザでGlobalTxMaxRetryを0に設定することもできます。

GlobalTxMaxRetryを設定する手順は、次のとおりです。

1. 「soa-infra」(SOA_cluster_name)を右クリックします。

2. 「SOA管理」→「共通プロパティ」の順に選択します。

3. 「詳細SOAインフラ拡張構成プロパティ」をクリックします。

4. 「GlobalTxMaxRetry」をクリックします。

5. 「値」フィールドに、適切な値を入力します。

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

idempotentプロパティの詳細は、『Oracle SOA SuiteでのSOAアプリケーションの開発』のパートナ・リンク操作レベルでの冪等性の管理に関する項を参照してください。

B.4.5 アプリケーション・トランザクションが完了せず、基になるコンポジットが実行状態でスタックしている

アプリケーション・トランザクションが完了していないとします。たとえば、注文書のステータスが処理中のままになっている、といった場合です。ビジネス・フロー・インスタンスをチェックすると、コンポジットが実行状態でスタックしていることがわかります。この場合は、コンポーネントはおそらく動作していません。多分失敗しており、リカバリが必要な場合があります。

フォルトは次のような様々な理由で発生する可能性があります。

- BPELアクティビティがエラー(たとえば、ビジネス・エラー、セキュリティ認証エラー、他のエラーなど)によって失敗した場合。

- BPELアクティビティが、利用できない外部Webサービスを呼び出した場合。

- 管理者がOracle Enterprise Manager Fusion Middleware Controlを使用してBPELアクティビティをすでに終了している場合。

- BPELアクティビティが非同期ADFサービスを呼び出して、メッセージがAQ JMSキューでスタックした場合。

- BPELアクティビティが非同期ADFサービスを呼び出したが、Oracle SOA Suiteが利用できないために、コールバック・メッセージが到着しなかった場合。

- BPELアクティビティが同期ADFサービスを呼び出し、これに長時間かかっている場合(またはハングしている場合)。

- ネットワーク・エラーが発生した場合。

この問題を診断する手順は次のとおりです。

1. Oracle Enterprise Manager Fusion Middleware Controlにログインします。

2. ナビゲータ・ペインで、「domain_name」→「SOA」に移動します。

3. 「soa-infra」(SOA_cluster_name)をクリックします。

4. 「フロー・インスタンス」タブをクリックします。

5. ビジネス・フロー・インスタンスを検索し、フローIDをクリックします。
「フローのトレース」ページが表示されます。

インスタンスが表示されない場合(および「SOAインフラストラクチャの共通プロパティ」ページで「監査レベル」が「オフ」に設定されていない場合)は、メッセージがOracle SOA Suiteの外部でスタックしていることを意味します。

メッセージがOracle Mediatorに到達したものの、BPELフローをインスタンス化していない場合は、エラーが原因でBPELインスタンスが最初からロールバックされている可能性があります。

BPELフローが存在する場合は、通常は「フローのトレース」ページの「フォルト」セクションに、根本原因をトレースできる失敗したサービスが表示されます。

6. 「トレース」セクションで、BPELプロセスをクリックします。

7. BPEL監査証跡を開いて、サービスが失敗した正確なポイントを表示します。
この情報は、BPELフロー・トレースの「フォルト」タブでも確認できます。これはまた、フォルトをリカバリできるかどうかも示します。

8. 「raw XMLの表示」リンクをクリックします。
このリンクから同じ情報を確認して、エラーを表示できます。例:

...
<message>Faulted while invoking operation "modifyUserRoles" on provider
"UserService". </message><details>
...
<tns:message>JBO-27023: Failed to validate all rows in a
transaction.</tns:message>
<tns:severity>SEVERITY_ERROR</tns:severity>
...
<message>The transaction was rolled back. The work performed for bpel instance
"451042" was rolled back to the previous dehydration point, but the audit
trail has been saved.
You can recover the instance from the recovery console by resubmitting the
callback message or activity for execution.</message

インスタンスは前のデハイドレーション・ポイントにロールバックされているため、ステータスは「実行中」のままになります。

9. 「監査証跡」タブで、次をメモします。

- コンポジット名(例: POComposite)

- コンポーネント(例: UpdateGuid BPELプロセス)

- BPELインスタンスID(例: bpel:451042)

これはすべて、リカバリ可能なインスタンスのリカバリで使用されます。「監査証跡」では、リカバリ不可能なビジネス・フォルトとしてエラーがマークされている場合がありますが、メッセージのリカバリ可能性はBPELプロセス・サービス・エンジンの「リカバリ」タブで確認できます。

10. インスタンスのリカバリを試行するには、「soa-infra」(SOA_cluster_name)を右クリックして、「サービス・エンジン」→「BPEL」を選択します。

11. 「リカバリ」タブをクリックします。

12. 「タイプ」リストから「アクティビティ」を選択します。

13. 手順9でメモしたコンポジットとコンポーネントの名前を指定して、「検索」をクリックします。

14. 固有のBPELインスタンスIDを見つけます。「リカバリ可能」とマークされているフォルトをリカバリできます。

15. 「タイプ」リストで他のリカバリ・オプションがある場合はそれをチェックします(例: 「起動」および「コールバック」)。

注意:

リカバリ可能なメッセージは、SOAインフラストラクチャの「フロー・インスタンス」ページからも検索可能です。

16. インスタンスがリカバリ可能とマークされていない場合は、サービスを再度呼び出すことはできません(おそらく多重呼出し不変ではないため)。場合によっては、リカバリ不可能な多重呼出し不変でないトランザクションの問題を解決するために、Oracleサポート・サービスに診断情報を提供することが必要になります。

17. BPELアクティビティが非同期ADFサービスを呼び出した場合に、メッセージがAQ JMSキューでスタックしているときは、server.logファイルとserver-diagnostic.logファイルを表示して、JRF Webサービス・インフラストラクチャがログしたメッセージ・メタデータのロギングを確認できます。
さらに、ADF診断ログは、必要に応じてデバッグにも使用できます。

a. 「ECID」フィールドを使用して、対応するADFサービス・ロギングをこれを呼び出したSOAコンポジット・アプリケーションと相関付けて追跡します。

b. Oracle Enterprise Manager Fusion Middleware Controlでログを表示する際に、「広範囲のターゲット・スコープ」ドロップダウン・リストをクリックして、「farm_name」/「domain_name」(Oracle WebLogicドメイン)を選択し、ドメイン全体のメッセージを表示します。

c. Oracle WebLogic Serverドメインの「ログ・メッセージ」ページの「選択したターゲット」セクションで、手順17.aで取得した値を持つ「ECID」フィールドが検索に含まれていることを確認します。

d. 実行コンテンツID (ECID)のログ・レコードを検索および表示して、問題をメモします。
1つのECIDについて、いくつかのルート・インスタンス(最上位クライアント)があります。適切なインスタンスにドリルダウンして、具体的なフォルトを探す必要があります。

e. コンポーネントが正常に完了したか、またはエラーが発生して終了したかどうかを観察します。『Oracle Fusion Middlewareの管理』のログ・ファイルの表示と検索に関する項を参照してください。

トランザクションとメッセージをリカバリする様々な方法については、次の章を参照してください。

- Oracle Enterprise Manager Fusion Middleware ControlのSOAコンポジット・アプリケーション・ページからリカバリするには、「SOAコンポジット・アプリケーションのビジネス・フロー・インスタンスの管理」を参照してください。

- BPELプロセス・サービス・コンポーネントとBPELプロセス・サービス・エンジンのメッセージ・リカバリ・ページからリカバリするには、「BPELプロセスのサービス・コンポーネントとエンジンの管理」を参照してください。

B.4.6 分析測定イベント処理中のエラー

BPMN、ヒューマン・ワークフロー、CASE分析測定イベントの処理中に、BAMが停止、またはデータベースが使用不可などの理由によってエラーが発生すると、(i)分析メッセージ処理関連のエラーがログに表示され、(ii) BPM_MEASUREMENT_ACTION_EXCEPS表にこれらのエラーのレコードが1つ以上記録されます。これらのイベントは2つのメソッドのいずれかを使用して再公開できます。

測定アクション・サービス・クライアントの使用

republishErroredEvents操作を使用して、24時間以内にエラーが発生した測定イベントを再公開します。この操作はAnalyticsConfig mbeanの一部として使用できます。エラー・イベントを再公開するには、次のアクティビティを実行します。プロンプトが表示されたら、パスワードを入力します。

java    [CLASSPATH]   [PROPERTIES]  oracle.bpm.metrics.action.MeasurementActionRecoveryClient

CLASSPATH:
-classpath $MW_HOME/soa/soa/modules/oracle.bpm.runtime_<version number of instance>/oracle.bpm.analytics.metrics.interface.jar:
$MW_HOME/soa/wlserver/server/lib/weblogic.jar

次の必須プロパティを入力します。

-Dhost=<host> (soa server host name)
-Dport=<port> (soa server port)
-Duser=<admin user> (soa server admin user name)
-DcompositeName=<soa composite name> (soa server host name)

必要に応じて、次のオプションのプロパティを入力します。

-Drealm = <hostrealm Name>  (default is  jazn.com)
-Dprotocol=<protocol>  (jndi protocol. Default is t3)
-DinitialContextFactory = <jndi initial context factory> (Default is weblogic.jndi.WLInitialContextFactory)
-DmeasurementAction=<action name>  (measurement action name.  Default is ProcessMetrics (BAM 12c))
-DrangeStartDate=mm/dd/yyyy  (Range start date . Default is 24 hours before rangeEndDate )
-DrangeEndDate=mm/dd/yyyy (Range end date. Default is current time)
-Ddebug=true/false (if true, prints the exception stacktraces in case of any error. default is false)

Oracle Enterprise Manager AnalyticsConfig MBean - republishErroredEvents操作の使用

republishErroredEvents操作もAnalyticsConfig mbean (mbean object name = oracle.as.soainfra.config:name=analytics,type=AnalyticsConfig,Application=soa-infra)の一部として使用できます。Oracle Enterprise Manager管理者は、24時間以内にエラーが発生したメッセージにアクセスし、再公開できます。

1. Oracle Enterprise Managerにログインします

2. 「oracle.as.soainfra.config」、「Server:AdminServer」、「AnalyticsConfig」を展開し、「analytics」を選択します。

3. 右側のペインで「操作」タブを開きます。

4. 「republishErroredEvents」をクリックします。

5. 前述の説明に従って、必要な詳細を入力します。

6. 「起動」をクリックします。

B.5 ヒューマン・ワークフローのトラブルシューティング

この項では、ヒューマン・ワークフローの問題をトラブルシューティングする方法について説明します。

B.5.1 ヒューマン・ワークフロー・サービス・エンジンが利用不可能

SOAサーバー起動時に、次に示す例外が表示される場合があります。この例外は、SOAサーバーがまだ初期化中であるために発生します。SOAサーバーの初期化が完了するまで待ちます。

ORABPEL-30132

exception.code:30132
exception.type: ERROR
exception.severity: 2
exception.name: Workflow Service Engine not ready. SOA server is still
starting.
exception.description: Could not obtain instance of Workflow Service Engine
as the SOA server is still initializing.
exception.fix: Wait for SOA server to finish starting up, and retry.

Oracle Enterprise Manager Fusion Middleware ControlでのSOAサーバーの初期化ステータスの監視の詳細は、「SOAインフラストラクチャの全体的なランタイム・ヘルスの表示」を参照してください。

B.5.2 タスク割当て、ルーティングおよびエスカレーションの問題

表B-2に、タスクの割当て、ルーティングおよびエスカレーションの問題に関する症状と考えられる原因、考えられる解決策を示します。

表B-2 タスクの割当て、ルーティングおよびエスカレーションの問題のトラブルシューティング

症状

考えられる原因

考えられる解決策

割当てが行われずにタスクが完了します。

最も多い問題は、タスクの割当て先の指定にXPath式を使用していて、その式で該当するノードが算出されないことです。その他には、参加者のスキップ条件が正しくないなどの問題が考えられます。

1. XPath式に関するすべての問題を修正します。

2. 指定されたデータのXPath式で結果が取得できることを確認します。

3. ヒューマン・タスク・エディタで、タスクの参加者の「スキップ・ルールの指定」チェック・ボックスで指定されているスキップ条件を確認します。

ビジネス・ルールでリスト・ビルダーが返されていません。

タスクの参加者の指定にビジネス・ルールを使用する場合は、ビジネス・ルールによって最低1つのリスト・ビルダーが返されることを想定しています。ビジネス・ルールで参加者が不要であることを決定する場合は、ignoreParticipant(...)関数を使用する必要があります。正しいモデルに修正しても、このエラーが表示される場合は、ルールが起動されていない可能性があります。この表の「複数のルールを定義している場合にヒューマン・ワークフロー・タスクで正しくないユーザーが選択されたり、次のメッセージのエラーが発生します」のタイトルの症状を参照してください。

1. ignoreParticipant(..)関数を使用して、ルールのモデルを作成します。

2. 最低1つのルールが起動されるように、ルールのモデルが正しく作成されていることを確認します。

ビジネス・ルールで別のタイプのリスト・ビルダーが返されています。

タスクの参加者の指定にビジネス・ルールを使用する場合は、ビジネス・ルールによって同じタイプのリスト・ビルダーが返されることを想定しています。

ルールを修正します。

複数のルールを定義している場合にヒューマン・ワークフロー・タスクで正しくないユーザーが選択されたり、次のメッセージのエラーが発生します。

Ruleset returned lists with
different list builder

ヒューマン・ワークフロー・タスクでは、実行時にユーザーのリストのフェッチを試行したときに、次のエラーが発生することがあります。

Ruleset returned lists with different list builder

このエラーは、タスク詳細コメント・フィールドに表示されます。また、タスクにより正しくないまたは想定されていないユーザーや承認者が選択されている可能性があります。これは主に、重複するルールの設定が原因で発生します。タスクの参加者の指定にビジネス・ルールを使用する場合は、ビジネス・ルールによって同じタイプのリスト・ビルダーが返されることを想定しています。

また、ルールセット内のルールは、トランザクションに対して1つのみが該当する必要があります。複数のルールが該当する場合は、最も高い優先度のルールに関連付けられているアクションが実行されます。該当する複数のルールの優先度が同じ場合は、リスト内の最初のルールが選択され、そのアクションが実行されます。

重複するルールを記述しないようにします。各リスト・ビルダーからの制約は、異なるものとし、混在させることはできません。異なるリスト・ビルダーによって複数のルールがトリガーされると、このエラーが発生します。また、1つの制約セットのみが適用されます。

ルールセット内のすべてのルールで、同じトランザクションに対して同じ優先度の複数のルールが該当しないように、優先度が定義されていることを確認してください。

詳細は、Oracle Business Process Management Studioを使用したビジネス・プロセスの作成を参照してください。

パラレル完了基準が満たされていても、パラレル割当て先がタスクの承認または拒否を行う必要があります。

パラレル参加者のための「参加者タイプの追加」ダイアログでは、すべてのパラレル参加者が完了するまで待機するか、または基準が満たされたら完了するように、実行時のヒューマン・タスクを構成できます。

「参加者タイプの追加」ダイアログで、完了について正しい選択を行います。

グループまたはロール内の各ユーザーに個別に割り当てられるものと想定していたタスクが、グループまたはロールに割り当てられます。

タスクの割当て先にグループまたはロールが使用された場合、すぐにタスクがそのグループまたはロールに割り当てられます。タスクの実行時に、個別に割り当てられるわけではありません。グループまたはロール内のいずれかのユーザーが、そのタスクを申告して処理する必要があります。パラレル参加者またはシリアル参加者とあわせて使用した場合に、このユーザーの解決は自動的に行われるものと考えられることが多いようですが、実際はそうではありません。

グループまたはロールのメンバーに個別に割り当てるには、XPath関数のids:getUsersInGroupおよびids:getUsersInAppRoleを使用します。

タスクでルーティング・ルールまたはルールベースの参加者を評価するデシジョン・サービスを呼び出したときに、エラーが発生します。

SOAインフラストラクチャ・インスタンスで、ペイロードの検証が有効になっています。

インスタンスの「ペイロードの検証」チェック・ボックスの選択を解除します。詳細は、「SOAインフラストラクチャ・プロパティの構成」を参照してください。

B.5.3 タスク・アクションの問題

表B-3に、タスク・アクションの問題に関する症状と考えられる原因、考えられる解決策を示します。

表B-3 タスク・アクションの問題のトラブルシューティング

症状

考えられる原因

考えられる解決策

ユーザーがタスクのアクションを実行できません。

最も多い問題は、その時点でそのタスクのそのアクションを実行する権限をユーザーが持っていないことです。

ユーザーがタスクの割当て先、所有者または作成者のいずれかであるか、または管理者であるかどうかを確認します。ユーザーがアクションの実行を許可されている場合は、サーバー・ログ・ファイルで、タスクの状態やタスクの割当て先、タスクを取得していたユーザー、許可されていたアクション、指定のタスクでそのユーザーが担当していた役割などの情報を含む、詳細なログ・メッセージを確認します。

タスクがロックされており、Oracle BPM Worklistで更新できません。ORA-30279エラーが表示されます(基礎となるORA SQL例外のORA-20001も表示されます)。

2人のユーザーが同じタスクを同時に更新しようとしています。

他のユーザーが終了するまで待機します。

B.5.4 通知の問題

表B-4に、通知の問題に関する症状と考えられる原因、考えられる解決策を示します。

表B-4 通知の問題のトラブルシューティング

症状

考えられる原因

考えられる解決策

次のエラー・メッセージが表示される場合があります。

[2012-07-05T09:13:05.246-04:
00] [soa_server1] [ERROR] []
[oracle.soa.services.workflow
.common] [tid:
[ACTIVE].ExecuteThread: '6'
for queue:
'weblogic.kernel.Default
(self-tuning)'] [userId:
<anonymous>] [ecid:
dc2ff0568380b04f:23824bc7:13
8570a4e67:-8000-000000000000
1716,0] [APP: soa-infra] <.>
[[ORABPEL-0
at
oracle.bpel.services.workflo
w.task.notification.TaskNoti
fications.notifyForTask(Task
Notifications.java:481)
. . .
. . .

電子メール通知メッセージの本文にアポストロフィがあるかどうかをチェックします。

<%string('À titre de
responsable fonctionnel, une
demande d'approbation
. . .

文字列にダブル・アポストロフィを追加することで、それぞれのアポストロフィをエスケープします。たとえば、メッセージに'dが含まれている場合は、次のようにこれをエスケープします。

<%string('d'd')%>

次のように変更します。

<%string('d''d')%>

電子メール通知が送信されません。

電子メール・ドライバの構成で使用されている送信(SMTP)サーバーの設定が正しくありません。

簡易メール転送プロトコル(SMTP)ポート、SMTPホスト、ユーザー名、パスワード、電子メールの値をチェックします。

ヒント: 値を検証するには、任意の電子メール・クライアントでこれらの値を使用してSMTPサーバーに接続します。

次の手順を実行して、Oracle Enterprise Manager Fusion Middleware Controlの設定を確認します。

1. ナビゲータで、「ユーザー・メッセージング・サービス」を右クリックします。

2. 「usermessagingdriver-email」→「電子メール・ドライバ・プロパティ」の順に選択します。

3. 特にこれらのプロパティの設定を確認してください。
- OutgoingMailServer

- OutgoingMailServerPort

タスクの電子メール通知が送信されません。

Oracle Enterprise Manager Fusion Middleware Controlの「ワークフロー通知プロパティ」ページで、「通知モード」が「なし」に設定されています。

この設定を「電子メール」または「すべて」に変更します。詳細は、「ヒューマン・ワークフロー通知プロパティの構成」を参照してください。

通知は次のエラー・メッセージのため送信されません。

No matching drivers found for
sender address = <address>

該当するチャネルに対するUser Messaging Serviceドライバが特定の送信者アドレス・リストで構成されていますが、アプリケーションが送信したメッセージに、一致しない送信者アドレスが設定されています。

注意: User Messaging Serviceサーバーは、アウトバウンド・メッセージの送信者アドレスを使用可能なドライバの送信者アドレスに対して照合(送信者アドレスが設定されている場合)して、メッセージの配信に使用する一致ドライバを検索します。ドライバが1つまたは複数の送信者アドレスを設定している場合、User Messaging Serviceサーバーは、一致する送信者アドレスを持つメッセージのみをそのアドレスに送信します。

次のタスクを実行します。

- Oracle Enterprise Manager Fusion Middleware Controlを使用して、該当するドライバの次の設定を確認します。
SenderAddresses

SenderAddressesの形式は、配信タイプ:アドレスのカンマ区切りのリストです。例:

EMAIL:sender@example.com,

EMAIL:sender@example2.com

- このドライバで、このチャネル(配信タイプ)のすべての送信者アドレスに対するアウトバウンド・メッセージを処理する場合は、このプロパティを空白のままにします。

- 構成が異なる同じチャネル(配信タイプ)に対して複数のドライバ・インスタンスがデプロイされている場合は、SenderAddressesを使用して、ドライバ・インスタンスを区別します。たとえば、あるインスタンスでSenderAddressesに値を設定して、一致する送信者アドレスを持つアウトバウンド・メッセージのみを処理するようにします。もう一方のインスタンスは、SenderAddressesを空白のままにして、送信者アドレスを指定しない、または最初のドライバ・インスタンスに一致しないすべてのアウトバウンド・メッセージを処理するようにできます。

- 構文が正しくないSenderAddresses(配信タイプ:が指定されていない場合など)は、ドライバ選択についてはUser Messaging Serviceサーバーによって無視されます。

通知は送信されますが、アクション可能ではありません。

Oracle Enterprise Manager Fusion Middleware Controlの「ワークフロー通知プロパティ」ページで、「アクション可能なアドレス」フィールドが設定されていません。

Oracle Enterprise Manager Fusion Middleware Controlで、「アクション可能なアドレス」フィールドに有効な電子メール・アドレスを構成します。詳細は、「ヒューマン・ワークフロー通知プロパティの構成」を参照してください。

User Messaging Serviceの電子メール・ドライバで受信サーバー設定を構成したときと同じ電子メール・アドレスが使用されていることを確認します。詳細は、「ヒューマン・ワークフロー通知プロパティの構成」を参照してください。

通知は送信されますが、アクション可能ではありません。

ヒューマン・ワークフロー・タスクがアクション可能な通知を送信するように設定されていません。

ヒューマン・タスク・エディタで(このエディタは、Oracle JDeveloperの.taskファイルをダブルクリックして起動できます)、「通知」セクションを展開し、「詳細」タブをクリックして、「通知をアクション可能にする」チェック・ボックスを選択します。

アクション可能な通知が送信されますが、応答してもアクションは実行されません。

アクション可能なアドレス・フィールドが正しくありません。

IMAPおよびPOP3のサーバーとポートの値を確認します。電子メール・ドライバの構成で、アクション可能なアドレス・フィールドが使用されていることを確認します。

ヒント: 値を検証するには、任意の電子メール・クライアントでこれらの値を使用して、IMAPサーバーまたはPOP3サーバーに接続します。

アクション可能な通知が送信されますが、応答してもアクションは実行されません。

デフォルト以外の電子メール・クライアントが通知受信用に構成されています。

ユーザーが承認リンクをクリックすると、デフォルトのメール・クライアント・ページが開き、このページで別の電子メール・サーバーに電子メールを送信できます。デフォルトの電子メール・クライアントを、アクション可能な通知を受信するように構成します。

「ワークフロー・タスク・サービス・プロパティ」ページの「アクション可能な電子メール・アカウント」フィールドに、アクション可能な受信電子メール・アカウントとして使用する正しい値を入力します。デフォルトのアカウント名は、「Default」です。

詳細は、「ヒューマン・ワークフロー・タスク・サービス・プロパティの構成」を参照してください。

ヒューマン・ワークフローのアクション可能な通知が送信されますが、応答してもアクションは実行されません。

電子メール・ドライバの受信メール・サーバーの設定が正しくありません。

Oracle Enterprise Manager Fusion Middleware Controlを使用して、次の電子メール・ドライバの設定を確認します。

- MailAccessProtocol(大文字でIMAPまたはPOP3)

- ReceiveFolder

- IncomingMailServer

- IncomingMailServerPort

- IncomingMailServerSSL

- IncomingUserIDs

- IncomingUserPasswords

- ImapAuthPlainDisable

アクション可能な通知が送信されますが、応答してもアクションは実行されません。

電子メール・クライアントに、電子メール・ドライバで使用されるアカウントと同じアカウントが構成されています。

ヒューマン・ワークフローの通知サービスがメールをダウンロードして処理する前に、電子メール・クライアントによってメールがダウンロードされて既読にマークされたり、削除されている可能性があります。電子メール・クライアントから、そのアカウントを削除します。

ユーザー通知またはヒューマン・ワークフロー通知が正しい配信タイプ(電子メール、SMSなど)を介して送信されるが、間違ったアドレスに送信されます。

ユーザー・メッセージング・プリファレンスで、ユーザーが、BPELプロセス・ユーザー通知またはヒューマン・ワークフロー通知で使用するために、セルフプロビジョニング・メッセージング・チャネルを作成しました。

注意: User Messaging Preferencesユーザー通知を使用すると、様々なユース・ケースに対する独自のメッセージング・チャネルを作成できます。ただし、これらのチャネルはBPELプロセス・ユーザー通知およびヒューマン・ワークフローには使用しないでください。

BPELプロセス・ユーザー通知またはヒューマン・ワークフロー・ユースケースには、セルフプロビジョニング・メッセージング・チャネルは使用しないでください(つまり、デフォルトのチャネルとして設定しないでください。また、このようなユースケースに対するメッセージ・フィルタで使用しないでください)。BPELプロセス・ユーザー通知およびヒューマン・ワークフローでは、配信タイプ・プリファレンスに対してのみUser Messaging Preferencesを使用します。実際のアドレスは、アイデンティティ管理システムのユーザー・プロファイルから取得されます。

注意: アイデンティティ管理システムのユーザー・プロファイルからのアドレスは、事前定義のチャネル名(勤務先電子メール、業務用携帯電話番号、勤務先電話番号、インスタント・メッセージなど)を使用して、ユーザー・メッセージング・プリファレンスを介して使用可能です。BPELプロセス・ユーザー通知およびヒューマン・ワークフロー・ユースケースには、かわりにこれらの事前定義済メッセージング・チャネルを使用してください。

電子メール通知でOracle BPM Worklistリンクが表示されます。

これはデフォルトの動作です。デフォルトでは、電子メール通知にはOracle BPM Worklistが表示されます。

次の手順を実行します。

1. ヒューマン・タスク・エディタの「通知」セクションで、「詳細」タブをクリックします。

2. 「ワークリストURLを通知に表示」チェック・ボックスの選択を解除します。

グループ通知のパフォーマンスが遅いです。

グループ通知のパフォーマンスは、グループ内のメンバーの数(グループのサイズ)によって決まります。

1. LDAPでグループ用の電子メールIDを設定します。この場合、ヒューマン・ワークフローは、各グループ・メンバーに対して個別の電子メールを送信するのではなく、グループの電子メールIDに1通の電子メールを送信します。

2. ヒューマン・タスク・エディタの「通知」セクションで、「詳細」タブをクリックします。

3. すべてのグループ・メンバーに対して1通の電子メールを送信する場合は、「グループ通知構成」 リストから「すべてのユーザー・アドレスを含む電子メールを送信」を選択します。このアクションによって、すべてのメンバーが宛先リストを確認できるようになり、すべてのメンバーに同じ内容が送信されます(ロケールなどは考慮されません)。

4. 個別に電子メールを送信するが、内容を複数のメンバーで再利用する場合は、「グループ通知構成」リストから「電子メールを個別に送信」(デフォルトの選択)を選択し、「ロケールに基づいて個別のタスク・フォームを使用」の選択を解除します。このアクションによって、グループ・メンバーは、各自のロケールで個別のメールを受信できます。通知内容を作成するために生成されるタスク・フォームは、同じロケールのメンバーで再利用されます。

B.5.5 タスク・ビューの問題

表B-5に、タスク・ビューの問題に関する症状と考えられる原因、考えられる解決策を示します。

表B-5 タスク・ビューの問題のトラブルシューティング

症状

考えられる原因

考えられる解決策

カスタム(マップ済属性)列のビューへの表示

属性マッピングは、特定のタスク・タイプに対して作成されます。マップ済属性を使用するには、ビューを1つ以上のタスク・タイプに関連付ける必要があります。

Oracle BPM Worklist (表示、作成または編集UI)の「定義」タブで、ビューに対してタスク・タイプを指定します。そのタスク・タイプのマッピングで使用されている属性ラベルが、ビューで使用可能な列として「表示」タブで使用できるようになります。

1つのビューは複数のタスク・タイプと関連付けることができます。「タスク・タイプ」ブラウザから、複数のタスク・タイプを選択できます。複数のタスク・タイプを選択した場合は、それらのすべてのタスク・タイプの属性ラベルが、そのビューで使用できるようになります。

ビューの権限受領者が、ビューの所有者に属するタスクを表示したり編集できます。

ビューがデータとして共有されています。この共有タイプでは、権限受領者が、まるでビューの所有者であるかのようにビューを使用できるため、ビューの所有者のタスクを表示して操作できます。

Oracle BPM Worklist (表示または編集UI)の「定義」タブで、「ビューの共有」が「定義のみ」に設定され、権限受領者がビューを自分のタスクに対して使用できるようになっていることを確認します。「ビューの共有」を「データ」に設定すると、権限受領者は、ビューをそのビューの所有者のデータに対して使用できるようになります。

新規標準ビューの作成

標準ビューは、管理権限を持つユーザーのみが作成できます。

1. ログインしているユーザーが管理権限を持っていることを確認します。

2. 通常どおり、Oracle BPM Worklist (作成または編集UI)を使用して、ビューを定義します。

3. 「標準ビューに追加」チェック・ボックスを選択します。
ビューが、標準ビューとして作成されます。

標準ビュー名の国際化

標準ビューの名前フィールドに指定した値をリソース・キーとして使用して、WorkflowLabelsリソース・バンドルから表示名を参照できます。

WorkflowLabelsリソース・バンドルに新規リソース・キーを追加します。このキーは、STD_VIEW.の接頭辞が付く、ビューに使用した名前です。(接頭辞の末尾にはピリオドが必要です。)

あるインスタンスで作成したビューと標準ビューの別のSOAサーバーへの移行

テストから本番への移行ユーティリティを使用する必要があります。

テストから本番への移行ユーティリティを使用すると、ユーザー・ビューと標準ビューをXMLファイルにエクスポートして、そのXMLファイルのビューを別のインスタンスにインポートできます。このユーティリティの詳細は、「ヒューマン・ワークフロー・データのテスト環境から本番環境への移動」を参照してください。

B.5.6 タスクの属性マッピングの問題

表B-6に、タスクの属性マッピングの問題に関する症状と考えられる原因、考えられる解決策を示します。

表B-6 タスクの属性マッピングの問題のトラブルシューティング

症状

考えられる原因

考えられる解決策

Oracle BPM Worklistで、パブリック属性へのマッピングにペイロード属性を使用できません。

Oracle BPM Worklistは、単純なペイロード属性へのマッピングの作成のみをサポートしています。Oracle BPM Worklist.でのマッピングの作成では、タスク・ペイロードの単純な属性のみが表示されます。

- ペイロードに単純な属性を追加します。

- デザインタイムで保護付きのマッピングを作成します。Oracle JDeveloperのデザインタイムで、保護付きの属性マッピングにXPath式を使用することで、複雑なペイロード属性へのマッピングを作成できます。

- RuntimeConfigServiceのAPIを使用して、XPath式を使用したパブリック・マッピングを作成します。

Oracle BPM Worklistで、保護付きの属性ラベルへのマッピングを作成できません。

保護付きのマッピングは、デザインタイムのタスク定義の中でのみ作成できます。実行時にOracle BPM WorklistやRuntimeConfigServiceのAPIを使用して、保護付きのマッピングを作成したり更新することはできません。

- マッピングにパブリック属性ラベルを使用します。

- デザインタイムのタスク定義で、保護付きの属性ラベルへのマッピングを作成します。

Oracle JDeveloperで、マッピングの作成に使用する属性ラベルが表示されません。

デザインタイムのマッピングは、保護付きの属性ラベルに対してのみ作成できます。接続先のSOAインスタンスに保護付きの属性ラベルが作成されていることを確認してください。

1. Oracle BPM Worklistに管理者としてログインします。

2. 「管理」→「保護フレックス・フィールド」の順に移動します。

3. その保護付きの属性ラベルが存在することを確認します。

4. 必要に応じて、保護付きの属性ラベルを作成します。

属性ラベルの名前の国際化

属性ラベル名をリソース・キーとして使用して、WorkflowLabelsリソース・バンドルから表示名を参照できます。

WorkflowLabelsリソース・バンドルに新規リソース・キーを追加します。このキーは、FLEX_LABEL.の接頭辞が付く、ラベルに使用した名前です(接頭辞の末尾のピリオドに注意してください)。

あるサーバーから別のサーバーへの属性ラベルとマッピングの移行

テストから本番への移行ユーティリティを使用します。

テストから本番への移行ユーティリティを使用すると、パブリック属性ラベル、パブリック属性マッピング、および保護付きの属性ラベルをXMLファイルにエクスポートして、そのXMLファイルのラベルとマッピングを別のインスタンスにインポートできます。

詳細は、「ヒューマン・ワークフロー・データのテスト環境から本番環境への移動」を参照してください。

B.5.7 タスク・レポートの問題

表B-7に、タスク・レポートの問題に関する症状と考えられる原因、考えられる解決策を示します。

表B-7 タスク・レポートの問題のトラブルシューティング

症状

考えられる原因

考えられる解決策

次のエラー・メッセージが表示される場合です。

Null Pointer Exception when
running Task Productivity
Report

これは、ワークリストのクライアントのロケールとサーバーのデフォルト・ロケールが異なる場合に、日付の処理に関する問題が原因で発生します。

回避策としては、ワークリストのクライアントのロケールをサーバーと同じロケールに変更するか、日付を指定しないでレポートを実行します。

B.5.8 タスク履歴の問題

表B-8に、タスク履歴の問題に関する症状と考えられる原因、考えられる解決策を示します。

表B-8 タスク履歴の問題のトラブルシューティング

症状

考えられる原因

考えられる解決策

「参加者の追加」ボタンが無効になっています。

履歴表で、現在または過去の参加者が選択されています。

これは、設計されているとおりの動作です。現在または過去の参加者に対して、非定型参加者を追加することはできません。現在の参加者とは、その時点でタスクが割り当てられている参加者を意味します。

ページをリフレッシュすると、追加したすべての非定型参加者が消えてしまいます。

履歴表への変更が保存されていない可能性があります。

変更を保存してください。そうしない場合、すべての変更は失われます。変更を保存したはずであるのに失われている場合は、バグとして報告してください。

履歴表に予定承認者が表示されません。

予定承認者チェック・ボックスが選択されていない可能性があります。

Oracle BPM Worklist (タスク順序の表の構成)で、予定承認者チェック・ボックスを選択します。

履歴表に相関IDが渡されていないことを示すメッセージ、または相関IDに関連する例外が表示されます。

タスクが開始されていない場合、相関IDが渡されていない可能性があります。

開始されていないタスクに相関IDを渡していることを確認してください。

編集ツールバーが無効になっているか、または表示されません。

ユーザーが参加者を編集する権限を持っていない可能性があります。

1. ヒューマン・タスク・エディタの「割当て」タブで、右上隅にある「タスクは開始参加者から最終参加者へ移行します」アイコンをクリックします。
「割当ての構成」ダイアログが表示されます。

2. 「参加者による新規参加者の編集を許可」チェック・ボックスと「起案者による参加者の追加を許可」チェック・ボックスを選択します。

次のエラー・メッセージが表示される場合です。

<Warning>
<oracle.adf.controller.intern
al.metadata.MetadataService>
<BEA-000000><ADFc:
/META-INF/adfc-config.xml: >
<Warning>
<oracle.adf.controller.intern
al.metadata.MetadataService><
ADFC-52024> <ADFc: Duplicate
managed bean definition for
'aleCompBindings' detected.>

共有ライブラリoracle.soa.worklist.webappがweblogic.xmlで参照され、JARファイルのadflibWorklistComponents.jarとadflibTasklistTaskflow.jarがWebアプリケーション内にパッケージ化されています。

原則的には、これらのJARはWebアプリケーション内にパッケージ化すべきではありません。これらは、共有ライブラリとして参照のみ行います。これらのJARをWebアプリケーション内にパッケージ化しないでください。

次のエラー・メッセージが表示される場合です。

<Error> <Deployer>
<BEA-149265> <Failure
occurred in the execution of
deployment request with ID
'1297964056778' for task
'3'. Error is:
'weblogic.management.Deployme
ntException:
[J2EE:160149]Error while
processing library
references. Unresolved
application library
references, defined in
weblogic-application.xml:
[Extension-Name:
oracle.soa.workflow.wc,
exact-match: false].'
weblogic.management.Deploymen
tException:
[J2EE:160149]Error while
processing library
references. Unresolved
application library
references, defined in
weblogic-application.xml:
[Extension-Name:
oracle.soa.workflow.wc,
exact-match: false].

共有ライブラリoracle.soa.workflow.wcがweblogic.xmlで参照されていますが、サーバー上でこの共有ライブラリを使用できません。

アプリケーションをデプロイしようとしているサーバーに、この共有ライブラリがデプロイされていることを確認します。共有ライブラリがデプロイされていても、ターゲットがそのサーバーでない可能性があります。

次のエラー・メッセージが表示される場合です。

java.lang.IllegalStateExcepti
on: Attempt to validate an
already invalid RegionSite:

これは、サーバー・ログ(たとえば、AdminServer.log)に時々表示される汎用的な例外です。

診断ログ(たとえば、AdminServer-diagnostic.log)で実際の例外を確認して、その例外とバグの内容を報告してください。

次のエラー・メッセージが表示される場合です。

[AdminServer] [NOTIFICATION]
[J2EE JSP-00008]
[oracle.j2ee.jsp] [tid:
[ACTIVE].ExecuteThread: '15'
for queue:
'weblogic.kernel.Default
(self-tuning)'] [userId:
weblogic] [ecid:
17011f2a001d6b0e:7e22d6ce:12e
3444eb1b:-8000-0000000000002f
0a,0] [APP: FederatedApp_
application1] unable to
dispatch JSP page: The
following exception
occurred:.[[
java.lang.RuntimeException:
Cannot find FacesContext
at
javax.faces.webapp.UIComponen
tClassicTagBase.getFacesConte
xt(UIComponentClassicTagBase.
java:2122)

これは、よくある間違いですが、使用しているコンポーネントとは関係ありません。URLへのfacesの入力を忘れています。例:

http://server:port/FederatedApp
/test.jspx

次のように、URLにfacesを入力します。

http://server:port/FederatedApp/fac
es/test.jspx

B.5.9 タスク・フォームおよびタスク・アクションの問題

表B-9に、タスク・フォームおよびタスク・アクションの問題に関する症状と考えられる原因、考えられる解決策を示します。

表B-9 タスク・フォームおよびタスク・アクションの問題のトラブルシューティング

症状

考えられる原因

考えられる解決策

タスク・フォーム・アプリケーションに空のJSPXページがありません。

N/A

現在は、タスク・フォームはADFタスク・フローを使用して呼び出され、タスク・フローが完了すると、タスク・フォームのタスク・フローを開始したモジュールに制御が戻されるようになっています。そのため、空のJSPXは必要ありません。

タスク・フォームがMicrosoft Internet Explorerにロードされません。

Microsoft Internet Explorerでは、URLの長さに制限があります。

タスク・フォームのURLが長すぎます。

デプロイがclass not found例外で失敗します。

共有ライブラリのエントリがweblogic.xmlに存在しません。

次のエラーが表示される場合があります。

Caused By:
java.lang.ClassNotFoundException:
oracle.bpel.services.datacontrol.ty
pes.Number

タスク・フォームのデプロイ時に、共有ライブラリがweblogic.xmlに存在しないことが原因である可能性があります。weblogic.xmlに次の要素を追加します。

<library-ref>
<library-name>oracle.soa.worklist.w
ebapp</library-name>
<specification-version>11.1.1</spec
ification-version>
</library-ref>

ホスト名を使用した場合に、タスク・フォームのデプロイおよびアクセスが失敗します。

DNSエントリが存在しません。

DHCPを設定したサーバーを使用している場合は、そのホストのDNSエントリが存在しない可能性があります。そのため、IPアドレスを使用したデプロイやアクセスは成功しても、ホスト名を使用したデプロイやアクセスは失敗することがあります。手動でホストとIPアドレスを追加して、クライアント・コンピュータを更新します。

- Windowsオペレーティング・システムの場合、通常、これは%windir%\drivers\etc\lmhostsにあります。

- LinuxまたはUNIXの場合、通常、これは/etc/hostsにあります。

タスク・フォームのURLプロトコル(HTTPまたはHTTPS)

HTTPSまたはHTTP経由でタスク・フォームにアクセスできません。

- DefaultToDoTaskForm: ワークリストは、ランタイム構成サービスからgetServerInfoのAPIによって返されたポートとプロトコルを使用して、デフォルトのTo-Doタスク・フォームにアクセスします。このAPIは、クラスタ・サーバーまたは管理対象サーバーのフロントエンド・ホスト設定を使用します。HTTPSプロトコルが有効になっている場合は、このプロトコルが優先されます。これは動的な設定で、他のカスタム・タスク・フォームと同様に、Oracle Enterprise Manager Fusion Middleware Controlを使用して、デフォルトのTo-Doタスクの設定を変更できます。

- CustomTaskForm: カスタム・タスク・フォームは、その設定からHTTPおよびHTTPSの情報を取得します。情報の取得には、JRFのAPIを使用します。これは、クラスタからフロントエンド・ホスト情報を取得し、さらにクラスタのフロントエンド・ホストが設定されていない場合は、管理対象サーバーから情報を取得します。管理対象サーバーのフロントエンド・ホストが設定されていない場合は、通常のポートを使用します。デプロイ時にユーザーがHTTPSポートを有効にした場合は、タスク・フォームによって、この情報がデータベースに保存されます。この発生以降に、ユーザーがOracle WebLogic Server管理コンソールを使用してHTTPSポートを無効にした場合、ユーザーはOracle Enterprise Manager Fusion Middleware Controlを使用して、タスク・フォームのHTTPSポートを削除する必要があります。

注意:

複数タスク・フォームのデプロイ時にjava.lang.OutOfMemoryError: PermGen spaceエラーが表示された場合は、PermGenメモリーを増やすことが必要な場合があります。詳細は、「複数のADFタスク・フォーム・デプロイメントのPermGenメモリー要件」を参照してください。

B.5.10 タスク・コメントと添付ファイルの問題

表B-10に、タスク・コメントと添付ファイルの問題に関する症状と考えられる原因、考えられる解決策を示します。

表B-10 タスク・コメントと添付ファイルの問題のトラブルシューティング

症状

考えられる原因

考えられる解決策

ファイルがアップロードされません。

ファイルが大きすぎます

デフォルトでは、ADFには、各リクエストにつき、2000 KBのサイズ制限があります。次のパラメータをweb.xmlに追加して、アップロードするファイルのファイル・サイズと一時記憶域を調整します。

<context-param>
<!-- Maximum memory per request
(in bytes) -->
<param-name>oracle.adf.view.faces.U
PLOAD_MAX_MEMORY</param-name>
<!-- Use 500K -->
<param-value>512000</param-value>
</context-param>
<context-param>
<!-- Maximum disk space per
request (in bytes) -->
<param-name>oracle.adf.view.faces.U
PLOAD_MAX_DISK_SPACE</param-name>
<!-- Use 5,000K -->
<param-value>5120000</param-value>
</context-param>
<context-param>
<!-- directory to store temporary
files -->
<param-name>oracle.adf.view.faces.U
PLOAD_TEMP_DIR</param-name>
<!-- Use an ADFUploads
subdirectory of /tmp -->
<param-value>/tmp/ADFUploads/</para
m-value>
</context-param>

タスク詳細アプリケーションにアップロードしたファイルが、同じタスク・フローに表示されません。

ファイルのアップロード後は、タスク・フォームに生成されている添付ファイルのリンクは無効になります。このリンクをクリックすると、空のストリームが返されます。

ファイルをアップロードする際には、表に添付ファイルのリンクが表示されます。ただし、このリンクは機能しません。タスク詳細をリロードして、ファイルを表示する必要があります。

ファイルの添付を追加すると新規タスク・バージョンが作成されますが、URLの添付を追加しても新規バージョンが作成されません。

URLの添付とファイルの添付では、動作が一致しません。

ファイルがアップロードされた場合、ファイルは永続的な記憶域にアップロードされるため、タスクが保存されます。これにより、新規タスク・バージョンが作成されます。URLの添付では、ユーザー・インタフェース・アプリケーションのローカル・タスク・オブジェクトのみが更新されます。そのため、タスク・バージョンは作成されません。

B.5.11 実行時のデザインタイムの問題

表B-11に、実行時のデザインタイムの問題に関する症状と考えられる原因、考えられる解決策を示します。次の2つの実行時のデザインタイム・ツールを使用できます。

- Oracle SOA Composer

- Oracle BPM Worklistの「タスク構成」タブ

表B-11 実行時のデザインタイムUIの問題のトラブルシューティング

症状

考えられる原因

考えられる解決策

実行時のデザインタイム・ツールでタスクに行った変更が、そのタスクに表示されません。

実行時のデザインタイム・ツールを使用して、実際にタスクを編集したときよりも前に、そのタスクはインスタンス化されています。

実行時のデザインタイムの更新は、変更後に作成されたインスタンスにのみ反映され、変更前にすでに作成されていたインスタンスには反映されません。

そのため、実行時のデザインタイム・ツールを使用してタスクを編集した場合は、新しいタスクをインスタンス化して、行った変更を新しいタスク・インスタンスに反映します。

実行時のデザインタイム・ツールでタスクに行った変更が、そのタスクに表示されません。

行った変更が、MDSリポジトリにコミットされていない可能性があります。

「保存」ボタンでは、実行時のデザインタイム・ツールで行った変更がサンドボックスにのみ保存されます。これらの変更を操作中に表示するには、「コミット」をクリックして、変更内容をMDSリポジトリに送信します。

B.5.12 ヒューマン・ワークフローAPI (SOAPおよびEJBを含む)の使用の問題

表B-12に、ヒューマン・ワークフローAPI (SOAPおよびEJBを含む)の使用の問題に関する症状と考えられる原因、考えられる解決策を示します。

表B-12 ヒューマン・ワークフローAPIの使用の問題のトラブルシューティング

症状

考えられる原因

考えられる解決策

ヒューマン・ワークフローAPIのJavaDocの場所

N/A

ドキュメント・ライブラリで入手可能なOracle Fusion Middleware Oracle SOA Suiteワークフロー・サービスJava APIリファレンスを参照してください。

APIの使用方法の理解

N/A

1. APIのドキュメントを参照してください。

.netを使用したAPIへのアクセス

N/A

SOAP WebサービスのAPIにアクセスする.netクライアントを記述できます。

Java APIクライアントを使用しようとすると、Class not foundのエラーが表示されます。

クライアント・クラスパスに、すべての必要なJARファイルが存在しません。

-

単純な承認タスクとあわせて使用したり、タスクの開始時にタスクを動的にルーティングするための、単純なパターン用のルーティング・スリップの作成

N/A

oracle.bpel.services.workflow.task.impl.SimpleApprovalTaskUtilを参照してください。

新規作成されたタスクはタスクUIに表示されません。

createTaskアクティビティにはSimpleWorkflowAppが必要です。これはSOAサーバーの設定時にはデプロイされていません。

Create Taskグローバル・アクティビティを使用してタスクを作成する前に、Simple Approvalをデプロイします。

B.5.13 Oracle JDeveloperのデータ・コントロールとフォームの生成の問題

表B-13に、Oracle JDeveloperのデータ・コントロールとフォームの生成の問題に関する症状と考えられる原因、考えられる解決策を示します。

表B-13 Oracle JDeveloperのデータ・コントロールとフォームの生成の問題のトラブルシューティング

症状

考えられる原因

考えられる解決策

タスク・フォームの作成時に、Empty1.jspxが生成されません。

XSD要素に基づいてイニシエータ・タスクを作成し、タスク・フォームを自動生成しようとしました。

このファイルは、BPMのイニシエータ・タスク以外では必要ありません。この問題が発生した場合は、adfc-config.xmlで参照しているディレクトリと同じディレクトリにEmpty1.jspxファイルを作成し、このファイルに次の内容を入力します。

<?xml version='1.0'
encoding='UTF-8'?><jsp:root
xmlns:jsp="http://java.sun.com/JSP/
Page" version="2.1"xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:af="http://xmlns.oracle.com/a
df/faces/rich">  <jsp:directive.page
contentType="text/html;charset=UTF-8"/>
<f:view>
<af:document id="d1">
<af:form id="f1"></af:form>
</af:document>
</f:view>
</jsp:root>

B.5.14 ヒューマン・ワークフロー・サービスとシステムMBeanブラウザの問題

表B-14に、ヒューマン・ワークフロー・サービスとシステムMBeanブラウザの問題に関する症状と考えられる原因、考えられる解決策を示します。

表B-14 ヒューマン・ワークフロー・サービスとシステムMBeanブラウザの問題のトラブルシューティング

症状

考えられる原因

考えられる解決策

よく使用するヒューマン・ワークフロー構成パラメータの設定

N/A

Oracle Enterprise Manager Fusion Middleware Controlの「ワークフロー・タスク・サービス」ページおよび「ワークフローの通知」ページを使用します。

1. ナビゲータで「soa-infra」を右クリックします。

2. 「SOA管理」→「ワークフロー構成」→「メーラー」タブの順に選択して、通知プロパティにアクセスします。

3. 「SOA管理」→「ワークフロー構成」→「タスク」タブの順に選択して、タスク・サービス・プロパティにアクセスします。

詳細は、「ヒューマン・ワークフロー通知プロパティの構成」と「ヒューマン・ワークフロー・タスク・サービス・プロパティの構成」を参照してください。

Oracle Enterprise Manager Fusion Middleware Controlのプロパティ・ページで使用できないヒューマン・ワークフロー構成パラメータの設定

N/A

Oracle Enterprise Manager Fusion Middleware ControlのシステムMBeanブラウザを使用します。

1. ナビゲータで「soa-infra」を右クリックします。

2. 「SOAインフラストラクチャ」→「管理」→「システムMBeanブラウザ」の順に選択します。

3. 「アプリケーション定義のMBean」→「oracle.as.soainfra.config」→「サーバー」→「WorkflowConfig」→「human-workflow」の順に選択します。

4. 単純なパラメータを設定するには、「属性」タブで適切なフィールドを編集して、「適用」をクリックします。

5. 複雑なパラメータを変更するには(たとえば、新しいロケールの追加など)、「操作」タブに切り替えて、適切な操作を選択し、必須フィールドを入力して、「呼出し」をクリックします。

ヒューマン・ワークフロー構成MBeansを編集した後に、システムMBeanブラウザに変更が反映されません。

システムMBeanブラウザには、前にキャッシュされたバージョンのBeanが表示されています。

システムMBeanブラウザの「キャッシュされたツリー・データのリフレッシュ」ボタンをクリックします。

ワークフローのカスタマイズのクラスパスURLにあるリソース・バンドルまたはクラスが、ヒューマン・ワークフロー・サービスで見つかりません。

URLでプロトコルが指定されていないか、URLに末尾のスラッシュ(/)がありません。

構成されているURLが正しい形式で指定され、プロトコルを指定していることを確認します。クラスパスで(JARファイルでなく)ディレクトリを指定する場合は、URLの末尾にスラッシュ文字が必要です。例:

file:///home/wstallar/wfcustomizati
ons/

特定のタスク・コンポーネントのタスク詳細の表示に使用するURLの手動設定

N/A

そのヒューマン・タスク・サービス・コンポーネントに対して、Oracle Enterprise Manager Fusion Middleware Controlの「管理」ページを使用します。

手順は、「ヒューマン・ワークフロー・サービス・コンポーネントのタスク詳細アプリケーションのURI管理」を参照してください。

既存のタスク表示URLエントリを編集または削除したり、新規エントリを追加できます。Oracle BPM Worklistから使用するタスク表示URLの場合は、アプリケーション名をworklistに設定する必要があります。

B.5.15 AMX拡張の問題

表B-15に、AMX拡張の問題に関する症状と考えられる原因、考えられる解決策を示します。

表B-15 AMX拡張の問題のトラブルシューティング

症状

考えられる原因

考えられる解決策

動的承認グループ・クラスが見つかりません。

Oracle SOA Suiteのクラスパスで、このクラス・ファイルにアクセスできません。

動的承認グループ・クラスへのアクセスを可能にするには、次のディレクトリにクラス・ファイルを配置する必要があります。

$FMW_HOME/SOA_HOME/soa/modules/ora
cle.soa.ext_11.1.1/classes

このディレクトリは、SOAクラスパスの一部です。

Oracle WebLogic Serverを再起動する必要があります。

実行時のデザインタイム中に、承認グループ・リスト・ビルダーに基づいてルールを定義しているときに、グループが存在しないことを示すメッセージが継続して表示されます。

承認グループの名前が引用符(" ")で囲まれていません。

名前を引用符で囲みます(たとえば、"Sample Approval Group Name")。

ルールセット内で、定義されている複数のルールがトランザクションに該当します。正しい制約が適用されていないように思われます。その結果、生成された承認者リストが正しくありません。

ルールセット内のルールは、トランザクションに対して1つのみが該当する必要があります。

複数のルールが該当する場合は、最も高い優先度のルールに関連付けられているアクションが実行されます。

該当する複数のルールの優先度が同じ場合は、リスト内の最初のルールが選択され、そのアクションが実行されます。

ルールセット内のすべてのルールで、同じトランザクションに対して同じ優先度の複数のルールが該当しないように、優先度が定義されていることを確認してください。

B.5.16 Oracle BPM Worklistとタスク領域の問題

表B-16に、Oracle BPM Worklistとタスク領域の問題に関する症状と考えられる原因、考えられる解決策を示します。

表B-16 Oracle BPM Worklistとタスク領域の問題のトラブルシューティング

症状

考えられる原因

考えられる解決策

次の例外メッセージがログに表示されます。

<Warning>
<oracle.adf.controller.internal.
metadata.MetadataService>
<BEA-000000><ADFc:
/META-INF/adfc-config.xml: >
<Warning>
<oracle.adf.controller.internal.
metadata.MetadataService><ADFC-5
2024> <ADFc: Duplicate managed
bean definition for
'aleCompBindings' detected.>

共有ライブラリoracle.soa.worklist.webappがweblogic.xmlファイルで参照されるとともに、JARファイルのadflibWorklistComponents.jarとadflibTasklistTaskflow.jarがWebアプリケーション内にパッケージ化されています。

これらのJARはWebアプリケーション内にパッケージ化しないでください。これらは、共有ライブラリとして参照のみ行います。これらのJARをWebアプリケーション内にパッケージ化しないでください。

次の例外メッセージがログに表示されます。

Duplicate default server in
client configuration.
Configuration needs to have only
one default server in client
configuration.
Specify one default server in
client configuration.

クライアント構成ファイル、またはタスク・フローに渡されたJAXBオブジェクトで、2つのデフォルト・サーバーが指定されています。

クライアント構成ファイルまたは渡されるJAXBオブジェクトで、1つのサーバーのみをデフォルトとしてマークします。

次の例外メッセージがログに表示されます。

The default server is not
specified

クライアント構成ファイル、またはタスク・フローに渡されたJAXBオブジェクトで、デフォルト・サーバーが指定されていません。

クライアント構成ファイルまたはJAXBオブジェクトで、デフォルト・サーバーがマークされていることを確認します。

次の例外メッセージがログに表示されます。

Invalid display column.
The display column COLUMN NAME
is not a valid Task column.
Specify a valid column name.

タスク・フロー・パラメータdisplayColumnsListに渡された列名が正しくありません。

タスク・フロー・パラメータに正しい列名を渡していることを確認します。

次の例外メッセージがログに表示されます。

java.lang.IllegalStateException:
Attempt to validate an already
invalid RegionSite:

これは、サーバー・ログ(たとえば、AdminServer.log)に時々表示される汎用的な例外です。

診断ログ(たとえば、AdminServer-diagnostic.log)の実際の例外を確認して、その例外とバグの内容を報告してください。

次の例外メッセージがログに表示されます。

Caused by:
oracle.adf.controller.Controller
Exception: ADFC-02001: The ADF
Controller cannot find
'/WEB-INF/taskList-task-flow-def
inition.xml'

Oracle BPM WorklistのJARは、共有ライブラリoracle.soa.worklist.webappを参照するか、これらをWebアプリケーション内にパッケージ化することによりクラスパスで指定しますが、いずれの方法でも指定されていません。

JARが、共有ライブラリによって参照されているか、アプリケーション内にパッケージ化されていることを確認します。

タスク・リストをリフレッシュすると、タスク・リストのフィルタが削除されます。

受信ボックスは永続的なビューではないため、受信ボックスに設定されているフィルタは、ページの再レンダリング時やタスク・リストのリフレッシュ時に削除されます。

タスク・リストにフィルタを設定するかわりに、必要なフィルタ・セットを設定したユーザー・ビューを作成し、そのビューのviewIdをパラメータViewFilterの値として渡します。これにより、そのビューがタスク・リストのデフォルト・ビューになります。

taskTypesFilterListパラメータを設定しましたが、割り当てたタスクではなく、すべてのタスクが表示されます。

taskTypesFilterListパラメータを指定している場合は、attributesFilterListパラメータの指定を忘れています。

両方のパラメータとAND演算子を使用する必要があります。例:

<parameter
id="taskTypesFilterList"
value="http://xmlns.oracle.com/H
elpDeskRequestSOAApp/HelpDeskReq
uestComposite/HelpDeskRequestHum
anTask,[
http://xmlns.oracle.com/Vacation
RequestApp/VacationRequest/Vacat
ionRequestTask]"/>

<parameter id=
"attributesFilterOperator"
value="and"/>
<parameter id= "attributesFilterList"
value="state=ASSIGNED"/>

次の例外メッセージがログに表示されます。

[AdminServer] [NOTIFICATION]
[J2EE JSP-00008]
[oracle.j2ee.jsp] [tid:
[ACTIVE].ExecuteThread: '15'
for queue:
'weblogic.kernel.Default
(self-tuning)'] [userId:
weblogic] [ecid:
17011f2a001d6b0e:7e22d6ce:12e344
4eb1b:-8000-0000000000002f0a,0]
[APP: FederatedApp_
application1] unable to dispatch
JSP page: The following
exception occurred:.[[
java.lang.RuntimeException:
Cannot find FacesContext
at
javax.faces.webapp.UIComponentCl
assicTagBase.getFacesContext(UIC
omponentClassicTagBase.java:2122)

これは、その性質から一般的によくある間違いですが、使用しているコンポーネントとは関係ありません。URLへのfacesの入力を忘れています。例:

http://server:port/FederatedApp/test.jspx

次のように、URLにfacesを入力します。

http://server:port/FederatedApp/
faces/test.jspx

次の例外メッセージがログに表示されます。

[AdminServer] [TRACE] [] []
[tid: [ACTIVE].ExecuteThread:
'5' for queue:
'weblogic.kernel.Default
(self-tuning)'] [userId:
weblogic] [ecid:
17011f2a001d6b0e:7e22d6ce:12e344
4eb1b:-8000-0000000000001d39,0]
[SRC_CLASS:
oracle.bpel.services.workflow.cl
ient.config.ClientConfigurationU
til] [APP: FederatedApp_
application1] [SRC_METHOD:
getClientConfiguration]
WorkflowServiceClientContext:
Cannot find client
configuration file: wf_client_
config.xml

この問題には、次の3つの原因が考えられます。

1. クライアント構成ファイルがクラスパスに指定されていません。

2. JAXBオブジェクトがタスク・フローに渡されていません。

3. 前述のいずれかを指定している場合は、リモート・クライアントまたはSOAPクライアントのポート番号が正しくありません。

クラスパスでクライアント構成ファイルwf_client_config.xmlが指定されているか、またはJAXBオブジェクトがタスク・フローに渡されていることを確認します。すでに行っている場合は、ポート番号でSOAサーバーが指定されていることを確認します。

次の例外メッセージがログに表示されます。

<Error> <Deployer> <BEA-149265>
<Failure occurred in the
execution of deployment request
with ID '1297964056778' for
task '3'. Error is:
'weblogic.management.DeploymentE
xception: [J2EE:160149]Error
while processing library
references. Unresolved
application library references,
defined in
weblogic-application.xml:
[Extension-Name:
oracle.soa.workflow.wc,
exact-match: false].'
weblogic.management.DeploymentEx
ception: [J2EE:160149]Error
while processing library
references. Unresolved
application library references,
defined in
weblogic-application.xml:
[Extension-Name:
oracle.soa.workflow.wc,
exact-match: false].

共有ライブラリoracle.soa.workflow.wcがweblogic.xmlで参照されていますが、サーバー上でこの共有ライブラリを使用できません。

アプリケーションをデプロイしようとしているサーバーに、この共有ライブラリがデプロイされていることを確認します。共有ライブラリがデプロイされていても、ターゲットがそのサーバーでない可能性があります。

列にマップされているマップ済属性が表示されません。

注意: リリース11g R1 (11.1.1.4)から、Oracle BPM Worklistフレックス・フィールドはマップ済属性と呼ばれるようになりました。

正しいパラメータのセットが、タスク・リストのタスク・フローに渡されていません。

正しいパラメータのセットを渡す方法は、次のとおりです。

<parameter id= "displayColumnsList"
value="assignees,creator,
assignedDate,state,
textAttribute1,textAttribute2"/>

textAttribute1,textAttribute2は、列名に値を渡すための正しい方法です。これらの値に関連付けられている'label name'(マッピングの名前)を指定しても、機能しません。

パラメータtaskTypesFilterListには、完全修飾の値を具体的に渡す必要があります。そうしない場合、列の作成は機能しません。

例:

<parameter
id="taskTypesFilterList"
value="http://xmlns.oracle.com/Hel
pDeskRequestSOAApp/HelpDeskRequest
Composite/HelpDeskRequestHumanTask
"/>

B.5.17 テストから本番への移行の問題

表B-17から表B-20に、テストから本番への移行の問題に関する症状と考えられる原因、考えられる解決策を示します。

表B-17 テストから本番への移行の問題のトラブルシューティング

症状

考えられる原因

考えられる解決策

SOAサーバーのデフォルトのレルム名の検索

N/A

defaultRealmNameは、アイデンティティ構成サービスから取得できます。これは、SOAPサービスのテスト・ページから取得できます。

1. ブラウザから、次のURLにアクセスします。

http:host:port/integration/servic
es/IdentityService/configuration

2. 「操作」ドロップダウン・メニューから、「getDefaultRealmName」を選択します。

3. 「起動」ボタンをクリックします。

これにより、デフォルトのレルム名が取得されます。次に、起動に対するサンプルの応答を示します。

<env:Envelope
xmlns:env="http://schemas.xmlsoap.org/soap
/envelope/">
<env:Header/>
<env:Body>
<realmName
xmlns="http://xmlns.oracle.com/bpel/servi
ces/IdentityService">jazn.com</realmName>
</env:Body>
</env:Envelope>

表B-18 テストから本番への移行の問題のトラブルシューティング

症状

考えられる原因

考えられる解決策

次のユーザー認証エラー(次の例では、ユーザーはFMW_USERID、アイデンティティ・コンテキストはjazn.com)が表示されます。

[java] Error in workflow service Web
service operation invocation. The
error is ORA-30501:Error in
authenticating user.
[java] Error in authenticating and
creating a workflow context for
user jazn.com/FMW_USERID. [java]
Verify that the user credentials
and identity service configurations
are correct.

これは、指定されたユーザーがシードされておらず、LDAPプロバイダで使用できない場合に発生します。

ユーザーが適切にシードされているかどうかを識別するには、ブラウザからそのユーザーでOracle BPM Worklistにログインしてみます。そのユーザーでOracle BPM Worklistにログインできれば、ユーザーはシードされています。

Oracle Internet Directoryやその他のLDAPプロバイダを使用している場合は、LDAPプロバイダの構成が正しく完了していることを確認します。そうでない場合、このエラーは解決できません。

ターゲットSOAサーバーにタスク・ペイロード・マップ済属性マッピング(以前のフレックス・フィールド)をインポートしているときに、次のエラーがコンソール・ログに表示されることがあります。

[java] Caused by:
java.sql.SQLIntegrityConstrain
tViolationException: ORA-02291:
integrity constraint (UAT_
SOAINFRA.SYS_C0018364) violated -
parent key not found* *

ターゲットSOAサーバーへのタスク・ペイロード・マップ済属性マッピングのインポートは、2つのステップの処理で構成されます。

ターゲットSOAサーバーへのタスク・ペイロード・マップ済属性マッピングのインポート操作を行う前に、実行が必要な前提条件のステップがあります。これは、ターゲットSOAサーバーへの属性ラベルのインポート操作です。

正常に完了するためには、ヒューマン・ワークフローのテストから本番への移行ツールを使用して、(正しい順序で)次の操作を実行します。

1. ターゲットSOAサーバーに属性ラベルをインポートします。

2. ターゲットSOAサーバーにペイロード・マッピングをインポートします。

詳細は、「ヒューマン・ワークフロー・データのテスト環境から本番環境への移動」を参照してください。

表B-19 テストから本番への移行の問題のトラブルシューティング

症状

考えられる原因

考えられる解決策

ルールの移行時に、次のエラーが発生したと仮定します。

[java]  Error encountered during
migration. [java] Exception in thread
"main"[java]
UserConfigDataMigrationException:[java]
faultString:Invalid parameters for RULE.
[java] Invalid user and group: both
parameters can not have null
values.[java] To migrate User Rules,
provide the 'user' parameter only.
[java]  To migrate Group Rules, provide
the 'group' parameter only.[java]
oracle.bpel.services.workflow.util.
tools.wfUserConfigDataMigrator.
UserConfigDataMigrationE xception [java]
at oracle.bpel.services.workflow.
util.tools.wfUserConfigDataMigrator.
implhwfMigrator.parseParametersNode

migration.propertiesファイル内に、このエラーに関連する2つのプロパティがあります。

- user

- group

ルールの移行(エクスポートまたはインポート)操作時には、これらのいずれか(userまたはgroup)に値を設定する必要があります。つまり、userとgroupの両方に、nullまたは空の値を設定することはできません。

これらのいずれかに値を設定します。ユーザー・ルールの移行を実行するには、userパラメータのみを設定します。グループ・ルールの移行を実行するには、groupパラメータのみを設定します。

ルールの移行時に、次のエラーが発生したと仮定します。

[java]  Error encountered during
migration.[java] Exception in
thread "main"[java]
UserConfigDataMigrationExcepti
on: [java]  faultString:
Invalid parameters for RULE.
[java]  Invalid user and group: both
parameters can not have values.
[java]  To migrate User Rules,
provide the 'user'parameter only.
[java]  To migrate Group Rules,
provide the 'group' parameter only.
[java]  oracle.bpel.services. workflow.util.tools.wfUserConfigData
Migrator.UserConfigDataMigrationE
xception

これはこの表の前述の説明と似ています。

ルールの移行(エクスポートまたはインポート)操作時に、userとgroupの両方のパラメータに値を設定することはできません。

これらのいずれかに値を指定します。

表B-20 テストから本番への移行の問題のトラブルシューティング

症状

考えられる原因

考えられる解決策

インストール後のサーバーのヘルスのテスト

N/A

テストから本番への移行を実行する前に、サーバーのヘルスをテストすることは有用です。

ブラウザから、いくつかのSOAPサービスをテストできます。次に、ヒューマン・ワークフロー・サービスのサブセットとOracle BPM Worklistを示します。

http://host:port/integration/worklistapp/

http://host:port/integration/services
/TaskQueryService/TaskQueryService

http://host:port/integration/services/IdentityService/configuration

http://host:port/integration/services/IdentityService/identity

http://host:port/integration/services/RuntimeConfigService/RuntimeConfigService

これらのサービスで任意の操作をテストして、その操作によって発生する結果を確認できます。同様に、Oracle BPM Worklistにユーザーとしてログインして、問題がないかどうかを確認できます。

テストから本番への移行の問題の詳細は、「ヒューマン・ワークフロー・データのテスト環境から本番環境への移動」を参照してください。

B.5.18 アイデンティティ・サービスの問題

表B-21と表B-22に、アイデンティティ・サービスの問題に関する症状と考えられる原因、考えられる解決策を示します。

表B-21 アイデンティティ・サービスの問題のトラブルシューティング

症状

考えられる原因

考えられる解決策

クラスタ環境で、Oracle BPM Worklistの承認タスクを操作しようとすると、次のエラーが表示される場合があります。

Token Decryption Failed

LDAPベースのリポジトリではなく、ファイルベースのリポジトリを使用しています。これにより、アプリケーション・ロールがノード全体で同期されなくなっています。

クラスタ環境でのリポジトリ構成情報は、『Oracle SOA Suiteエンタープライズ・デプロイメント・ガイド』の手順に従ってください。

LDAPの一部のユーザーのみ、Oracle BPM Worklistにログインできます。

ユーザー・ベースDNが正しく構成されていません。

すべてのシード済グループにユーザー・ベースを指定します。これは、次の2つの方法で行うことができます。

すべての必要なシード済グループにベースDNを追加します。たとえば、次のようにユーザーがシードされている場合、

UserDN 1 : cn=users1,dc=us,dc=oracle,dc=com
UserDN 2 : cn=users2,dc=us,dc=oracle,dc=com
UserDN 3 : cn=users3,dc=us,dc=oracle,dc=com

グループ・ベースDNを次のように指定します。

dc=us,dc=oracle,dc=com

これは、共通のDNです。一部のユーザーDNのみが必要な場合は(たとえば、UserDN1とUserDN2)、$DOMAIN_HOME/config/fmwconfig/jps-config.xmlファイル内の名前がidstore.ldapのserviceInstanceに、次のプロパティを追加する必要があります。

<serviceInstance name="idstore.ldap"
provider="idstore.ldap.provider">
<property name="idstore.config.provider"
value="oracle.security.jps.wls.internal.idstore.WlsLd
apIdStoreConfigProvider"/>
<property name="CONNECTION_POOL_CLASS"
value="oracle.security.idm.providers.stdldap.JNDIPool"/>
<extendedProperty>
<name>user.search.bases</name>
<values>
<value>cn=users1,dc=us,dc=oracle,dc=com</value>
<value>cn=users2,dc=us,dc=oracle,dc=com</value>
</values>
</extendedProperty>
</serviceInstance>

最初のオーセンティケータにシードされているユーザーとグループのみは表示されますが、他のオーセンティケータからは表示されません。

デフォルトでは、最初のオーセンティケータからのユーザーとグループが認可されます。

リリース11.1.1.4以降では、複数の認証者からのユーザーとグループを認可できます。詳細は、「複数の認証プロバイダの構成」を参照してください。

表B-22 アイデンティティ・サービスの問題のトラブルシューティング

症状

考えられる原因

考えられる解決策

アイデンティティ・サービスのAPIに、アイデンティティ・コンテキストへのパラメータとしてmyrealm (Oracle WebLogic Server管理コンソールの構成のデフォルト・レルム)を渡すと、次の例外が表示されます。

Exception seen :
Service"
Unknown macro: {0}
"in configuration"
Unknown macro: {1}
" could not be
initialized. Error
in initializing
service
"Authentication"
in configuration
"myrealm".

ヒューマン・ワークフローのアイデンティティ・サービスでは、Oracle WebLogic Serverの構成ではなく、WorkflowIdentityConfigファイルに設定されているアイデンティティ・コンテキスト(デフォルトでは、jazn.com)が使用されます。したがって、カスタム・コード内で、jazn.comがアイデンティティ・コンテキストとして渡されている場合は、認証APIは問題なく機能します。

レルム名を変更するために、Oracle Enterprise Manager Fusion Middleware ControlのシステムMBeanブラウザで、WorkflowIdentityConfigファイルを編集できます。

1. ナビゲータで「soa-infra」を右クリックします。

2. 「SOAインフラストラクチャ」→「管理」→「システムMBeanブラウザ」の順に選択します。

3. 「アプリケーション定義のMBean」→「oracle.as.soainfra.config」→「サーバー」→「WorkflowIdentityConfig」→「human-workflow」→「WorkflowIdentityConfig.ConfigurationType」の順に選択します。

4. setRealmNameの操作を呼び出して、構成を選択し、名前を変更します。この変更では、サーバーの再起動が必要です。

Oracle WebLogic ServerでLDAPを構成すると、Oracle WebLogic Server管理コンソールにユーザーは表示されますが、次のエラーがスローされます。

No Role found
matching the
criteria

グループのベースDNが正しく構成されていません。参照されているグループが、LDAPに存在しないか、LDAPの構成時に設定されたグループ・ベースDNの外部にシードされている可能性があります。

すべてのシード済グループにグループ・ベースを指定します。これは、次の2つの方法で行うことができます。

すべての必要なシード済グループにベースDNを追加します。たとえば、次のようにグループがシードされている場合、

GroupDN 1 : cn=groups1,dc=us,dc=oracle,dc=com
GroupDN 2 : cn=groups2,dc=us,dc=oracle,dc=com
GroupDN 3 : cn=groups3,dc=us,dc=oracle,dc=com

グループ・ベースDNを次のように指定します。

dc=us,dc=oracle,dc=com

これは、共通のDNです。一部のグループDNのみが必要な場合は(たとえば、GroupDN1とGroupDN2)、$DOMAIN_HOME/config/fmwconfig/jps-config.xmlファイル内の名前がidstore.ldapのserviceInstanceに、次のプロパティを追加する必要があります。

<serviceInstance name="idstore.ldap"
provider="idstore.ldap.provider">
<property name="idstore.config.provider"
value="oracle.security.jps.wls.internal.idstore.WlsL
dapIdStoreConfigProvider"/>
<property name="CONNECTION_POOL_CLASS"
value="oracle.security.idm.providers.stdldap.JNDIPool"/>
extendedProperty>
<name>group.search.bases</name>
<values>
<value>cn=groups1,dc=us,dc=oracle,dc=com</value>
<value>cn=groups2,dc=us,dc=oracle,dc=com</value>
</values>
</extendedProperty>
</serviceInstance>

B.6 ビジネス・イベントおよびイベント配信ネットワークのトラブルシューティング

この項では、ビジネス・イベントおよびイベント配信ネットワーク(EDN)の問題をトラブルシューティングする方法について説明します。

B.6.1 JMSアダプタ接続プール・サイズの増加

EDNでは、JMSアダプタに表B-23に示す接続ファクトリを使用して、イベントの公開およびサブスクリプションについて基礎となるJMSトピックと通信します。

表B-23 JMSアダプタ用の接続ファクトリ

JMSタイプ

JMSタイプに対するJMS接続ファクトリ

Oracle WebLogic Server JMS

- eis/wls/EDNxaDurableTopic

- eis/wls/EDNxaTopic

- eis/wls/EDNLocalTxDurableTopic

- eis/wls/EDNLocalTxTopic

AQ JMS

- eis/aqjms/EDNxaDurableTopic

- eis/aqjms/EDNxaTopic

- eis/aqjms/EDNLocalTxDurableTopic

- eis/aqjms/EDNLocalTxTopic

大量の同時イベント・パブリッシャまたは大量のイベント・サブスクライバ(あるいはその両方)が存在する環境では、JMSアダプタのデフォルトの接続プール・サイズ(200)を超える場合があります。これにより、次に示すようなResourceLimitExceptionエラーが発生します。

The JCA Binding Component was unable to establish an outbound JCA CCI connection
due to the following issue:
javax.resource.spi.ApplicationServerInternalException:
Unable to get a connection for pool = "eis/wls/EDNxaDurableTopic",
weblogic.common.resourcepool.ResourceLimitException:
Configured maximum limit of (0) on number of threads allowed to wait for a
resource reached for pool eis/wls/EDNxaDurableTopic
Please make sure that the JCA connection factory and any dependent connection
factories have been configured with a sufficient limit for max connections.
Please also make sure that the physical connection to the backend EIS is available
and the backend itself is accepting connections.

このエラーが発生した場合は、Oracle WebLogic Server管理コンソールで、JMSアダプタに対応するJMS接続ファクトリの接続プールの「最大接続数」の値を増やす必要があります。表B-24に、JMSアダプタの各JMS接続ファクトリの使用を示します。

表B-24 JMSアダプタの各JMS接続ファクトリの使用

JMS接続ファクトリ

アウトバウンド・イベント公開での使用

インバウンド・イベント・サブスクリプションでの使用

eis/wls/EDNxaDurableTopic

可。グローバル・トランザクションによるイベント公開の場合。

可。One And Only One (OAOO)一貫性が設定された永続サブスクリプションの場合。

eis/wls/EDNxaTopic

不可。

可。OAOO一貫性が設定された非永続サブスクリプションの場合。

eis/wls/EDNLocalTxDurableTopic

可。ローカル・トランザクションによるイベント公開の場合。

可。保証付き一貫性が設定された永続サブスクリプションの場合。

eis/wls/EDNLocalTxTopic

不可。

可。保証付き一貫性が設定された非永続サブスクリプションの場合。

eis/aqjms/EDNxaDurableTopic

可。グローバル・トランザクションによるイベント公開の場合。

可。OAOO一貫性が設定された永続サブスクリプションの場合。

eis/aqjms/EDNxaTopic

不可。

可。OAOO一貫性が設定された非永続サブスクリプションの場合。

eis/aqjms/EDNLocalTxDurableTopic

可。ローカル・トランザクションによるイベント公開の場合。

可。保証付き一貫性が設定された永続サブスクリプションの場合。

eis/aqjms/EDNLocalTxTopic

不可。

可。保証付き一貫性が設定された非永続サブスクリプションの場合。

対応するJMS接続ファクトリがイベント公開とイベント・サブスクリプションの両方に使用される場合は、使用された接続数の計算時に、イベント公開の数とイベント・サブスクリプションの数を合せる必要があります。

たとえば、グローバル・トランザクションでイベントを公開する同時BPELプロセス・イベント・パブリッシャが200あり、デフォルトのSOAInternalProcessing_maxThreadsを150に設定した場合、これらのパブリッシャでは150スレッド全部を使用するため、eis/wls/EDNxaDurableTopicから150接続を取得します。また、ThreadsPerSubscriberが5に設定された合計12のSOAイベント・サブスクライバがあります。これらのサブスクライバは、12 x 5 = 60スレッドを使用するため、eis/wls/EDNxaDurableTopicから60接続を取得します。

150 + 60 = 210 > 200 (デフォルト設定)となるため、ResourceLimitExceptionエラーが発生します。

この場合、eis/wls/EDNxaDurableTopicの接続プールの「最大接続数」フィールドで、サイズを増やして大きい値(300など)にする必要があります。

接続プール・サイズを増やす手順は、次のとおりです。

1. Oracle WebLogic Server管理コンソールにログインします。

2. 「ドメイン構造」ウィンドウで、「環境」→「デプロイメント」→「JmsAdapter」→「構成」→「アウトバウンド接続プール」の順にクリックします。

3. 「アウトバウンド接続プールの構成表」で、「oracle.tip.adapter.jms.IJmsConnectionFactory」を開きます。

4. 表B-24の説明に従って、該当する接続ファクトリをクリックします。

5. 「接続プール」をクリックします。

6. 「最大接続数」フィールドで、値を(300などに)増やして「保存」をクリックします。

B.6.2 Oracle WebLogic Server JMSによる大量のBPELプロセス・イベントの公開に関するチューニング推奨事項

Oracle WebLogic Server JMSを使用して大量のBPELプロセス・イベント(100万など)を公開すると、EDNが適切にチューニングされていない場合、非常に多くのリカバリ可能なエラー(100万イベントの20%など)が発生する場合があります。たとえば、次のユースケースのシナリオがあるとします。

- 200スレッド

- 5000の繰返し

一定期間(40分など)の実行後、次に示すエラーが発生することがあります。

<Jan 8, 2014 10:08:33 AM PST> <Error> <oracle.soa.adapter.jms.outbound>
<BEA-000000> <JMSMessageProducer_produce: [default destination =
jms/fabric/EDNTopic]:weblogic.messaging.kernel.QuotaException: Quota blocking
time exceeded and no quota available>
<Jan 8, 2014 10:08:33 AM PST> <Error> <oracle.soa.adapter.jms.outbound>
<BEA-000000> <JMSMessageProducer_produce: [default destination =
jms/fabric/EDNTopic]:weblogic.messaging.kernel.QuotaException: Quota blocking
time exceeded and no quota available>

さらに、サブスクリプションが低速で(データベース、コヒーレンス・キャッシュおよびEDNスレッドに対するトランザクション関連の操作が多数あります)、蓄積されたメッセージによって公開が遅くなります。

これが発生した場合は、次の領域をチューニングします。

- EDN割当は、Oracle WebLogic Server JMSのデフォルトEDNトピックに自動的に定義されます。このEDN割当では、メッセージの上限が50,000です。ユースケースのシナリオに基づいて異なるメッセージの上限を設定した割当を定義する必要があります。詳細は、『Oracle WebLogic Serverのパフォーマンスのチューニング』のWebLogic JMSのチューニングに関する項を参照してください。

- ユースケースのシナリオに基づいてEDN接続ファクトリの送信タイムアウト値をチューニングします。次のEDN JMS接続ファクトリには、送信タイムアウト値としてデフォルト値10,000 (ミリ秒)が設定されています。

- EDNConnectionFactory

- xaEDNConnectionFactory

詳細は、『Oracle WebLogic Serverのパフォーマンスのチューニング』の割当条件内での送信者のブロックに関する項を参照してください。

- 負荷が重い場合、JMSトピックにメッセージが蓄積します。EDNクライアントは、メッセージ数が割当の上限を超えると、QuoteExceptionを受信します。EDNクライアントが、BPELプロセス・サービス・コンポーネントが組み込まれているコンポジットの場合、BPELプロセスはエラー・ホスピタルでメッセージを保持します。サブスクライバへの配信が大きく遅延する可能性があります。エラー・ホスピタルのメッセージは、エラー・ホスピタルから手動でリカバリできます。またはBPELプロセス・サービス・エンジンの「リカバリ」タブから自動でリカバリできます。詳細は、「エラー・ホスピタルでのフォルトからのリカバリ」および「BPELプロセス・サービス・エンジンのメッセージ・リカバリの実行」を参照してください。

B.6.3 EDNイベント・バスと配信のチューニング

システムMBeanブラウザで次のEDNプロパティをカスタマイズできます。

1. 「soa-infra」を右クリックします。

2. 「SOAインフラストラクチャ」→「管理」→「システムMBeanブラウザ」の順に選択します。

3. 「検索」フィールドにEDNConfigと入力して「検索」アイコンをクリックするか、または「アプリケーション定義のMBean」→「oracle.as.soainfra.config」→「サーバー: soa_server」→「EDNConfig」→「edn」の順に展開します。

4. 属性をダブルクリックします。

プロパティ

Type

詳細

JmsType

WLJMS

トピックのデフォルトのJMSタイプ。デフォルトでは、特定のSOAドメインで公開されたEDNイベントは、イベント・サブスクライバで消費されるようデフォルトのJMSトピックに(一時的に)格納されます。有効な値は次のとおりです。

- WLJMS (Oracle WebLogic Server JMS)

- AQJMS (Oracle Advanced Queuing JMS)

NumberOfRetrys

整数値

再試行可能例外の場合に、イベント配信中にEDNが自動的に実行する配信試行回数。これは、保証付き一貫性レベルまたはOne and Only One一貫性レベルのいずれかのサブスクライバに適用されます。再試行がNumberOfRetrys値に達すると、イベントはエラー・ホスピタルに移動され、手動リカバリの対象となります。

EDNがイベントを配信して再試行不可例外で失敗した場合、再試行はなく、イベントはすぐにエラー・ホスピタルに移動されます。

GlobalTxMaxRetry = 0である場合、再試行は無効になります。

Paused

ブール値

一時的にイベントの配信を停止します。

値はtrueまたはfalseです。trueの場合、各Oracle SOA SuiteサブスクライバのJMSコンシューマ・スレッドは削除されます。結果として、非永続サブスクライバの公開済イベントは失われ、永続サブスクライバの公開済イベントはJMSサーバーに保持されます。

QueueWaitTime

30,000

次の再試行まで待機する時間(ミリ秒)。この値は1000以上にする必要があります。デフォルト値は30,000 (30秒)です。

ThreadsPerSubscriber

1

各SOAサブスクライバでイベントの処理に使用する必要があるインバウンド・ポーラー・スレッドの数。イベントをサブスクライブするコンポジットをデプロイするとき、EDNによってこの値に基づいた数のインバウンドJMSコンシューマ・スレッドが初期化されます。「サービス・コンポーネント・レベルでのローカル・インバウンド・ポーラー・スレッド番号の値の更新」の手順に従ってローカル・スレッド番号を構成することで、スレッド番号をカスタマイズできます。ローカルでカスタマイズすると、スレッド番号はこのグローバルなThreadsPerSubscriber値での変更に左右されません。

注意:

- EventTypeToJmsConfigMappings属性はシステムMBeanブラウザの「EDNConfig」→「edn」セクションにリストされますが、変更しないでください。かわりに、「「ビジネス・イベント」ページでのJMSトピック宛先へのビジネス・イベントのマッピング」の手順に従って、JMSマッピングを変更してください。

- NumberOfThreads属性は、イベント・バックログのアップグレードを制御するために、リリース12cで使用されます。

5. 値を入力して、「適用」をクリックします。

B.6.4 イベントが同じコンポジットの複数リビジョンによって使用される

設計によって、異なるコンポジットで同じイベントをサブスクライブできます。ただし、同じコンポジットの複数のリビジョンで同じイベントをサブスクライブする場合はエラーです。これが発生するのは、コンポジットのアクティブ・バージョンが複数ある場合で、これはパッチ失敗の結果の可能性があります。

次の手順を実行して、同じコンポジットの複数のアクティブ・リビジョンが存在するかどうかを判別し、アクティブである必要のないコンポジット・リビジョンをリタイアさせます。

1. Oracle Enterprise Manager Fusion Middleware Controlに移動します。

2. 「SOA」→「soa-infra」の順にクリックします。

「ダッシュボード」タブの「デプロイ済コンポジット」セクションに、デプロイ済コンポジットの名前、リビジョンおよびモード(例: アクティブ)のリストが表示されます。

3. 同じ名前でアクティブ・モードであるが、リビジョンが異なるコンポジットを識別します。

4. アクティブである必要のないコンポジット・リビジョンをクリックします。

5. 「リタイア」ボタンをクリックします。

B.6.5 ビジネス・イベントがSOAサーバーによって2回(以上)取得される

ビジネス・イベントがJ2EEアプリケーションから発生し、複数回取得される場合があります。予期される動作は、それらが1回のみ取得されることです。

パッチが失敗すると、特定のコンポジットの2つのバージョンがアクティブになる可能性があります(つまり、古い方のバージョンがリタイアされていません)。コンポジットの複数のバージョンがアクティブである場合、これらはすべてサブスクライバになり、イベントが複数回取得されます。これは通常のシナリオでは発生しないようにする必要があります。パッチを再適用し、デプロイ済コンポジットのアクティブ・バージョンが1つのみであることを確認します。

B.6.6 EDNとコンポジットまたはクラスタ全体のコンポジット間でメッセージが一部失われる

メッセージは主に、次の理由で失われます。

1. EDNメッセージが配信されなかった。

2. ターゲットの非同期サービスが応答しなかった。

3. メッセージがロールバックされた(メッセージは失われなかったが、引き続きOracle Enterprise Manager Fusion Middleware Controlに表示される)。

この問題では通常、メッセージの宛先を識別し、パスを診断する必要があります。

- Oracle Web Services Manager Policy Managerセキュリティ構成を確認して、クライアントがSOAコンポジットを起動できるかどうかを調べます。

- トランザクションが一時(非永続)でないことを確認します。
Oracle BPEL Process Managerは、非同期コールバックの待機中、デハイドレーション・ストア・データベースを使用して、長期間にわたる非同期プロセスとその現在の状態の情報をデータベースに保持します。データベースにプロセスを格納することにより、プロセスを維持し、システムの停止やネットワークの問題が発生した場合の状態や信頼性の低下を防ぎます。Oracle BPEL Process Managerには、2つのタイプのプロセスがあります。これらのプロセスは、デハイドレーション・ストア・データベースに様々な方法で影響を与えます。

- 一時プロセス: このプロセス・タイプでは、プロセス実行時に中間デハイドレーション・ポイントは発生しません。未処理のフォルトがある場合、またはプロセス実行時にシステム停止時間がある場合、一時プロセスのインスタンスはトレースをシステムに残しません。一時プロセスのインスタンスは、(正常終了または異常終了に関係なく)処理中に保存できません。一時プロセスは通常、短期間のリクエスト/レスポンス形式のプロセスです。Oracle JDeveloperで設計する同期プロセスは、一時プロセスの例です。

- 永続プロセス: このプロセス・タイプでは、次のアクティビティのために、実行時にデータベースで1つ以上のデハイドレーション・ポイントが発生します。

- receiveアクティビティ

- pickアクティビティのOnMessageブランチ

- pickアクティビティのOnAlarmブランチ

- waitアクティビティ

永続プロセスのインスタンスは、(正常終了または異常終了に関係なく)処理中に保存できます。これらのプロセスは通常長期間存続し、一方向呼出しを介して開始されます。メモリー不足およびシステム停止時間の問題があるため、永続プロセスはメモリーについて最適化できません。

- ビジネス・フロー・インスタンスがOracle Enterprise Manager Fusion Middleware Controlに表示されず、SOAインフラストラクチャが実行中の場合は、「SOAインフラストラクチャの共通プロパティ」ページで、「監査レベル」が「オフ」に設定されていないことを確認します。これは、Oracle Enterprise Manager Fusion Middleware Controlで確認できます。

1. 「soa-infra」(SOA_cluster_name)を右クリックします。

2. 「SOA管理」→「共通プロパティ」の順に選択します。

- ビジネス・フロー・インスタンスが使用可能な場合は、oneWayDeliveryPolicy BPELプロパティの値を確認します。値をOracle Enterprise Manager Fusion Middleware Controlで確認できます。

1. ナビゲーション・ペインで、「soa-infra」(SOA_cluster_name)を展開します。

2. パーティションを展開し、コンポジットを選択します。
コンポジットに対する「ダッシュボード」ページが表示されます。

3. 右上隅にある「XML定義の表示」アイコンをクリックします。
そのコンポジットに対するcomposite.xmlの内容が表示されます。

これがasync.cacheに設定されている場合は、メッセージが失われる可能性があります。信頼性の高いメッセージのためには、async.persistに設定します。これは通常、composite.xmlファイルのBPELプロセス・サービス・コンポーネントのセクションで指定します。したがって、これはカスタム・コンポジットに設定できます。値がcomposite.xmlに設定されていない場合は、Oracle Enterprise Manager Fusion Middleware ControlのシステムMBeanブラウザのoneWayDeliveryPolicyの値が使用されます。次の値を指定できます。

- async.persist: メッセージは、データベース・ハッシュ・マップに保持されます。

- async.cache: メッセージはメモリーに格納されます。

- sync: 同じスレッドで直接起動が発生します。

これらの設定の詳細は、『Oracle SOAスイートでのSOAアプリケーションの開発』の「デプロイメント・ディスクリプタのプロパティ」および「BPELプロセスでのトランザクションおよびフォルト伝播のセマンティクス」を参照してください。

システムMBeanブラウザにおけるoneWayDeliveryPolicyプロパティの設定の詳細は、「BPELプロセス・サービス・エンジン・プロパティの構成」を参照してください。

トランザクションによって、応答が返されないターゲット非同期サービスが起動されている可能性もあります。この場合、ビジネス・フロー・インスタンスには、ターゲット非同期サービスへのコールが表示されます。

- インスタンスがロールバックされ、メッセージがリカバリ中であることを確認します。

1. Oracle Enterprise Manager Fusion Middleware Controlにログインします。

2. 「soa-infra」(SOA_cluster_name)を右クリックし、「サービス・エンジン」→「BPEL」の順に選択します。

3. 「リカバリ」タブをクリックします。

これは、メッセージを受信する外部参照にアクセスできない場合に発生する可能性があります(たとえば、外部Webサービス、Siebelなどのエンタープライズ・アプリケーションなど)。

B.7 パフォーマンスのトラブルシューティング

この項では、パフォーマンスの問題をトラブルシューティングする方法について説明します。

B.7.1 BPELコンパイラが終了せず、例外も報告されないという問題の解決

多数のBPELプロセス・サービス・コンポーネントを含む大規模なSOAコンポジット・アプリケーションがコンパイルされると、BPELコンパイラが終了せず、例外も報告されない場合があります。この場合は、ant-sca-compile.xmlファイルで次のようにJVMヒープ・サイズを増やします。

- <jvmarg value="-Xmx1024m"/>を

- <jvmarg value="-Xmx4g"/>に変更します。

次のコード・サンプルは、詳細を示します。

<scac input="${scac.input}" outXml="${scac.output}"
error="${scac.error}" appHome="${scac.application.home}"
failonerror="true" displayLevel="${scac.displayLevel}"
reportErrors="${scac.reportSchemaValidationErrors}">
<jvmarg
value="-Djavax.xml.xpath.XPathFactory:http://java.sun.com/jaxp/xpath/dom=oracle.
xml.xpath.JXPathFactory"/>
<jvmarg value="-Xms128m"/>
<jvmarg value="-Xmx4g"/>
<jvmarg value="-XX:PermSize=32m"/>
<jvmarg value="-XX:MaxPermSize=256m"/>
<jvmarg value="-Doracle.xdkjava.compatibility.version=11.1.1"/>
<jvmarg value="-Doracle.soa.compatibility.version=11.1.1"/>
<!-- jvmarg
value="-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"/ -->
</scac>
</target>

B.7.2 開いているファイルが多すぎることが原因で発生したメッセージの失敗の解決

使用中のJARファイル数、またはJDK 6/JREによるファイル記述子の使用(あるいはその両方)によっては、実行時またはコンパイル時に、次のエラーが発生する可能性があります。

Message send failed: Too many open files

このエラーを解決するには、ファイル記述子の数を少なくとも4096に増やします。

1. descriptorsの値を識別するには、limitコマンド(C shellの場合)またはulimitコマンド(Bash shellの場合)を使用します。通常、1024の値は低すぎます(特にJDK 6の場合)。

% limit

cputime      unlimited
filesize     unlimited
datasize     unlimited
stacksize    10240 kbytes
coredumpsize unlimited
memoryuse    unlimited
vmemoryuse   unlimited
descriptors  1024
memorylocked 500000 kbytes
maxproc      46720

2. rootユーザーでオペレーティング・システムにログインします。

3. /etc/security/limits.confファイルを編集してdescriptorsの値を大きくします。

この例の場合、すべてのユーザーについて制限を4096に増やすと、limits.confファイルは、次のようになります。

#<domain>      <type>  <item>         <value>
#

#*               soft    core            0
#*               hard    rss             10000
#@student        hard    nproc           20
#@faculty        soft    nproc           20
#@faculty        hard    nproc           50
#ftp             hard    nproc           0
#@student        -       maxlogins       4

# End of file
@svrgroup    soft    memlock         500000
@svrgroup    hard    memlock         500000
*           soft    nofile          4096
*           hard    nofile          4096

4. 端末を閉じてから再度開き、変更内容を有効にします。システムの再起動は不要です。

B.7.3 ペイロードが大きいことによって発生するMaxMessageSizeExceededExceptionエラーの解決

MaxMessageSizeExceededExceptionエラーは、デプロイ済のSOAコンポジット・アプリケーションに指定したペイロードが大きい場合に発生します(たとえば、100,000件のリクエストに該当する200vu*500iterなど)。MaxMessageSize構成はその負荷に基づいて構成する必要があります。ペイロードを表示し、MaxMessageSizeExceededExceptionエラーをチェックするには、監査証跡で「XML文書の表示」をクリックします。エラーを解決するには、MaxMessageSizeを80000000に増やすか、session-flush-threasholdを50に減らします。

注意:
この値は負荷によって異なります。MaxMessageSizeのデフォルト値は10000000です。負荷に応じて値を変更します。

MaxMessageSizeの増加

MaxMessageSizeを増加するには、次のとおり実行します。

1. 管理コンソールにログインします。

2. 「サーバー」→「プロトコル」→「一般」→「最大メッセージ・サイズ」に移動します。

3. 値を80000000に変更します。(adminとsoaの両方について)。

4. 「サーバー」→「構成」→「サーバーの起動」→「引数」に移動し、-Dweblogic.MaxMessageSize = 80000000と設定します。

また、weblogic.MaxMessageSizeプロパティを追加して、-Dweblogic.MaxMessageSizeの値を変更できます。プロパティを追加して値を変更する手順は、次のとおりです。

1. 次のファイルを開きます。

- UNIXオペレーティング・システムでは、$MIDDLEWARE_HOME/user_projects/domains/domain_name/bin/setDomainEnv.shを開きます。

- Windowsオペレーティング・システムでは、MIDDLEWARE_HOME\user_projects\domains\domain_name\bin\setDomainEnv.batを開きます。

2. 次の値を指定してweblogic.MaxMessageSizeプロパティを追加します。

EXTRA_JAVA_PROPERTIES="${EXTRA_JAVA_PROPERTIES}
-Dweblogic.MaxMessageSize=80000000"
export EXTRA_JAVA_PROPERTIES

3. サーバーを再起動します。

session-flush-threasholdの減少

コンソール・クラスタ→「soa_cluster」→「構成」→「レプリケーション」→「拡張」に移動し、「セッション・フラッシュのしきい値」の値を「50」(小さい値)に変更します。

B.7.4 表領域の拡張による実行時の問題の回避

データベース表領域が拡張されていない場合は、実行時処理に影響を与える可能性があります。メッセージが処理または保持されず、次の例1および例2のような例外エラーがログ・ファイルに表示される可能性があります。これは、Oracle BPEL Process Managerではインスタンス・データの格納をデータベースに依存しているためです。データベースが使用可能でない場合は、実行時処理に影響を与えます。

例1

INFO: MediatorServiceEngine returning after processing the request for
operation = processResponse

[EL Warning]: 2009.01.14 11:46:16.783--UnitOfWork(32372128)--Exception
[EclipseLink-4002] (Eclipse Persistence Services - 1.1 (Build
SNAPSHOT-20081007)): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.BatchUpdateException: ORA-01691: unable to
extend lob segment SH_SOAINFRA.SYS_LOB0000145067C00007$$ by 1024 in
tablespace SH_SOAINFRA

Error Code: 1691
Query: InsertObjectQuery(com.collaxa.cube.persistence.dto.AuditTrail@199b33d)
[EL Warning]: 2009.01.14 11:46:16.782--UnitOfWork(32372128)--Exception
[EclipseLink-4002] (Eclipse Persistence Services - 1.1 (Build
SNAPSHOT-20081007)): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.BatchUpdateException: ORA-01691: unable to
extend lob segment SH_SOAINFRA.SYS_LOB0000145067C00007$$ by 1024 in
tablespace SH_SOAINFRA
. . .
. . .

例2

<bpelFault><faultType>0</faultType><subLanguageExecutionFault
xmlns="http://schemas.oracle.com/bpel/extension"><part
name="summary"><summary>XPath expression failed to execute.
An error occurs while processing the XPath expression; the expression is
ora:readBinaryFromFile('/scratch/vbasaval/dropbox/LFile/PO_5Gig.zip').
The XPath expression failed to execute; the reason was:
java.sql.SQLException: ORA-01652: unable to extend temp segment by 128 in
tablespace DEV12_IAS_TEMP

表領域は、サイズ制限に達したときに、それ自体が指定のサイズだけ拡張するように設定してください。自動拡張を有効にしない場合は、表領域がクリティカルまたは警告のしきい値サイズに達したことを示すアラートが生成されたときに、必ず対応してください。サイズのアラートに対応するには、表領域のサイズを手動で増やします。

SQL*Plusに手動でデータ・ファイルを追加する手順は、次のとおりです。

SQL> alter tablespace SOA12_SOAINFRA add datafile
'/scratch/db12101/Oracle/oradata/SOA12_soainfra2.dbf' size 1000M autoextend on
next 30M maxsize unlimited;

ALTER DATABASE TEMPFILE '/scratch/db12101/Oracle/oradata/SOA12_iastemp.dbf' RESIZE
100M;
ALTER DATABASE TEMPFILE '/scratch/db12101/Oracle/oradata/SOA12_iastemp.dbf'
AUTOEXTEND ON NEXT 30M MAXSIZE UNLIMITED;
ALTER DATABASE DATAFILE '/scratch/db12101/Oracle/oradata/SOA12_mds.dbf' RESIZE
100M;
ALTER DATABASE DATAFILE '/scratch/db12101/Oracle/oradata/SOA12_mds.dbf' AUTOEXTEND
ON NEXT 50M MAXSIZE UNLIMITED;
ALTER DATABASE DATAFILE '/scratch/db12101/Oracle/oradata/SOA12_soainfra.dbf'
RESIZE 2048M;
ALTER DATABASE DATAFILE '/scratch/db12101/Oracle/oradata/SOA12_soainfra.dbf'
AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED;
ALTER DATABASE DATAFILE '/scratch/db12101/Oracle/oradata/SOA12_svctbl.dbf' RESIZE
100M;
ALTER DATABASE DATAFILE '/scratch/db12101/Oracle/oradata/SOA12_svctbl.dbf'
AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED;

ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE
'/scratch/db12101/Oracle/oradata/SOA12_SOAINFRA1.dbf' SIZE 100M AUTOEXTEND ON
NEXT 30M MAXSIZE UNLIMITED;
ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE
'/scratch/db12101/Oracle/oradata/SOA12_SOAINFRA2.dbf' SIZE 100M AUTOEXTEND ON
NEXT 30M MAXSIZE UNLIMITED;
ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE
'/scratch/db12101/Oracle/oradata/SOA12_SOAINFRA3.dbf' SIZE 100M AUTOEXTEND ON
NEXT 30M MAXSIZE UNLIMITED;
ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE
'/scratch/db12101/Oracle/oradata/SOA12_SOAINFRA4.dbf' SIZE 100M AUTOEXTEND ON
NEXT 30M MAXSIZE UNLIMITED;
ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE
'/scratch/db12101/Oracle/oradata/SOA12_SOAINFRA5.dbf' SIZE 100M AUTOEXTEND ON
NEXT 30M MAXSIZE UNLIMITED;
ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE
'/scratch/db12101/Oracle/oradata/SOA12_SOAINFRA6.dbf' SIZE 100M AUTOEXTEND ON
NEXT 30M MAXSIZE UNLIMITED;
ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE
'/scratch/db12101/Oracle/oradata/SOA12_SOAINFRA7.dbf' SIZE 100M AUTOEXTEND ON
NEXT 30M MAXSIZE UNLIMITED;
ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE
'/scratch/db12101/Oracle/oradata/SOA12_SOAINFRA8.dbf' SIZE 100M AUTOEXTEND ON
NEXT 30M MAXSIZE UNLIMITED;
ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE
'/scratch/db12101/Oracle/oradata/SOA12_SOAINFRA9.dbf' SIZE 100M AUTOEXTEND ON
NEXT 30M MAXSIZE UNLIMITED;
ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE
'/scratch/db12101/Oracle/oradata/SOA12_SOAINFRAA.dbf' SIZE 100M AUTOEXTEND ON
NEXT 30M MAXSIZE UNLIMITED;
ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE
'/scratch/db12101/Oracle/oradata/SOA12_SOAINFRAB.dbf' SIZE 100M AUTOEXTEND ON
NEXT 30M MAXSIZE UNLIMITED;
ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE
'/scratch/db12101/Oracle/oradata/SOA12_SOAINFRAC.dbf' SIZE 100M AUTOEXTEND ON
NEXT 30M MAXSIZE UNLIMITED;
ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE
'/scratch/db12101/Oracle/oradata/SOA12_SOAINFRAD.dbf' SIZE 100M AUTOEXTEND ON
NEXT 30M MAXSIZE UNLIMITED;
ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE
'/scratch/db12101/Oracle/oradata/SOA12_SOAINFRAE.dbf' SIZE 100M AUTOEXTEND ON
NEXT 30M MAXSIZE UNLIMITED;
ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE
'/scratch/db12101/Oracle/oradata/SOA12_SOAINFRAF.dbf' SIZE 100M AUTOEXTEND ON
NEXT 30M MAXSIZE UNLIMITED;
ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE
'/scratch/db12101/Oracle/oradata/SOA12_SOAINFRAG.dbf' SIZE 100M AUTOEXTEND ON
NEXT 30M MAXSIZE UNLIMITED;
ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE
'/scratch/db12101/Oracle/oradata/SOA12_SOAINFRAH.dbf' SIZE 100M AUTOEXTEND ON
NEXT 30M MAXSIZE UNLIMITED;
ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE
'/scratch/db12101/Oracle/oradata/SOA12_SOAINFRAI.dbf' SIZE 100M AUTOEXTEND ON
NEXT 30M MAXSIZE UNLIMITED;
ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE
'/scratch/db12101/Oracle/oradata/SOA12_SOAINFRAJ.dbf' SIZE 100M AUTOEXTEND ON
NEXT 30M MAXSIZE UNLIMITED;
ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE
'/scratch/db12101/Oracle/oradata/SOA12_SOAINFRAK.dbf' SIZE 100M AUTOEXTEND ON
NEXT 30M MAXSIZE UNLIMITED;

B.7.5 大量のトランザクションによるデータベース増大の問題の解決

Oracle SOA Suiteトランザクションが失敗して、データベースの領域不足がログに示されている場合は、大量のトランザクションによってデハイドレーション・ストアまたはMDSストアの領域が不足している可能性があります。後者の場合は、次のようなエラーが表示されます。

java.sql.SQLException: ORA-01653: unable to extend table SH_MDS.CUBE_INSTANCE by
16 in tablespace FUSION_TS_TOOLS

これは、表領域が満杯で、データベースがこれを拡張できないことを示します。

次のタスクを実行します。

1. 適切なレコード保存ポリシーを考慮して、アプリケーションがランタイム・データに依存していないことを確認しながら、デハイドレーション・ストア表を定期的にパージします。

パージの後で、領域を結合するコマンドを実行する必要があります。パージ戦略を機能させるためには、どれくらいの期間データをデータベースに保持する必要があるかを理解することが重要です。保存ポリシーは、次のような要因から決定されます。

- 法律的な要件

- ライン・オブ・ビジネスの要件

- データの保存に関する全般的な会社のポリシー

保存ポリシーが長くなるほど、格納する必要があるデータの量が増加し、それに応じて必要なディスク容量も多くなります。

パージ戦略の作成の詳細は、「データベース増分管理戦略の策定」および「データベース増分の管理」を参照してください。

2. パーティション化するために表を構成する前に、Oracleデータベースのパーティション化の需要に対処するための十分なリソースがデータベース・ハードウェアにあることを確認します。

デハイドレーション・ストアに対しては、レンジ・パーティション化とハッシュ・パーティション化を使用するデータベース・パーティション化が最適なソリューションです。パーティション化は、複数の表にデータを格納することで大きなデータ・セットをより小さく管理しやすいデータ・セットにすることと定義されます。パーティション化戦略は、メンテナンス・オーバーヘッド(パーティションの削除とプルーニング)を軽減してパフォーマンスを改善するうえで大きな役割を担います。パーティション化は、少なくとも、アクティビティが活発な表について行う必要があります。これは、ディスクI/Oを分散させてホット・ディスクを防止するうえで大きな役割を果たします。パーティション化のために表を構成する前に対応することが必要な重要な要件は、Oracleデータベースのパーティション化の需要に対処するための十分なリソースがデータベース・ハードウェアにあることを確認することです。本番前のテストでインストールが大規模であると示された場合は、パーティション化機能を利用するために環境(CPU、メモリーおよびディスク領域)を正しくサイズ調整していることが期待されます。

3. 最大限のパフォーマンスが得られるように、メモリー、表領域およびパーティションに対してデータベース・パラメータを調整します。詳細は、パフォーマンスのチューニングのデータベース・パラメータのチューニングに関する項を参照してください。

4. 領域不足の他の表領域について、次の問合せを使用して空き表領域をチェックします。

SELECT TOTAL.TABLESPACE_NAME "TABLESPACE NAME", FREE_SPACE, (TOTAL_SPACE-FREE_
SPACE) USED_SPACE, TOTAL_SPACE, ROUND((FREE_SPACE*100/TOTAL_SPACE),2) "FREE %"
FROM (SELECT TABLESPACE_NAME, SUM(BYTES/1024/1024) FREE_SPACE FROM SYS.DBA_
FREE_SPACE GROUP BY TABLESPACE_NAME) FREE,
(SELECT TABLESPACE_NAME, SUM(BYTES/1024/1024) TOTAL_SPACE FROM SYS.DBA_DATA_
FILES GROUP BY TABLESPACE_NAME) TOTAL
WHERE FREE.TABLESPACE_NAME = TOTAL.TABLESPACE_NAME AND TOTAL.TABLESPACE_NAME =
'<TABLESPACENAME>'
ORDER BY 5;

5. 表領域設定を増やすには、管理者アカウントを使用します。次に例を示します。

ALTER TABLESPACE TABLESPACE_NAME ADD DATAFILE 'DATAFILE_NAME' SIZE 500M
AUTOEXTEND ON;

詳細は、「開いているファイルが多すぎることが原因で発生したメッセージの失敗の解決」を参照してください。

B.7.6 ページ表示やトランザクション終了に長時間かかるといったアプリケーションの低速パフォーマンスの観察

ときによって、低速なアプリケーション・パフォーマンスやメモリー・トラッシュが観察される場合があります。たとえば、ページのロードと表示やコンポジット・トランザクションの完了に時間がかかる場合があります。レスポンスが通常より遅く感じられる場合があります。

低速パフォーマンスは様々な原因で発生します。たとえば、多数のサーバーが同じホスト上で実行されている状況や、多数のレコード、セッションまたはロックがデータベースに存在する状況が、原因として考えられます。スレッド競合もパフォーマンス不良の原因になる可能性があります。

注意:

この問題が発生すると、Oracle Enterprise Manager Fusion Middleware Controlでの構成の変更は一切できなくなる可能性があります。

この問題を診断する手順は次のとおりです。

1. CPU使用率をチェックして、CPU容量に対して負荷やプロセスが過大または過多なためにCPUが飽和していないかどうかを調べます。
通常の負荷でCPU使用率が100%の場合(目標は70-80%)、ピーク負荷を処理する容量はなく、ハードウェア・リソースは不十分です。追加の負荷を処理できるようにスケールアウト・サーバーを追加してください。

2. パフォーマンスについてレポートするOracle Enterprise Manager Fusion Middleware Controlを使用してアプリケーションをチェックします。BPELプロセスの監査証跡で、サービス、起動時間およびレスポンス時間のパフォーマンスをチェックします。

3. パフォーマンスを最大化するために、ロギング・レベルをデフォルトの「INFO」レベルより高く設定しないことをお薦めします。
デバッグを行う場合は、ロギング・レベルをFINESTレベルに設定する必要があります。ただし、問題が解決されたら、最善のパフォーマンスを得るために、ロギング・レベルをデフォルト・レベルにリセットしてください。また、「SOAインフラストラクチャの共通プロパティ」ページで「監査レベル」を「本番」に設定することもお薦めします。これはOracle Enterprise Manager Fusion Middleware Controlで次のように設定できます。

a. 「soa-infra」(SOA_cluster_name)を右クリックします。

b. 「SOA管理」→「共通プロパティ」の順に選択します。

c. 「監査レベル」を「本番」に設定します。

4. サービス・レベル合意(SLA)を維持するために、保存要件に基づいて定期的にパージします。
データの増加によってパフォーマンスの問題が発生する可能性がある表を識別するには、パフォーマンスのチューニングのインスタンス・データ増加の影響を受ける表の識別に関する項を参照してください。

パージ・スクリプトの使用の詳細は、「データベース増分の管理」を参照してください。

5. TopやGlanceなどのモニタリング・ツールを使用して、メモリー、IO、ページング、スワッピング、CPU使用率の負荷の統計をチェックします。

6. フル・ガベージ・コレクションまたはメモリー不足エラーを避けるために、JVMを最適化します。
頻繁なガベージ・コレクションは、高いメモリー使用率またはメモリー・リークのいずれかが原因で発生する可能性があります。

a. オペレーティング・システム・レベルのページング・アクティビティを回避するために、システムで実行されている全JVMの最大ヒープ・サイズの合計が、使用可能な物理RAMの量を超えないようにします。

b. JRockit Mission Controlメモリー・プロファイリング・ツールを使用して、スレッド・ ダンプとメモリー・スナップショットを取得します。これはOracleサポート・サービスがコードの問題をデバッグする一助となります。スレッド・ダンプの詳細は、「SOAコンポジット・アプリケーションに関する問題の診断」を参照してください。

7. 競合を回避するためにスレッドを最適化します。調査のためのスレッド・ダンプを取得して、Oracleサポート・サービスにこれを送信します。

8. JVMとスレッド・ ダンプでデータベースの起動方法をチェックして、データベースのパフォーマンスがボトルネックになっているかどうかを識別します。

9. データベースAWRスナップショットを実行して、データベース・パフォーマンスの問題の原因を識別します。

10. データベースの統計が定期的に更新されていることと、メモリー、表領域およびパーティションのチューニング可能な他のパラメータが最大限のパフォーマンスが得られるように効果的に使用されていることを確認します。
チューニング上の一般的な推奨事項を次に示します。詳細は、パフォーマンスのチューニングのデータベース・パラメータのチューニングに関する項を参照してください。

- 可能であれば、物理的に別個のディスク領域に索引と表を配置します。

- ロールバック・セグメントは、データ・セグメントや索引セグメントと一緒に配置しないでください。

- 非常にアクティブな表や索引は、各自の表領域に分離します。

- ディスクI/Oを分散させてホット・ディスクを防止するために、非常にアクティブな表や索引をパーティション化します。

- データベース表の統計を定期的に生成するためのプロセスを配備します。

11. 大きなオブジェクトの高水位標(HWM)競合を抑制するために、データベース表をチューニングします。HWM競合を抑制し、AQのメッセージを生成および使用する際に一貫したパフォーマンスを確保できるように、データベース・アドバンスト・キュー(AQ)をチューニングします。
知っておく必要があるEDN AQ名は、EDN_EVENT_QUEUE_TABLEとEDN_OAOO_DELIVERY_TABLEです。

12. オーバーヘッドを削減するようにBPELプロセス・プロパティをチューニングします(たとえば、不要な場合は、Oracle Enterprise Manager Fusion Middleware Controlの「BPELサービス・エンジン・プロパティ」ページの「ValidateXML」および「StatsLastN」(バッチ・サイズを収集する統計)プロパティを無効にします)。

13. パッケージ化されたアプリケーション(Siebelなど)と統合している場合は、レガシー・アプリケーションに問題がないかどうかをチェックします。

各種コンポーネントのパフォーマンス・チューニングの詳細は、パフォーマンスのチューニングの「トップ・パフォーマンス領域」およびSOA Suiteコンポーネントに関する項を参照してください。

「BPELサービス・エンジン・プロパティ」ページでのプロパティの設定の詳細は、「BPELプロセスのサービス・コンポーネントとエンジンの構成」を参照してください。

B.7.7 送信メッセージ速度を超える受信メッセージ速度の観察

メッセージの受信速度がメッセージの処理速度(送信速度)を超えると、次のような警告メッセージが表示されます。

[2012-04-09T16:49:40.342-04:00] [Soa_server1] [WARNING] []
[oracle.soa.bpel.engine.dispatch] [tid:
weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@e3d0e3d
] [userId: <anonymous>] [ecid: 0000JSnNKVTBh4Z5ln1FiZ1Fdnmd001gWL,0] [APP:
soa-infra] BPEL service engine is overloaded, the inflow is higher than the
outflow, there are "100000" invoke messages pending in the dispatcher in-memory
cache, the configured threshold is "102",the new incoming invoke messages will not
be dispatched or processed immediately, they are going to be persisted in the
dehydration store and can be recovered later using recovery.

この問題を解決するには、処理速度を上げるか、受信速度を下げます(受信を絞ります)。受信速度より処理速度が低速な状態は、次の1つまたは全部の問題が原因となって発生する可能性があります。

- 呼出しスレッドが不足している

- JVM容量が不足している

- BPELプロセスがコールしている外部パートナが拡張できないため、BPELプロセスでメッセージのバックアップが実行されている

正確な原因を識別してそれらを解決するには、次の手順を実行します。

1. composite.xmlファイルのoneWayDeliveryPolicyプロパティ値をチェックします。これはasync.persist、async.cacheまたはsyncに設定されていますか。このプロパティの詳細は、『Oracle SOA SuiteでのSOAアプリケーションの開発』のデプロイメント・ディスクリプタのプロパティに関する付録を参照してください。

2. BPELプロセスから外部サービスへの送信呼出しが、外部サービスのスケーラビリティが低いためにバックアップされていないことを確認します。外部サービスにボトルネックがある場合は、Oracle SOA Suiteで実行するチューニング(つまり、手順3)はまったく効果がありません。最初にこのボトルネックを解決することが必要です。

3. JVMガベージ・コレクション(GC)を監視します。GCが頻繁に通常以上になってJVMがほぼ容量満杯になっている場合は、JVMヒープ・サイズを大きくします。

B.8 サーバーのトラブルシューティング

この項では、サーバーの問題をトラブルシューティングする方法について説明します。

サーバー起動の問題の詳細は、「管理対象サーバーとSOAインフラストラクチャの停止と起動」を参照してください。

B.8.1 管理対象サーバーの起動および停止のベスト・プラクティス

次の(両方ではなく)いずれかの方法で管理対象サーバーを起動および停止することをベスト・プラクティスとしてお薦めします。管理対象サーバーをコマンドラインから起動して、Oracle Enterprise Manager Fusion Middleware Controlから停止する(または、その逆)など、これらの方法を組み合せないでください。

- Oracle Enterprise Manager Fusion Middleware Control。
この方法を使用する場合は、ノード・マネージャが起動され実行中である必要があります。Oracle Enterprise Manager Fusion Middleware Controlから実行される管理対象サーバーのすべての起動および停止は、ノード・マネージャによって追跡されます。この方法では、サーバーの状態は問題にはなりません。

- コマンドライン
この方法を使用する場合、サーバーの状態はノード・マネージャによって追跡されません。このため、サーバーをコマンドラインから起動し、Oracle Enterprise Manager Fusion Middleware Controlから停止すると、Oracle WebLogic管理サーバーはステータスを判断するためにノード・マネージャにアクセスしますが、「不明」という状態が返されます。

Oracle Enterprise Manager Fusion Middleware Controlからサーバーを停止および起動する手順は、次のとおりです。

1. 「WebLogicドメイン」を展開します。

2. 管理対象サーバー(例: soa_server1という名前のサーバー)を選択します。

3. 「制御」→「停止」の順に選択します。

4. 「制御」→「起動」の順に選択します。

コマンド行からの管理対象サーバーの起動および停止の詳細は、Oracle SOA SuiteおよびBusiness Process Managementのインストールと構成に関する項を参照してください。

B.8.2 SOAサーバー起動の問題の診断

SOAサーバー(soa_infra)が起動しない場合、サーバー起動の問題には様々な原因が考えられます。検出によるアプローチを使用して根本原因を見つける必要があります。問題を診断する最初の試みとして、サーバーと診断ログをチェックします。さらに、次をチェックしてください。

サーバー起動の問題を診断する手順は次のとおりです。

1. データベースが使用できないかどうか、または使用可能な接続が不足しているかどうかをチェックします。Oracle SOA Suite実行時の一部の障害は、データベースの停止や接続の問題によって発生します。次の手順を実行します。

a. Oracle WebLogic Server管理コンソールにログインします。

b. 「ドメイン構造」で、「サービス」→「データ・ソース」→「SOADatasource」→「モニタリング」→「テスト」の順に選択してデータ・ソースをテストして、ステータスを表示します。これはSQLプロンプトからもチェックできます。

2. ポートの競合がないかどうか、使用されているポートのリストをチェックします。

3. MDSリポジトリが共有ドキュメントをロードできないかどうかをチェックします(不正なMDS構成またはMDSスキーマを保持するデータベースが到達不可能)。

4. Oracle SOA Suiteクラスタを使用している場合は(ユニキャストまたはマルチキャストの使用)、Oracle Coherenceの構成をチェックします。
この問題はプロビジョニングの完了後のみ適用されます。ポートの競合がある場合(Oracle Coherenceによって使用されている場合)、SOAサーバーのクラスタリングは失敗する場合があります。たとえば、一方のSOAサーバーがデプロイメントを取得できても、もう一方のサーバーが取得できない可能性があります。ときによって、これは次のエラーのみを示す場合があります。

[soa_server1] [ERROR] [] [Coherence] [tid: Logger@352821903 3.6.0.4]
[ecid: 46f620208907e045:63f295ec:12dd091ec2e:-8000-0000000000000003,1:27187]
[APP: soa-infra] 2011-01-28 23:06:19.463/414.816 Oracle Coherence GE 3.6.0.4
<Error> (thread=[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default
(self-tuning)', member=n/a):
Error while starting cluster: com.tangosol.net.RequestTimeoutException: Timeout
during service start: ServiceInfo(Id=0, Name=Cluster, Type=Cluster[[...

この例では、Oracle Coherenceタイムアウトが重要な役割を果たしています。ただし、次のように無関係のエラーを示す場合もあります。

Error creating bean with name 'SensorManager' defined in ServletContext
resource

この根本原因も、主としてOracle Coherenceの構成に関係しています。

5. 管理サーバーと管理対象サーバーの両方のポートがオープンでアクセス可能であるかどうかをチェックします。

6. 管理サーバーに到達できないために管理対象サーバーの起動が失敗したかどうかをチェックします。

7. ネットワークの問題をチェックします(たとえば、問題の原因となっている可能性があるIPルーティングのフィルタやルール)。

8. Oracle WebLogic Server LDAPセキュリティの破損をチェックします。
管理対象サーバーは、アプリケーションのシステムMBeanブラウザのポリシーがすでに存在しているかどうかをレポートする場合があります。

B.8.3 プロキシ・サーバーの指定

システム・プロパティを使用してプロキシ・サーバーを指定するには、クライアント・アプリケーションを通常の方法で記述し、クライアント・アプリケーションを実行するとき、Javaシステム・プロパティを指定します。次のコード・サンプルは、詳細を示します。

setenv PROXY_SETTINGS "-DproxySet=true
-Dhttp.proxyHost=www-myproxy.us.mycompany.com -Dhttp.proxyPort=80
-Dhttp.nonProxyHosts=localhost|*.us.mycompany.com
|0:0:0:0:0:0:0:1|fe80:0:0:0:250:56ff:fe31"

注意:

http.proxyHostおよびhttp.proxyPortなどのプロキシ・プロパティの値を指定する場合は、http.nonProxyHostsプロパティも指定します。

B.8.4 一部のローエンドのホストで、フロー・ダイアグラムが初回に表示されない

Oracle Enterprise Manager Fusion Middleware Controlで、一部のローエンドのホストにおいて、デプロイ済のSOAコンポジット・アプリケーションのインスタンスIDのフロー・ダイアグラムが、初回に表示されない場合があります。かわりに、リソースのロードに失敗しましたというメッセージを受信します。

このことを回避するには、フローのトレース・ページを閉じ、インスタンスIDをクリックして、フローのトレース・ページに戻ります。

B.8.5 IPv4とIPv6をサポートするデュアル・スタック・ホスト上のOracle Enterprise Manager Fusion Middleware Controlへのアクセス

IPv4とIPv6の両方がサポートされているデュアル・スタック・ホスト上でOracle SOA Suiteを実行する場合は、Oracle Enterprise Manager Fusion Middleware Controlで、IPv4クライアントがIPv6のURLにアクセスするように、表B-25に従ってetc/hostsファイルを更新する必要があります。

表B-25 etc/hostsファイルのIPv4とIPv6の設定

クライアント

etc/hostsファイルを次のように編集します

IPv4クライアント上で:

xx.xxx.xxx.xxx myhost10-ipv6

ここで、xx.xxx.xxx.xxxはIPv6のIPアドレスです。

IPv6クライアント上で:

2001:0db8:db0a::0:1  myhost10-ipv6 myhost10-ipv6.us.example.com

注意: 2001:0db8:db0a::0:1は、使用するホスト環境に適した値に置き換えます。

B.9 ブラウザのトラブルシューティング

この項では、ブラウザの問題をトラブルシューティングする方法について説明します。

B.9.1 Safariブラウザを使用してWSDLファイルの内容を表示する場合の制限

Safariブラウザを使用する場合は、Oracle Enterprise Manager Fusion Middleware ControlでのWSDLファイルの内容の表示に関する、次の制限と回避策に留意してください。Mozilla Firefoxは正常に動作するため、この回避策は必要ありません。

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

2. ページの上部にある「WSDLおよびエンドポイントURIの表示」リンクをクリックします。

3. 表示されている「WSDL」リンクをクリックします。

選択したWSDLの内容が表示されていない空白ページが開きます。

回避策として、次の追加の手順を実行します。

4. このページの右上隅にある現在のページのメニューを表示するアイコンをクリックします。

5. 表示されたメニューから「ソースの表示」を選択します。

これにより、選択したWSDLの内容が別のページに表示されます。

B.10 その他のトラブルシューティングのドキュメント

表B-26に、その他のトラブルシューティングの問題について参照するドキュメントを示します。

表B-26 その他のトラブルシューティングのドキュメント

参照内容

参照先

SOAインフラストラクチャの起動とシャットダウンの問題

管理対象サーバーとSOAインフラストラクチャの停止と起動

WebLogic診断フレームワーク(WLDF)および診断フレームワーク(DFW)を使用した、Oracle SOA Suiteの問題の診断

SOAコンポジット・アプリケーションに関する問題の診断

大規模ドキュメントとメタデータの管理、および多数のインスタンスを含む環境の管理

『Oracle SOAスイートでのSOAアプリケーションの開発』の「大規模ドキュメントおよび大量のインスタンスの管理」

デプロイメント・エラーとコンパイル・エラー

『Oracle SOAスイートでのSOAアプリケーションの開発』のテストおよびトラブルシューティングに関する項

Oracle Web Services Managerポリシー・マネージャ・エラー

Webサービスの管理の「問題の診断」

Oracle Business Rules

Oracle Business Process Managementを使用したビジネス・ルールの設計の付録「Oracle Business Rulesのトラブルシューティング」

オラクルの法律上の注意点について

コピーライトについて

Copyright © 1994-2017, Oracle and/or its affiliates. All rights reserved.

ライセンス制約の保証と結果的に生じる損害の免責

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

保証免責

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクルまでご連絡ください。

制限付権利について

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

危険な用途への使用について

このソフトウェアまたはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアまたはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアまたはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアまたはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、Oracle Corporationおよびその関連会社は一切の責任を負いかねます。

商標と登録商標について

OracleおよびJavaはオラクルおよびその関連会社の登録商標です。その他の社名、商品名等は各社の商標または登録商標である場合があります。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

第三者のコンテンツ、製品、サービスに対する免責事項

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。適用されるお客様とOracle Corporationとの間の契約に別段の定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。適用されるお客様とOracle Corporationとの間の契約に定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

アルファ版およびベータ版ドラフト・ドキュメントについて

このドキュメントが試作版の場合:

このドキュメントは試作版であり、デモおよび暫定使用のみを目的としたものです。このソフトウェアを使用するハードウェアに限定するものではありません。Oracle Corporationおよびその関連会社は、このドキュメントに関して一切の責任を負わず、いかなる保証もいたしません。また、このドキュメントを使用したことによって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。

非公開のアルファ版およびベータ版ドラフト・ドキュメントについて

このドキュメントが非公開の試作版の場合:

このドキュメントに含まれる情報は、情報の共有のみを目的としたものであって、顧客諮問委員会(Customer Advisory Board)のメンバーとしてのお客様の立場でのみ、またはお客様のベータ・トライアル契約のみに従って検討されるべきものとします。マテリアル、コード、または機能の提供をお約束するものではなく、購入決定を行う際の判断材料とすべきではありません。このドキュメントに記載されている特徴または機能の開発、リリースおよび時期については、オラクルの裁量により決定されます。

このドキュメントには、ソフトウェアまたは印刷物などの形式を問わず、オラクルが独占的な権利を有する財産的情報が含まれています。この機密資料へのアクセスと使用は、お客様とオラクルとの間で締結され、お客様が遵守に同意した、Oracle Master Agreement、Oracle License and Oracle Services Agreement (オラクル・ライセンスおよびサービスに関する契約書)、Oracle PartnerNetwork Agreement、Oracle Distribution Agreementまたはその他のライセンス契約の条件に従うものとします。このドキュメントとその内容の開示、コピー、複製および配布には、オラクルによる事前の承諾を必要とします。このドキュメントはライセンス契約の一部となるものではなく、オラクルおよびその子会社や関連会社との契約を構成するものではありません。

ドキュメントのアクセシビリティについて

オラクルのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイトhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc を参照してください。

Oracle Supportへのアクセス

サポートをご契約のお客様には、My Oracle Supportを通して電子支援サービスを提供しています。詳細情報はhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=infoか、聴覚に障害のあるお客様はhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=trsを参照してください。