Oracle® Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド 11g リリース1 (11.1.1.4.0) B55916-03 |
|
前 |
次 |
この章では、Oracle Fusion MiddlewareのコンポーネントであるOracle Service-Oriented Architecture(SOA)Suite、Oracle Business Process Management(BPM)Suiteの概要、およびOracle Enterprise Manager Fusion Middleware Controlを使用したOracle SOA SuiteとOracle BPM Suiteの管理について説明します。
この章の内容は、次のとおりです。
Oracle Enterprise Manager Fusion Middleware Controlの管理タスクおよびOracle Fusion Middlewareの概要は、次のドキュメントを参照してください。
『Oracle Fusion Middleware管理者ガイド』
『Oracle Fusion Middleware 2日で管理者ガイド』
『Oracle Fusion Middleware概要』
Oracle Fusion Middlewareは、標準ベースのソフトウェア製品群であり、Java EE、開発ツール、統合サービス、ビジネス・インテリジェンス、コラボレーションなど、様々なツールとサービスを提供します。また、アプリケーションの開発、デプロイメントおよび管理を完全にサポートします。
Oracle SOA Suiteは、Oracle Fusion Middlewareのミドルウェア・コンポーネントの1つです。SOAコンポジット・アプリケーションの設計、デプロイおよび管理に対応するサービス・インフラストラクチャ・コンポーネントの完全なセットを提供します。Oracle SOA Suiteを使用すると、サービスを作成して管理し、SOAコンポジット・アプリケーションに組み込むことができます。コンポジットによって、複数のテクノロジ・コンポーネントを組み合せて1つのSOAコンポジット・アプリケーションを作成できます。Oracle SOA Suiteは、異種ITインフラストラクチャへの接続を行い、企業がSOAを段階的に採用できるようにします。
Oracle SOA Suiteは、Oracle Enterprise Manager Fusion Middleware Controlから管理できます。次の各項で、Oracle SOA Suiteのコンポーネントの概要を示します。
Oracle SOA Suiteの概要は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。
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コンポジット・アプリケーションをクリックすると、そのホーム・ページにアクセスできます。図1-2に、SOAコンポジット・アプリケーションのホーム・ページの上部を示します。SOAコンポジット・アプリケーションのホーム・ページからは、インスタンスの監視、フォルトのリカバリ、アプリケーション・インスタンスの状態の管理、ポリシーのアタッチなどの管理タスクを実行できます。また、SOAコンポジット・アプリケーション・レベルで、コンポジット監査レベルやペイロード検証の指定など、一定数の構成タスクを実行することもできます。これらのタスクは、ページの上部にボタンとして表示されます。
図1-3に、このSOAコンポジット・アプリケーションのホーム・ページの下部を示します。コンポジットに組み込まれているサービス・コンポーネント、およびサービス・バインディング・コンポーネントと参照バインディング・コンポーネントが表示されます。
詳細は、次の各項を参照してください。
図1-1の「デプロイ済コンポジット」ページに示されているようなSOAコンポジット・アプリケーションは、次のコンポーネントで構成されます。
サービス・コンポーネント。ルーティングのためのOracle Mediator、オーケストレーションのためのBPELプロセス、オーケストレーションのためのBPMNプロセス(Oracle BPM Suiteがインストールされている場合)、ワークフロー承認のためのヒューマン・タスク、SOAコンポジット・アプリケーションにJavaインタフェースを統合するためのSpring、ビジネス・ルールを使用するためのデシジョン・サービスなどがあります。
外部のサービス、アプリケーションおよびテクノロジに対してSOAコンポジット・アプリケーションを接続するバインディング・コンポーネント(サービスと参照)
これらのコンポーネントが、1つのSOAコンポジット・アプリケーションに組み込まれています。コンポーネントを単一のデプロイメント単位(アプリケーション)に組み込むことで、SOAアプリケーションの管理とライフサイクルが大幅に簡素化されます。
図1-4に、Oracle JDeveloperのSOAコンポジット・エディタに表示されたSOAコンポジット・アプリケーションの例を示します。サービス・バインディング・コンポーネント(orderprocessor_client_epなど)によって、その機能が外部コンシューマに通知されます。サービスは、BPELプロセス、Oracle Mediator、ヒューマン・タスクおよびデシジョン・サービスの各コンポーネントで構成されるSOAコンポジット・アプリケーション(OrderBookingComposite)のパブリック・インタフェースを公開します。サービスは、ワイヤでコンポジット内の特定のコンポーネントまたは参照に接続されます。参照バインディング・コンポーネント(CreditCardAuthorizationServiceやPartnerSupplierServiceなど)を使用すると、SOAコンポジット・アプリケーションから外部サービスにメッセージを送信できます。サービス・バインディング・コンポーネント、サービス・コンポーネントおよび参照バインディング・コンポーネントは、通信するために連結(接続)されます。
SOAコンポジット・アプリケーションに組み込まれているサービス・コンポーネントとバインディング・コンポーネントは、図1-3および図1-5に示すように、アプリケーションのホーム・ページの下部に表示されます。図1-5の例は、「コンポーネント・メトリック」セクションの2つのサービス・コンポーネントと「サービスと参照」セクションの3つのバインディング・コンポーネントを示しています。特定のサービス・コンポーネントまたはバインディング・コンポーネントをクリックすると、そのホーム・ページにアクセスできます。
図1-5 SOAコンポジット・アプリケーションのサービス・コンポーネントおよびバインディング・コンポーネント
詳細は、次のドキュメントを参照してください。
『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』
SOAコンポジット・アプリケーションを起動すると、新規コンポジット・インスタンスが作成されます。このインスタンスは、一意のインスタンスIDで識別されます。このIDは、Oracle Enterprise Manager Fusion Middleware Controlの各ページに表示されます。たとえば、図1-6では、SOAインフラストラクチャの「インスタンス」ページに、SOAコンポジット・アプリケーション用のインスタンスIDが表示されています。これらのIDをクリックすると、SOAコンポジット・アプリケーション・インスタンスの状態に関するより具体的な詳細にアクセスできます。「インスタンス」ページから、SOAコンポジット・アプリケーション・インスタンスの状態を監視することもできます。
「テスト実行」ページからユニット・テストとして作成したインスタンスは、「Webサービスのテスト」ページから自動的にまたは手動で作成されたインスタンスとは小さい黄色のボックスで区別されます。図1-6に示すように、このボックスはインスタンスIDの左側に表示されます。このボックスは、SOAインフラストラクチャおよびSOAコンポジット・アプリケーションの「インスタンス」ページおよび「ダッシュボード」ページの「最新のインスタンス」表の両方に表示されます。
一部のSOAコンポジット・アプリケーションに対しては、対話IDも生成されます。対話IDは、生成された一連のインスタンスを明確に識別する別の方法を提供します。図1-6に示すように、対話IDはすべてのインスタンスに対して自動的に表示されるわけではありません。生成された対話IDを参照するには、次のいずれかのタスクを実行します。
プログラムでサービスを起動し、WS-Addressingヘッダー(messageId
)を介して一意のIDを渡します。
「Webサービスのテスト」ページを使用してインスタンスを作成します。ただし、「Webサービスのテスト」ページの「追加テスト・オプション」セクションにある「ストレス・テストの有効化」チェック・ボックスが選択されている場合を除きます。この場合、インスタンスの対話IDは作成されません。
詳細は、次の各項を参照してください。
SOAコンポジット・アプリケーションには、複数のサービス・コンポーネントが含まれています。サービス・コンポーネントは、SOAコンポジット・アプリケーションの基礎単位です。サービス・コンポーネントによって、SOAコンポジット・アプリケーションの全体的なビジネス・ロジックの一部が実装されます。
SOAコンポジット・アプリケーションで使用できるサービス・コンポーネントは、次のとおりです。
BPMNプロセス(Oracle BPM Suiteがインストールされている場合): Business Process Management Notation and Modeling(BPMN)を使用したビジネス・プロセスの作成およびモデルリングに使用します。
Oracle Mediator: サービスの生産者とコンシューマ間のコンテンツ変換およびイベント(メッセージ)のルーティングに使用します。
ヒューマン・タスク: ユーザーまたはグループが、エンドツーエンドのビジネス・プロセス・フローの一環として実行するタスクを記述するヒューマン・タスク(例: 手動による注文の承認)のモデリングのために使用します。
Oracle Enterprise Manager Fusion Middleware Controlのサービス・コンポーネントのホーム・ページからは、インスタンスの監視、フォルトのリカバリ、ポリシーのアタッチなどの管理タスクを実行できます。
第1.2.3項「SOAコンポジット・アプリケーション・インスタンスの概要」で説明したように、各アプリケーション・インスタンスには独自のインスタンスIDがあります。SOAコンポジット・アプリケーション・インスタンスに組み込まれている各サービス・コンポーネント・インスタンスにも独自のインスタンスIDがあり、このIDもOracle Enterprise Manager Fusion Middleware Controlに表示されます。図1-7では、「インスタンスID」列に、VacationRequest SOAコンポジット・アプリケーションのVacationRequestTaskヒューマン・タスク・サービス・コンポーネント用のインスタンスID(workflow:200000)が表示されています。「インスタンス」ページから、そのサービス・コンポーネント・インスタンスの状態を監視できます。これらのインスタンスをクリックすると、サービス・コンポーネントに関するより具体的な詳細にアクセスすることもできます。
サービス・コンポーネントの管理の詳細は、次の各項を参照してください。
SOAコンポジット・アプリケーションは、バインディング・コンポーネントによって、外部のサービス、アプリケーションおよびテクノロジ(メッセージング・システムやデータベースなど)に接続されます。バインディング・コンポーネントは、次の2つのグループに編成されます。
サービス: SOAコンポジット・アプリケーションへのエントリ・ポイントを外部に提供します。サービスのWSDLファイルによって、そのサービスの機能が外部のアプリケーションに通知されます。サービスのバインディングでは、SOAコンポジット・サービスをどのように呼び出すことができるか(例: SOAP経由で)が定義されます。
参照: SOAコンポジット・アプリケーションから外部のサービスにメッセージを送信できます(たとえば、パートナ・リンクがBPELプロセスに対して提供するものと同じ機能であっても、より高度なSOAコンポジット・アプリケーション・レベルで提供されます)。
Oracle Enterprise Manager Fusion Middleware Controlでは、ポリシーのアタッチ、拒否メッセージの監視、バインディング・コンポーネント・プロパティの設定などのバインディング・コンポーネント管理タスクを実行できます。図1-8に、サービス・バインディング・コンポーネント(この例ではJCAアダプタ)のホーム・ページを示します。
詳細は、第33項「バインディング・コンポーネントの管理」を参照してください。
SOAインフラストラクチャには、一連のサービス・エンジン(BPELプロセス、ヒューマン・ワークフロー、デシジョン・サービス、Oracle MediatorおよびSpring)が組み込まれており、これらは、SOAコンポジット・アプリケーション(例: BPELプロセス)内でそれぞれのコンポーネントのビジネス・ロジックを実行します。Oracle BPM Suiteがインストールされている場合、SOAインフラストラクチャにはBPMNプロセス・サービス・エンジンも含まれます。
図1-9に、BPELプロセス・サービス・エンジンのOracle Enterprise Manager Fusion Middleware Controlの例を示します。このエンジンでは、Calling、LoanServiceおよびCreditRatingServiceというBPELプロセス・サービス・コンポーネントが実行されています。LoanServiceおよびCreditRatingServiceに対して複数のインスタンスIDがあることに注意してください。BPELプロセス・サービス・コンポーネントは、2つの別々のSOAコンポジット・アプリケーションに組み込まれています。
Callingは、Calling SOAコンポジット・アプリケーションに組み込まれています。
LoanServiceおよびCreditRatingServiceは、CompositeTest SOAコンポジット・アプリケーションに組み込まれています。
ただし、各BPELプロセス・サービス・コンポーネントは、同じBPELプロセス・サービス・エンジンで実行されます。ページ上のリンクをクリックすると、各BPELプロセス・サービス・コンポーネント・インスタンス、サービス・コンポーネント自体、または組み込まれているSOAコンポジット・アプリケーションに関する詳細を参照できます。
Oracle Enterprise Manager Fusion Middleware Controlでは、インスタンスの監視、フォルトのリカバリ、失敗したメッセージの手動リカバリ(BPEL)、サービス・エンジン固有のプロパティの構成などのサービス・エンジン管理タスクを実行できます。これらの構成プロパティは、サービス・コンポーネントが組み込まれているSOAコンポジット・アプリケーションに関係なく、サービス・エンジンで実行されるすべてのサービス・コンポーネントに影響を与えます。サービス・エンジンのページには、エンジン固有の統計およびパフォーマンス・メトリックも表示されます。
サービス・エンジンの管理の詳細は、次の各項を参照してください。
サービス・インフラストラクチャは、内部メッセージ転送インフラストラクチャ機能を提供して複数のコンポーネントを接続し、データ・フローを有効にします。サービス・インフラストラクチャには、サービス、サービス・コンポーネントおよび参照間のワイヤ接続に従ってメッセージをルーティングする役割があります。
詳細は、次の各項を参照してください。
ワイヤリングの詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。
SOAコンポジット・アプリケーションは、様々なサービス・コンポーネント、バインディング・コンポーネントおよびサービスで構成でき、これらはOracle Enterprise Manager Fusion Middleware Controlから管理します。
BPELプロセス
BPMNプロセス(Oracle BPM Suiteがインストールされている場合)
ヒューマン・ワークフロー
Oracle Mediator
デシジョン・サービス(Oracle Business Rules)
Spring
JCAアダプタ
HTTPバインディング
EJBサービス
直接バインディング・サービス
Oracle Application Development Framework (ADF) Business Componentsサービス
Oracle BAM
Oracle B2B
ビジネス・イベント
Oracle User Messaging Service
これらのサービス・コンポーネント、バインディング・コンポーネントおよびサービスの概要は、『Oracle Fusion Middleware Oracle SOA Suiteスタート・ガイド』および『Oracle Fusion Middleware Oracle SOA 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 SOA SuiteおよびOracle BPM Suiteの様々な管理(構成、監視および管理)タスクは、Oracle Enterprise Manager Fusion Middleware Controlから実行できます。この項では、これらのタスクの概要を示します。
実行可能な管理タスクは、マップされているロールに基づきます。各ロールは、異なる一連の権限に対応しています。特定のユーザーを単一の監視権限(表示専用アクセスなど)にマップし、他のユーザーには、完全アクセス(構成の更新、サーバーの再起動などを実行できる権限)を付与できます。 Oracle Enterprise Manager Fusion Middleware Controlのロールの詳細は、付録C「Oracle Enterprise Managerのロール」を参照してください。
Oracle SOA SuiteおよびOracle BPM Suiteの構成タスクは、Oracle Enterprise Manager Fusion Middleware Controlで実行できます。構成タスクでは、使用環境の監査レベルやペイロード検証などのプロパティを設定します。プロパティは次のレベルで設定できます。
SOAインフラストラクチャ(すべてのSOAコンポジット・アプリケーションに影響)
サービス・エンジン(サービス・コンポーネントが組み込まれているSOAコンポジット・アプリケーションに関係なく、エンジンで実行されるすべてのサービス・コンポーネントに影響)
SOAコンポジット・アプリケーション(そのコンポジット・アプリケーションに組み込まれているすべてのサービス・コンポーネントに影響)
Oracle B2Bバインディング
サービスおよび参照バインディング・コンポーネントのメッセージ・ヘッダー・プロパティ
優先順位としては、継承SOAコンポジット・アプリケーションのプロパティ設定(監査レベルの設定やペイロード検証)が最も優先され、次にサービス・エンジンの設定、SOAインフラストラクチャの設定の順に優先されます。ただし、ほとんどのプロパティでは、この種の優先度を考慮する必要はありません。
監査トラッキングでは、メッセージ・トラッキング・インフラストラクチャによって収集する情報のレベルを選択できます。監査レベル・トラッキングは、次のレベルで設定できます。
BPELプロセスまたはBPMNプロセス・サービス・コンポーネント
SOAコンポジット・アプリケーション
サービス・エンジン
SOAインフラストラクチャ
監査トラッキングを複数レベルで設定した場合は、どの設定が優先されるかを理解することが重要です。表1-1に、監査レベル設定の優先順位の例を示します。
表1-1 優先順位の例
コンポーネント | コンポジット | サービス・エンジン | SOAインフラストラクチャ | 優先される設定 |
---|---|---|---|---|
プロパティなし |
オフ |
本番 |
開発 |
コンポジット。 監査レベルは「オフ」に設定されます。サービス・エンジンおよびSOAインフラストラクチャの監査レベルは無効になります。 |
プロパティなし |
継承 |
開発 |
本番 |
サービス・エンジン。 監査レベルは「開発」に設定されます。assignアクティビティでペイロードが表示されます。SOAインフラストラクチャの監査レベルは無効になります。 |
プロパティなし |
継承 |
継承 |
本番 |
SOAインフラストラクチャ。 監査レベルは「本番」に設定されます。 |
プロパティなし |
継承 |
本番/開発/オフ/継承 |
オフ |
全体的な監査は表示されません。 コンポジットはSOAインフラストラクチャの監査レベルを継承します。サービス・エンジンの監査レベル設定に基づいてペイロードがassignアクティビティで表示されます。 |
開発 |
オフ |
本番 |
開発 |
コンポジット。 コンポジット監査レベルが「オフ」に設定されているため、全体的な監査は表示されません。サービス・エンジンの監査レベルが表示されますが、コンポーネントの「開発」設定が優先されます。 「開発」のコンポーネント監査レベル設定に基づいてペイロードがassignアクティビティで表示されます。 |
継承 |
オフ |
本番 |
開発 |
コンポジット。 コンポジット監査レベルが「オフ」に設定されているため、全体的な監査は表示されません。コンポジットから「オフ」が継承されるため、サービス・エンジンの監査レベルは表示されません。 |
注意:
|
詳細は、次の各項を参照してください。
Oracle SOA SuiteおよびOracle BPM Suiteの監視タスクは、Oracle Enterprise Manager Fusion Middleware Controlで実行できます。次のような項目を監視できます。
SOAインフラストラクチャ、SOAコンポジット・アプリケーション、サービス・コンポーネント、サービス・エンジン、サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントのインスタンス、フォルトおよび拒否メッセージ
サービス・エンジン、サービス・インフラストラクチャ、およびバインディング・コンポーネントのリクエスト処理パフォーマンス
サービスおよび参照バインディング・コンポーネントのメッセージ処理に要する合計処理時間と平均処理時間
サービス・コンポーネントにおける監査証跡およびプロセス・フローの動作。BPMNプロセスの場合は、BPMNプロセス・フロー全体が表示され、プロセス・インスタンスがとるパスが強調表示されます。
BPELプロセス、BPMNプロセスおよびヒューマン・ワークフローにおけるサービス・エンジンのリクエストおよびスレッドの状態
Oracle SOA SuiteおよびOracle BPM Suiteの管理タスクは、Oracle Enterprise Manager Fusion Middleware Controlで実行できます。次のような項目を管理できます。
パーティションの作成と削除。パーティションの作成後、コンポジットを適切なパーティションにデプロイできます。このアクションにより、SOAコンポジット・アプリケーションをパーティションに論理的にグループ化できます。このことは、Oracle BPEL Process Managerの10.1.xリリースのドメインの概念に似ています。
コンポジットの状態(アクティブ化、リタイア、起動、停止およびデフォルト・コンポジット・バージョンの設定)
コンポジット・インスタンスの削除と終了
SOAコンポジット・アプリケーションのデプロイメント、アンデプロイメントおよび再デプロイメント・アクション
実行中のSOAコンポジット・アプリケーションのJARファイルへのエクスポート。
SOAコンポジット・アプリケーション・テスト・インスタンスの「Webサービスのテスト」ページからの手動による起動
SOAコンポジット・アプリケーション、サービス・コンポーネント、サービス・エンジンおよびビジネス・イベントのフォルトのリカバリ
BPELプロセスで失敗したメッセージの手動リカバリ
SOAコンポジット・アプリケーションの自動ユニット・テスト
SOAコンポジット・アプリケーション、サービス・コンポーネントおよびバインディング・コンポーネントへのポリシーのアタッチメント
ヒューマン・ワークフローの受信および送信通知メッセージ
ビジネス・イベントのサブスクリプションおよびイベント公開のテスト
Universal Description, Discovery, and Integration(UDDI)レジストリへのWebサービスの公開
ビジネス監視の無効化(BPELセンサー、BPELモニターおよびBPMN測定)
以降の各項では、いくつかの管理タスクについてより具体的な概要を示します。
Oracle Enterprise Manager Fusion Middleware Controlでリカバリ可能として識別されたBPELプロセス、BPMNプロセス、Oracle Mediator、ヒューマン・ワークフローおよびビジネス・イベント・サブスクリプションのフォルト(データベースおよびコンポーネント・サブスクリプションのフォルトを含む)に対しては、フォルト・リカバリ・アクションを実行できます。次のタイプのフォルト・リカバリがサポートされています。
個々のフォルトのリカバリ。この場合は、各フォルト・タイプに固有の最も詳細なリカバリ・オプションにアクセスできます。
複数(一括)フォルトのリカバリ。この場合は、リカバリに対して複数のフォルトを選択します。
リカバリ可能なフォルトに対しては、個別および一括リカバリ・アクションを次のレベルで実行できます。
SOAインフラストラクチャのすべてのSOAコンポジット・アプリケーションで発生したフォルト
個々のSOAコンポジット・アプリケーションで発生したフォルト
サービス・コンポーネントで発生したフォルト
サービス・エンジンで発生したフォルト
ビジネス・イベントで発生したフォルト
Oracle Enterprise Manager Fusion Middleware Controlでリカバリ可能として識別されたフォルトに対して、フォルト・リカバリを実行します。リカバリ可能として識別されたBPELプロセス・フォルトについては、(fault-bindings.xml
ファイルを介して)フォルトにバインドされ、アクションora-human-intervention
をトリガーするフォルト・ポリシーが定義されている必要があります。BPELコンポーネントのフォルトは、この場合のみリカバリ可能です。フォルト・ポリシーがコンポジットの一部として定義されていない場合、BPELプロセスのフォルトはリカバリできません。
フォルト・リカバリ・ポリシーは、Oracle Enterprise Manager Fusion Middleware Controlの外部のfault-policies.xml
およびfault-bindings.xml
ファイルに定義します。これらのファイルは、SOAインフラストラクチャにデプロイするSOAコンポジット・アプリケーションとパッケージ化され、Oracle Enterprise Manager Fusion Middleware Controlで管理されます。
Oracle Mediatorおよびヒューマン・ワークフローのフォルトの動作はこれとは異なります。これらは、フォルト・ポリシーなしでリカバリ可能なフォルトを作成できます。ヒューマン・タスク・サービス・コンポーネントまたはヒューマン・ワークフロー・サービス・エンジンのエラーの場合は、Oracle BPM Worklistからリカバリ可能として識別されたフォルトに対してフォルト・リカバリを実行します。
次のタイプのフォルトがOracle Enterprise Manager Fusion Middleware Controlに表示されます。
ビジネス: 処理対象の情報に問題がある場合に生成されるアプリケーション固有のフォルト(たとえば、社会保障番号がデータベースにない場合など)。
システム: ネットワーク・エラーまたは他のタイプのエラー(データベース・サーバーやWebサービスがアクセス不可の場合など)。
Oracle Web Service Manager(OWSM): SOAコンポジット・アプリケーション、サービス・コンポーネントまたはバインディング・コンポーネントにアタッチされたポリシーのエラー。ポリシーでは、メッセージ配信に対してセキュリティが適用されます。
リカバリ可能またはリカバリ不可:
特定のタイプのフォルトのみがリカバリ可能として識別されます。表1-2に、リカバリ可能なフォルトとリカバリ不可のフォルトの例をいくつか示します。
フォルトは、その発生時期に基づいて拒否メッセージとして分類されます。フォルトの発生がSOAコンポジットの入力前で、コンポジット・インスタンスが生成されていない場合は、拒否メッセージとして分類されます。システム・フォルトまたはポリシー・フォルトは拒否メッセージとして分類されます。
表1-2 フォルト
リカバリ可能なフォルト | リカバリ不可のフォルト |
---|---|
|
|
フォルト・リカバリの実行の詳細は、次の各項を参照してください。
Oracle Enterprise Manager Fusion Middleware Controlでは、ポリシーを次のレベルでアタッチおよびデタッチできます。
SOAコンポジット・アプリケーション
サービス・コンポーネント
サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネント
ポリシーでは、メッセージ配信に対してセキュリティが適用されます。Oracle Fusion Middlewareでは、ポリシー・ベースのモデルを使用してWebサービスを管理します。次のタイプのポリシーがサポートされています。
セキュリティ: WS-Security 1.0および1.1の標準を実装します。これらの標準によって、ユーザーの認証と認可、アイデンティティ伝播およびメッセージ保護(メッセージ整合性およびメッセージ機密性)が実施されます。
信頼できるメッセージング: WS-ReliableMessagingプロトコルをサポートして、エンドツーエンドのメッセージ配信を保証します。
メッセージ転送最適化メカニズム(MTOM): 添付がMTOMフォーマットであることを保証します。このフォーマットは、Webサービスとの間でバイナリ・データを効率的に送受信するためのフォーマットです。
WSアドレス: WSアドレス仕様に準拠したWS-AddressingヘッダーがSOAPメッセージに含まれていることを検証します。トランスポート・レベルのデータはXMLメッセージに含まれており、ネットワーク・レベルのトランスポートに依存せずに情報を伝達します。
管理: リクエスト、レスポンスおよびフォルト・メッセージをメッセージ・ログに記録します。管理ポリシーにはカスタム・ポリシーを含めることもできます。
ポリシーは、企業のポリシー・フレームワークの一部であり、このフレームワークによってポリシーを集中的に作成して管理できます。
詳細は、次のドキュメントを参照してください。
使用可能なポリシーの定義と使用環境で使用するポリシーの詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』を参照してください。
ポリシーは、ポリシーがアタッチされているコンポーネントにメッセージが到達する前に実行されます。この結果、エラーは、ポリシーがアタッチされているコンポーネントの直前のコンポーネントに表示されます。次に例を示します。
Oracle Mediatorサービス・コンポーネントにアタッチされたポリシーは、メッセージがOracle Mediatorに渡される前にワイヤで実行されます。この結果、フォルトは、Oracle Mediatorではなくサービス・バインディング・コンポーネントに表示されます。
ヒューマン・タスク・サービス・コンポーネントにアタッチされたポリシーは、メッセージがヒューマン・タスク・サービス・コンポーネントに渡される前に、直前のBPELプロセス・サービス・コンポーネントで実行されます。この結果、フォルトは、ヒューマン・タスク・サービス・コンポーネントではなく、BPELプロセス・サービス・コンポーネントに表示されます。
ヒューマン・タスク・サービス・コンポーネントにアタッチされたポリシーは、メッセージがヒューマン・タスク・サービス・コンポーネントに渡される前に、ヒューマン・サービス・コンポーネントに関連付けられているヒューマン・ステップのBPMNプロセスの内部で実行されます。これにより、フォルトは、ヒューマン・タスク・サービス・コンポーネントではなく、BPMNプロセス・サービス・コンポーネントに表示されます。
ポリシー・エラーの正確な位置を確認するには、監査証跡を参照してください。
デプロイ済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から実行できます。
インスタンスの作成。
アプリケーション・リビジョンの停止と再起動。アプリケーション・リビジョンは通常、デプロイメント後即時に起動されます。
アプリケーション・リビジョンのリタイアとアクティブ化。アプリケーション・リビジョンは、デプロイメント時に即時にアクティブ化されます。
デフォルト・バージョンとしてのアプリケーションの設定。
アプリケーション・リビジョンのデプロイ、アンデプロイおよび再デプロイ。
アプリケーション・リビジョンの特定インスタンスの削除。
ライフサイクル管理にOracle SOAガバナンス・ツールが追加されたため、SOAコンポジット・アプリケーション、またはコンポジット内の任意のコンポーネントまたはサービスに対して追加のライフサイクル管理タスクを実行できます。
Oracle Enterprise Repositoryで各コンポーネントの重要情報を収集して、プロデューサ、プロバイダ、コンシューマまたはその他のライフサイクル参加者の理解向上に役立てることができます。たとえば、前のバージョンと次のバージョンの関係を示すことができます。
ライフサイクルのステージ分類をコンポーネントまたはサービス・エンドポイント(ビルド、テスト、ステージまたは本番など)に関連付けます。
様々なライフサイクル・ステージを経由して自動的に進み、コンポーネントとサービス・エンドポイントを追跡し、それらのライフサイクル・ステージの適切なUDDIサービス・レジストリに対して、ライフサイクル・ステージを自動的に公開します。
反復可能なプロセスを使用して、ライフサイクルおよび関連する承認を管理します。
本番でパフォーマンスを管理し、設計時により適切な意思決定を行うためにサービスのコンシューマに通知します。
SOA Governance Suiteは、アプリケーションとそのコンポーネントの完全なライフサイクル(たとえば、計画、設計、実装、テスト、ステージング、本番、変更およびリタイア)を指定および自動化するオプションを、Oracle SOA SuiteおよびOracle BPM Suiteのユーザーに提供します。
SOAコンポジット・アプリケーションのライフサイクルの状態の管理およびSOAガバナンスについては、次の各項を参照してください。
Oracle Fusion Middleware Oracle Enterprise Repositoryユーザー・ガイド
Oracle Fusion Middleware Oracle Enterprise Repository統合ガイド
Oracle Fusion Middleware Oracle Enterprise Repository構成ガイド
SOAコンポジット・アプリケーションのテストを自動化するテスト・ケースを作成、デプロイおよび実行できます。テスト・ケースを使用すると、SOAコンポジット・アプリケーションとその参照の間の相互作用を、本番環境へのデプロイメント前にシミュレートできます。 テスト・スイートは、1つ以上のテスト・ケースの論理的な集合で構成されます。各テスト・ケースには、テスト・インスタンスの実行時に実行される一連のコマンドが含まれています。テスト・スイートの実行は、テスト実行と呼ばれます。各テストは、単一のSOAコンポジット・アプリケーション・インスタンスに対応しています。図1-6に示すように、これらのテストの実行で生成されたインスタンスは、そのインスタンスIDの横に小さい黄色のボックスが表示され、テスト・インスタンスとして区別されます。
SOAコンポジット・アプリケーションが実行時に相互作用するコンポーネントの動作を、エミュレーションを使用してシミュレートします。特定のコンポーネントを起動せずに、コンポーネントからのレスポンスを指定できます。
アサーションを使用し、プロセス実行時にデータを検証します。
SOAコンポジット・アプリケーションのテスト・ケースの設計に関する詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。
パーティションと呼ばれるSOAインフラストラクチャの個別のセクションに、SOAコンポジット・アプリケーションをデプロイできます。パーティションにデプロイすると、SOAコンポジットを論理的にグループ化し、大量のコンポジット・アプリケーションに対して一括ライフサイクル管理タスクを実行できます。パーティションは、Oracle BPEL Process Managerの10.1.xリリースのドメインの概念に似ています。ただし、特定のパーティションへのログイン・アクセスの制限、パーティションの構成(たとえば、スレッドの構成)などの、パーティションに対する特定の構成タスクを実行できないことに注意してください。
SOAコンポジット・アプリケーションをデプロイするには、パーティションが少なくとも1つ必要です。「デフォルト」という名前のデフォルトのパーティションが、Oracle SOA Suiteに自動的に作成されます。
パーティションの作成後に、次のタスクを実行できます。
Oracle Enterprise Manager Fusion Middleware Control、Oracle JDeveloper、WebLogic Scripting Tool(WLST)コマンドまたはant
コマンドを使用してSOAコンポジット・アプリケーションをパーティションにデプロイします。
ナビゲーション・ツリーを使用して、パーティションおよびデプロイされたコンポジットにアクセスします。
特定のパーティション内のコンポジットに対して次の一括ライフサイクル管理タスクを実行します。
すべてのコンポジットの起動
すべてのコンポジットのシャットダウン
すべてのコンポジットのアンデプロイ
すべてのコンポジットのリタイア
すべてのコンポジットのアクティブ化
すべてのコンポジットのリスト
詳細は、第8.10項「SOAコンポジット・アプリケーションのパーティションへのグループ化」を参照してください。
ロールがアプリケーション開発者の場合は、Oracle JDeveloperおよびFusion Middleware Controlを組み合せて使用してSOAコンポジットを管理およびテストします。Oracle JDeveloperでSOAコンポジット・アプリケーションを開発するには『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照し、Oracle Enterprise Manager Fusion Middleware Controlでコンポジット・アプリケーションのテスト・インスタンスをデプロイ、監視および開始するには次の項を参照してください。
Oracle Business Process Management内でBusiness Process Management Notation and Modeling(BPMN)を使用してビジネス・プロセスを作成およびモデリングするには、『Oracle Fusion Middleware Oracle Business Process Managementモデリングおよび実装ガイド』を参照してください。