Oracle® Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suiteの管理 12c (12.2.1) E69952-02 |
|
![]() 前 |
![]() 次 |
この章の内容は次のとおりです。
Oracle Enterprise Manager Fusion Middleware Controlの管理タスクおよび Oracle Fusion Middlewareの概要は、次のドキュメントを参照してください。
パフォーマンスのチューニング
『Oracle Fusion Middlewareの管理』
Oracle Fusion Middlewareの理解
Oracle Fusion Middlewareは標準ベースのソフトウェア製品の集まりで、Java EEや開発ツールから統合サービス、ビジネス・インテリジェンスおよびコラボレーションまで、様々なツールやサービスが含まれます。Oracle Fusion Middlewareは、アプリケーションの開発、デプロイおよび管理を完全にサポートします。
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の概要を示します。
Oracle SOA Suiteの概要は、『Oracle SOA SuiteでのSOAアプリケーションの開発』および『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コンポジット・アプリケーションの監視、SOAコンポジット・アプリケーションの状態の更新、ビジネス・フロー・インスタンスのトラッキングおよびエラー・ホスピタルでのフォルト・リカバリの実行などの管理タスクを実行できます。
「コンポジット」表の特定のSOAコンポジット・アプリケーションをクリックすると、そのホーム・ページにアクセスできます。図1-2 に、SOAコンポジット・アプリケーションのホーム・ページを示します。SOAコンポジット・アプリケーションのホーム・ページからは、SOAコンポジット・アプリケーションに組み込まれているサービス・コンポーネント、サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントの表示、SOAコンポジット・アプリケーションのグラフィック表示、SOAコンポジット・アプリケーションの状態の更新、ビジネス・フロー・インスタンスの監視、SOAコンポジット・アプリケーションのテストの自動化およびセキュリティ・ポリシーのアタッチなどの管理タスクを実行できます。また、SOAコンポジット・アプリケーション・レベルで、コンポジット監査レベルとペイロード検証の指定、分析データとセンサー・データの収集の有効化および無効化など、一定数の構成タスクを実行することもできます。これらのタスクは、ページの上部にボタンとして表示されます。
詳細は、次の項を参照してください。
パーティションと呼ばれるSOAインフラストラクチャの個別のセクションに、SOAコンポジット・アプリケーションをデプロイできます。パーティションにデプロイすると、SOAコンポジットを論理的にグループ化し、大量のコンポジット・アプリケーションに対して一括ライフサイクル管理タスクを実行できます。SOAコンポジット・アプリケーションをデプロイするには、パーティションが少なくとも1つ必要です。「デフォルト」という名前のデフォルトのパーティションが、Oracle SOA Suiteに自動的に作成されます。
次のタスクを実行できます。
Oracle Enterprise Manager Fusion Middleware Control、Oracle JDeveloper、WebLogic Scripting Tool (WLST)コマンドまたはant
コマンドを使用して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コンポジット・アプリケーションのダイアグラムに似ています。
SOAコンポジット・アプリケーションに組み込まれているサービス・コンポーネントとサービス・バインディング・コンポーネントは、SOAコンポジット・アプリケーションの「ダッシュボード」ページに表示されます。図1-4 に、「コンポーネント」セクションのBPELプロセス・サービス・コンポーネントとOracle Mediatorサービス・コンポーネントおよび「サービスと参照」セクションのサービス・バインディング・コンポーネントと参照バインディング・コンポーネントを示します。特定のサービス・コンポーネントまたはバインディング・コンポーネントをクリックすると、そのホーム・ページにアクセスできます。
図1-4 SOAコンポジット・アプリケーションのサービス・コンポーネントおよびバインディング・コンポーネント
詳細は、次のドキュメントを参照してください。
『Oracle SOA Suiteを使用したSOAアプリケーションの開発』
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は作成されません。
詳細は、次の項を参照してください。
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に詳細を示します。
サービス・コンポーネントの管理の詳細は、次の各項を参照してください。
Oracle SOA SuiteはSpringサービス・コンポーネントをサポートするようになりました。Oracle Enterprise Manager Fusion Middleware ControlでのSpringのサポートについては、次の詳細を確認してください。
Springサービス・エンジン管理ページはありません。
Springコンポーネントはフローのトレースに表示されますが、監査証跡はありません。
Springコンポジット・メトリックは、コンポジット・アプリケーションのホーム・ページに表示されます。
Springサービス・コンポーネントは、実行中および終了したインスタンスの状態はサポートしません。Springサービス・コンポーネントは同期する設計であるため、同期している実行中のSpringインスタンスを終了することはサポートされません。このため、実行中のインスタンスは中断できず、また、Springサービス・コンポーネントで終了した状態を保持できません。
SOAコンポジット・アプリケーションは、バインディング・コンポーネントによって、外部のサービス、アプリケーションおよびテクノロジ(メッセージング・システムやデータベースなど)に接続されます。バインディング・コンポーネントは、次の2つのグループから構成されています。
サービス: SOAコンポジット・アプリケーションへのエントリ・ポイントを外部に提供します。サービスのWSDLファイルによって、そのサービスの機能が外部のアプリケーションに通知されます。サービス・バインディングには、SOAコンポジット・サービスを呼び出す方法(SOAPを使用するなど)が定義されています。
参照: SOAコンポジット・アプリケーションから外部サービスへのメッセージの送信を可能にします(たとえば、パートナ・リンクがBPELプロセスに提供するのと同じ機能を、それより高いSOAコンポジット・アプリケーション・レベルで提供するなど)。
Oracle Enterprise Manager Fusion Middleware Controlでは、最後のサーバー起動時以降の送信メッセージおよびフォルトの合計数の表示、ポリシーのアタッチ、バインディング・コンポーネント・プロパティの設定、レポートの表示(JCAアダプタの場合)などのバインディング・コンポーネント管理タスクを実行できます。図1-7 に、サービス・バインディング・コンポーネント(この例では、JCAデータベース・アダプタ)のホーム・ページを示します。
詳細は、「バインディング・コンポーネントの管理」を参照してください。
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コンポジット・アプリケーションに関する詳細を参照できます。
Oracle Enterprise Manager Fusion Middleware Controlでは、サービス・コンポーネントおよびコンポジットの監視、メッセージ・リクエストおよびスレッド統計の表示、失敗したメッセージの手動リカバリ(BPEL)およびサービス・エンジン固有のプロパティの構成などのサービス・エンジン管理タスクを実行できます。これらの構成プロパティは、サービス・コンポーネントが組み込まれているSOAコンポジット・アプリケーションに関係なく、サービス・エンジンで実行されるすべてのサービス・コンポーネントに影響を与えます。
サービス・エンジンの管理の詳細は、次の各項を参照してください。
注意:
Oracle Enterprise Manager Fusion Middleware Controlには、Springサービス・エンジンを管理するためのページは含まれていません。
サービス・インフラストラクチャは、内部メッセージ転送インフラストラクチャ機能を提供して複数のコンポーネントを接続し、データ・フローを有効にします。サービス・インフラストラクチャには、サービス、サービス・コンポーネントおよび参照間のワイヤ接続に従ってメッセージをルーティングする役割があります。
詳細は、次の項を参照してください。
ワイヤリングの詳細は、『Oracle SOAスイートでの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アダプタの詳細は、テクノロジ・アダプタの理解を参照してください。
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用アプリケーションの開発
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の管理』のコンポーネント連携のためのワイヤリングに関する項を参照してください。
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 Business Process Composerによるビジネス・プロセスの開発
Oracle Business Process Management Studioを使用したビジネス・プロセスの作成
Oracle SOA SuiteおよびOracle BPM Suiteの様々な管理(構成、監視および管理)タスクは、Oracle Enterprise Manager Fusion Middleware Controlから実行できます。この項では、これらのタスクの概要を示します。
実行可能な管理タスクは、マップされているパーティション・ロールに基づきます。各パーティション・ロールは、異なる一連の権限に対応しています。パーティションでユーザーが処理するのに必要な特定のパーティション・ロールを割り当てることができます。これらのロールにより、Oracle Enterprise Manager Fusion Middleware Controlでユーザーが実行できるタスクが決まります。詳細は、「パーティションへのアクセスの保護」を参照してください。
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のチューニング構成プロパティの詳細は、パフォーマンスのチューニングを参照してください。
監査トラッキングでは、メッセージ・トラッキング・インフラストラクチャによって収集する情報のレベルを選択できます。監査レベル・トラッキングは、次のレベルで設定できます。
個々のBPELアクティビティ
BPELプロセスまたはBPMNプロセス・サービス・コンポーネント
SOAコンポジット・アプリケーション
サービス・エンジン
SOAインフラストラクチャ
監査トラッキングを複数レベルで設定した場合は、どの設定が優先されるかを理解することが重要です。表1-1 に、監査レベル設定の優先順位の例を示します。
表1-1 優先順位の例
BPELアクティビティ | コンポーネント | コンポジット | サービス・エンジン | SOAインフラストラクチャ | 優先される設定 |
---|---|---|---|---|---|
プロパティなし |
プロパティなし |
オフ |
本番 |
開発 |
コンポジット。 監査レベルは「オフ」に設定されます。サービス・エンジンおよびSOAインフラストラクチャの監査レベルは無効になります。 |
プロパティなし |
プロパティなし |
継承 |
開発 |
本番 |
サービス・エンジン。 監査レベルは「開発」に設定されます。assignアクティビティでペイロードが表示されます。SOAインフラストラクチャの監査レベルは無効になります。 |
プロパティなし |
プロパティなし |
継承 |
開発 |
本番 |
サービス・エンジン。 監査レベルは「開発」に設定されます。assignアクティビティでペイロードが表示されます。SOAインフラストラクチャの監査レベルは無効になります。 |
プロパティなし |
プロパティなし |
継承 |
継承 |
本番 |
SOAインフラストラクチャ。 監査レベルは「本番」(デフォルト設定)に設定されます。 |
プロパティなし |
プロパティなし |
継承 |
本番/開発/オフ/継承 |
オフ |
サービス・エンジン。 コンポジットはサービス・エンジンから監査レベルを継承します。サービス・エンジンの監査レベル設定に基づいてペイロードがassignアクティビティで表示されます。 |
プロパティなし |
開発 |
オフ |
本番 |
開発 |
コンポジット。 コンポジット監査レベルが「オフ」に設定されているため、全体的な監査は表示されません。サービス・エンジンの監査レベルが表示されますが、コンポーネントの「開発」設定が優先されます。 「開発」のコンポーネント監査レベル設定に基づいてペイロードがassignアクティビティで表示されます。 |
開発 |
継承 |
オフ |
本番 |
開発 |
BPELアクティビティ。 BPELアクティビティはある値に設定されているため、その他の設定より優先されます。 |
注意:
コンポジット監査レベルが「オフ」に設定されている場合、このコンポジットおよびコンポジット内で使用されているすべてのサービス・エンジンに対して監査証跡は生成されません。
コンポジット監査レベルが「継承」に設定されている場合は、常にSOAインフラストラクチャの設定を継承します。
コンポジット監査レベルが「オフ」に設定されている場合、コンポーネントはサービス・エンジンの設定を継承します。
詳細は、次の項を参照してください。
『Oracle SOA SuiteでのSOAアプリケーションの開発』のBPELアクティビティ・レベルでのSOAコンポジット・アプリケーションの監査に関する項
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コンポジット・アプリケーションに関する問題の診断」を参照してください。
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分散キャッシュへのインスタンスおよびコールバック・メッセージ・データの格納。
以降の各項では、いくつかの管理タスクについてより具体的な概要を示します。
注意:
Oracle SOA Suiteのバックアップおよびリカバリは、Oracle Fusion Middlewareの管理を参照してください。
SOAインフラストラクチャは、GridLinkデータ・ソースおよびマルチ・データ・ソースによってデータベース障害から保護されます。通常、GridLinkおよびマルチ・データ・ソースはシステム設定時に構成します(インストール時にマルチプールを直接定義)。Oracle Real Application Clusters (Oracle RAC)データベース・インスタンスが失敗すると、使用可能なデータベース・インスタンスを使用して接続が再確立されます。GridlinkおよびOracle SOA Suiteの詳細は、『高可用性ガイド』を参照してください。
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 SOA SuiteおよびOracle Business Process Management Suiteの管理』のフォルト・ポリシー・ウィザードを使用して自動フォルト・リカバリのフォルト・ポリシーを設計する方法に関する項を参照してください。
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)トランザクションの相互運用をサポートします。
ポリシーは、企業のポリシー・フレームワークの一部であり、このフレームワークによってポリシーを集中的に作成して管理できます。
詳細は、次のドキュメントを参照してください。
使用可能なポリシーの定義およびユーザー環境で使用するポリシーの詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』およびOracle Web Services Managerの理解を参照してください。
ポリシーは、ポリシーがアタッチされているコンポーネントにメッセージが到達する前に実行されます。この結果、エラーは、ポリシーがアタッチされているコンポーネントの直前のコンポーネントに表示されます。例:
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から実行できます。
インスタンスの作成。
アプリケーション・リビジョンの停止と再起動。アプリケーション・リビジョンは通常、デプロイメント後即時に起動されます。
アプリケーション・リビジョンのリタイアとアクティブ化。アプリケーション・リビジョンは、デプロイメント時に即時にアクティブ化されます。
デフォルト・バージョンとしてのアプリケーションの設定。
アプリケーション・リビジョンのデプロイ、アンデプロイおよび再デプロイ。
アプリケーション・リビジョンの特定インスタンスの削除。
SOAコンポジット・アプリケーションのライフサイクルの状態の管理の詳細は、次の各項を参照してください。
SOAコンポジット・アプリケーションのテストを自動化するテスト・ケースを作成、デプロイおよび実行できます。テスト・ケースを使用すると、SOAコンポジット・アプリケーションとその参照の間の相互作用を、本番環境へのデプロイメント前にシミュレートできます。テスト・スイートは、1つ以上のテスト・ケースの論理的な集合で構成されます。各テスト・ケースには、テスト・インスタンスの実行時に実行される一連のコマンドが含まれています。テスト・スイートの実行は、テスト実行と呼ばれます。各テストは1つのビジネス・フロー・インスタンスに対応します。また、SOAコンポジット・アプリケーションのテスト・ケース内に、BPELプロセス・サービス・コンポーネントのテスト・ケースを作成することもできます。SOAインフラストラクチャの「フロー・インスタンス」ページでは、これらのテストの実行で生成されたインスタンスのフローIDの横に小さい黄色のボックスが表示され、テスト・インスタンスとして区別されます。
テスト・スイート・フレームワークの機能は、次のとおりです。
SOAコンポジット・アプリケーションが実行時に相互作用するコンポーネントの動作を、エミュレーションを使用してシミュレートします。特定のコンポーネントを起動せずに、コンポーネントからのレスポンスを指定できます。
アサーションを使用し、プロセス実行時にデータを検証します。
詳細は、次の各項を参照してください。
テストの作成と実行の詳細は、「SOAコンポジット・アプリケーションのテストの自動化」を参照してください
SOAコンポジット・アプリケーションのテスト・ケースの設計は、『Oracle SOAスイートでのSOAアプリケーションの開発』を参照してください。
構成プロパティの設定方法がOracle SOA Suiteのパフォーマンスに影響することがあります。たとえば、システム・メッセージ、起動メッセージおよびエンジン・ディスパッチャ・メッセージの処理用のスレッド数を割り当てるために、BPELプロセス・サービス・エンジンにプロパティを設定できます。チューニング情報は、次のドキュメントを参照してください。
次の情報は、パフォーマンスのチューニングを参照してください。
ユースケースのチューニング推奨事項
コンポーネント別の主要なチューニング・プロパティ(次の情報を含む)。
デフォルト値
症状(適切にチューニングされていない場合)
デフォルト値からプロパティを変更した場合の影響
症状が現れた場合の推奨事項
プロファイルベースのチューニング推奨事項(インストール時に質問に回答してプロファイルを選択し、選択したプロファイルに基づいてプロパティをチューニング)。
Oracle SOA Suiteコンポーネントのチューニングの詳細は、次のドキュメントを参照してください。
Oracle Exalogicプラットフォームにおけるインスタンスとメッセージ・データのOracle Coherence分散キャッシュへの格納
『テクノロジ・アダプタの理解』
『Oracle SOAスイートでのSOAアプリケーションの開発』の「大規模ドキュメントおよび大量のインスタンスの管理」
Oracle Service Busの管理
アプリケーション開発者である場合は、Oracle JDeveloperおよびOracle Enterprise Manager Fusion Middleware Controlを組み合せて使用してSOAコンポジットを管理およびテストできます。Oracle JDeveloperでSOAコンポジット・アプリケーションを開発するには『Oracle SOA SuiteでのSOAアプリケーションの開発』を参照し、Oracle Enterprise Manager Fusion Middleware ControlでSOAコンポジット・アプリケーションのテスト・インスタンスをデプロイ、監視および起動するには次の各項を参照してください。
Oracle BPM Suiteでビジネス・プロセスを作成および設計するには、Oracle Business Process Managementを使用したビジネス・プロセスの作成を参照してください。
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