プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Service Busでのサービスの開発
12c (12.2.1.2.0)
E82661-02
目次へ移動
目次

前
次

18 パイプライン・テンプレートの操作

この章では、パイプライン・テンプレートを使用したプロトタイプ・メッセージ・フローの設計について説明します。また、Oracle JDeveloperを使用して、パイプライン・テンプレートおよび具象パイプラインを設計および構成する方法についても説明します。

注意:

Oracle Service Busコンソールでパイプライン・テンプレートを作成することはできません。ただし、プロジェクト・ナビゲータで既存のテンプレート・リソースを確認したり、バインディング・タイプやメッセージ処理のオプションなどのテンプレート・プロパティを表示することは可能です。テンプレートの削除、名前変更、および別のフォルダやプロジェクトへの移動も可能です。

パイプライン・テンプレートを使用して、プロキシ・サービスのプロトタイプ・メッセージ・フローを設計します。パイプライン・テンプレートによって、メッセージ・フローの一般的な形状またはパターンが定義されます。その後、パイプライン・テンプレートから具象パイプラインを生成できます。すべての具象パイプラインは、カスタム・ロジックを挿入可能な場所が指定されているパイプライン・テンプレートによって定義されるメッセージ・フローを使用します。

次の項では、Oracle JDeveloperでのパイプライン・テンプレートの操作について説明します。

18.1 パイプライン・テンプレートの追加

パイプライン・テンプレートを使用して、プロキシ・サービスのプロトタイプ・メッセージ・フローを設計します。

パイプライン・テンプレートによって、メッセージ・フローの一般的な形状またはパターンが定義されます。

18.1.1 パイプライン・テンプレートの追加方法

Oracle JDeveloperで開いているService Busプロジェクトにパイプライン・テンプレートを追加できます。

パイプライン・テンプレートを追加するには:

  1. Oracle JDeveloperでService Busプロジェクトを開いていることを確認します。
  2. 次の方法の1つを使用して、新しいパイプライン・テンプレートを追加します。
    • アプリケーション・ナビゲータで、「Service Busプロジェクト」アイコンを右クリックし、コンテキスト・メニューから「新規」→「パイプライン・テンプレート」を選択します。

    • 「ファイル」メニューから、「新規」→「パイプライン・テンプレート」を選択します。

    「パイプライン・テンプレートの作成」ウィザードが表示されます。

  3. 「サービス名」の下に、パイプライン・テンプレートの名前を入力します。
  4. 「場所」フィールドの右にある「参照」アイコンをクリックし、パイプライン・テンプレートのディレクトリを指定します。デフォルト・ディレクトリは、Service Busプロジェクト・フォルダです。
  5. 必要に応じて、パイプライン・テンプレートの「説明」を入力します。
  6. 既存のパイプラインを使用してテンプレートを定義する場合は、「パイプラインから」を選択します。「参照」アイコンをクリックし、パイプライン・ファイルを選択します。
  7. 「次」をクリックします。「サービス・タイプ」ページが表示されます。
  8. パイプライン・テンプレートの「サービス・タイプ」を選択します。このテンプレートから作成するすべての具象パイプラインは、同じサービス・タイプを使用します。

    具象パイプラインを作成するときにサービス・タイプを選択できるようにする場合は、「任意」を選択します。

  9. 「終了」をクリックし、パイプライン・テンプレートを作成します。テンプレート・デザイナで、パイプライン・テンプレート(.ptx)が開かれます。アプリケーション・ナビゲータにもパイプライン・テンプレートが表示されます。
  10. テンプレート・デザイナで、左下にある「構成」タブを選択します。「構成」タブは、メッセージ処理構成設定およびその他の一般設定を指定するために使用します。
  11. 「全般」をクリックし、パイプライン・テンプレートのオプションの「説明」を指定します。

18.2 パイプライン・テンプレートの編集

パイプライン・テンプレートは、作成後にテンプレート・デザイナを使用して編集できます。

テンプレートのメッセージ処理構成設定などの設定を指定し、テンプレートのメッセージ・フローを編集できます。

18.2.1 パイプライン・テンプレートの編集方法

テンプレート・デザイナを使用し、パイプライン・テンプレートの設定およびメッセージ・フローを構成します。

パイプライン・テンプレートを編集するには:

  1. アプリケーション・ナビゲータでパイプライン・テンプレートをダブル・クリックし、それをテンプレート・デザイナで開きます。
  2. 左下にある「構成」タブをクリックし、「説明」などの一般構成設定と、コンテンツのストリーミング、トランザクション設定などのメッセージ処理設定を指定します。設定に関するヘルプを表示するには、[F1]キーを押します。
  3. 左下にある「設計」タブをクリックし、パイプライン・テンプレートのメッセージ・フローを編集します。

    パイプライン・テンプレートに対してまだメッセージ・フローが作成されていない場合は、テンプレート・デザイナの「設計」ビューのページに「プロキシ・サービス」アイコンが1つ表示されます。これは、メッセージ・フローの開始ノードです。

  4. 次の方法の1つを使用して、メッセージ・フロー・コンポーネント(ノード)をメッセージ・フローに追加します。
    • 開始ノード(プロキシ・サービス・アイコン)を右クリックし、追加できるメッセージ・フロー・コンポーネントのオプションを取得します。

      図18-1は、開始ノードに使用できるオプションを示しています。PipelinePairノード、条件付きブランチなどのノードを追加できます。「ノード」、「ルート」、「条件テンプレート」などのテンプレート・プレースホルダを追加することもできます。テンプレート・プレースホルダは、具象パイプラインを作成するときに追加できる実際のノード用のプレースホルダです。

      図18-1 ノードの右クリックによるメッセージ・フロー・コンポーネントの追加

      図18-1の説明が続きます
      「図18-1 ノードの右クリックによるメッセージ・フロー・コンポーネントの追加」の説明
    • または、「コンポーネント」ウィンドウから追加するメッセージ・フロー・コンポーネントを選択し、そのコンポーネントをテンプレート・デザイナ・ウィンドウにドラッグします。メッセージ・フロー内でコンポーネントをドロップできる場所を示す黄色の円が表示されます。コンポーネントを黄色の円にドラッグします。黄色の円が緑色に変化します。コンポーネントを解放して追加します。図18-2は、開始ノードに追加しようとしているパイプライン・ペア・ノードを示しています。

    図18-2 開始ノードへのパイプライン・ペアの追加

    図18-2の説明が続きます
    「図18-2 開始ノードへのパイプライン・ペアの追加」の説明

    テンプレート・デザイナにコンポーネントを追加するときには、テンプレート・デザイナにそのコンポーネントを表す対応するアイコンが表示されます。コンポーネント間の関係は、線と境界を示す四角形で示されます。

    図18-3は、パイプライン・ペア・ノードがフローに追加されたメッセージ・フローを示しています。パイプライン・ペアは、リクエスト・パイプラインとレスポンス・パイプラインで構成されています。リクエストおよびレスポンスの各パイプラインには、アクション・ノードを含めることができるステージがあります。

    図18-3 パイプライン・ペア・ノードのあるメッセージ・フロー

    図18-3の説明が続きます
    「図18-3 パイプライン・ペア・ノードのあるメッセージ・フロー」の説明
  5. さらにコンポーネントを追加することでメッセージ・フローの構築を続けます。たとえば、ステージ・ノードにアクション・プレースホルダを追加するには、「コンポーネント」ウィンドウからエディタのステージ・ノードにアクション・コンポーネントをドラッグできます。かわりに、ステージ・ノードを右クリックし、ステージ・ノードに追加できるメッセージ・フロー・コンポーネントのオプションを取得することもできます。各コンポーネントに使用できるオプションは、コンテキストに応じて異なります。
  6. Oracle JDeveloperツールバーで、「保存」をクリックします。

18.2.1.1 外部サービスの表示方法

開始ノードに示されている外部サービスは、パイプラインのコンテキストの外部で呼び出されるサービスです。これらは、サービスの呼出しノードで指定されていますが、容易に使用できるようにリストされています。

外部サービスを表示するには:

外部サービスを表示するには、開始ノードの左矢印ボタンをクリックします。開始ノードの左側に「外部サービス」ボックスが表示されます。外部サービスの上にマウスを置くと、サービス・リソースの完全パスが表示されます。

18.2.1.2 共有変数の表示方法

開始ノードに示されている共有変数は、パイプラインが同じコール・チェーン内の別のパイプラインと共有できる変数です。

注意:

1つのコール・チェーン内の2つのパイプラインで同じ共有変数を宣言する場合、これらは呼出しコール・チェーンの範囲内の同じ変数を読み取り、変更します。つまり、パイプラインP1で共有変数varを宣言し、パイプラインP1が、同様に共有変数varを宣言するパイプラインP2を呼び出す場合、P1のvarの変更はP2に表示され、逆も当てはまります。共有変数は、文字列、ブールまたはXMLのデータ型にする必要があります。

外部サービスを表示するには:

共有変数を表示するには、開始ノードで左矢印ボタンをクリックします。開始ノードの左側に「共有変数」ボックスが表示されます。「共有変数」ボックスを右クリックすると、コンテキスト・メニューを表示できます。コンテキスト・メニューでは、共有変数の追加や削除などのタスクを実行できます。

18.3 パイプライン・テンプレート・メッセージ・フローへのプレースホルダ・ブロックの追加

パイプライン・テンプレートで特定のタイプのテンプレート・プレースホルダが定義されている場合、具象パイプラインでは、同じタイプのゼロ個以上のノードをそのテンプレート・プレースホルダに追加できます。

たとえば、アクション・テンプレート・プレースホルダには、具象パイプラインでゼロ個以上のアクション・ノードを含めることができます。

テンプレート・プレースホルダには、次のタイプがあります。

  • ノード: ノード・テンプレート・プレースホルダには、次のノードを含めることができます。

    • ステージまたはアクションを含む具象パイプライン・ペア・ノード

    • 条件付きブランチ・ノード

    • 操作ブランチ・ノード

    • RESTブランチ・ノード

    • ルート・ノード

    たとえば、ノード・プレースホルダ・ブロックには、具象パイプラインで、ルート・ノードが後に続くパイプライン・ペア・ノードを含めることができます。

  • ステージ: ステージ・テンプレート・プレースホルダには、具象パイプラインでゼロ個以上のステージを含めることができます。各ステージには、アクションを含めることができます。

  • アクション: アクション・テンプレート・プレースホルダには、具象パイプラインでゼロ個以上のアクションを含めることができます。

  • ルート: ルート・テンプレート・プレースホルダは、具象パイプラインでのルーティング・アクション用のプレースホルダです。

  • 条件: 条件テンプレート・プレースホルダによって、具象パイプラインの条件付きブランチ・ノードを指定できます。

  • 操作: 操作テンプレート・プレースホルダによって、WSDL SOAPバインディングを使用する場合の具象パイプラインの操作ブランチ・ノードを指定できます。

  • REST: RESTテンプレート・プレースホルダによって、RESTバインディングを使用する場合の具象パイプラインのRESTブランチ・ノードを指定できます。

18.4 パイプライン・テンプレートでのアクションのロック

パイプライン・テンプレート・メッセージ・フローに追加するアクションの必須プロパティをすべて指定しており、かつすべての具象パイプラインでそれらのプロパティに同じ値を使用する場合は、パイプライン・テンプレート・メッセージ・フローのアクションをロックできます。

ロックされたアクションは、具象パイプラインで編集できません。すべての必須プロパティおよびオプションのプロパティをパイプライン・テンプレートで指定済であることを確認してください。

18.4.1 パイプライン・テンプレートでのアクションのロック方法

テンプレート・デザイナの「プロパティ」ウィンドウからアクションをロックできます。

始める前に:

「パイプライン・テンプレートの編集」の説明に従って、テンプレート・デザイナでメッセージ・フローを編集していることを確認します。

アクションをロックするには:

  1. テンプレート・デザイナでアクションを選択します。アクションのプロパティが、「プロパティ」ウィンドウに表示されます。
  2. 選択したアクションに固有の必須プロパティをすべて指定済であることを確認します。
  3. 「プロパティ」ウィンドウで、「ロック」アイコンをクリックし、アクションをロックします。

    図18-4 パイプライン・テンプレートでのアクションのロック

    図18-4の説明が続きます
    「図18-4 パイプライン・テンプレートでのアクションのロック」の説明

18.5 パイプライン・テンプレートからの具象パイプラインの作成

具象パイプラインには、パイプライン・テンプレートによって定義されているメッセージ・フロー・パターンが実装されます。

具象パイプラインのメッセージ・フローは、指定された場所でカスタマイズできます。

18.5.1 具象パイプラインの作成方法

パイプライン作成ウィザードを使用して、パイプライン・テンプレートに基づいて具象パイプラインを作成できます。

具象パイプラインを作成するには:

  1. Oracle JDeveloperでService Busプロジェクトを開いていることを確認します。
  2. 次の方法の1つを使用して、新しいパイプラインを作成します。
    • 「ファイル」メニューで、「新規」→「パイプライン」をクリックします。「パイプライン・サービスの作成」ウィザードが表示されます。

    • アプリケーション・ナビゲータで、「Service Busプロジェクト」アイコンを右クリックします。「新規」→「パイプライン」を選択します。「パイプライン・サービスの作成」ウィザードが表示されます。

    • アプリケーション・ナビゲータで、新しいパイプラインの作成元とするパイプライン・テンプレートを右クリックします。「Service Bus」→「パイプラインの生成」を選択します。

      「パイプライン・サービスの作成」ウィザードが表示されます。パイプライン・テンプレートの名前が、「テンプレートから」フィールドにすでに移入されています。

  3. 「サービス名」の下に、新しい具象パイプラインの名前を入力します。
  4. 「場所」フィールドの右にある「参照」アイコンをクリックし、具象パイプライン・リソースの場所を選択します。デフォルトの場所は、Service Busプロジェクト・フォルダです。
  5. 具象パイプラインの「説明」を任意で指定します。
  6. まだ選択していない場合は、「テンプレートから」を選択し、パイプライン・テンプレートを指定します。「テンプレートから」フィールドの右にある「参照」アイコンをクリックし、パイプライン・テンプレートを選択します。パイプライン・テンプレート・ファイルを選択し、「OK」をクリックします。
  7. 「次」をクリックします。
  8. 具象パイプラインの「サービス・タイプ」を選択します。使用可能なオプションは、基礎となるテンプレートに指定されているサービス・タイプに応じて異なります。
  9. 「終了」をクリックし、具象パイプラインを作成します。

18.6 具象パイプラインに対するメッセージ・フローの編集

具象パイプラインは、パイプライン・テンプレートからそのメッセージ・フローを継承します。パイプライン・エディタでメッセージ・フローを完成できます。

メッセージ・フロー内のテンプレート・プレースホルダにノードおよびアクションを追加できます。さらに、パイプライン・テンプレートで定義されているその他のロックされていないアクションのプロパティを編集または完了できます。具象パイプラインのロック済アクションは編集できません。

18.6.1 具象パイプラインに対するメッセージ・フローの編集方法

パイプライン・エディタを使用して、具象パイプラインのメッセージ・フローを編集します。テンプレート・プレースホルダにノードおよびアクションを追加でき、パイプライン・テンプレートで定義されている他のロックされていないアクションを編集できます。

具象パイプラインに対するメッセージ・フローを編集するには:

  1. Oracle JDeveloperでService Busプロジェクトを開いていることを確認します。

  2. 次の方法の1つを使用して、パイプラインのメッセージ・フローを編集します。

    • アプリケーション・ナビゲータで、パイプライン・ノードを見つけます。パイプライン・ノードを右クリックし、「開く」を選択します。かわりに、パイプライン・ノードをダブルクリックして開くこともできます。

    • アプリケーション・ナビゲータで、プロジェクト・ノード(またはoverview.xml)をクリックし、概要エディタを開きます。

      概要エディタで、パイプライン・コンポーネントをダブルクリックし、パイプライン・エディタを開きます。

    パイプライン・エディタが表示されます。エディタの左下隅の「設計」タブが選択されていることを確認します。

    パイプライン・エディタには、パイプライン・テンプレートで設計されたメッセージ・フローが表示されます。

  3. ロックされていないアクションのプロパティを編集するには:

    1. パイプライン・エディタ・メッセージ・フローでアクションをクリックして選択します。「プロパティ」ウィンドウに、選択したアクションのプロパティが表示されます。

      注意:

      「プロパティ」ウィンドウが表示されない場合は、「ウィンドウ」メイン・メニューから「プロパティ」を選択します。

    2. 「プロパティ」ウィンドウでプロパティを編集します。

  4. 次の方法の1つを使用して、テンプレート・プレースホルダを編集します。

    • テンプレート・プレースホルダ・アイコンを右クリックし、追加できるメッセージ・フロー・コンポーネントのオプションを取得します。表示されたコンテキスト・メニューから「中に挿入」をクリックします。

      図18-5は、アクション・テンプレート・プレースホルダに使用できるオプションを示しています。

      図18-5 テンプレート・プレースホルダへのノードの追加

      図18-5の説明が続きます
      「図18-5 テンプレート・プレースホルダへのノードの追加」の説明
    • 「コンポーネント」ウィンドウからパイプライン・エディタのテンプレート・プレースホルダに目的のコンポーネントをドラッグします。

      エディタ・ウィンドウにコンポーネントをドラッグすると、コンポーネントをドロップできる有効な場所を示す黄色の円が表示されます。黄色の円の1つにコンポーネントをドラッグすると、その円が緑色に変化し、そこにコンポーネントをドロップできることを示します。マウス・ボタンを離すと、コンポーネントがドロップされます。

  5. さらにアクションを編集したり、テンプレート・プレースホルダにさらにノードをドロップすることでメッセージ・フローの構築を続行します。

  6. Oracle JDeveloperツールバーで、「保存」をクリックします。

18.7 具象パイプラインから通常のパイプラインへの変換

具象パイプラインをパイプライン・テンプレートに関連付ける必要がなくなった場合、テンプレート・リンクを解除し、そのパイプラインを通常のパイプラインに変換できます。

通常のパイプラインは、具象パイプラインに適用される制限なしで編集できます。

18.7.1 具象パイプラインに対するテンプレート・リンクの解除方法

パイプライン・エディタの「構成」タブを使用して、関連付けられたテンプレートとのそのリンクを解除できます。

具象パイプラインのテンプレート・リンクを解除するには:

  1. Oracle JDeveloperでService Busプロジェクトを開いていることを確認します。
  2. 次の方法の1つを使用して、パイプライン・エディタを開きます。
    • アプリケーション・ナビゲータで、具象パイプライン・ノードを見つけます。パイプライン・ノードを右クリックし、「開く」を選択します。かわりに、パイプライン・ノードをダブルクリックして開くこともできます。

    • アプリケーション・ナビゲータで、プロジェクト・ノード(またはoverview.xml)をクリックし、概要エディタを開きます。

      概要エディタで、具象パイプライン・コンポーネントをダブルクリックし、パイプライン・エディタを開きます。

    パイプライン・エディタが表示されます。エディタの左下隅で「構成」タブが選択されていることを確認します。

  3. 「全般」をクリックし、「一般構成」ページを表示します。
  4. 「テンプレート」の下の「テンプレート・リンクの解除」アイコンをクリックします。図18-6は、「テンプレート・リンクの解除」アイコンを示しています。

    図18-6 テンプレート・リンクの解除

    図18-6の説明が続きます
    「図18-6 テンプレート・リンクの解除」の説明