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

戻る
戻る
 
次へ
次へ
 

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とOracle BPM Suiteの管理について説明します。

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

Oracle Enterprise Manager Fusion Middleware Controlコンソールの管理タスクおよびOracle Fusion Middlewareの概要は、次のマニュアルを参照してください。

1.1 Oracle Fusion Middlewareの概要

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

1.2 Oracle SOA Suiteの概要

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開発者ガイド』を参照してください。

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コンポジット・アプリケーションおよび個々のコンポジット・インスタンスの状態の更新などの管理タスクを実行できます。フォルト・リカバリなどの修正処理も実行できます。

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

図1-1の説明は次にあります。
「図1-1 SOAインフラストラクチャにデプロイされたSOAコンポジット・アプリケーション」の説明

「コンポジット」表の特定のSOAコンポジット・アプリケーションをクリックすると、そのホーム・ページにアクセスできます。図1-2に、SOAコンポジット・アプリケーションのホーム・ページの上部を示します。SOAコンポジット・アプリケーションのホーム・ページからは、インスタンスの監視、フォルトのリカバリ、アプリケーション・インスタンスの状態の管理、ポリシーのアタッチなどの管理タスクを実行できます。また、SOAコンポジット・アプリケーション・レベルで、コンポジット監査レベルやペイロード検証の指定など、一定数の構成タスクを実行することもできます。これらのタスクは、ページの上部にボタンとして表示されます。

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

図1-2の説明は次にあります。
「図1-2 SOAコンポジット・アプリケーションのホーム・ページ(上部)」の説明

図1-3に、このSOAコンポジット・アプリケーションのホーム・ページの下部を示します。コンポジットに組み込まれているサービス・コンポーネント、およびサービス・バインディング・コンポーネントと参照バインディング・コンポーネントが表示されます。

図1-3 SOAコンポジット・アプリケーションのホーム・ページ(下部)

図1-3の説明は次にあります。
「図1-3 SOAコンポジット・アプリケーションのホーム・ページ(下部)」の説明

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

1.2.2 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)のパブリック・インタフェースを公開します。サービスは、ワイヤでコンポジット内の特定のコンポーネントまたは参照に接続されます。参照バインディング・コンポーネント(CreditCardAuthorizationServicePartnerSupplierServiceなど)を使用すると、SOAコンポジット・アプリケーションから外部サービスにメッセージを送信できます。サービス・バインディング・コンポーネント、サービス・コンポーネントおよび参照バインディング・コンポーネントは、通信するために連結(接続)されます。

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

図1-4の説明は次にあります。
「図1-4 SOAコンポジット・アプリケーション」の説明

SOAコンポジット・アプリケーションに組み込まれているサービス・コンポーネントとバインディング・コンポーネントは、図1-3および図1-5に示すように、アプリケーションのホーム・ページの下部に表示されます。図1-5の例は、「コンポーネント・メトリック」セクションの2つのサービス・コンポーネントと「サービスと参照」セクションの3つのバインディング・コンポーネントを示しています。特定のサービス・コンポーネントまたはバインディング・コンポーネントをクリックすると、そのホーム・ページにアクセスできます。

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

図1-5の説明は次にあります。
「図1-5 SOAコンポジット・アプリケーションのサービス・コンポーネントおよびバインディング・コンポーネント」の説明

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

1.2.3 SOAコンポジット・アプリケーション・インスタンスの理解

SOAコンポジット・アプリケーションを起動すると、新規コンポジット・インスタンスが作成されます。このインスタンスは、一意のインスタンスIDで識別されます。このIDは、Oracle Enterprise Manager Fusion Middleware Controlコンソールの各ページに表示されます。たとえば、図1-6では、SOAインフラストラクチャの「インスタンス」ページに、AutoLoanCompositeCompositeTestおよびEventMediatorDemoという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は作成されません。

図1-6 SOAコンポジット・アプリケーション・インスタンスID

図1-6の説明は次にあります。
「図1-6 SOAコンポジット・アプリケーション・インスタンスID」の説明

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

1.2.4 サービス・コンポーネントおよびサービス・コンポーネントのインスタンスの理解

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コンソールのサービス・コンポーネントのホーム・ページからは、インスタンスの監視、フォルトのリカバリ、ポリシーのアタッチなどの管理タスクを実行できます。

第1.2.3項「SOAコンポジット・アプリケーション・インスタンスの理解」で説明したように、各アプリケーション・インスタンスには独自のインスタンスIDがあります。SOAコンポジット・アプリケーション・インスタンスに組み込まれている各サービス・コンポーネント・インスタンスにも独自のインスタンスIDがあり、このIDもOracle Enterprise Manager Fusion Middleware Controlコンソールに表示されます。図1-7では、「インスタンスID」列に、VacationRequest SOAコンポジット・アプリケーションのVacationRequestTaskヒューマン・タスク・サービス・コンポーネント用のインスタンスID(workflow:200000)が表示されています。「インスタンス」ページから、そのサービス・コンポーネント・インスタンスの状態を監視できます。これらのインスタンスをクリックすると、サービス・コンポーネントに関するより具体的な詳細にアクセスすることもできます。

図1-7 サービス・コンポーネント・インスタンスID

図1-7の説明は次にあります。
「図1-7 サービス・コンポーネント・インスタンスID」の説明


注意:

このリリースから、Oracle SOA SuiteはSpringサービス・コンポーネントをサポートするようになりました。Oracle Enterprise Manager Fusion Middleware ControlコンソールでのSpringのサポートについては、次の詳細を確認してください。
  • Springサービス・エンジン管理ページはありません。

  • Springコンポーネントはフローのトレースに表示されますが、監査証跡はありません。

  • Springコンポジット・メトリックはコンポジット・アプリケーションのホーム・ページ(たとえば、「ダッシュボード」ページの「コンポーネント・メトリック」セクション)に表示されます。


サービス・コンポーネントの管理の詳細は、次の各項を参照してください。

1.2.5 バインディング・コンポーネントの理解

SOAコンポジット・アプリケーションは、バインディング・コンポーネントによって、外部のサービス、アプリケーションおよびテクノロジ(メッセージング・システムやデータベースなど)に接続されます。バインディング・コンポーネントは、次の2つのグループに編成されます。

  • サービス: 外部の世界に対して、SOAコンポジット・アプリケーションへのエントリ・ポイントを提供します。サービスのWSDLファイルによって、その機能が外部アプリケーションに通知されます。サービス・バインディングでは、SOAコンポジット・サービスの起動方法(SOAPを介した起動など)を定義します。

  • 参照: SOAコンポジット・アプリケーションから外部サービスにメッセージを送信できます(たとえば、BPELプロセスに対してパートナ・リンクが提供している機能と同じ機能が、上位のSOAコンポジット・アプリケーション・レベルで提供されます)。

Oracle Enterprise Manager Fusion Middleware Controlコンソールでは、ポリシーのアタッチ、拒否メッセージの監視、バインディング・コンポーネント・プロパティの設定などのバインディング・コンポーネント管理タスクを実行できます。図1-8に、サービス・バインディング・コンポーネント(この例ではJCAアダプタ)のホーム・ページを示します。

図1-8 バインディング・コンポーネント

図1-8の説明は次にあります。
「図1-8 バインディング・コンポーネント」の説明

詳細は、第XIV部「バインディング・コンポーネントの管理」を参照してください。

1.2.6 サービス・エンジンの理解

SOAインフラストラクチャには、一連のサービス・エンジン(BPELプロセス、ヒューマン・ワークフロー、デシジョン・サービス、Oracle MediatorおよびSpring)が組み込まれており、これらは、SOAコンポジット・アプリケーション(例: BPELプロセス)内でそれぞれのコンポーネントのビジネス・ロジックを実行します。Oracle BPM Suiteがインストールされている場合、SOAインフラストラクチャにはBPMNプロセス・サービス・エンジンも含まれます。

図1-9に、BPELプロセス・サービス・エンジンのOracle Enterprise Manager Fusion Middleware Controlコンソールの例を示します。このエンジンでは、CallingLoanServiceおよびCreditRatingServiceというBPELプロセス・サービス・コンポーネントが実行されています。LoanServiceおよびCreditRatingServiceに対して複数のインスタンスIDがあることに注意してください。BPELプロセス・サービス・コンポーネントは、2つの別々のSOAコンポジット・アプリケーションに組み込まれています。

  • Callingは、Calling SOAコンポジット・アプリケーションに組み込まれています。

  • LoanServiceおよびCreditRatingServiceは、CompositeTest SOAコンポジット・アプリケーションに組み込まれています。

ただし、各BPELプロセス・サービス・コンポーネントは、同じBPELプロセス・サービス・エンジンで実行されています。ページ上のリンクをクリックすると、各BPELプロセス・サービス・コンポーネント・インスタンス、サービス・コンポーネント自体、または組み込まれているSOAコンポジット・アプリケーションに関する詳細を参照できます。

図1-9 サービス・エンジンで実行中のサービス・コンポーネント

図1-9の説明は次にあります。
「図1-9 サービス・エンジンで実行中のサービス・コンポーネント」の説明

Oracle Enterprise Manager Fusion Middleware Controlコンソールでは、インスタンスの監視、フォルトのリカバリ、失敗したメッセージの手動リカバリ(BPEL)、サービス・エンジン固有のプロパティの構成などのサービス・エンジン管理タスクを実行できます。これらの構成プロパティは、サービス・コンポーネントが組み込まれているSOAコンポジット・アプリケーションに関係なく、サービス・エンジンで実行されるすべてのサービス・コンポーネントに影響を与えます。サービス・エンジンのページには、エンジン固有の統計およびパフォーマンス・メトリックも表示されます。

サービス・エンジンの管理の詳細は、次の各項を参照してください。


注意:

Oracle Enterprise Manager Fusion Middleware Controlコンソールには、Springサービス・エンジンを管理するためのページは含まれていません。

1.2.7 サービス・インフラストラクチャの理解

サービス・インフラストラクチャは、内部メッセージ転送インフラストラクチャ機能を提供して複数のコンポーネントを接続し、データ・フローを有効にします。サービス・インフラストラクチャには、サービス、サービス・コンポーネントおよび参照間のワイヤ接続に従ってメッセージをルーティングする役割があります。

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

1.2.8 SOAコンポジット・アプリケーションのコンテンツの理解

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開発者ガイド』を参照してください。

1.3 Oracle Business Process Management Suiteの概要

Oracle BPM Suiteでは、ビジネス・プロセスを中心とするビジネス・アプリケーションを開発、管理および使用するための統合環境が提供されます。

Oracle BPM Suiteの機能は、次のとおりです。

Oracle BPM Suiteは、設計時や実装からランタイムやアプリケーション管理まで、アプリケーション開発ライフ・サイクルのすべてのステージをシームレスに統合します。

Oracle BPM Suiteは、Oracle SOA Suite上に階層化され、次のような多くの同じ製品コンポーネントを共有します。

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

Oracle SOA SuiteおよびOracle BPM Suiteの様々な管理(構成、監視および管理)タスクは、Oracle Enterprise Manager Fusion Middleware Controlコンソールから実行できます。この項では、これらのタスクの概要を示します。

実行可能な管理タスクは、マップされているロールに基づきます。各ロールは、異なる一連の権限に対応しています。特定のユーザーを単一の監視権限(表示専用アクセスなど)にマップし、他のユーザーには、完全アクセス(構成の更新、サーバーの再起動などを実行できる権限)を付与できます。Oracle Enterprise Manager Fusion Middleware Controlコンソールのロールの詳細は、付録C「Oracle Enterprise Managerのロール」を参照してください。

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インフラストラクチャの設定の順に優先されます。ただし、ほとんどのプロパティでは、この種の優先度を考慮する必要はありません。

1.4.1.1 監査レベル設定の優先順位の理解

監査トラッキングでは、メッセージ・トラッキング・インフラストラクチャによって収集する情報のレベルを選択できます。監査レベル・トラッキングは、次のレベルで設定できます。

  • BPELプロセスまたはBPMNプロセス・サービス・コンポーネント

  • SOAコンポジット・アプリケーション

  • サービス・エンジン

  • SOAインフラストラクチャ

監査トラッキングを複数レベルで設定した場合は、どの設定が優先されるかを理解することが重要です。表1-1に、監査レベル設定の優先順位の例を示します。

表1-1 優先順位の例

コンポーネント コンポジット サービス・エンジン SOAインフラストラクチャ 優先される設定

プロパティなし

オフ

本番

開発

コンポジット。

監査レベルは「オフ」に設定されます。サービス・エンジンおよびSOAインフラストラクチャの監査レベルは無効になります。

プロパティなし

継承

開発

本番

サービス・エンジン。

監査レベルは「開発」に設定されます。assignアクティビティでペイロードが表示されます。SOAインフラストラクチャの監査レベルは無効になります。

プロパティなし

継承

継承

本番

SOAインフラストラクチャ。

監査レベルは「本番」に設定されます。

プロパティなし

継承

本番/開発/オフ/継承

オフ

全体的な監査は表示されません。

コンポジットはSOAインフラストラクチャの監査レベルを継承します。サービス・エンジンの監査レベル設定に基づいてペイロードがassignアクティビティで表示されます。

開発

オフ

本番

開発

コンポジット。

コンポジット監査レベルが「オフ」に設定されているため、全体的な監査は表示されません。サービス・エンジンの監査レベルが表示されますが、コンポーネントの「開発」設定が優先されます。

「開発」のコンポーネント監査レベル設定に基づいてペイロードがassignアクティビティで表示されます。

継承

オフ

本番

開発

コンポジット。

コンポジット監査レベルが「オフ」に設定されているため、全体的な監査は表示されません。コンポジットから「オフ」が継承されるため、サービス・エンジンの監査レベルは表示されません。



注意:

  • コンポジット監査レベルが「オフ」に設定されている場合、このコンポジットおよびコンポジット内で使用されているすべてのサービス・エンジンに対して監査証跡は生成されません。

  • コンポジット監査レベルが「継承」に設定されている場合は、常にSOAインフラストラクチャの設定を継承します。

  • コンポジット監査レベルが「オフ」に設定されている場合、コンポーネントはサービス・エンジンの設定を継承します。


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

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

Oracle SOA SuiteおよびOracle BPM Suiteの監視タスクは、Oracle Enterprise Manager Fusion Middleware Controlコンソールで実行できます。次のような項目を監視できます。

  • SOAインフラストラクチャ、SOAコンポジット・アプリケーション、サービス・コンポーネント、サービス・エンジン、サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントのインスタンス、フォルトおよび拒否メッセージ

  • サービス・エンジン、サービス・インフラストラクチャ、およびバインディング・コンポーネントのリクエスト処理パフォーマンス

  • サービスおよび参照バインディング・コンポーネントのメッセージ処理に要する合計処理時間と平均処理時間

  • サービス・コンポーネントにおける監査証跡およびプロセス・フローの動作。BPMNプロセスの場合は、BPMNプロセス・フロー全体が表示され、プロセス・インスタンスがとるパスが強調表示されます。

  • BPELプロセス、BPMNプロセスおよびヒューマン・ワークフローにおけるサービス・エンジンのリクエストおよびスレッドの状態

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

Oracle SOA SuiteおよびOracle BPM Suiteの管理タスクは、Oracle Enterprise Manager Fusion Middleware Controlコンソールで実行できます。次のような項目を管理できます。

  • SOAインフラストラクチャ・アプリケーションの起動と停止

  • パーティションの作成と削除。パーティションの作成後、コンポジットを適切なパーティションにデプロイできます。これにより、SOAコンポジット・アプリケーションをパーティションに論理的にグループ化できます。このことは、Oracle BPEL Process Managerの10.1.xリリースのドメインの概念に似ています。

  • コンポジットの状態(アクティブ化、リタイア、起動、停止およびデフォルト・コンポジット・バージョンの設定)

  • コンポジット・インスタンスの削除と終了(中断)

  • SOAコンポジット・アプリケーションのデプロイメント、アンデプロイメントおよび再デプロイメント・アクション

  • 実行中のSOAコンポジット・アプリケーションのJARファイルへのエクスポート。

  • SOAコンポジット・アプリケーション・テスト・インスタンスの「Webサービスのテスト」ページからの手動による起動

  • SOAコンポジット・アプリケーション、サービス・コンポーネント、サービス・エンジンおよびビジネス・イベントのフォルトのリカバリ

  • BPELプロセスで失敗したメッセージの手動リカバリ

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

  • SOAコンポジット・アプリケーション、サービス・コンポーネントおよびバインディング・コンポーネントへのポリシーのアタッチメント

  • ヒューマン・ワークフローの受信および送信通知メッセージ

  • ビジネス・イベントのサブスクリプションおよびイベント公開のテスト

以降の各項では、いくつかの管理タスクについてより具体的な概要を示します。

1.4.3.1 フォルト・リカバリの理解

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インフラストラクチャにデプロイし、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ユーザーに関連(予想)アクションの実行権限がない場合

  • 拒否メッセージ

  • ほとんどのシステム・フォルト

  • 存在しない参照

  • サービス起動の失敗

  • ポリシーのフォルト


フォルト・リカバリの実行の詳細は、次の各項を参照してください。

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アドレス: WSアドレス仕様に準拠したWS-AddressingヘッダーがSOAPメッセージに含まれていることを検証します。トランスポート・レベルのデータはXMLメッセージに含まれており、ネットワーク・レベルのトランスポートに依存せずに情報を伝達します。

  • 管理: リクエスト、レスポンスおよびフォルト・メッセージをメッセージ・ログに記録します。管理ポリシーにはカスタム・ポリシーを含めることもできます。

ポリシーは、企業のポリシー・フレームワークの一部であり、このフレームワークによってポリシーを集中的に作成して管理できます。

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

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コンソールから実行できます。

  • インスタンスの作成。

  • アプリケーション・リビジョンの停止と再起動。アプリケーション・リビジョンは通常、デプロイメント後即時に起動されます。

  • アプリケーション・リビジョンのリタイアとアクティブ化。アプリケーション・リビジョンは、デプロイメント時に即時にアクティブ化されます。

  • デフォルト・バージョンとしてのアプリケーションの設定。

  • アプリケーション・リビジョンのデプロイ、アンデプロイおよび再デプロイ。

  • アプリケーション・リビジョンの特定インスタンスの削除。

ライフ・サイクル管理にOracle SOAガバナンス・ツールが追加されたため、SOAコンポジット・アプリケーション、またはコンポジット内の任意のコンポーネントまたはサービスに対して追加のライフ・サイクル管理タスクを実行できます。

  • Oracle Enterprise Repositoryで各コンポーネントの重要情報を収集して、プロデューサ、プロバイダ、コンシューマまたはその他のライフサイクル参加者の理解向上に役立てることができます。たとえば、前のバージョンと次のバージョンの関係を示すことができます。

  • ライフ・サイクルのステージ分類をコンポーネントまたはサービス・エンドポイント(ビルド、テスト、ステージングまたは本番など)に関連付けます。

  • コンポーネントとサービス・エンドポイントを様々なライフ・サイクル・ステージに自動的に進めて追跡し、それらをライフ・サイクル・ステージの適切なUDDIサービス・レジストリに自動的に公開します。

  • 反復可能なプロセスを使用して、ライフ・サイクルおよび関連する承認を管理します。

  • 本番でパフォーマンスを管理し、設計時により適切な意思決定を行うためにサービスのコンシューマに通知します。

SOAコンポジット・アプリケーションのライフ・サイクルの状態の管理については、次の各項を参照してください。

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

SOAコンポジット・アプリケーションのテストを自動化するテスト・ケースを作成、デプロイおよび実行できます。テスト・ケースを使用すると、SOAコンポジット・アプリケーションとその参照の間の相互作用を、本番環境へのデプロイメント前にシミュレートできます。テスト・スイートは、1つ以上のテスト・ケースの論理的な集合で構成されます。各テスト・ケースには、テスト・インスタンスの実行時に実行される一連のコマンドが含まれています。テスト・スイートの実行は、テスト実行と呼ばれます。各テストは、単一のSOAコンポジット・アプリケーション・インスタンスに対応しています。図1-6に示すように、これらのテストの実行で生成されたインスタンスは、そのインスタンスIDの横に小さい黄色のボックスが表示され、テスト・インスタンスとして区別されます。

テスト・スイート・フレームワークの機能は、次のとおりです。

  • SOAコンポジット・アプリケーションが実行時に相互作用するコンポーネントの動作を、エミュレーションを使用してシミュレートします。特定のコンポーネントを起動せずに、コンポーネントからのレスポンスを指定できます。

  • アサーションを使用し、プロセス実行時にデータを検証します。

SOAコンポジット・アプリケーションのテスト・ケースの設計に関する詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。

1.4.3.5 SOAインフラストラクチャのパーティションの理解

パーティションと呼ばれる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コンポジット・アプリケーションのパーティションへのグループ化」を参照してください。

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

ロールがアプリケーション開発者の場合は、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モデリングおよび実装ガイド』を参照してください。