ヘッダーをスキップ
Oracle Fusion Middleware Oracle SOA Suite開発者ガイド
11g リリース1(11.1.1)
B56238-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

19 Oracle Mediatorの開始

この章では、Oracle Mediatorの概要を示し、Oracle Mediatorサービス・コンポーネントの作成方法についても説明します。

項目は次のとおりです。

19.1 Oracle Mediatorの概要

Oracle Mediatorは、軽量なフレームワークを提供し、コンポジット・アプリケーション内の様々なコンポーネントを仲介します。また、様々なコンポーネントで公開される様々なインタフェース間での通信が容易になるようにデータを変換します。これらのコンポーネントは接続されて、SOAコンポジット・アプリケーションが構築されます。たとえば、Oracle Mediatorでは、アプリケーションまたはサービスからテキスト・ファイルに格納されたデータを受け入れ、顧客リポジトリとして使用するデータベースの更新に適した書式に変換し、変換したデータをそのデータベースにルーティングおよび配信できます。

Oracle Mediatorによって、イベントとサービス間の統合が容易になり、この統合によって、サービスの起動とイベントの組合せや調整が可能となります。Oracle Mediatorサービス・コンポーネントを使用すると、ビジネス・イベントを処理したり、サービスの起動を受信することができます。また、ルーティング・ルールの評価、トランスフォーメーションの実行、検証を行い、別のサービスを起動したり、別のビジネス・イベントを発生させることができます。Oracle Mediatorサービス・コンポーネントを使用すると、返されたレスポンス、コールバック、フォルトおよびタイムアウトを処理できます。

この項では、Oracle Mediator機能の概要を説明します。

19.2 メディエータ・エディタ環境の概要

Oracle JDeveloperのSOAコンポジット・アプリケーション内にOracle Mediatorサービス・コンポーネントを作成した後、そのOracle Mediatorサービス・コンポーネントはメディエータ・エディタを使用して構成できます。メディエータ・エディタを表示するには、SOAコンポジット・エディタで、Oracle Mediatorサービス・コンポーネントをダブルクリックします。SOAコンポジット・エディタの詳細は、第2章「Oracle SOA Suiteを使用したSOAコンポジット・アプリケーションの開発」を参照してください。

図19-1には、メディエータ・エディタが「アプリケーション・ナビゲータ」、「構造」および「メッセージ」の各ウィンドウとともに表示されています。

図19-1 メディエータ・エディタ・ウィンドウ

図19-1の説明は次にあります。
「図19-1 メディエータ・エディタ・ウィンドウ」の説明

図19-1のビューの各セクションによって、特定の設計やデプロイメント・タスクを実行できます。次のリストではこれらのセクションや機能について説明します。

19.3 Oracle Mediatorの作成

次のいずれかの方法を使用して、Oracle JDeveloperのSOAコンポジット・アプリケーション内にOracle Mediatorを作成できます。

それぞれの方法で「メディエータの作成」ダイアログを開き、ダイアログでOracle Mediator名を指定して、テンプレートを選択します。テンプレートにより、Oracle Mediatorの設計を開始できる基本的な一連のデフォルト・ファイルが提供されます。

19.3.1 インタフェース定義を使用しないOracle Mediatorの作成

空のOracle Mediatorは、インタフェース定義を使用せずに作成できます。これによって、目的の順番でSOAコンポーネントを柔軟に作成できます。たとえば、最初にOracle Mediatorを作成し、次にそのOracle Mediatorを起動するサービスまたはイベントを作成できます。

19.3.1.1 インタフェース定義を使用しないOracle Mediatorの作成方法

「メディエータの作成」ダイアログの「インタフェースを後で定義」テンプレートを選択すると、インタフェース定義を使用せずにOracle Mediatorを作成できます。

インタフェース定義を使用せずにOracle Mediatorを作成する手順は、次のとおりです。

  1. 「コンポーネント・パレット」の「SOA」リストから、「メディエータ」サービス・コンポーネントをドラッグし、SOAコンポジット・エディタの「コンポーネント」セクションにドロップします。

    「メディエータの作成」ダイアログが表示されます。

  2. 「名前」フィールドに、Oracle Mediatorサービス・コンポーネントの名前を入力します。

  3. 図19-6に示すように、「テンプレート」リストから「インタフェースを後で定義」を選択し、「OK」をクリックします。

    図19-6 「メディエータの作成」ダイアログの「インタフェースを後で定義」テンプレートの選択

    図19-6の説明は次にあります。
    「図19-6 「メディエータの作成」ダイアログの「インタフェースを後で定義」テンプレートの選択」の説明

19.3.1.2 インタフェース定義を使用しないOracle Mediatorのインタフェースの定義方法

イベントのサブスクライブまたはサービスの定義によって、インタフェース定義を使用しないOracle Mediatorのインタフェースを定義できます。

イベントをサブスクライブする手順は、次のとおりです。

.edlファイルに定義されたイベントを選択してイベントをサブスクライブできます。

  1. SOAコンポジット・エディタで、Oracle Mediatorアイコンをダブルクリックします。

    メディエータ・エディタが表示されます。

  2. 「ルーティング・ルール」セクションで、「イベント・サブスクリプションの追加」をクリックします。

    「サブスクライブ済イベント」ダイアログが表示されます。

  3. 「追加」をクリックします。

    「イベント・チューザ」ダイアログが表示されます。

  4. 「イベント定義」フィールドの右側にある「検索」をクリックし、.edlファイルを選択します。

    「イベント」フィールドに、.edlファイルに定義されているイベントが移入されます。

  5. 1つ以上のイベントを選択し、「OK」をクリックします。

  6. 「一貫性」リストで、イベントに対する配信一貫性のレベルを選択します。

  7. 「ロールとして実行」フィールドに、デフォルトのセキュリティ・ロールとして$publisherが表示されます。この値をそのまま使用することも、このフィールドを空白にすることもできます。

  8. 「フィルタ」フィールドをダブルクリックして、イベントをフィルタリングする式を指定します。

  9. 「OK」をクリックします。

    イベントの「一貫性」「ロールとして実行」および「フィルタ」の各フィールドに関する詳細は、第19.3.6項「イベント・サブスクリプション用のOracle Mediatorの作成」を参照してください。

サービスを定義する方法は、次のとおりです。

インタフェース定義を使用しないOracle Mediatorのサービスは、次の2つの方法で定義できます。

  • SOAコンポジット・エディタのワイヤを通じてOracle Mediatorをサービスに接続する方法

  • メディエータ・エディタの「サービスの定義」オプションを使用する方法

ワイヤを通じてOracle Mediatorのサービスを定義する方法は、次のとおりです。

  • SOAコンポジット・エディタで、Oracle Mediatorからサービスにワイヤをドラッグします。

    ワイヤの詳細、およびサービス・コンポーネントをサービスに接続する方法については、第2.5.1項「サービスとサービス・コンポーネントの接続方法」を参照してください。


    注意:

    定義済インタフェースおよび定義済参照があるOracle Mediatorも、ワイヤを通じてサービスに接続できます。ただし、Oracle Mediatorをサービスに接続するには、そのOracle Mediatorのインタフェースとサービスが一致している必要があります。

    ワイヤ・ソースからWSDLファイルを使用することで、Oracle Mediatorのサービスは自動的に定義されます。たとえば、図19-7に示すReadFileサービスをCustomerDataRouter Oracle Mediatorに接続すると、そのCustomerDataRouter Oracle Mediatorでは自動的にReadFileサービスのサービス定義が継承されます。

    図19-7 Oracle Mediatorからサービスへの接続

    図19-7の説明は次にあります。
    「図19-7 Oracle Mediatorからサービスへの接続」の説明

メディエータ・エディタでOracle Mediatorのサービスを定義する方法は、次のとおりです。

  1. SOAコンポジット・エディタで、Oracle Mediatorアイコンをダブルクリックします。

    メディエータ・エディタが表示されます。

  2. 「WSDL URL」フィールドの右側にある「サービスの定義」をクリックします。

    図19-8に示すように、「サービスの定義」ダイアログが表示されます。

    図19-8 「サービスの定義」ダイアログ

    図19-8の説明は次にあります。
    「図19-8 「サービスの定義」ダイアログ」の説明

  3. 「WSDL URL」フィールドの右側にある「既存のWSDLを検索します。」をクリックして既存のWSDLファイルを使用するか、「スキーマからWSDLを生成します。」をクリックして新規のWSDLファイルを作成します。

    WSDLファイルの生成方法は、第19.4項「WSDLファイルの生成」を参照してください。

  4. 「ポート・タイプ」リストから、ポートを選択します。

  5. 「コールバック・ポート・タイプ」リストから、非同期相互作用のレスポンス・メッセージのポートを選択します。

  6. 「OK」をクリックします。

19.3.2 WSDLファイルに基づいたOracle Mediatorの作成

既存のWSDLファイルに基づいてOracle Mediator を作成できます。WSDLファイルは、スキーマや操作などのOracle Mediatorのインタフェースについて説明します。

19.3.2.1 WSDLファイルに基づいたOracle Mediatorの作成方法

「メディエータの作成」ダイアログの「WSDLからのインタフェース定義」テンプレートを使用すると、WSDLファイルに基づいてOracle Mediatorを作成できます。

WSDLファイルに基づいてOracle Mediatorを作成する手順は、次のとおりです。

  1. 「コンポーネント・パレット」の「SOA」リストから、「メディエータ」サービス・コンポーネントをドラッグし、SOAコンポジット・エディタの「コンポーネント」セクションにドロップします。

    「メディエータの作成」ダイアログが表示されます。

  2. 「名前」フィールドに、Oracle Mediatorサービス・コンポーネントの名前を入力します。

  3. 図19-9に示すように、「テンプレート」リストから、「WSDLからのインタフェース定義」を選択します。

    図19-9 「メディエータの作成」ダイアログの「WSDLからのインタフェース定義」テンプレートの選択

    図19-9の説明は次にあります。
    「図19-9 「メディエータの作成」ダイアログの「WSDLからのインタフェース定義」テンプレートの選択」の説明

  4. Oracle Mediatorに自動的に接続されるSOAPバインディングを使用した公開済サービスを作成しない場合は、「SOAPバインディングを持つコンポジット・サービスの作成」オプションの選択を解除します。

  5. 「WSDL URL」フィールドに、WSDLファイルの名前を入力します。

    既存のWSDLファイルを使用するか、新規のWSDLファイルを作成できます。既存のWSDLファイルの検索をクリックして既存のWSDLファイルを使用するか、「スキーマからWSDLを生成します。」をクリックして新規のWSDLファイルを作成します。

    これらのオプションに関する詳細は、第19.4項「WSDLファイルの生成」を参照してください。

  6. 「ポート・タイプ」リストから、ポートを選択します。「WSDL URL」フィールドに指定したWSDLファイルが解析され、ポート・タイプのリストが表示されます。

  7. 「コールバック・ポート・タイプ」リストから、コールバック・ポートを選択します。コールバック・ポートは、非同期通信によるレスポンス・メッセージの送信先です。

  8. 「OK」をクリックします。

19.3.3 一方向インタフェース定義を使用したOracle Mediatorの作成

Oracle Mediatorでは、一方向相互作用をサポートしています。一方向相互作用では、クライアントがサービスにメッセージを送信しますが、サービスはリプライする必要がありません。

19.3.3.1 一方向インタフェース定義を使用したOracle Mediatorの作成方法

「メディエータの作成」ダイアログの「一方向インタフェース」テンプレートを使用することで、一方向相互作用のOracle Mediatorを作成できます。

一方向インタフェース定義を使用してOracle Mediatorを作成する手順は、次のとおりです。

  1. 「コンポーネント・パレット」の「SOA」リストから、「メディエータ」サービス・コンポーネントをドラッグし、SOAコンポジット・エディタの「コンポーネント」セクションにドロップします。

    「メディエータの作成」ダイアログが表示されます。

  2. 「名前」フィールドに、Oracle Mediatorサービス・コンポーネントの名前を入力します。

  3. 図19-10に示すように、「テンプレート」リストから、「一方向インタフェース」を選択します。

    図19-10 「メディエータの作成」ダイアログの「一方向インタフェース」テンプレートの選択

    図19-10の説明は次にあります。
    「図19-10 「メディエータの作成」ダイアログの「一方向インタフェース」テンプレートの選択」の説明

  4. Oracle Mediatorサービス・コンポーネントに自動的に接続されるSOAPバインディングを使用した公開済サービスを作成しない場合は、「SOAPバインディングを持つコンポジット・サービスの作成」オプションの選択を解除します。

  5. 「入力」フィールドの右側にある「検索」をクリックして、入力メッセージのスキーマ要素を選択します。デフォルトでは、入力メッセージ用にsingleStringスキーマ要素が選択されています。


    注意:

    Oracle Mediatorで処理する入力文書の形式は、XSDスキーマを使用して指定できます。たとえば、次のスキーマを使用できます。
    <xsd:schema attributeFormDefault="qualified"
                elementFormDefault="qualified"
                targetNamespace="http://samples.otn.com/helloworld"
                xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                xmlns="http://samples.otn.com/helloworld">
             <include namespace="http://samples.otn.com/helloworld"
     schemaLocation="helloworld.xsd" />
             <xsd:element name="name1" type="xsd:string" />
             <xsd:element name="result1" type="xsd:string"/>
    </xsd:schema>
    

  6. 「OK」をクリックします。

    入力メッセージ用のポート・タイプが定義された一方向相互作用のOracle Mediatorが作成されます。

19.3.3.2 一方向インタフェース定義を使用したOracle Mediator作成時の処理内容

図19-11は、一方向インタフェースを使用して作成したOracle Mediatorがメディエータ・エディタ内でどのように表示されるかを示しています。図19-13「execute」操作の左側にある矢印は、一方向操作を表しています。

図19-11 メディエータ・エディタ内の一方向インタフェースOracle Mediator

図19-11の説明は次にあります。
「図19-11 メディエータ・エディタ内の一方向インタフェースOracle Mediator」の説明

19.3.4 同期インタフェース定義を使用したOracle Mediatorの作成

Oracle Mediatorは、同期リクエスト/レスポンス相互作用をサポートしています。同期相互作用では、クライアントはサービスにリクエストを送信し、すぐにレスポンスを受信します。クライアントはレスポンスが届くまで次へ進みません。

19.3.4.1 同期インタフェース定義を使用したOracle Mediatorの作成方法

「メディエータの作成」ダイアログの「同期インタフェース」テンプレートを使用することで、同期相互作用のOracle Mediatorを作成できます。

同期インタフェース定義を使用してOracle Mediatorを作成する手順は、次のとおりです。

  1. 「コンポーネント・パレット」の「SOA」リストから、「メディエータ」サービス・コンポーネントをドラッグし、SOAコンポジット・エディタの「コンポーネント」セクションにドロップします。

    「メディエータの作成」ダイアログが表示されます。

  2. 「名前」フィールドに、Oracle Mediatorの名前を入力します。

  3. 図19-12に示すように、「テンプレート」リストから、「同期インタフェース」を選択します。

    図19-12 「メディエータの作成」ダイアログの「同期インタフェース」テンプレートの選択

    図19-12の説明は次にあります。
    「図19-12「メディエータの作成」ダイアログの「同期インタフェース」テンプレートの選択」の説明

  4. Oracle Mediatorに自動的に接続されるSOAPバインディングを使用した公開済サービスを作成しない場合は、「SOAPバインディングを持つコンポジット・サービスの作成」オプションの選択を解除します。

  5. 「入力」フィールドの右側にある「検索」をクリックして、入力メッセージのスキーマ要素を選択します。デフォルトでは、入力メッセージ用にsingleStringスキーマ要素が選択されています。

  6. 「出力」フィールドの右側にある「検索」をクリックして、出力メッセージのスキーマ要素を選択します。デフォルトでは、出力メッセージ用にsingleStringスキーマ要素が選択されています。

  7. 「OK」をクリックします。

    リクエスト・メッセージ用のポート・タイプが定義されたOracle Mediatorが作成されます。

19.3.4.2 同期インタフェース定義を使用したOracle Mediator作成時の処理内容

同期相互作用ではレスポンスがリクエストと同じポートに送信されるため、ポートは1つのみ定義されます。図19-13は、同期インタフェースを使用して作成したOracle Mediatorがメディエータ・エディタ内でどのように表示されるかを示しています。図19-13「execute」操作の左側にある矢印は、同期操作を表しています。

図19-13 メディエータ・エディタ内の同期Oracle Mediatorコンポーネント

図19-13の説明は次にあります。
「図19-13 メディエータ・エディタ内の同期Oracle Mediatorコンポーネント」の説明

19.3.5 非同期インタフェース定義を使用したOracle Mediatorの作成

Oracle Mediatorは、非同期リクエスト/レスポンス相互作用をサポートしています。非同期相互作用では、クライアントはサービスにリクエストを送信しますが、リプライをブロックおよび待機しません。

19.3.5.1 非同期インタフェース定義を使用したOracle Mediatorの作成方法

「メディエータの作成」ダイアログの「非同期インタフェース」テンプレートを使用することで、非同期相互作用のOracle Mediatorを作成できます。

非同期インタフェース定義を使用してOracle Mediatorを作成する手順は、次のとおりです。

  1. 「コンポーネント・パレット」の「SOA」リストから、「メディエータ」サービス・コンポーネントをドラッグし、SOAコンポジット・エディタの「コンポーネント」セクションにドロップします。

    「メディエータの作成」ダイアログが表示されます。

  2. 「名前」フィールドに、Oracle Mediatorの名前を入力します。

  3. 図19-14に示すように、「テンプレート」リストから、「非同期インタフェース」を選択します。

    図19-14 「メディエータの作成」ダイアログの「非同期インタフェース」テンプレートの選択

    図19-14の説明は次にあります。
    「図19-14 「メディエータの作成」ダイアログの「非同期インタフェース」テンプレートの選択」の説明

  4. Oracle Mediatorサービス・コンポーネントに自動的に接続されるSOAPバインディングを使用した公開済サービスを作成しない場合は、「SOAPバインディングを持つコンポジット・サービスの作成」オプションの選択を解除します。

  5. 「入力」フィールドの右側にある「検索」をクリックして、入力メッセージのスキーマ要素を選択します。デフォルトでは、入力メッセージ用にsingleStringスキーマ要素が選択されています。

  6. 「出力」フィールドの右側にある「検索」をクリックして、出力メッセージのスキーマ要素を選択します。デフォルトでは、出力メッセージ用にsingleStringスキーマ要素が選択されています。

  7. 「OK」をクリックします。

    リクエスト・メッセージとレスポンス・メッセージ用のポート・タイプが定義された、非同期相互作用のOracle Mediatorが作成されます。

19.3.5.2 非同期インタフェース定義を使用したOracle Mediator作成時の処理内容

図19-15は、非同期インタフェースを使用して作成したOracle Mediatorがメディエータ・エディタ内でどのように表示されるかを示しています。「ポート・タイプ」フィールドには、リクエスト・メッセージが送信されるポートが表示されます。「コールバック・ポート・タイプ」フィールドには、レスポンスが送信されるポートが表示されます。図19-15「execute」操作の左側にある矢印は、非同期操作を表しています。

図19-15 メディエータ・エディタ内の非同期Oracle Mediator

図19-15の説明は次にあります。
「図19-15 メディエータ・エディタ内の非同期Oracle Mediator」の説明

19.3.6 イベント・サブスクリプション用のOracle Mediatorの作成

目的の状況が発生したときに発生するビジネス・イベントをサブスクライブするOracle Mediatorを作成できます。ビジネス・イベントは、ビジネス環境における発生の結果として送信されるメッセージ・データで構成されています。ビジネス・イベントの詳細は、第39章「ビジネス・イベントおよびイベント配信ネットワークの使用」を参照してください。

19.3.6.1 イベント・サブスクリプション用のOracle Mediatorの作成方法

「メディエータの作成」ダイアログの「イベントのサブスクライブ」テンプレートを使用して、イベントをサブスクライブするためのOracle Mediatorを作成できます。

イベント・サブスクリプション用のOracle Mediatorを作成する手順は、次のとおりです。

  1. 「コンポーネント・パレット」の「SOA」リストから、「メディエータ」サービス・コンポーネントをドラッグし、SOAコンポジット・エディタの「コンポーネント」セクションにドロップします。

    「メディエータの作成」ダイアログが表示されます。

  2. 「名前」フィールドに、Oracle Mediatorサービス・コンポーネントの名前を入力します。

  3. 図19-16に示すように、「テンプレート」リストから、「イベントのサブスクライブ」を選択します。

    図19-16 「メディエータの作成」ダイアログの「イベントのサブスクライブ」テンプレートの選択

    図19-16の説明は次にあります。
    「図19-16 「メディエータの作成」ダイアログの「イベントのサブスクライブ」テンプレートの選択」の説明

  4. 「追加」をクリックします。

    「イベント・チューザ」ダイアログが表示されます。

  5. 「イベント定義」フィールドの右側にある「検索」をクリックします。

    「SOAリソース・ブラウザ」ダイアログが表示されます。

  6. イベント定義ファイル(.edl)を選択し「OK」をクリックします。

    「イベント」フィールドに、選択した.edlファイルに記述されているイベントが移入されます。.edlファイルの作成方法の詳細は、第39章「ビジネス・イベントおよびイベント配信ネットワークの使用」を参照してください。

  7. 図19-17に示すように、「イベント」フィールドで1つ以上のイベントを選択し、「OK」をクリックします。

    図19-17 「イベント・チューザ」ダイアログ

    図19-17の説明は次にあります。
    「図19-17 「イベント・チューザ」ダイアログ」の説明

  8. イベントと一貫性がある配信のレベルを選択します。

    • 唯一: イベント配信にはグローバル(JTA)トランザクションが使用されます。イベント・コールが失敗した場合、トランザクションはロールバックされ、コールは構成可能な回数だけ再試行されます。

    • 保証付き: 配信を保証するためにローカル・トランザクションが使用されます。失敗時の再試行はありません。

    • 即時: イベントはコール元と同じスレッドおよび同じトランザクション上で配信されます。

  9. 「ロールとして実行」フィールドに、イベント・サブスクリプションを実行しているセキュリティ・ロールを入力します。デフォルトでは、イベント・サブスクリプションはイベント・パブリッシャ$publisherのセキュリティ下で実行します。この値をそのまま使用することも、このフィールドを空白にすることもできます。

  10. イベントをフィルタリングするには、次のいずれかを実行します。

    • 選択したイベントの「フィルタ」列をダブルクリックします。

    • イベントを選択した後、「フィルタ」アイコン(最初のアイコン)をクリックします。

    「式ビルダー」ダイアログが表示されます。

  11. 「式」フィールドでXPath式を入力し、「OK」をクリックします。

    図19-18に、「式ビルダー」ダイアログのサンプルを示します。

    図19-18 ビジネス・イベント・フィルタ

    図19-18の説明は次にあります。
    「図19-18 ビジネス・イベント・フィルタ」の説明

    「メディエータの作成」ダイアログの「フィルタ」列が移入されます。

  12. 「OK」をクリックします。

    図19-19に示すように、Oracle Mediatorが作成されます。

19.3.6.2 イベント・サブスクリプション用のOracle Mediator作成時の処理内容

Oracle Mediatorの左側にあるアイコンは、そのOracle Mediatorがイベント・サブスクリプション用に構成されていることを示しています。

図19-19 「イベントのサブスクライブ」テンプレートを使用して作成されたOracle Mediatorコンポーネント

図19-19の説明は次にあります。
「図19-19 「イベントのサブスクライブ」テンプレートを使用して作成されたOracle Mediatorコンポーネント」の説明

Oracle Mediatorをダブルクリックすると、メディエータ・エディタが表示されます。

19.3.7 メディエータ・エディタで使用可能な情報に関する注意事項

この項では、Oracle Mediatorサービス・コンポーネントを作成するために知っておく必要がある概念について説明します。

19.3.7.1 Oracle Mediator定義

Oracle SOA Suiteのサービス・コンポーネントであるOracle Mediatorは、様々なメッセージ交換パターン(同期、非同期、イベントの公開またはサブスクリプションなど)に加え、選択的なルーティング、トランスフォーメーションおよび検証の機能などの仲介機能を備えています。

Oracle Mediatorの作成方法の詳細は、第19.3項「Oracle Mediatorの作成」を参照してください。

19.3.7.2 ルーティング・ルール

ルーティング・ルールは、必要な仲介を実行するために定義する仲介ロジックまたは実行ロジックです。ルーティング・ルールの定義に関する詳細は、第20.2項「ルーティング・ルールの定義」を参照してください。

ルーティング・ルールを作成するには、次の内容を指定する必要があります。

  • 操作またはイベント

    Oracle Mediatorルーティング・ルールは、サービス操作またはイベント・サブスクリプションのいずれかでトリガーできます。サービス操作は、同期、非同期または一方向のいずれかです。

  • Javaコールアウト

    Javaコールアウトは、Oracle Mediatorの実行における様々なポイントで外部Javaロジックを実行するために使用します。

  • 静的ルーティング・ルール

    静的に定義され、起動コンテキストによって変更されることのないOracle Mediatorルーティング・ルールです。この場合のルーティングは、エコー、別のサービスへのルーティングまたはイベントの公開のいずれかです。

    静的ルーティング・ルールでは、次の内容を指定します。

    • リクエスト・ハンドラ

      受信リクエストをOracle Mediatorが処理する方法を定義します。

    • リプライ・ハンドラ

      コールしたサービスからの同期レスポンスをOracle Mediatorが処理する方法を定義します。

    • フォルト・ハンドラ

      コールしたサービスからの名前付きフォルトまたは宣言済フォルトをOracle Mediatorが処理する方法を定義します。

    • コールバック・ハンドラ

      コールしたサービスからの非同期レスポンスとコールバックをOracle Mediatorが処理する方法を定義します。

    • コールバックにおけるタイムアウト・ハンドラ

      特定の非同期リクエストに対するタイムアウト処理を実行するまでに、Oracle Mediatorが、非同期レスポンスとコールバックを待機する時間を定義します。

    • イベントの公開およびサービスの起動

      イベントの公開およびサービスの起動では、ハンドラの構成に応じて、他のサービスのコールまたはイベントの公開が実行されます。

    • 順次実行およびパラレル実行

      各ルーティング・ルールの実行は、順次(同じスレッド内で実行)またはパラレル(異なるスレッド内で実行)のいずれかに構成できます。


      注意:

      同期サービス起動の場合、ルーティング・ルールは必ず順次にする必要があります。

    • フィルタ式

      特定のルーティング・ルールを実行するかどうかを定義します。この機能はXPath標準を使用し、Oracle Mediatorルーティング・ルールの選択的な実行を可能にします。

    • セマンティク検証

      受信リクエストのセマンティク検証を可能にし、データが正しいかどうかも検証します。この機能は、Schematron検証標準を使用します。

    • トランスフォーメーション

      受信データのトランスフォーメーションを可能にし、コールしたサービスまたは公開済イベントに準拠した形式へのトランスフォーメーションを実行します。この機能は、XSLトランスフォーメーション標準に基づいています。

    • 割当て

      コールしたサービスに合わせるために、メッセージのヘッダーおよびプロパティの操作を可能にします。

  • 動的なルーティング・ルール

    Oracle Rules Dictionaryへのルーティング・ロジックの外部化を可能にするOracle Mediatorルーティング・ルールです。Oracle Rules Dictionaryは、ルーティング・ルール内のルーティング・ロジックの動的変更を可能にします。この機能は、デシジョン・サービスおよびOracle Rulesを使用して、実行時にルーティング・ロジックを取得します。


注意:

Oracle Mediatorのグローバリゼーションを完全にサポートするために、Unicodeデータベースのデータベース・キャラクタ・セットには、AL32UTF8を使用することをお薦めします。

19.4 WSDLファイルの生成

次のいずれかの方法を使用して、WSDLファイルを生成できます。

それぞれの方法で、図19-20に示す「WSDLの作成」ダイアログを開きます。

図19-20 「WSDLの作成」ダイアログ

図19-20の説明は次にあります。
「図19-20 「WSDLの作成」ダイアログ」の説明

「WSDLの作成」ダイアログは「リクエスト」「リプライ」「フォルト」および「コールバック」の各タブで構成されており、これらのタブを使用してリクエスト、リプライ、フォルトおよびコールバックの各メッセージのスキーマ・ファイルを定義できます。リクエスト、レスポンス、フォルトおよびコールバック・メッセージに対して、同一または異なるスキーマ・ファイルを指定できます。最低でもリクエスト・メッセージのスキーマ・ファイルを指定する必要があります。デフォルトでは、リクエスト・メッセージ用にsingleString.xsdファイルが選択されています。

メッセージに対するWSDLファイルは、XMLスキーマ定義(XSD)ファイルまたはサンプル・ファイルを使用して生成できます。

19.4.1 WSDLファイルの生成方法

XSDファイルからWSDLを生成する手順は、次のとおりです。

  1. 「WSDLの作成」ダイアログの「リクエスト」タブで「検索」をクリックして、スキーマ・ロケーションにアクセスします。

    図19-21に示すように、スキーマ・ファイル(XSDファイル)のリストを含む「タイプ・チューザ」ダイアログが表示されます。

    図19-21 「タイプ・チューザ」ダイアログ

    図19-21の説明は次にあります。
    「図19-21 「タイプ・チューザ」ダイアログ」の説明

  2. 「プロジェクトのスキーマ・ファイル」ノードと「プロジェクトのWSDLファイル」ノードを開いて、使用するスキーマを検索します。

    スキーマXSDファイルまたはWSDLファイルは、それぞれダイアログの右上にある「スキーマ・ファイルのインポート」アイコンまたは「WSDLのインポート」アイコンを使用して、プロジェクトにインポートすることもできます。


    注意:

    ローカル・ファイル・システムのスキーマXSDファイルを使用する場合は、必ず、XSDファイルおよびそのファイルによってインポートされるXSDファイルすべてがOracle JDeveloperのプロジェクト・ディレクトリに存在している必要があります。

    ファイルを指定すると、Oracle Jdeveloperによってファイルが解析されて定義済のスキーマ要素が決定され、リストに選択肢として表示されます。

  3. XSDファイルのルート要素を選択し、「OK」をクリックします。

  4. 「操作名」フィールドに操作名を入力します。例: executeQuery

    Oracle JDeveloperによって、指定された操作がWSDLファイルの操作要素に変換されます。


    注意:

    操作名に空白は使用できません。

  5. 「ポート・タイプ名」フィールドに、ポート名を入力します。

  6. 「ネームスペース」フィールドに、ネームスペースを入力するか、現在の値をそのまま使用します。

    例: http://oracle.com/esb/namespaces/Mediator

    指定するネームスペースは、WSDLファイルのtnsネームスペースとして定義されます。

  7. 「リプライ」タブで情報を入力する場合は、「検索」をクリックしてスキーマにアクセスしてから、スキーマ要素を選択します。

    「リプライ」タブで同期通信におけるレスポンス・メッセージのスキーマを指定できます。

  8. 「フォルト」タブで情報を入力する場合は、「検索」をクリックしてスキーマ・ロケーションにアクセスしてから、スキーマ要素を選択します。また、レスポンスを指定しないと、フォルト・メッセージ・スキーマは指定できません。

  9. 「コールバック」タブで情報を入力する場合は、「検索」をクリックしてスキーマにアクセスしてから、スキーマ要素を選択します。

    「コールバック」タブで非同期通信におけるレスポンス・メッセージのスキーマを指定できます。

  10. 「操作名」フィールドに操作名を入力します。例: returnQuery

  11. 「ポート・タイプ名」フィールドに、レスポンスが送信されるポート名を入力します。

  12. 「OK」をクリックします。

サンプル・ファイルに基づいたWSDLファイルの生成

WSDLファイルは、カンマ区切り値(CSV)ファイル、固定長ファイル、Document Type Definition(DTD)ファイル、COBOLコピーブック・ファイルなどのネイティブ・フォーマットのファイルから生成できます。ネイティブ・フォーマット・ビルダー・ウィザードを使用して、サンプル・ファイルに基づいたWSDLファイルを生成できます。このネイティブ・フォーマット・ビルダー・ウィザードは、「WSDLの作成」ダイアログの「リクエスト」「レスポンス」「フォルト」および「コールバック」タブにある「ネイティブ・フォーマットのスキーマの定義」をクリックすると表示されます。WSDLファイルは、ウィザード完了後に生成されます。

ネイティブ・フォーマット・ビルダー・ウィザードの詳細は、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』を参照してください。

19.5 操作またはイベント・サブスクリプションのプロパティの指定

Oracle Mediatorを作成した後は、メディエータ・エディタを使用して、操作またはイベント・サブスクリプションの「有効な構文(XSD)の検証」チェック・ボックスを選択できます。このオプションを選択して、インバウンド・メッセージのスキーマを検証できます。デフォルトでは、このチェック・ボックスは選択されていません。

19.6 Oracle Mediatorサービス・コンポーネントの変更

Oracle Mediatorの操作またはイベント・サブスクリプションは、メディエータ・エディタを使用して変更できます。

19.6.1 Oracle Mediatorの操作の変更方法

操作を追加または削除することで、Oracle MediatorのWSDLファイルを変更できます。WSDLファイルの変更後、「WSDLのリフレッシュ」ダイアログを使用して変更を同期化できます。

Oracle Mediatorの操作を変更する手順は、次のとおりです。

  1. メディエータ・エディタで、「WSDL URL」フィールドの右側にある「WSDLからの操作のリフレッシュ」アイコンをクリックします。

    「WSDLのリフレッシュ」ダイアログが表示されます。WSDLファイルが変更された場合、「WSDLのリフレッシュ」ダイアログには削除または追加される操作がすべて一覧表示されます。「リフレッシュにより、次のメディエータ操作が削除されます」フィールドには、WSDLファイルから削除された操作がすべて一覧表示されます。「リフレッシュにより、次のメディエータ操作が追加されます」フィールドに、WSDLファイルに追加された新規操作がすべて一覧表示されます。図19-22に、「WSDLのリフレッシュ」ダイアログを示します。

    図19-22 「WSDLのリフレッシュ」ダイアログ

    図19-22の説明は次にあります。
    「図19-22 「WSDLのリフレッシュ」ダイアログ」の説明

  2. 別のWSDLファイルを指定するには、「WSDL URL」フィールドの右側にある「既存のWSDLを検索します。」をクリックして既存のWSDLファイルを使用するか、または「スキーマからWSDLを生成します。」をクリックして新規のWSDLファイルを作成します。

    「WSDLのリフレッシュ」ダイアログは、指定のWSDLファイルで定義された操作に基づいて更新されます。

  3. 「OK」をクリックします。

  4. 「ファイル」メニューから「すべて保存」を選択します。

19.6.2 Oracle Mediatorのイベント・サブスクリプションの変更方法

メディエータ・エディタの「イベント・サブスクリプションの管理」オプションを使用すると、新規イベントのサブスクライブ、既存イベント・サブスクリプションの変更およびサブスクライブ済イベントからのサブスクライブ解除などを実行できます。

Oracle Mediatorのイベント・サブスクリプションを変更する手順は、次のとおりです。

  1. メディエータ・エディタで、「イベント・サブスクリプション」の右側にある「イベント・サブスクリプションの管理」アイコンをクリックします。

    図19-23に示すように、「サブスクライブ済イベント」ダイアログが表示されます。

    図19-23 「サブスクライブ済イベント」ダイアログ

    図19-23の説明は次にあります。
    「図19-23 「サブスクライブ済イベント」ダイアログ」の説明

  2. 次の機能のいずれも実行できます。

    • 新規イベントをサブスクライブします。

    • イベントからサブスクライブ解除します。

    • イベントのフィルタ基準を変更または指定します。

    • イベント・サブスクリプションの「一貫性」または「ロールとして実行」プロパティを変更します。

      イベントの「一貫性」「ロールとして実行」および「フィルタ」の各フィールドに関する詳細は、第19.3.6項「イベント・サブスクリプション用のOracle Mediatorの作成」を参照してください。

  3. 「OK」をクリックします。

  4. 「ファイル」メニューから「すべて保存」を選択します。