この章では、パイプライン・テンプレートを使用したプロトタイプ・メッセージ・フローの設計について説明します。また、Oracle JDeveloperを使用して、パイプライン・テンプレートおよび具象パイプラインを設計および構成する方法についても説明します。
注意:
Oracle Service Busコンソールでパイプライン・テンプレートを作成することはできません。ただし、プロジェクト・ナビゲータで既存のテンプレート・リソースを確認したり、バインディング・タイプやメッセージ処理のオプションなどのテンプレート・プロパティを表示することは可能です。テンプレートの削除、名前変更、および別のフォルダやプロジェクトへの移動も可能です。
パイプライン・テンプレートを使用して、プロキシ・サービスのプロトタイプ・メッセージ・フローを設計します。パイプライン・テンプレートによって、メッセージ・フローの一般的な形状またはパターンが定義されます。その後、パイプライン・テンプレートから具象パイプラインを生成できます。すべての具象パイプラインは、カスタム・ロジックを挿入可能な場所が指定されているパイプライン・テンプレートによって定義されるメッセージ・フローを使用します。
次の項では、Oracle JDeveloperでのパイプライン・テンプレートの操作について説明します。
パイプライン・テンプレートを使用して、プロキシ・サービスのプロトタイプ・メッセージ・フローを設計します。
パイプライン・テンプレートによって、メッセージ・フローの一般的な形状またはパターンが定義されます。
パイプライン・テンプレートは、作成後にテンプレート・デザイナを使用して編集できます。
テンプレートのメッセージ処理構成設定などの設定を指定し、テンプレートのメッセージ・フローを編集できます。
テンプレート・デザイナを使用し、パイプライン・テンプレートの設定およびメッセージ・フローを構成します。
パイプライン・テンプレートを編集するには:
開始ノードに示されている外部サービスは、パイプラインのコンテキストの外部で呼び出されるサービスです。これらは、サービスの呼出しノードで指定されていますが、容易に使用できるようにリストされています。
外部サービスを表示するには:
外部サービスを表示するには、開始ノードの左矢印ボタンをクリックします。開始ノードの左側に「外部サービス」ボックスが表示されます。外部サービスの上にマウスを置くと、サービス・リソースの完全パスが表示されます。
開始ノードに示されている共有変数は、パイプラインが同じコール・チェーン内の別のパイプラインと共有できる変数です。
注意:
1つのコール・チェーン内の2つのパイプラインで同じ共有変数を宣言する場合、これらは呼出しコール・チェーンの範囲内の同じ変数を読み取り、変更します。つまり、パイプラインP1で共有変数varを宣言し、パイプラインP1が、同様に共有変数varを宣言するパイプラインP2を呼び出す場合、P1のvarの変更はP2に表示され、逆も当てはまります。共有変数は、文字列、ブールまたはXMLのデータ型にする必要があります。
外部サービスを表示するには:
共有変数を表示するには、開始ノードで左矢印ボタンをクリックします。開始ノードの左側に「共有変数」ボックスが表示されます。「共有変数」ボックスを右クリックすると、コンテキスト・メニューを表示できます。コンテキスト・メニューでは、共有変数の追加や削除などのタスクを実行できます。
パイプライン・テンプレートで特定のタイプのテンプレート・プレースホルダが定義されている場合、具象パイプラインでは、同じタイプのゼロ個以上のノードをそのテンプレート・プレースホルダに追加できます。
たとえば、アクション・テンプレート・プレースホルダには、具象パイプラインでゼロ個以上のアクション・ノードを含めることができます。
テンプレート・プレースホルダには、次のタイプがあります。
ノード: ノード・テンプレート・プレースホルダには、次のノードを含めることができます。
ステージまたはアクションを含む具象パイプライン・ペア・ノード
条件付きブランチ・ノード
操作ブランチ・ノード
RESTブランチ・ノード
ルート・ノード
たとえば、ノード・プレースホルダ・ブロックには、具象パイプラインで、ルート・ノードが後に続くパイプライン・ペア・ノードを含めることができます。
ステージ: ステージ・テンプレート・プレースホルダには、具象パイプラインでゼロ個以上のステージを含めることができます。各ステージには、アクションを含めることができます。
アクション: アクション・テンプレート・プレースホルダには、具象パイプラインでゼロ個以上のアクションを含めることができます。
ルート: ルート・テンプレート・プレースホルダは、具象パイプラインでのルーティング・アクション用のプレースホルダです。
条件: 条件テンプレート・プレースホルダによって、具象パイプラインの条件付きブランチ・ノードを指定できます。
操作: 操作テンプレート・プレースホルダによって、WSDL SOAPバインディングを使用する場合の具象パイプラインの操作ブランチ・ノードを指定できます。
REST: RESTテンプレート・プレースホルダによって、RESTバインディングを使用する場合の具象パイプラインのRESTブランチ・ノードを指定できます。
パイプライン・テンプレート・メッセージ・フローに追加するアクションの必須プロパティをすべて指定しており、かつすべての具象パイプラインでそれらのプロパティに同じ値を使用する場合は、パイプライン・テンプレート・メッセージ・フローのアクションをロックできます。
ロックされたアクションは、具象パイプラインで編集できません。すべての必須プロパティおよびオプションのプロパティをパイプライン・テンプレートで指定済であることを確認してください。
テンプレート・デザイナの「プロパティ」ウィンドウからアクションをロックできます。
始める前に:
「パイプライン・テンプレートの編集」の説明に従って、テンプレート・デザイナでメッセージ・フローを編集していることを確認します。
アクションをロックするには:
具象パイプラインには、パイプライン・テンプレートによって定義されているメッセージ・フロー・パターンが実装されます。
具象パイプラインのメッセージ・フローは、指定された場所でカスタマイズできます。
具象パイプラインは、パイプライン・テンプレートからそのメッセージ・フローを継承します。パイプライン・エディタでメッセージ・フローを完成できます。
メッセージ・フロー内のテンプレート・プレースホルダにノードおよびアクションを追加できます。さらに、パイプライン・テンプレートで定義されているその他のロックされていないアクションのプロパティを編集または完了できます。具象パイプラインのロック済アクションは編集できません。
パイプライン・エディタを使用して、具象パイプラインのメッセージ・フローを編集します。テンプレート・プレースホルダにノードおよびアクションを追加でき、パイプライン・テンプレートで定義されている他のロックされていないアクションを編集できます。
具象パイプラインに対するメッセージ・フローを編集するには:
Oracle JDeveloperでService Busプロジェクトを開いていることを確認します。
次の方法の1つを使用して、パイプラインのメッセージ・フローを編集します。
アプリケーション・ナビゲータで、パイプライン・ノードを見つけます。パイプライン・ノードを右クリックし、「開く」を選択します。かわりに、パイプライン・ノードをダブルクリックして開くこともできます。
アプリケーション・ナビゲータで、プロジェクト・ノード(またはoverview.xml)をクリックし、概要エディタを開きます。
概要エディタで、パイプライン・コンポーネントをダブルクリックし、パイプライン・エディタを開きます。
パイプライン・エディタが表示されます。エディタの左下隅の「設計」タブが選択されていることを確認します。
パイプライン・エディタには、パイプライン・テンプレートで設計されたメッセージ・フローが表示されます。
ロックされていないアクションのプロパティを編集するには:
パイプライン・エディタ・メッセージ・フローでアクションをクリックして選択します。「プロパティ」ウィンドウに、選択したアクションのプロパティが表示されます。
注意:
「プロパティ」ウィンドウが表示されない場合は、「ウィンドウ」メイン・メニューから「プロパティ」を選択します。
「プロパティ」ウィンドウでプロパティを編集します。
次の方法の1つを使用して、テンプレート・プレースホルダを編集します。
テンプレート・プレースホルダ・アイコンを右クリックし、追加できるメッセージ・フロー・コンポーネントのオプションを取得します。表示されたコンテキスト・メニューから「中に挿入」をクリックします。
図18-5は、アクション・テンプレート・プレースホルダに使用できるオプションを示しています。
「コンポーネント」ウィンドウからパイプライン・エディタのテンプレート・プレースホルダに目的のコンポーネントをドラッグします。
エディタ・ウィンドウにコンポーネントをドラッグすると、コンポーネントをドロップできる有効な場所を示す黄色の円が表示されます。黄色の円の1つにコンポーネントをドラッグすると、その円が緑色に変化し、そこにコンポーネントをドロップできることを示します。マウス・ボタンを離すと、コンポーネントがドロップされます。
さらにアクションを編集したり、テンプレート・プレースホルダにさらにノードをドロップすることでメッセージ・フローの構築を続行します。
Oracle JDeveloperツールバーで、「保存」をクリックします。