この章では、SOAコンポジット・アプリケーションの開発に使用するすべてのコンポーネント・エディタとデザイナの概要を説明します。
項目は次のとおりです。
SOAコンポジット・エディタでは、サービスを作成、編集およびデプロイでき、さらに、すべてのサービスを単一の場所から1つのコンポジット・アプリケーションに組み込むことができます。これらのコンポーネントは1つのアプリケーションに統合され、WebサービスやJCAアダプタなどのバインディング・コンポーネントを使用して外部と通信します。
SOAコンポジット・エディタでは、SOAコンポジット・アプリケーションを設計する2つのアプローチのいずれか1つを使用できます。
コンポジット・アプリケーションを作成するトップダウン・アプローチは、インタフェースを最初に配置してから実装します。たとえば、最初にBPELプロセス、ヒューマン・タスク、ビジネス・ルール、およびメディエータ・ルーティング・サービス・コンポーネントをアプリケーションに追加し、次に、これらのサービス・コンポーネントの詳細な内容を定義します。
ボトムアップ・アプローチは、サービス・コンポーネントの既存の実装を取り込み、それらをWebサービス・インタフェースと統合してコンポジット・アプリケーションに組み込みます。たとえば、最初にBPELプロセスの詳細な内容、ヒューマン・タスク、ビジネス・ルールおよびメディエータ・ルーティング・サービス・コンポーネントを作成して定義し、次に、SOAコンポジット・アプリケーションを作成してこれらのサービス・コンポーネントを追加します。
SOAコンポジット・エディタは、図2-1に示すように表示されます。
次の各項では、SOAコンポジット・エディタの主要なセクションについて説明します。
SOAプロジェクトに含まれている特定のサービス・コンポーネントの主要なファイルが表示されます。
composite.xml
ファイルは、SOAプロジェクトの作成時に自動的に作成されます。 このファイルには、サービス、サービス・コンポーネント、参照およびワイヤのコンポジット構成全体が記述されています。
ビジネス・ルール・サービス・コンポーネント・ファイル(rules_name
.decs
)。追加ビジネス・ルール・ファイルが「Oracle」→「rules」サブフォルダ(rules_name
.rules
)の下に表示されます。
メディエータ・サービス・コンポーネント・ファイル(mediator_name
.mplan
)
BPELプロセス・サービス・コンポーネント・ファイル(process_name
.bpel
およびprocess_name
.wsdl
)
ヒューマン・タスク・サービス・コンポーネント・ファイル(task_name
.task
)
componentType
ファイルには、各サービス・コンポーネントのサービスおよび参照が記述されています。 このファイルにより、コンポーネント間に作成したワイヤリングが機能します。
クラス・ファイル、XSD(スキーマ)およびXSL(トランスフォーメーション)の追加サブフォルダ
コンポーネントおよびサービス・アダプタは、「コンポーネント・パレット」ウィンドウからデザイナ・ウィンドウにドラッグ・アンド・ドロップできます。 サービス・コンポーネントをデザイナ・ウィンドウにドロップすると、そのサービス・コンポーネントを構成するためのプロパティ・エディタが起動します。 たとえば、メディエータ・コンポーネントをデザイナ・ウィンドウにドロップすると、メディエータ・エディタ・ウィンドウが開き、メディエータを構成できます。
既存のコンポーネントの構成をデザイナ・ウィンドウで編集するには、該当するコンポーネントをダブルクリックしてエディタを再度開きます。
サービス・コンポーネント、サービスおよび参照をデザイナ内のコンポジットにドラッグします。 サービス・コンポーネントをデザイナ・ウィンドウにドラッグ・アンド・ドロップすると、対応するプロパティ・エディタが起動して、そのサービス・コンポーネントに関連する構成タスクを実行できます。 たとえば、メディエータ・コンポーネントをデザイナにドラッグ・アンド・ドロップすると、メディエータ・エディタ・ウィンドウが表示され、このウィンドウでメディエータ・コンポーネントを構成できます。
後続のすべての編集セッションについて、これらのサービス・コンポーネントをダブルクリックして、それぞれのエディタを起動します。
左側のスイムレーンは、WebサービスやJCAアダプタなど、SOAコンポジット・アプリケーションへのエントリ・ポイントを提供するサービス用です。
SOAコンポジットで使用できる様々なリソースを表示します。 次のサービス・コンポーネントおよびアダプタを表示します。
サービス・コンポーネント
デザイナにドラッグ・アンド・ドロップできるBPELプロセス、ビジネス・ルール、ヒューマン・タスクおよびメディエータ・サービスを表示します。
サービス・アダプタ
左側または右側のスイムレーンにドラッグできるJCAアダプタ(AQ、ファイル、FTP、データベース、JMS、MQ、Oracle Applications、Oracle BAMおよびEJBサービス)、B2Bバインディング・コンポーネント、SDOバインディング・コンポーネント、およびWebサービス・バインディング・コンポーネントを表示します。
「リソース・カタログ」が表示されない場合は、「表示」メイン・メニューから「コンポーネント・パレット」を選択します。
ローカル・リソースとリモート・リソースの両方を参照できる単一のダイアログを表示します。 たとえば、次の内容にアクセスできます。
スキーマ、WSDL、イベント定義、ビジネス・ルールなどの共有ローカル・アプリケーション・メタデータ。
リモート・リソースを使用するWSILブラウザ機能。この機能には、HTTP接続、ファイルURLまたはアプリケーション・サーバー接続からアクセスできます。
UDDI(Universal Description, Discover and Integration)レジストリに登録されているリモート・リソース。
「リソース・カタログ」が表示されない場合は、「表示」メイン・メニューから「リソース・パレット」を選択します。
SOAコンポジット・アプリケーション用のこれらのリソースは、「SOAリソース・ブラウザ」ダイアログから選択します。このダイアログには様々な方法でアクセスできます。 たとえば、サービス・バインディング・コンポーネントまたはメディエータ・サービス・コンポーネントで使用するWSDLファイルを選択した場合、またはBPELプロセスで使用するスキーマ・ファイルを選択した場合に、「SOAリソース・ブラウザ」ダイアログが表示されます。このダイアログの最上部にある「リソース・パレット」をクリックして、使用可能なリソースにアクセスします。
選択されているサービス・コンポーネント、サービスまたは参照のプロパティを表示します。
「プロパティ・インスペクタ」が表示されない場合は、「表示」メイン・メニューから「プロパティ・インスペクタ」を選択します。
SOAコンポジット・エディタの詳細は、第4章「SOAコンポジット・エディタの機能の概要」および『Oracle Fusion Middleware Oracle SOA Suiteスタート・ガイド』を参照してください。
Oracle JDeveloperのSOAコンポジット・アプリケーションにBPELプロセス・サービス・コンポーネントを作成した後は、そのサービス・コンポーネントをBPELデザイナを使用して設計できます。このデザイナは、SOAコンポジット・エディタでBPELプロセスをダブルクリックすると表示されます。 図2-2には、BPELデザイナが「アプリケーション・ナビゲータ」、「構造」、「コンポーネント・パレット」および「メッセージ」の各ウィンドウとともに表示されています。
このビューの各セクションを使用して、特定の設計およびデプロイメント・タスクを実行できます。 次の各項では、BPELデザイナの主要なセクションについて説明します。
「アプリケーション・ナビゲータ」には、プロセス・ファイルが表示されます。 図2-3に、Oracle JDeveloperでSOAプロジェクトを初めて作成したときに「SOAコンテンツ」フォルダの下に表示されるファイルを示します(この例では、MySOAApplicationという名前のアプリケーション内のMySOAProjectにあり、SayHelloはBPELプロセスの名前です)。 アプリケーションには1つ以上のプロジェクトを格納できます。 各プロジェクトに格納できるのは、1つのコンポジットのみです。 ただし、各コンポジットには、同じタイプまたは異なるタイプ(BPELプロセス、Oracle Mediator、ヒューマン・ワークフローおよびビジネス・ルール)の複数のコンポーネントを指定できます。
表2-1に、これらの初期プロセス・ファイルを示します。
表2-1 初期プロセス・ファイル
ファイル | 説明 |
---|---|
composite.xml |
SOAコンポジット全体を説明するファイルです。 このファイルの詳細は、第2.1項「SOAコンポジット・エディタの概要」を参照してください。 |
SayHello.bpel |
ソース・ファイルです。選択したプロセス・タイプによって、最初に含まれる最小アクティビティ・セットが異なります。たとえば、非同期プロセスを作成するように選択した場合は、receiveアクティビティとinvokeアクティビティが表示されます。アクティビティのドラッグ、変数の作成、パートナ・リンクの作成などの際は、このファイルに構文を追加します。 |
SayHello.componentType |
サービスと、各サービス・コンポーネントの参照を説明するファイルです。 |
SayHello.wsdl |
このBPELプロセス・フローの入力メッセージと出力メッセージ、サポートされるクライアント・インタフェースと操作、およびその他の機能を定義する、Web Services Description Language(WSDL)クライアント・インタフェースです。この機能により、BPELプロセス・フローをサービスとしてコールできます。 |
BPELプロセス・サービス・コンポーネントの設計時には、その他のファイル、フォルダおよび要素が「アプリケーション・ナビゲータ」に表示されることがあります。
注意: 「アプリケーション・ナビゲータ」の詳細を参照するには、このセクション内にカーソルを置き、[F1]を押してオンライン・ヘルプを表示します。 |
「設計」ウィンドウには、設計するBPELプロセス・サービス・コンポーネントのビジュアル・ビューが表示されます。このビューは、次のいずれかの処理を実行すると表示されます。
「アプリケーション・ナビゲータ」で.bpelファイル名をダブルクリックした場合
SOAコンポジット・エディタでBPELプロセス・コンポーネントをダブルクリックした場合
.bpelファイルを選択して、ウィンドウの下部にある「設計」タブをクリックした場合
図2-4に、非同期BPELプロセス・サービス・コンポーネントで自動的に作成されたアクティビティを示します。アクティビティのドラッグ・アンド・ドロップ、変数の作成、パートナ・リンクの作成などによって、BPELプロセス・サービス・コンポーネントに追加します。
BPELプロセス・サービス・コンポーネント・ファイル内の構文を表示するには、下方の「ソース」をクリックします。 アクティビティおよびパートナ・リンクをドラッグし、その他のタスクを実行すると、「ソース」ビューと「設計」ビューは同期化されます。 一方のビューで変更が発生すると、変更内容がもう一方のビューに即時に反映されます。
たとえば、図2-5に、編集中のプロパティ・シートを示します。
ウィンドウの下部で「ソース」をクリックします。 図2-6に、.bpelファイルのソースの一部を示します。 作成したWriteFileパートナ・リンクの詳細が、ファイルに表示されます。
BPELプロセス・サービス・コンポーネント・ファイルに表示される構文のタイプの詳細は、第II部「BPELプロセス・サービス・コンポーネントの使用」を参照してください。
下部にある「履歴」をクリックすると、ファイルのリビジョン履歴を表示したり、ファイルの読取り専用バージョンと編集可能バージョンを並べて表示するなどのタスクを実行できます。 図2-7に、BPELファイルの「履歴」ビューを示します。
注意: 「履歴」ビューの詳細を参照するには、このウィンドウ内にカーソルを置き、[F1]を押してオンライン・ヘルプを表示します。 |
アクティビティは、BPELプロセス・サービス・コンポーネントのビルディング・ブロックです。 「コンポーネント・パレット」のBPELアクティビティ選択項目には、BPELプロセス・サービス・コンポーネントの「設計」ウィンドウにドラッグするアクティビティ・セットが表示されます。 「コンポーネント・パレット」はコンテキストに対応しているため、「設計」ウィンドウの状態に関連があるページのみが表示されます。BPELアクティビティまたは「BPELサービス」は、ほぼ常に表示されます。ただし、transformアクティビティでトランスフォーメーションを設計している場合、「コンポーネント・パレット」には、「String Functions」、「Mathematical Functions」、「Node-set Functions」などそのアクティビティに関連する選択項目のみが表示されます。
図2-8に、「コンポーネント・パレット」のBPELアクティビティ選択項目を示します。このリストから、BPELプロセス・サービス・コンポーネントにドラッグするアクティビティを選択できます。
図2-9に、「コンポーネント・パレット」の「BPELサービス」選択項目を示します。このリストからBPELプロセス・サービス・コンポーネントにアダプタ、パートナ・リンクまたはデシジョン・サービスをドラッグできます。
注意: コンポーネント・パレットの詳細を参照するには、このセクション内にカーソルを置き、[F1]を押してオンライン・ヘルプを表示します。 |
「プロパティ・インスペクタ」ビューを使用すると、アクティビティに関する詳細を表示できます。「設計」ウィンドウでアクティビティをクリックします。 たとえば、replyOutput receiveアクティビティをクリックすると、図2-10に示す情報が表示されます。
「構造」ウィンドウには、「設計」ウィンドウで現在選択しているBPELプロセス・サービス・コンポーネントのデータが構造的に表示されます。このウィンドウから、次のような様々なタスクを実行できます。
スキーマのインポート
メッセージ・タイプの定義
変数、エイリアス、相関セット、パートナ・リンク、センサーなどの要素の管理(作成、編集および削除)
「構造」ウィンドウを使用したBPELプロセス・フロー・シーケンスのアクティビティの作成
図2-11に、「構造」ウィンドウを示します。
「ログ」ウィンドウには、検証およびコンパイルのステータスに関するメッセージが表示されます。デプロイメントに失敗した場合は、エラーのタイプと場所を示すメッセージが表示されます。
注意: 「ログ」ウィンドウの詳細を参照するには、このセクション内にカーソルを置き、[F1]を押してオンライン・ヘルプを表示します。 |
BPELの詳細は、第II部「BPELプロセス・サービス・コンポーネントの使用」を参照してください。
Oracle JDeveloperのSOAコンポジット・アプリケーションにメディエータを作成した後は、そのメディエータをメディエータ・エディタを使用して設計できます。このエディタは、SOAコンポジット・エディタでメディエータをダブルクリックすると表示されます。
図2-12には、メディエータ・エディタが「アプリケーション・ナビゲータ」、「構造」および「メッセージ」の各ウィンドウとともに表示されています。
メディエータ・エディタ・ウィンドウ内の各セクションを使用すると、特定の設計およびデプロイメント・タスクを実行できます。 次の各項では、メディエータ・エディタの主要なセクションについて説明します。
図2-12の左上にある「アプリケーション・ナビゲータ」には、メディエータ・ファイルが表示されます。 図2-13は、SOAコンポジット・アプリケーションでメディエータを作成するときに、「SOAコンテンツ」フォルダ内に表示されるファイルを示しています。
図2-13に示すように、SOAコンポジット・アプリケーションは次のメディエータ・ファイルで構成されています。
メディエータ・エディタには、作成したメディエータのビジュアル・ビューが表示されます。 このビューは、次のいずれかの処理を実行すると表示されます。
SOAコンポジット・エディタで、メディエータをダブルクリックした場合
「アプリケーション・ナビゲータ」で.mplanファイル名をダブルクリックした場合
「ソース」ビューでは、メディエータのソース・コードを表示できます。 「設計」ウィンドウの下部にある「ソース」をクリックすると、ソース・コードが表示されます。ソース・ビューのコードは即時に更新され、メディエータ内の変更が反映されます。
次の例は、メディエータ・ソース・コードのサンプルを示しています。
<?xml version = '1.0' encoding = 'UTF-8'?> <!--Generated by Oracle SCA Modeler version 1.0 at [4/16/07 10:05 PM].--> <Mediator name="CustomerDataRouter" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.oracle.com/sca/1.0/mediator"/>
「履歴」ウィンドウをクリックすると、ファイルのリビジョン履歴を表示したり、ファイルの読取り専用バージョンと編集可能バージョンを並べて表示するなどのタスクを実行できます。 「設計」ウィンドウ下部にある「履歴」をクリックすると、「履歴」ウィンドウが開きます。 図2-14に、メディエータ・ファイルの「履歴」ビューを示します。
「ログ」ウィンドウには、検証およびコンパイルのステータスに関するメッセージが表示されます。
メディエータの詳細は、第III部「Oracle Mediatorサービス・コンポーネントの使用」を参照してください。
Oracle JDeveloperのSOAコンポジット・アプリケーションにヒューマン・タスク・サービス・コンポーネントを作成した後は、そのサービス・コンポーネントをヒューマン・タスク・エディタを使用して設計できます。このエディタは、SOAコンポジット・エディタでヒューマン・タスクをダブルクリックすると表示されます。
ヒューマン・タスク・エディタは、図2-15に示す主要なセクションで構成されています。 これらのセクションを使用すると、ヒューマン・タスクのメタデータを設計できます。
次の各項では、ヒューマン・タスク・エディタの主要なセクションについて説明します。
このセクションでは、XSDファイルに定義されているタスク・ペイロード(タスク内のデータ)の構造(メッセージ要素)を定義できます。 図2-16に、ヒューマン・タスク・エディタの「パラメータ」セクションを示します。
このセクションでは、参加者をタスクに割り当て、そのタスクをワークフローを使用してルーティングするためのポリシーを作成できます。
図2-17に、ヒューマン・タスク・エディタの「割当ておよびルーティング・ポリシー」セクションを示します。
図2-17 ヒューマン・タスク・エディタ — 「割当ておよびルーティング・ポリシー」セクション
このセクションでは、タスクの有効期限を指定できます。
図2-18に、ヒューマン・タスク・エディタの「有効期限およびエスカレーション・ポリシー」セクションを示します。
図2-18 ヒューマン・タスク・エディタ — 「有効期限およびエスカレーション・ポリシー」セクション
このセクションでは、ユーザーにタスクが割り当てられたとき、またはタスクのステータスが変化したときの通知を作成して送信できます。
図2-19に、ヒューマン・タスク・エディタの「通知設定」セクション(完全に展開した状態)を示します。
このセクションでは、タスク定義の様々な属性にラベル付けができます。 注釈はOracle Business Process Analysisで使用されます。注釈は、タスク定義の様々な属性へのラベル付けに使用されます。
ヒューマン・タスク・エディタの主要なセクションを使用してワークフロー・タスクを作成する方法の詳細は、第25章「ヒューマン・タスクの設計」を参照してください。
Oracle JDeveloperのSOAコンポジット・アプリケーションにビジネス・ルール・サービス・コンポーネントを作成した後は、そのサービス・コンポーネントをビジネス・ルール・デザイナを使用して設計できます。このデザイナは、SOAコンポジット・エディタでビジネス・ルールをダブルクリックすると表示されます。
ビジネス・ルール・デザイナは、図2-21に示す主要なセクションで構成されています。 これらのセクションでは、Oracle JDeveloperのビジネス・ルールを使用できます。
次の各項では、ビジネス・ルール・デザイナの主要なセクションについて説明します。
「アプリケーション・ナビゲータ」には、プロジェクト内のファイルが表示されます。 各プロジェクトに格納できるのは、1つのコンポジットのみです。 ただし、各コンポジットには、同じタイプまたは異なるタイプ(ビジネス・ルール、BPELプロセス、Oracle Mediatorおよびヒューマン・ワークフロー)の複数のコンポーネントを指定できます。
ビジネス・ルールの設計時には、その他のファイル、フォルダおよび要素が「アプリケーション・ナビゲータ」に表示されることがあります。
ルール・デザイナ・ウィンドウには、選択したディクショナリ・コンポーネントのビジュアル・ビューが表示されます。 ルール・デザイナのナビゲーション・タブを使用して、使用するディクショナリの様々な部分を選択します。 ルール・デザイナ・ウィンドウは、次のいずれかの処理を実行すると表示されます。
コンポジット内でビジネス・ルール・コンポーネントをダブルクリックした場合
SOAコンポジット・エディタでビジネス・ルール・コンポーネントをダブルクリックした場合
BPELプロセス内でビジネス・ルールをダブルクリックした場合
「アプリケーション・ナビゲータ」で、ビジネス・ルールのディクショナリ・ファイル(.rules拡張子付きのファイル)をダブルクリックした場合
.rulesファイルが選択されている状態の「設計」タブをクリックした場合
表2-2では、ルール・デザイナでディクショナリを使用する際の情報を検索できるナビゲーション領域について説明します。
表2-2 ルール・デザイナのナビゲーション領域の説明
ルール・デザイナのナビゲーション・タブ | 説明 |
---|---|
ファクト |
|
関数 |
|
グローバル |
|
バケットセット |
|
リンク |
|
デシジョン関数 |
|
ルールおよびデシジョン表を含むルールセット |
ルールセットは、ルールおよびデシジョン表の実行単位を提供します。 デシジョン表は、データ処理タスクを記述するためのメカニズムを提供します。 |
ルール・デザイナのナビゲーション領域とその説明は、『Oracle Fusion Middleware Oracle Business Rulesユーザーズ・ガイド』を参照してください。
「構造」ウィンドウには、ルール・デザイナ・ウィンドウで現在選択しているビジネス・ルール・ディクショナリのデータが構造的に表示されます。 このセクションで要素を選択または右クリックすると、次のような様々なタスクを実行できます。
ファクト、関数、グローバル、バケットセット、ディクショナリ・リンク、デシジョン関数などの要素の管理(作成、編集、リフレッシュおよび削除)
ルールセット、ルールおよびデシジョン表へのアクセス
図2-22に、「構造」ウィンドウを示します。
ルール・デザイナでは、図2-23に示すように、ビジネス・ルール検証ログにディクショナリ検証のステータスが表示されます。
ディクショナリが無効な場合、ルール・デザイナでは警告メッセージのリストが生成されて関連ディクショナリ・オブジェクトがリスト表示されるため、ディクショナリ・オブジェクトの検索と問題の解決に使用できます。 ルール・デザイナを使用したルールの作成時に表示される検証警告は、無視しても問題ありません。 検証警告はルールを作成すると削除されますが、ルール作成時の中間ステップ中は表示されます。 ルールをテストまたはデプロイする際は、関連ディクショナリに警告が表示されていない必要があります。
ビジネス・ルール検証の詳細は、『Oracle Fusion Middleware Oracle Business Rulesユーザーズ・ガイド』を参照してください。
SOAコンポジット・アプリケーションは、実行時にOracle Enterprise Manager Fusion Middleware Controlコンソールから構成、監視および管理できます。
図2-24に、「デプロイ済コンポジット」タブが表示された状態のOracle Enterprise Manager Fusion Middleware Controlコンソールを示します。
図2-24 Oracle Enterprise Manager Fusion Middleware Controlコンソール
Oracle Enterprise Managerの詳細は、『Oracle Fusion Middleware Oracle SOA Suite管理者ガイド』を参照してください。