この章では、WebベースのインタフェースであるOracle ESB Controlを使用して、Oracle Enterprise Service Busを管理および監視する方法について説明します。
項目は次のとおりです。
通常、Oracle ESB Controlは実行時に使用して、Enterprise Service Busを監視および調整します。Oracle ESB Controlを使用すると次の操作を実行できます。
ESBシステムおよびサービス・グループの作成、変更および削除
フィルタ式、トランスフォーメーション、実行タイプ(同期または非同期)なども含めた、ルーティング・サービスに対するルーティング・ルールの表示と変更
アダプタ・サービスおよびSOAPサービスの表示と変更
図式ダイアグラムによる、様々なOracle Enterprise Service Busサービス間における接続の表示
ランタイム統計の表示
ESBサービスをEnterprise Service Bus外部のアプリケーションから呼び出すために必要なURLも含めた、システム、グループおよびサービスの定義詳細の表示
図式ダイアグラムによる、Service Bus内のメッセージ・インスタンスのトラッキング
宛先に着信しなかったメッセージも含めた、図式内でのエラー状態の表示、および再試行可能なエラーに関するメッセージの再送信
ドメイン値マップの表示と定義
これらの機能の多くはOracle JDeveloperでも使用できます。表3-1に、各ツールで使用可能な機能の要約を示します。
表3-1 Oracle ESB ControlとOracle JDeveloperで使用可能な機能の比較
機能 | Oracle JDeveloperで使用可能か | Oracle ESB Controlで使用可能か |
---|---|---|
ESBシステムの作成、変更および削除 |
はい |
はい |
ESBルーティング・サービス定義の作成、変更および削除 |
はい |
はい |
ルーティング・ルール(トランスフォーメーション、フィルタ式など)の作成、変更および削除 |
はい |
はい |
トランスフォーメーション・ファイルの作成 |
はい |
いいえ |
ESBアダプタ・サービスの作成、変更および削除 |
はい |
いいえ |
SOAP呼出しサービスの作成、変更および削除 |
はい |
いいえ |
サービス接続の図式表示 |
はい |
はい |
ランタイム統計の表示 |
いいえ |
はい |
通知チャネルの指定 |
いいえ |
はい |
メッセージ・インスタンスの図式表示 |
いいえ |
はい |
エラーによって失敗したメッセージの再送信 |
いいえ |
はい |
トラッキング可能フィールドの定義と表示 |
いいえ |
はい |
ドメイン値マップの定義 |
いいえ |
はい |
図3-1に、図式を使用したOracle ESB Controlを示します。これは、『Oracle Enterprise Service Busクイック・スタート・ガイド』にあるチュートリアルの完了時に生成されます。Oracle ESB Controlの左側にはナビゲーション・ツリーがあり、システム、グループまたはサービスを選択できます。Oracle ESB Controlの右側にはタブ・ページがあり、ナビゲーション・ツリーで選択したオブジェクトのプロパティを表示および変更できます。
ESBコンポーネントを起動してOracle ESB Controlを開始する方法については、「Oracle ESB Controlの開始」を参照してください。
Oracle ESB Controlには3つのビューがあり、ページの上部にあるリンクをクリックして選択します。現在選択されているビューは、リンクが青色の気泡で囲まれて示されます。たとえば、図3-1で現在選択されているビューは「サービス」です。
それぞれのビューについては、次の各項で説明します。
注意: この項で説明するすべてのタスクは、ESBサーバーが開始され、ESBリポジトリとして機能するデータベースが起動して実行中であることを前提にしています。ESBサーバーの起動方法については、「Oracle Enterprise Service Busコンポーネントの起動、停止およびアクセス」を参照してください。 |
Oracle ESB Controlの「サービス」ビューを使用すると、サービス定義の表示、ルーティング・ルールの更新、トラッキング可能フィールドの定義およびサービスの図式ダイアグラムの表示ができます。
図3-1に示すように、「サービス」ビューは2つの主要なリージョンに分割されており、右側に「サービス」パネル、左側に複数のタブ・ページが表示されます。「サービス」パネルには、ESBシステムのナビゲーション・ツリー、サービス・グループ、各サービス・グループ内のサービスが表示され、ナビゲーション・ツリー内のオブジェクトを作成、削除および移動するためのボタンが表示されます。
「サービス」パネルは、Oracle ESB Controlの左側に表示されます。このパネルには、ESBシステム、グループおよびサービスを作成したり削除するためのボタン、および作成後のアイテム(およびその現行ステータス)を示すナビゲーション・ツリーが表示されます。
タブ・パネルには、ナビゲーション・ツリーで選択したサービスの詳細が表示されます。選択するサービスに応じて、次のタブが使用可能になります。
「ダイアグラム」タブでは、選択したサービスとESBシステム内の他のオブジェクトとの関係を表示できます。Oracle Enterprise Service Busでは、各サービスに対して指定した定義に基づいて、このダイアグラムが自動的に作成されます。
ダイアグラム内では、選択したサービスは青色で、他のサービスは灰色で表されます。ダイアグラム内では、次の規則が使用されます。
アダプタ・サービスは、横長の平面を持つ長方形で表されます。
ルーティング・サービスは、縦長の平面を持つ長方形で表されます。
サービス間の通信は、サービス間を結ぶ線で表されます。
ルーティング・サービスのフィルタ式は、じょうご型のアイコンで示されます。
トランスフォーメーションは、Xオーバーレイを使用した2つの長方形で表されます。
「ナビゲータ」タブには、現在表示されているダイアグラムの領域が、そのダイアグラム全体との関連で示されます。これは、ダイアグラム・リージョンに表示しきれない大きいダイアグラムの場合に便利です。ダイアグラム・リージョンでスクロール・バーを移動すると、ナビゲータの青色のウィンドウもスクロールして、現在表示されているダイアグラムの部分がハイライト表示されます。
「詳細」タブには、選択したサービスの名前、および「ダイアグラム」タブで選択したサービスのステータスが表示されます。オーバーレイ・メトリックを使用すると、ダイアグラムに重ねて表示するメトリック(ある場合)を選択できます。
「サービスの編成単位の作成、表示および更新」を参照してください。
「定義」タブでは、選択したサービスの定義を表示し、そのサービスを有効または無効にできます。アウトバウンド・アダプタ・サービスおよびルーティング・サービスの場合、表示される詳細には具体的なWSDL URLが含まれます。このWSDL URLを使用すると、別のアプリケーションからHTTPを介してSOAPを使用するサービスを呼び出すことができます。
「サービス定義の表示と更新」を参照してください。
「ルーティング・ルール」タブでは、選択したルーティング・サービスに対するルーティング・ルールの優先度を表示、更新、削除および設定できます。「ルーティング・ルール」タブは、ナビゲーション・ツリーからルーティング・サービスを選択した場合のみ表示されます。このタブには、ルーティング・サービスによるメッセージのルーティング方法を規定するルールが表示されます。
ルーティング・ルールの詳細は、「ルーティング・ルールの理解と管理」を参照してください。
「プロパティ」タブでは、選択したアダプタまたはSOAPサービスのエンドポイント・プロパティを表示、更新および削除できます。「プロパティ」タブは、ナビゲーション・ツリーからアダプタまたはSOAPサービスを選択した場合のみ表示されます。
エンドポイント・プロパティを追加するには、画面の右側にある+記号をクリックします。「名前」列の下のリストからエンドポイントを選択し、「値」列に値を入力します。エンドポイントの設定は、Oracle JDeveloperの「エンドポイント・プロパティ」パネルでの処理に類似しています。エンドポイント・プロパティの使用方法の詳細は、「エンドポイント・プロパティの使用」を参照してください。
「トラッキング可能フィールド」タブでは、選択したサービスのトラッキング可能フィールドを定義します。「トラッキング・フィールドの定義と管理」を参照してください。
「インスタンス」ビューを使用すると、ESBシステム内のメッセージ処理に関する詳細を表示できます。
このビューでは、次のいずれかのプロパティに基づいて、メッセージをフィルタリングできます。
メッセージ・インスタンスを処理したサービス
メッセージのステータス(「任意」、「エラー」、「失敗」、「処理中」または「完了」)
トラッキング名とトラッキング値
メッセージID
メッセージが処理された時間
メッセージに対するサービスを「インスタンス」パネルから選択すると、Enterprise Service Busを経由するメッセージ・インスタンスのパスが「トラッキング」タブのダイアグラムに表示されます(ダイアグラムでは、選択したサービスが点線で囲まれています)。ダイアグラム内では、メッセージが正常に処理されたエンドポイントは緑色で、エラーが発生したサービスは赤色で、メッセージは正常に処理されたがエラーのためにロールバックされたサービスは黄色で表されます。また、メッセージの処理で呼び出されなかったエンドポイントは灰色で表されます。
図3-2は、CRMアダプタ・サービス(CRMOut)が正常に呼び出されたこと、および、フィルタ式によってデータベース・アダプタ・サービスへの配信からメッセージが除外されたためにデータベース・アダプタ・サービス(CustDBOut)が呼び出されなかったことを示しています。
図3-2 Oracle ESB Control - 「インスタンス」ビューの「トラッキング」タブ
メッセージについてエラーが発生したサービスを選択すると、図3-3に示すように、「エラー」タブが表示されます。この「エラー」タブには、各エラーに関連した時間、サービス:操作およびメッセージがリストされたエラー表が表示されます。エラー・メッセージとスタック・トレースを表示するには、「メッセージ」列にある「エラーの詳細」アイコンをクリックします。
メッセージのトラッキングの詳細は、第10章「Enterprise Service Bus内でのメッセージ・インスタンスのトラッキング」を参照してください。エラー処理の詳細は、第12章「エラー処理」を参照してください。
「マップ」ビューを使用すると、ドメイン値マップを作成、更新および削除でき、さらに、既存のドメイン値マップを表示、エクスポートおよびインポートできます。
Oracle Enterprise Service Busを使用して統合する複数のアプリケーションでは、同じ情報を表すのに別の値を使用している可能性があります。たとえば、あるアプリケーションではMassachusetts州をMA
と表し、別のアプリケーションではMassachusetts
またはMass
と表す場合があります。ドメイン値マップを使用すると、アプリケーションの値を別のアプリケーションの値に関連付けることができます。通常、各ドメイン値マップには、複数のアプリケーション間における特定カテゴリの値マッピングが保持されます。たとえば、あるドメイン値マップは国コードのマッピングを保持し、別のドメイン値マップは単位のマッピングを保持できます。
図3-4に、Oracle ESB Controlの「マップ」ビューに表示されたドメイン値マップのサンプルを示します。ページの左パネルには保存済マップの名前がリストされ、右パネルには特定のマップのマッピングに関する詳細が表示されます。このサンプルのマップでは、マップの各列に州の正式名称、略称および短縮名のマッピングが設定されています。
図3-4 Oracle ESB Control - ドメイン値マップのサンプルが表示された「マップ」ビュー
ドメイン値マップの詳細は、第7章「ドメイン値マップ」を参照してください。
Oracle Enterprise Service Busは、サービスを編成するためのシステムとサービス・グループの構造を提供します。ESBシステムは必須で、サービス・グループはオプションです。
作成するすべてのサービスは、サービス・グループまたはシステムの子として定義する必要があります。サービスは、そのフルパスによって、システム/サービス・グループ/サービスまたはシステム/サービス構造内で一意に識別されます。サービス・ナビゲーション・ツリーでのサービスは、歯車アイコンで表されます。
Oracle Enterprise Service Busシステムは、通常、単一アプリケーション、アプリケーションのプロキシ、Oracle Applicationsインスタンスなどの技術的なシステムに関連付けられたサービスを格納するために使用する編成単位です。システムの例は次のとおりです。
Oracle Applicationsインスタンス
一連のトランスフォーメーション、Oracle BPEL Process Managerサービス、およびSAPインスタンスのアダプタ・サービス
一連のトランスフォーメーション、BPELサービス、カスタム・データベース・アプリケーションのデータベース・サービス
スタンドアロンOracle Business Activity Monitoringインスタンス、複合イベント処理(CEP)サービスおよびその他の関連サービス
Oracle B2Bエンジン(取引パートナのプロキシとして機能)と関連のトランスフォーメーション・サービス、およびその他のサービス
一連のサービス、アダプタ・サービス、およびサード・パーティの統合インフラストラクチャへのブリッジを表すOracle BPEL Process Managerサービス(例: webMethods、Inc、IBMインフラストラクチャ)
サービスを作成するときは、Oracle Enterprise Service Busシステムのコンテキスト内で作成する必要があります。各サービスは、複数のESBシステムに属することはできません。
ESBシステム内に格納されているサービスについてエラーまたはフォルトが発生した場合に、管理者に警告するように指定できます。
Oracle ESB Controlでは、システムは重なったディスクのアイコンで表されます。
詳細は、「ESBシステムの作成」または「既存のESBシステム定義の表示または変更」を参照してください。
サービス・グループは、システムと同様に、サービスを編成するための単位です。ただし、サービス・グループは、システムとは異なり、サービスを作成する前に作成する必要はありません。サービス・グループは、ESBシステムのコンテキスト内で作成する必要があります。各サービスは、1つのサービス・グループにのみ所属できます。
ナビゲーション・ツリーでのサービス・グループは、歯車アイコンを重ねたフォルダ・アイコンで表されます。
詳細は、「サービス・グループの作成」または「既存のサービス・グループの表示または変更」を参照してください。
図3-5に、Oracle ESB Controlでオブジェクトを表すのに使用されるアイコンを示します。
Oracle ESB Controlを使用すると、新規のESBシステムを作成したり、既存のESBシステムを表示および変更することができます。次の各項でその手順を説明します。
「サービス」パネルで、「作成」をクリックします。
ダイアログ・ボックスが開きます。
「*作成対象を指定してください。」フィールドで、「システム」を選択します。
ダイアログ・ボックスがリフレッシュされ、システムの作成に必要なフィールドのみが表示されます。
「*名前の指定」フィールドで、システムの一意の名前を入力します。
「OK」をクリックします。
指定したシステムが「サービス」パネルに追加され(システムが無効であることを示す下矢印が表示されます)、「定義」タブが表示されます。
「定義」タブで、オプションで次の項目を指定します。
エラーのために配信されなかったメッセージを格納するJava Message Service(JMS)トピック。
非同期で配信されたメッセージを格納するためのJMSトピック。
エラーが発生したときにESBサーバーで使用する通知チャネル。詳細は、「通知チャネルの設定」を参照してください。
「定義」タブで、「作成」をクリックします。
「サービスの更新」ウィンドウが開き、システムが作成されたことが表示されます。「サービス」パネルの指定したサービスの横に、サービスが有効であることを示す上矢印が表示されます。
「サービスの更新」ウィンドウで、「OK」をクリックします。
以前に作成したESBシステムの定義を表示または変更する手順は、次のとおりです。
「サービス」ビューが表示されていない場合は、「サービス」をクリックします。
「サービス」パネルで、対象のESBシステムの名前をクリックします。
図3-6に示すような「定義」タブが表示されます。
「定義」タブに表示されたプロパティを確認します。各プロパティについては表3-2で説明します。
必要な更新を行います。「非同期トピック」および「エラー・トピック」以外のすべてのプロパティを更新できます。
変更を完了した後は、「適用」をクリックします。そうでない場合は、「リセット」をクリックすると、ページを開いたときに表示された設定にプロパティが戻ります。
表3-2 ESBシステムの「定義」タブ
ページ要素 | 説明 |
---|---|
名前 |
Oracle ESB Controlでシステムを識別するために使用する名前。 |
クラスタ名 |
システムに関連付けられたOracle Application Serverクラスタの名前。 |
仮想ホスト |
Oracle Application Serverが実行されているホストの名前。 |
ポート |
Oracle Application Serverが実行されているホストのポート番号。 |
トピックの位置 |
メッセージの非同期でのルーティング時に、そのメッセージの公開先となるJMSトピックのJNDI位置。 |
コネクション・ファクトリの位置 |
メッセージの非同期でのルーティング時に、そのメッセージの公開先となるコネクション・ファクトリの位置。 |
リスナーの数 |
メッセージの非同期でのルーティング時に、そのメッセージの公開先となるJMSトピックのリスナーの数。 |
通知の詳細 |
通知の詳細では、通信チャネル、つまり、Oracle Enterprise Service Busシステム内でエラーが発生したことを管理者に警告するために使用するチャネルを指定します。通知は、次のチャネルを使用して指定できます。
「通知チャネルの設定」を参照してください。 |
サービス・グループは、システムと同様に、サービスを編成するための単位です。ただし、サービス・グループは、システムとは異なり、サービスを作成する前に作成する必要はありません。各サービスは、1つのサービス・グループにのみ所属できます。
サービス・グループを作成する手順は、次のとおりです。
「サービス」ビューが表示されていない場合は、「サービス」をクリックします。
「サービス」パネルで、「作成」をクリックします。
ダイアログ・ボックスが開きます。
「*作成対象を指定してください。」フィールドで、「サービス・グループ」を選択します。
ダイアログ・ボックスがリフレッシュされ、システムの作成に必要なフィールドのみが表示されます。
「*名前の指定」フィールドに、システム内で一意のサービス・グループ名、またはサービス・グループを作成する親サービス・グループを入力します。
「親システムまたはサービス・グループの選択」フィールドの右にあるアイコンをクリックします。
「親システムまたはサービス・グループの選択」ダイアログ・ボックスが表示されます。
「親システムまたはサービス・グループの選択」ダイアログ・ボックスで、次の手順を実行します。
親システムまたはサービス・グループの名前を選択します。
「選択」をクリックします。
「OK」をクリックします。
ダイアログ・ボックスが閉じて、サービス・グループ名がナビゲーション・ツリーに追加されます。「ステータス」列は、サービス・グループが無効であることを示しています。
「定義」タブの「説明」フィールドに、サービス・グループの説明を入力します(オプション)。
「定義」タブで、「作成」をクリックします。
変更が正常に適用されたことを示すウィンドウが開きます。
「OK」をクリックします。
「サービス」パネルの「ステータス」列は、新規に作成したグループのステータスが有効であることを示しています。
サービス・グループを作成した後は、必要に応じてその名前や説明を変更できます。ただし、サービス・グループの親は変更できません。
サービス・グループを表示または変更する手順は、次のとおりです。
「サービス」ビューが表示されていない場合は、「サービス」をクリックします。
「サービス」パネルで、対象のサービス・グループの名前をクリックします。
「定義」タブに表示されたプロパティを確認します。各プロパティについては表3-3で説明します。
必要な更新を行います。「識別子」以外のすべてのプロパティを更新できます。
変更を完了した後は「適用」をクリックします。そうでない場合は、「リセット」をクリックすると、手順2でページを開いたときに表示された設定にプロパテが戻ります。
表3-3 ESBサービス・グループの「定義」タブ
ページ要素 | 説明 |
---|---|
識別子 |
ESBサーバーでサービス・グループを識別する名前。サービス・グループを作成すると、ESBサーバーでは、systemnameSystem.servicegroupnameの書式を使用して識別子が作成されます。ここで、systemnameはサービス・グループが作成されたシステムの名前、servicegroupnameはサービス・グループの作成時に最初に指定されたサービス・グループ名です。 サービス・グループの名前を変更すると、「サービス」パネルで使用されている名前はこの変更を反映して更新されますが、識別子は同一のままです。 ESBサーバーでは、名前ではなく識別子を使用して、エラー・メッセージ内のサービス・グループを参照します。 |
名前 |
Oracle ESB Controlでサービス・グループを識別するために使用する名前。 |
親の名前 |
サービス・グループが含まれるESBシステム。 |
説明 |
サービス・グループのユーザー指定の説明。 |
システムまたはサービス・グループを削除するには、そのシステムまたはサービス・グループを選択して「削除」をクリックします。オブジェクトをOracle ESB Controlから削除する処理は、確認する必要があります。
システムまたはサービス・グループをOracle ESB Controlから削除しても、そのオブジェクトはOracle JDeveloperから削除されないことに注意してください。Oracle JDeveloperでESBプロジェクトをESBサーバーに再度登録した場合、そのプロジェクトはリフレッシュ後にOracle ESB Controlに表示されます。
サービスはOracle ESB Controlを使用して作成できませんが、次の各項で説明するように、サービス定義の表示、一部のプロパティの変更、既存のサービスのルーティング・ルールの作成または変更は可能です。
サービスの作成方法については、第4章「インバウンドおよびアウトバウンド・サービスの作成」および第5章「ルーティング・サービスおよびルーティング・ルールの作成」を参照してください。
「サービス」ビューが表示されていない場合は、「サービス」をクリックします。
「サービス」パネルで、対象のサービスに移動して選択します。
「定義」タブをクリックします。
「有効化」または「無効化」のいずれかをクリックします。
注意: デフォルトでは、すべてのサービスが有効になっています。サービスを明示的に無効にすると、エラーがスローされます。 ルーティング・サービスの場合は、ターゲット・サービスを無効にするとルーティング・ルール・エラーが出されます。これは同期、非同期のいずれのルーティング・ルールにも適用されます。 |
「サービス」ビューが表示されていない場合は、「サービス」をクリックします。
「サービス」パネルで、対象のサービスに移動して選択します。
「定義」タブをクリックします。
「定義」ページには、選択したサービスに関するWSDLファイルの内容が要約されて表示されます。このページは、インバウンド・アダプタ・サービス以外のすべてのサービスについて、次の3つのリージョンで構成されています。インバウンド・アダプタ・サービスの場合は、全体セクションのみが表示され、そのリージョンには一部のフィールドのみが表示されます。
一般
この情報のリージョンは、ラベルは付いていませんが、ページの上部に表示されます。ページのこのリージョンに表示される要素については、表3-4で説明します。インバウンド・アダプタ・サービスの場合、表示される要素は「名前」、「タイプ」、「説明」および「インバウンド・アダプタWSDL URL」のみです。
表3-4 サービス定義 – 一般リージョン
ページ要素 | 説明 |
---|---|
名前 |
ルーティング・サービスの作成時にそのルーティング・サービスを識別するために入力した名前。 |
タイプ |
このESBサービスのタイプ。ルーティング・サービスの場合、このフィールドの値は常に「ルーティング・サービス」になります。 |
説明 |
ルーティング・サービスのユーザー指定の説明(オプション)。 |
外部サービスから呼出し可能 |
外部サービスからサービスを呼び出すことができるかどうかを指定します。 |
具体的なWSDL URL |
サービスの具体的なWSDL URL。外部のWebサービス・クライアント(.Netなど)からサービスを呼び出すには、このURLを使用します。 このURLをクリックすると、デフォルト・ブラウザにWSDLが表示されます。 |
ポート・タイプ |
このサービスによって実行される操作のセットを参照する名前。この名前は、このルーティング・サービスを定義するWSDLのportType要素のname属性に対応しています。 |
「ネームスペース」 |
このルーティング・サービスを定義するWSDLで指定されたXMLネームスペース。 |
WSDL URL |
ESBサーバーがサービスの構成に使用する抽象的なWSDL URL。 このURLをクリックすると、デフォルト・ブラウザにWSDLが表示されます。 |
SOAPエンドポイントURI |
SOAPエンドポイントのURl。このURLをクリックすると「Webサービスのテスト」ページが開きます。 注意: 「Webサービスのテスト」ページの使用方法については、「ESBサービスのテスト」および『Oracle SOA Suite開発者ガイド』を参照してください。 |
操作
ページのこのリージョンには、サービスWSDLによって記述された操作とそのタイプがリストされます。表3-5で、ページのこのリージョンについて説明します。
操作の詳細
ページのこのリージョンには、「操作」リージョンで選択した操作に関する詳細が表示されます。表3-6で、ページのこのリージョンについて説明します。このリージョンに表示されるタブは、次の操作定義に応じて決まります。
一方向操作
選択した操作が一方向操作(WSDLで操作について入力要素のみ定義されている)として定義されている場合は、「リクエスト」タブのみがアクティブになります。
リクエスト・レスポンス操作
選択した操作がリクエスト・レスポンス操作(WSDLで操作について入力要素と出力要素の両方が定義されている)として定義されている場合は、「リクエスト」タブと「レスポンス」タブがアクティブになります。
フォルト
操作についてフォルトが定義されている場合(WSDLで操作についてフォルト要素が定義されている)は、「フォルト」タブがアクティブになります。フォルトは、リクエスト側に送信可能な特別なレスポンスであることに注意してください。
表3-6 サービス定義 - 「操作の詳細」リージョン
ページ要素 | 説明 |
---|---|
実行時にペイロードを検証 |
実行時にメッセージ・ペイロードをスキーマ(XSD)定義と照合して検証するかどうかを指定できます。有効にするには選択し、無効にするには選択を解除します。 このオプションを選択し、サービスで受信したメッセージ・ペイロードが無効な場合、メッセージは「エラー状態の管理」の説明に従って処理されます。 |
要素 |
メッセージ・ペイロードの要素名。この要素名は、WSDL URLで指定した<part>要素の |
スキーマの場所 |
サービスで使用するスキーマ(ある場合)の場所を指定します。 |
ルーティング・サービスでは、ルーティング・サービスで受信したメッセージに対して実行する操作が決定され、外部サービスからルーティング・サービスを呼び出せるかどうか、および実行時にルーティング・サービスでメッセージ・ペイロードを検証するかどうかが決定されます。これに対して、ルーティング・ルールでは次のことが決定されます。
ルーティング・サービスから送信するメッセージ・インスタンスの送信先となるターゲット・サービスのセット
メッセージ・インスタンスがターゲット・サービスに着信した際に適用する操作
指定のターゲット・サービスに送信する前に、メッセージ・インスタンスの構造にトランスフォーメーションを適用するかどうか
一部のメッセージ・インスタンスは、メッセージ・ペイロードに適用するフィルタに基づいて、ターゲット・サービスに送信しないかどうか
ここでは、次の項目について説明します。
ルーティング・サービスの作成方法については、第5章「ルーティング・サービスおよびルーティング・ルールの作成」を参照してください。
ルーティング・ルールは、通常、Oracle JDeveloperを使用した開発フェーズの中で指定されますが、Oracle ESB Controlにも実行時にルーティング・ルールを作成および変更するためのツールが用意されています。コントロールにアクセスする方法はツールによって異なりますが、実際のコントロールは同じです。
Oracle ESB Controlを使用してルーティング・ルールを作成するためのコントロールにアクセスする手順は、次のとおりです。
「サービス」パネルで、ルーティング・ルールを作成または変更するルーティング・サービスをクリックします。
「ルーティング・ルール」タブをクリックします。
Oracle ESB Controlの「ルーティング・ルール」タブのコントロールは、Oracle JDeveloperの「ルーティング・ルール」タブのコントロールに類似しています。これらのコントロールの使用方法は、「ルーティング・ルールの指定」を参照してください。
ルーティング・サービスの現行のルーティング・ルールを表示する手順は、次のとおりです。
「サービス」パネルで、ルーティング・ルールを表示するルーティング・サービスをクリックします。
「ルーティング・ルール」タブをクリックします。
表3-7で、このタブのページ要素を説明します。
表3-7 Oracle ESB Controlの「ルーティング・ルール」タブ
ページ要素 | 説明 |
---|---|
優先度の矢印 |
ルーティング・ルール表の上部にある緑色の矢印を使用すると、同期して実行する他のルーティング・ルールと関連させてルーティング・ルールの優先度を設定できます。 |
フィルタ式 |
選択したルールに対してメッセージをフィルタリングする際の式を指定します。たとえば、顧客所在地がアメリカ合衆国内にある場合のみメッセージを顧客レコードのデータベースに書き込む場合などに、フィルタ式を指定できます。 このフィールドはオプションです。 このフィールドの右にあるアイコンをクリックすると、式ビルダーが開きます。詳細は、「ペイロードに基づいてメッセージをフィルタリングする式の使用」を参照してください。 |
変換マップ |
XSLTファイルを指定します。このファイルは、メッセージをルーティング先のサービスに配信する前に、そのメッセージのデータ書式に適用するトランスフォーメーションを定義します。XSLTファイルを指定して、メッセージ・データを標準的な書式から、データを受信するデータベースに適した書式に変換できます。 このフィールドはオプションです。 このフィールドの右にあるアイコンをクリックすると「マップ・ブラウザ」ダイアログ・ボックスが開きます。このダイアログ・ボックスでは、定義および登録されている複数のデータ・マップ(.xslt)ファイルを検索して参照したり、新規のデータ・マップ・ファイルを作成できます。詳細は、「データ構造トランスフォーメーション用XSLマップ・ファイルの作成」を参照してください。 |
ターゲット操作 |
メッセージの送信先のサービスと操作を指定します。 このフィールドの右にあるアイコンをクリックすると、サービス操作ブラウザ・ダイアログ・ボックスが開き、登録されているサービス操作を検索して参照できます。 |
次のメッセージを許可 |
ターゲット・サービスでメッセージを受け取る際に送信元になるESBシステムを、次の中から指定します。
|
ルール実行 |
ルーティング・ルールの同期実行または非同期実行を指定します。詳細は、「同期または非同期実行の指定」を参照してください。 |
Oracle ESB Controlを使用すると、Oracle Enterprise Service Bus内のパス固有のメッセージ・インスタンス、およびそのメッセージの現在のルーティング・ステータスをトラッキングできます。
メッセージのトラッキングは、トラッキング可能フィールドを使用して行います。トラッキング可能フィールドは名前と値のペアです。名前は、ユーザーが指定するわかりやすい文字列(例: CustomerName、POId)、値は、サービス全体またはサービスによって実行される操作の入出力メッセージに対して定義されたXPath式です。
Oracle ESB Controlの「サービス」ビューにある「トラッキング可能フィールド」を使用すると、サービスと操作に関連付けられた各メッセージに対して1つ以上のトラッキング可能フィールドを定義し、実行時にサービス操作によって処理されたメッセージをトラッキングできます。さらに、Oracle ESB Controlの「インスタンス」ビューを使用して、サービスまたは操作で処理されたメッセージ・インスタンスを検索できます。
次の各項では、トラッキング可能フィールドに関連するタスクの手順を説明します。
「トラッキング可能フィールド」タブには次のフィールドがあります。
名前
トラッキング可能フィールドに対して指定する一意の名前。
操作
トラッキング可能フィールドに対して選択したサービスに関連付けられている操作。
メッセージ
トラッキング可能フィールドに対して選択したサービスのメッセージ・タイプ。
式
サービスについてトラッキングする式。このフィールドには、トラッキング対象のメッセージ・インスタンスの変数が含まれます。
有効
トラッキング可能フィールドのステータス。有効または無効に設定できます。
トラッキング可能フィールドを定義または更新する手順は、次のとおりです。
「サービス」ビューが表示されていない場合は、Oracle ESB Controlの上部の「サービス」ボタンをクリックします。
「サービス」パネルで、トラッキング可能フィールドを設定するサービスを選択します。
「トラッキング可能フィールド」タブをクリックします。
プラス記号(+)ボタンをクリックし、行を表に追加して編集可能にします。既存の行を更新するには、その行をダブルクリックします。
次の値を行に入力します。
トラッキング可能フィールドの名前を「名前」フィールドに入力します。これは、サービスが存在するESBシステム内で一意の名前です。
「操作」フィールドで、トラッキング可能フィールドを定義する操作をリストから選択します。
「メッセージ」フィールドで、このサービスについてトラッキングするメッセージのタイプをリストから選択します。選択可能な値は、「リクエスト」、「レスポンス」、「フォルト」です。
「式」フィールドに、トラッキングするフィールドを識別するXPath式を入力します。
「式」フィールドの右にある棒型アイコンをクリックして、式ビルダーを開きます。この式ビルダーは、XPath式の作成に役立ちます。式ビルダーについては、「フィルタ式の概要」を参照してください。
「有効」フィールドでチェック・ボックスをクリックし、指定したトラッキング可能フィールドを有効にします。無効にする場合は、チェック・ボックスの選択を解除します。
トラッキング可能フィールドを無効にすると、トラッキング可能フィールドの情報は記録されず、Oracle ESB Controlの「インスタンス」ビューに表示されません。
終了後に「OK」をクリックします。
「適用」をクリックして、変更内容を保存します。「リセット」をクリックすると、フィールドの編集を開始する前に表示されていた値に戻ります。
式ビルダーについては、「フィルタ式の概要」を参照してください。
「サービス」ビューが表示されていない場合は、Oracle ESB Controlの上部の「サービス」ボタンをクリックします。
「サービス」パネルで、トラッキング可能フィールドを設定するサービスを選択します。
「トラッキング可能フィールド」タブをクリックします。
プラス記号(+)ボタンをクリックし、行を表に追加して編集可能にします。既存の行を更新するには、その行をダブルクリックします。
プラス記号(¥)アイコンをクリックして、式ビルダーを起動します。
変数ツリーを選択して開き、変数を選択します。
注意: 変数ツリーが開けない場合は、「式」フィールドで手動で式を入力できます。 |
「式に挿入」をクリックします。
「OK」をクリックします。
「適用」をクリックして、変更内容を保存します。「リセット」をクリックすると、フィールドの編集を開始する前に表示されていた値に戻ります。
トラッキング可能フィールドを有効化または無効化する手順は、次のとおりです。
「サービス」ビューが表示されていない場合は、Oracle ESB Controlの上部の「サービス」ボタンをクリックします。
「トラッキング可能フィールド」タブをクリックします。
有効または無効にするトラッキング可能フィールドを含む行をダブルクリックします。
「有効」列で、トラッキング可能フィールドを有効にする場合はチェック・ボックスを選択し、無効にする場合はチェック・ボックスの選択を解除します。
「適用」をクリックします。