ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Service Bus開発者ガイド
11gリリース1 (11.1.1.6.2)
B61435-05
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
前
 
次
次
 

2 タスク

この章では、Oracle Service Bus IDEでタスク(プロジェクトとリソース、ビジネス・サービスとプロキシ・サービス、分割-結合、メッセージ・フロー、およびグローバル・リソースの操作など)を実行する方法について説明します。

この章の内容は以下のとおりです。

2.1 プロジェクト、フォルダ・リソースおよび構成の操作

このセクションでは、以下のタスクの実行方法を示します。

2.1.1 リソースの命名制限

Oracle Service Bus構成でディレクトリまたはリソースに名前を付ける際は、次の文字を使用できます。

/ \ * : " < > ? | などの文字は使用できません。

2.1.2 リソースの編集

リソースは、組込みのエディタを使用して編集します。たとえば、プロキシ・サービスを編集するには、プロジェクト・エクスプローラでサービスの名前をダブル・クリックします。

リソース・ファイルをテキスト・ファイルやXMLファイルとして手動で編集しないでください。予測不可能な動作が発生するおそれがあります。リソースの以下の種類は手動で編集しないでください。

  • アラート宛先

  • ビジネス・サービス

  • カスタム・リソース

  • プロキシ・サービス

  • サービス・アカウント

  • サービス・キー・プロバイダ

  • 分割-結合

  • JNDIプロバイダ

  • SMTPサーバー

  • プロキシ・サーバー

  • UDDIレジストリ

2.1.3 Oracle Service Busプロジェクトおよびフォルダのクローン作成

Oracle Service Busプロジェクトおよびフォルダのクローンを作成するには:

  1. プロジェクト・エクスプローラで、クローンを作成するOracle Service Busプロジェクトまたはフォルダを右クリックします。

  2. メニューから「Oracle Service Bus」→「Clone」を選択して、「Select Clone Target」ダイアログを表示します。

2.1.4 Oracle Service Bus構成プロジェクトの作成

Oracle Service Busパースペクティブで「ファイル」→「新規」→Oracle Service Bus構成プロジェクトを選択して、新しいOracle Service Bus構成プロジェクト・ウィザードを表示します。

命名ガイダンスについては2.1.1項「リソースの命名制限」を参照してください。

構成の詳細は、4.4.3項「Oracle Service Bus構成ページ」を参照してください。

2.1.5 Oracle Service Busプロジェクトの作成

Oracle Service Busパースペクティブで「ファイル」→「新規」→Oracle Service Busプロジェクトを選択して、新しいOracle Service Busプロジェクト・ウィザードを表示します。

命名ガイダンスについては2.1.1項「リソースの命名制限」を参照してください。


注意:

Oracle Service Busプロジェクトは、Oracle Service Bus構成プロジェクトでのみ作成できます。


構成の詳細は、4.4.4項「新しいOracle Service Busプロジェクト」を参照してください。

2.1.6 サーバーの作成

Oracle Service Bus構成をEclipseの実行中のサーバーにデプロイ(パブリッシュ)し、テストできます。開発で実行中のサーバーに接続する際、JNDIリソースやリモートEJBのような実行時環境のリソースにアクセスすることもできます。

既存のOracle WebLogic Serverに接続する場合、サーバー作成プロセスでは既存サーバーのドメインの指定のみが必要です。新規のサーバーを作成する場合、新規サーバーのウィザードではOracle Fusion Middleware構成ウィザードを使用して新たに作成できます。

Eclipseでサーバーを作成する手順:

  1. Oracle Service Busパースペクティブで「ファイル」→「新規」→「サーバー」を選択します。新規サーバー・ウィザードが表示されます。

  2. 作成または接続するサーバーのタイプ/バージョンを選択します。

  3. サーバーのホスト名に、ローカル・サーバーの場合は「localhost」と入力するか、既存サーバーをホスティングするリモート・マシンの名前またはIPアドレスを入力します。

  4. 「サーバー名」はEclipseで表示する場合のものです。

  5. 「次へ」をクリックします。

  6. WebLogicホームで、「参照」をクリックし、サーバー・ドメインを配置する予定の(またはすでに配置されている) Oracle Fusion Middlewareインストール環境のWL_HOMEを選択します。たとえば、MW_HOME_1に新規サーバーを作成する場合、MW_HOME_1/WL_HOMEを選択します。または、MW_HOME_2の既存のサーバー・ドメインに接続する場合、MW_HOME_2/WL_HOMEを選択します。


    注意:

    サーバーのインストール「MW_HOME」の外部にある「WL_HOME」は、外部の「MW_HOME」が同じ製品バージョンである場合でも、参照できません。


  7. 「Javaホーム」は自動的に入力されます。別のJRE(デフォルトのOracle JRockit JREなど)を使用する場合は、「参照」をクリックしてサーバーと同じ「MW_HOME」の下にあるJREを選択します。

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

  9. サーバーが「ローカル」か「リモート」かを選択します。「リモート」は既存のリモート・サーバーを示します。

    • 「ローカル」の場合は、「ドメイン・ディレクトリ」フィールドで既存サーバーを選択するか、リンクをクリックして新規ドメインを作成します。新規ドメインを作成したら、「ドメイン・ディレクトリ」フィールドでそのドメインを選択します。

      自動パブリッシュやデバッグ・モードなどのその他のオプションを、必要に応じて設定します。

      新規のOracle Service Busドメインの作成の詳細は、『Oracle Fusion Middleware Oracle Service Busインストレーション・ガイド』のOracle Service Bus 11gのインストールと構成に関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBIN1255)を参照してください。

    • 「リモート」の場合は、既存リモート・サーバーへの接続設定を入力します。

  10. 「次へ」をクリックします。

  11. サーバーでパブリッシュするすべてのOracle Service Bus構成を「構成済」ペインに移動します。このターゲット設定は、サーバーを右クリックして追加および削除を選択することでサーバーを作成した後で、変更できます。

  12. 「終了」をクリックします。Eclipseの「Servers」ビューに新規サーバーが表示され、サーバーの起動と停止や、サーバーへのパブリッシュができます。

Eclipse用のOracle Service Busプラグインにより特殊な機能が提供される、デバッグ・モードでサーバーを実行する場合の詳細は、2.10項「Oracle Service Busデバッガの使用」を参照してください。

2.1.7 カスタム・リソースの作成

Oracle Service Busパースペクティブで「File」→「New」→「Custom Resource」を選択して、New Custom Resourceウィザードを表示します。

命名ガイダンスについては2.1.1項「リソースの命名制限」を参照してください。


注意:

カスタム・リソースは、Oracle Service Busプロジェクトでのみ作成できます。


構成の詳細は、4.5項「カスタム・リソース」を参照してください。

2.1.8 JNDIプロバイダ・リソースの作成および編集

Oracle Service Busパースペクティブで「ファイル」→「新規」→「JNDIプロバイダ」を選択し、新規JNDIプロバイダ・リソース・ウィザードを表示します。

命名ガイダンスについては2.1.1項「リソースの命名制限」を参照してください。


注意:

JNDIプロバイダ・リソースは、Oracle Service Bus構成プロジェクトでのみ作成できます。


JNDIプロバイダ・リソースを編集するには:

  1. プロジェクト・エクスプローラで、編集するJNDIプロバイダ・リソースを含むOracle Service Bus構成プロジェクトを見つけます。

  2. JNDIプロバイダの名前をダブルクリックして、JNDIプロバイダ・エディタを表示します。

構成の詳細は、4.8項「JNDIプロバイダ」を参照してください。

2.1.9 プロキシ・サーバー・リソースの作成

Oracle Service Busパースペクティブで「ファイル」→「新規」→「プロキシ・サーバー」を選択し、新規プロキシ・サーバー・リソース・ウィザードを表示します。

命名ガイダンスについては2.1.1項「リソースの命名制限」を参照してください。


注意:

プロキシ・サーバー・リソースは、Oracle Service Bus構成プロジェクトでのみ作成できます。


プロキシ・サーバー・リソースを編集するには:

  1. プロジェクト・エクスプローラで、編集するプロキシ・サーバー・リソースを含むOracle Service Bus構成プロジェクトを見つけます。

  2. プロキシ・サーバーの名前をダブルクリックして、プロキシ・サーバー・エディタを表示します。

構成の詳細は、4.9項「プロキシ・サーバー」を参照してください。

2.1.10 メッセージ・フォーマット・ファイルの作成

Oracle Service Busパースペクティブで「ファイル」→「新規」→「MFL」を選択し、新規メッセージ・フォーマット・ファイル・ウィザードを表示します。

命名ガイダンスについては2.1.1項「リソースの命名制限」を参照してください。


注意:

メッセージ・フォーマット・ファイルは、Oracle Service Busプロジェクトでのみ作成できます。


構成の詳細は、4.11.16項「MFL変換アクションのプロパティ」を参照してください。

2.1.11 リソースのエクスポート

ここでは、Oracle Service BusリソースをEclipseからエクスポートする様々な方法について説明します。

ここでの手順は、Eclipseのインストール環境を必要とするため、Oracle Enterprise Pack for Eclipse用のOracle Service Busプラグインをサポートするプラットフォームでのみ実行できます。サポートされていないプラットフォームでは、Oracle Service Bus管理コンソールを使用してエクスポートします。『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のインポートとエクスポートに関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBAG1311)を参照してください。

この項には次のトピックが含まれます:


注意:

Oracle Service Busリソースの種類の1つであるXMLファイルは、次のエクスポート手順のいずれかを使用するとEclipseから自動的にエクスポートされます。XMLファイルをエクスポートしない場合は、Eclipseのリソース・フィルタ機能をプロジェクトまたはフォルダで使用して、そのファイルを除外します。エクスポート・ウィザードではファイルおよびリソースをエクスポートから除外することもできます。


2.1.11.1 Exportウィザードの使用

Oracle Service Busパースペクティブで「ファイル」→「エクスポート」を選択し、エクスポート・ウィザードを表示します。詳細は次のトピックを参照してください。

2.1.11.2 コマンド・ラインやスクリプトを使用したOracle Service Bus構成のエクスポート

この項では、Oracle Service Bus構成をエクスポートするためのスクリプトおよびコマンド・ライン・オプションについて説明します。

2.1.11.2.1 始める前に

始める前に、以下の前提条件とガイドラインを参照してください。

  • クラスパスにOSB_ORACLE_HOME/lib/sb-kernel-api.jarが含まれていることを確認してください。

  • スクリプト内のリソースJAR名に正しいバージョン番号が含まれていることを確認してください。

  • Java 1.6が必要です。

  • Oracle Service Bus 10gR3 MP1以降のリリースとEclipseがインストールされている必要があります。

  • ワークスペース・ファイルが読取り専用である場合、出力またはワークスペース・ログ・ファイルにスタック・トレースの例外が発生する可能性があります。

  • 終了値で0が表示される場合、エクスポートが完了したことを意味します。

  • JAR命名ガイダンスについては2.1.1項「リソースの命名制限」を参照してください。

2.1.11.2.2 コマンド・ラインを使用した構成のエクスポート

Oracle Service Busでは、以下のコマンド・ライン引数を使用して構成および起動できるConfigExportクラスが提供されます。コマンド・ライン・エクスポートは、より高い柔軟性を必要とする上級ユーザーを対象とします。

コマンド・ラインからのエクスポートによって、Oracle Service Bus構成JARがEclipseワークスペースから生成されます。

java -Xms384m -Xmx768m
-Dosgi.bundlefile.limit=500
-Dosgi.nl=en_US
-Dosb.home=OSB_ORACLE_HOME
-Dweblogic.home=WEBLOGIC_HOME
-Dharvester.home=${osb.home}/HARVESTER_HOME
-Dsun.lang.ClassLoader.allowArraySyntax=true
-jar ECLIPSE_HOME/eclipse/plugins/org.eclipse.equinox.launcher_launcher_version.jar
-data WORKSPACE_DIR 
-application com.bea.alsb.core.ConfigExport
-configProject PROJECT_NAME 
-configJar config_filename.jar
-configSubProjects projects_to_export
-includeDependencies true/false

説明:

  • OSB_ORACLE_HOMEは、Oracle Fusion Middlewareホームの最上位のOracle Service Busディレクトリです。

  • WEBLOGIC_HOMEは、Oracle WebLogic Serverがインストールされている場所です。

  • HARVESTER_HOMEは、ハーベスタの場所です。ハーベスタはOracle Enterprise Repositoryのツールであり、このツールを使用すると、Oracle Service Busを含む複数のリソースからOracle Enterprise Repositoryへのエンタープライズ・アーティファクトのハーベストを実行できます。Oracle Service Busインストールにはハーベスタが含まれます。

  • ECLIPSE_HOMEは、Oracle Service Bus IDEプラグインにリンクしているEclipseがインストールされている場所です。

  • launcher_versionは、EclipseランチャJARのバージョンです。

  • WORKSPACE_DIRは、エクスポートするOracle Service Busアーティファクトの場所を示します。たとえば、c:/oracle/user_projects/workspaces/default。この場所にEclipseワークスペースが含まれている場合、ワークスペースを使用し、ワークスペース・プロジェクトから構成Jarがエクスポートされます。この場所にワークスペースが含まれず、Eclipse Oracle Service Busプロジェクトのみが含まれている場合、ユーティリティによって、構成JARエクスポート用の一時的なワークスペースにプロジェクトがインポートされます。

  • PROJECT_NAMEは、エクスポートするOracle Service Bus構成プロジェクトの名前です。たとえば、「OSB Configuration」。この引数を指定しない場合、ワークスペース内の最初のOracle Service Bus構成プロジェクトがエクスポートされます。

  • config_filename.jarは、エクスポートするOracle Service Bus構成JARの場所を示します。たとえば、c:\sbconfig.jar。

  • configSubProjects projects_to_exportは、エクスポートする構成内にある1つ以上の特定のプロジェクトです。configSubProjectsを指定しない場合、構成内のすべてのプロジェクトがエクスポートされます。

  • includeDependencies true/falseでは、JNDIプロバイダとプロキシ・サーバーのような構成レベルの依存性が、エクスポートに含まれるかどうかが判断されます。

以下に、コマンド・ラインからOracle Service Bus構成をエクスポートするサンプルを示します。


注意:

次に示すのはサンプルのコマンド・ライン操作です。このサンプルを使用する場合は、パスとファイル名が現在のインストールと一致するか必ず確認してください。


java -Xms384m -Xmx768m
-Dosgi.bundlefile.limit=500
-Dosgi.nl=en_US
-Dosb.home=D:/oracle/Oracle_OSB1
-Dweblogic.home=D:/oracle/wlserver_10.3
-Dharvester.home=${osb.home}/harvester
-Dsun.lang.ClassLoader.allowArraySyntax=true
-jar D:/oracle/oepe_11gR1PS1/eclipse/plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar
-data D:/oracle/user_projects/myWorkspace
-application com.bea.alsb.core.ConfigExport
-configProject config
-configJar sbconfig.jar
-configSubProjects OSB Project 1,OSB Project 2
-includeDependencies true
2.1.11.2.3 Antを使用した構成のエクスポート

Apache Antビルド・ファイルを使用してOracle Service Bus構成をエクスポートできます。Antによるエクスポートによって、Oracle Service Bus構成JARがEclipseワークスペースから生成されます。

次に示すのは、付随するプロパティ・ファイルを示すサンプルのAntビルド・ファイルです。


注意:

次に示すのはサンプルのスクリプトです。このサンプルを使用する場合は、パスとファイル名が現在のインストールと一致するか必ず確認してください。


Antビルド・ファイルの例

<project name="ConfigExport">
    <property file="./build.properties"/>
    <property name="eclipse.home" value="${oracle.home}/oepe_11gR1PS2"/>
    <property name="weblogic.home" value= "${oracle.home}/wlserver_10.3"/>
    <property name="metadata.dir" value="${workspace.dir}/.metadata"/>
    <target name="export">
        <available file="${metadata.dir}" type="dir"
         property="metadata.dir.exists"/>
        <java dir="${eclipse.home}"
jar="${eclipse.home}/plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar"
          fork="true"
          failonerror="true"
          maxmemory="768m">
           <arg line="-data ${workspace.dir}"/>
           <arg line="-application com.bea.alsb.core.ConfigExport"/>
           <arg line="-configProject ${config.project}"/>
           <arg line="-configJar ${config.jar}"/>
           <arg line="-configSubProjects ${config.subprojects}"/>
           <arg line="-includeDependencies ${config.includeDependencies}"/>
           <sysproperty key="weblogic.home" value="${weblogic.home}"/>
           <sysproperty key="osb.home" value="${osb.home}"/>
           <sysproperty key="osgi.bundlefile.limit" value="500"/>
           <sysproperty key="harvester.home" value="${osb.home}/harvester"/>
           <sysproperty key="osgi.nl" value="en_US"/>
           <sysproperty key="sun.lang.ClassLoader.allowArraySyntax" value="true"/>
        </java>
<antcall target="deleteMetadata"/>
    </target>
<target name="deleteMetadata" unless="metadata.dir.exists">
         <delete failonerror="false" includeemptydirs="true"
          dir="${metadata.dir}"/>
</target>
</project>

build.propertiesの例

oracle.home=c:/oracle
workspace.dir=c:/oracle/user_projects/workspaces/default
config.project="OSB Configuration"
config.jar=c:/sbconfig.jar
config.subprojects="OSB Project 1,OSB Project 2"
config.includeDependencies=true

(setDomainEnvスクリプトを実行した後に)「ant export」を実行すると、「OSB Configuration」プロジェクトがデフォルトのワークスペースからc:\sbconfig.jarにエクスポートされます。

2.1.11.2.4 WLSTを使用した構成のエクスポート

WebLogic Scripting Tool (WLST)を使用してOracle Service Bus構成をエクスポートできます。WLSTによるエクスポートによって、Oracle Service Bus構成JARが実行中のOracle Service Busサーバーから生成されます。

詳細は、http://www.oracle.com/technetwork/middleware/service-bus/learnmore/index.htmlにあるOracle Service Busサンプル・ページの、OSB構成JARをインポート/エクスポートおよびカスタマイズするWLSTスクリプトに関する項を参照してください。

2.1.12 有効なWSDLの生成

有効なWSDLを生成するには:

  1. プロジェクト・エクスプローラで、有効なWSDLの生成元とするプロキシ・サービスまたはビジネス・サービスを見つけます。

  2. サービスの名前を右クリックして、メニューから「Oracle Service Bus」→「Generate Effective WSDL」を選択します。

  3. 保存場所を選択して、ファイルを保存します。

    命名ガイダンスについては2.1.1項「リソースの命名制限」を参照してください。

2.1.13 JAR依存関係の変更

JAR依存関係を変更するには:

  1. プロジェクト・エクスプローラで、依存関係を修正するJARファイルを見つけます。

  2. ファイルの名前を右クリックして、メニューから「Oracle Service Bus」→「Modify JAR Dependencies」を選択します。

  3. 「Modify JAR Dependencies」ダイアログで変更を行います。

2.1.14 リソースのインポート

ここでは、リソースをOracle Service Busにインポートする様々な方法について説明します。

ここでの手順は、Eclipseのインストール環境を必要とするため、Oracle Enterprise Pack for Eclipse用のOracle Service Busプラグインをサポートするプラットフォームでのみ実行できます。サポートされていないプラットフォームでは、Oracle Service Bus管理コンソールを使用してインポートします。『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のインポートとエクスポートに関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBAG1311)を参照してください。

この項には次のトピックが含まれます:

2.1.14.2 コマンド・ラインやスクリプトを使用したOracle Service Bus構成のインポート

スクリプトやコマンド・ラインを使用してOracle Service Bus構成をインポートできます。コマンド・ラインやAntスクリプトを使用したインポートによって、Oracle Service Bus構成JARがEclipseワークスペースにインポートされます。インポートのガイドラインは、2.1.11.2.3項「Antを使用した構成のエクスポート」と2.1.11.2.2項「コマンド・ラインを使用した構成のエクスポート」の例を参照してください。

WebLogic Scripting Tool (WLST)を使用してOracle Service Bus構成をインポートすることもできます。WLSTによるインポートによって、Oracle Service Bus構成JARが実行中のOracle Service Bus実行時環境にインポートされます。詳細は、http://www.oracle.com/technetwork/middleware/service-bus/learnmore/index.htmlにあるOracle Service Busサンプル・ページの、OSB構成JARをインポート/エクスポートおよびカスタマイズするWLSTスクリプトに関する項を参照してください。

2.1.15 サービス・アカウント・リソースの作成

Oracle Service Busパースペクティブで「File」→「New」→「Service Account」を選択して、New Service Account Resourceウィザードを表示します。

命名ガイダンスについては2.1.1項「リソースの命名制限」を参照してください。


注意:

サービス・アカウント・リソースは、Oracle Service Busプロジェクトでのみ作成できます。


構成の詳細は、4.19項「サービス・アカウント」を参照してください。

2.1.16 サービス・キー・プロバイダ・リソースの作成

Oracle Service Busパースペクティブで「File」→「New」→「Service Key Provider」を選択して、New Service Key Provider Resourceウィザードを表示します。

命名ガイダンスについては2.1.1項「リソースの命名制限」を参照してください。


注意:

サービス・キー・プロバイダ・リソースは、Oracle Service Busプロジェクトでのみ作成できます。


構成の詳細は、4.17項「新しいサービス・キー・プロバイダ・リソース」を参照してください。

2.1.17 SMTPサーバー・リソースの作成

Oracle Service Busパースペクティブで「ファイル」→「新規」→「SMTPサーバー」を選択し、新規SMTPサーバー・リソース・ウィザードを表示します。

命名ガイダンスについては2.1.1項「リソースの命名制限」を参照してください。


注意:

SMTPサーバー・リソースは、Oracle Service Bus構成プロジェクトでのみ作成できます。


構成の詳細は、4.13項「SMTPサーバー」を参照してください。

2.1.18 XQueryトランスフォーメーションの作成

Oracle Service Busパースペクティブで「ファイル」→「新規」→「XQueryトランスフォーメーション」を選択して、XQuery/XSLT式エディタを表示します。詳細は、第II部「XQuery Mapper」を参照してください。

命名ガイダンスについては2.1.1項「リソースの命名制限」を参照してください。


注意:

XQueryトランスフォーメーション・リソースは、Oracle Service Busプロジェクトでのみ作成できます。


2.1.19 XSLトランスフォーメーションの作成

Oracle Service Busパースペクティブで「File」→「New」→「XSL Transformation」を選択して、XPath式エディタを表示します。

命名ガイダンスについては2.1.1項「リソースの命名制限」を参照してください。


注意:

XSLトランスフォーメーション・リソースは、Oracle Service Busプロジェクトでのみ作成できます。


構成の詳細は、4.20項「式エディタ」を参照してください。

2.2 ビジネス・サービスの操作

以下のトピックでは、Oracle Service Busプラグインでビジネス・サービスを作成および操作する方法を説明します。

2.2.1 ビジネス・サービスの作成

Oracle Service Busパースペクティブで「ファイル」→「新規」→「ビジネス・サービス」を選択し、新規ビジネス・サービス・ウィザードを表示します。

命名ガイダンスについては2.1.1項「リソースの命名制限」を参照してください。

ビジネス・サービス構成の詳細は、次のトピックを参照してください。

2.2.1.1 既存のサービスからビジネス・サービスを生成する

既存のプロキシやビジネス・サービスからビジネス・サービスを生成するには:

  1. プロジェクト・エクスプローラで、既存のサービスを右クリックし、「Oracle Service Bus」→「Generate Business Service」を選択します。

  2. サービスに名前を付けて構成します。

2.2.2 アウトバウンドJCAファイルからJCAビジネス・サービスを生成する

Oracle Service Busでは、アウトバウンドJCAファイルからビジネス・サービスを生成できます。Oracle Service Bus JCAトランスポートを使用するJCAサービスは、JCAアダプタ・フレームワークおよびJCA準拠アダプタを介してバックエンドEnterprise Information Systems (EIS)と通信します。たとえば、Oracle Databaseアダプタを使用して通信するOracle Service Bus JCAビジネス・サービスを使用して、バックエンド・データベース・レコードを更新できます

Oracle Service BusでJCAビジネス・サービスを作成するには:

  1. Oracle JDeveloperで、JCAファイル、関連する抽象WSDLおよび必要なその他のリソース(TopLinkマッピング・ファイルなど)を作成します。詳細は、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』を参照してください。

  2. JCAリソース・ファイルをOracle Service Busプロジェクトにインポートし、依存関係へのすべての参照が維持されるようにします。詳細は、2.1.14項「リソースのインポート」を参照してください。

  3. Eclipseで、アウトバウンドJCAファイルを右クリックし、「Oracle Service Bus」→「Generate Service」を選択します。

  4. 「JCA Generate Business Service」ウィンドウで、新しいサービスのフォルダの場所を選択し、必要であればデフォルトのサービス名を変更します。

    命名ガイダンスについては2.1.1項「リソースの命名制限」を参照してください。

  5. 「OK」をクリックします。Oracle Service Busによって、ビジネス・サービスと、そのビジネス・サービスが使用する具象WSDLが生成されます。

Oracle Service BusのJCAトランスポートの詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のJCAトランスポートに関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBDV910)を参照してください。

2.2.3 Oracle Enterprise Repositoryからビジネス・サービスを生成する

Oracle Enterprise Repositoryのサービス・アーティファクトからビジネス・サービスを生成できます。詳細は、2.7.1項「Oracle Enterprise Repositoryからビジネス・サービスを生成する」を参照してください。

Oracle Service Busプロジェクトをハーベスタを使用してOracle Enterprise Repositoryにアップロードすることもできます。詳細は、2.7項「Oracle Enterprise Repositoryおよびハーベスタの操作」を参照してください。

2.2.3.1 Oracle Enterprise Repositoryから既存のビジネス・サービスを再生成する

2.2.3項「Oracle Enterprise Repositoryからビジネス・サービスを生成する」で説明するのと同じ手順に従って、以前にOracle Enterprise Repositoryから生成したビジネス・サービスを再生成できます。再生成を行うと、開発環境でサービスの更新を取得できます。

サービスを再生成すると、Oracle Service Busによってサービス定義がマージされ、既存のサービスがOracle Enterprise Repositoryの変更で更新されます。ただし、開発環境で作成したサービス・アカウントとラージ・メッセージ・サポートの構成は維持されます。

2.2.4 ビジネス・サービスの編集

ビジネス・サービスを編集するには:

  1. プロジェクト・エクスプローラで、編集するビジネス・サービスを見つけます。

  2. サービスの名前をダブル・クリックします。

  3. 編集対象のオプションが含まれるページを選択します。次を参照:

2.3 プロキシ・サービスの操作

以下のトピックでは、Oracle Service Busプラグインでプロキシ・サービスを作成および操作する方法を説明します。

2.3.1 プロキシ・サービスの作成

Oracle Service Busパースペクティブで「ファイル」→「新規」→「プロキシ・サービス」を選択し、新規プロキシ・サービス・ウィザードを表示します。

命名ガイダンスについては2.1.1項「リソースの命名制限」を参照してください。

先頭および末尾のスペースと、/ \ * : " < > ? |などの文字はサービス名に使用しないでください。

プロキシ・サービス構成の詳細は、次のトピックを参照してください。

2.3.1.1 既存のサービスからプロキシ・サービスを生成する

既存のビジネスやプロキシ・サービスからプロキシ・サービスを生成するには:

  1. プロジェクト・エクスプローラで、既存のサービスを右クリックし、「Oracle Service Bus」→「Generate Proxy Service」を選択します。

  2. サービスに名前を付けて構成します。

ビジネス・サービスから作成したプロキシ・サービスでは、ビジネス・サービスのルート・ノードが自動的にメッセージ・フローに含まれます。

2.3.2 インバウンドJCAファイルからJCAプロキシ・サービスを生成する

Oracle Service Busでは、インバウンドJCAファイルからプロキシ・サービスを生成できます。Oracle Service Bus JCAトランスポートを使用するJCAサービスは、JCAアダプタ・フレームワークおよびJCA準拠アダプタを介してバックエンドEnterprise Information Systems (EIS)と通信します。たとえば、JCAを使用するOracle Service Busを介してEISアプリケーションから外部サービスを呼び出すことができます。

Oracle Service BusでJCAプロキシ・サービスを作成するには:

  1. Oracle JDeveloperで、JCAファイル、関連する抽象WSDLおよび必要なその他のリソース(TopLinkマッピング・ファイルなど)を作成します。詳細は、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』を参照してください。

  2. JCAリソース・ファイルをOracle Service Busプロジェクトにインポートし、依存関係へのすべての参照が維持されるようにします。詳細は、2.1.14項「リソースのインポート」を参照してください。

  3. Eclipseで、インバウンドJCAファイルを右クリックし、「Oracle Service Bus」→「Generate Service」を選択します。

  4. JCA Generate Proxy Serviceウィンドウで、新しいサービスのフォルダの場所を選択し、必要であればデフォルトのサービス名を変更します。

    命名ガイダンスについては2.1.1項「リソースの命名制限」を参照してください。

  5. 「OK」をクリックします。Oracle Service Busによって、プロキシ・サービスと、そのプロキシ・サービスが使用する具象WSDLが生成されます。

Oracle Service BusのJCAトランスポートの詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のJCAトランスポートに関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBDV910)を参照してください。

2.3.3 Oracle JDeveloperでのWSILによるOracle Service Busプロキシ・サービスの使用

Oracle Service Busでは、Web Services Inspection Language (WSIL)でのWSDLベースのプロキシ・サービスが使用可能であり、Oracle SOA Suiteでのサービス編成のためにOracle JDeveloperでOracle Service Bus WSDLプロキシ・サービスを使用できます。

Oracle Service Bus WSILサーブレットは、Oracle Service Busランタイム環境にデプロイされているWSDLベース・プロキシ・サービスを自動的に登録します。WSIL接続をJDeveloperで作成することで、様々な階層レベル(プロジェクト、フォルダ、個々のサービスなど)にマップされる様々なURLパターンを介してそれらのプロキシ・サービスにアクセスできます。たとえば、プロジェクトレベルのURLを使用してOracle Service Bus WSILサーブレットに接続すると、Oracle JDeveloperで、そのフォルダにあるすべての子フォルダとWSDLベース・プロキシ・サービスを見ることができます。

次の手順は、WSIL接続をJDeveloperで作成し、SOAアプリケーションで使用するためにOracle Service Bus WSDLプロキシ・サービスからWebサービス参照を生成するプロセスを示します。

  1. Oracle JDeveloperでSOAアプリケーションを開くか作成します。

  2. 新しいWSIL接続を作成します。

    リソース・パレットで、「新規」アイコンをクリックし、「接続の作成」→「WSIL」を選択します。

    WSIL接続の作成ウィンドウで次の手順を実行します。

    • 接続名を入力します。

      命名ガイダンスについては2.1.1項「リソースの命名制限」を参照してください。

    • IntegrationAdmin、IntegrationDeployer、IntegrationOperator、IntegrationMonitorのOracle Service Busロールいずれか1つについて資格証明を入力します。

    • Oracle Service Bus WSILのURLを次のいずれかの形式で入力します。

      • ドメイン(すべてのプロジェクト、フォルダおよびWSDLプロキシ・サービスを取得) - http://host:port/sbinspection.wsil

      • プロジェクト(すべての子フォルダおよびWSDLプロキシ・サービスを取得) - http://host:port/sbinspection.wsil?refpath=project_name

      • フォルダ(プロジェクト内のフォルダ、子フォルダおよびWSDLプロキシ・サービスを取得) - http://host:port/sbinspection.wsil?refpath=project_name/folder_path(例: http://localhost:7021/sbinspection.wsil?refpath=MortgageBroker/ProxyServices)

      • プロキシ・サービス(個々のWSDLプロキシ・サービスを取得) - http://host:port/sbinspection.wsil?refpath=project_name/folder_path/wsdl_proxy_service(例: http://localhost:7021/sbinspection.wsil?refpath=MortgageBroker/ProxyServices/loanGateway1)

      クラスタでは、WSILサーブレットは管理サーバーではなく管理対象サーバーにデプロイされます。URLでは管理対象サーバーのホスト名とポートを使用してください。

    終了したら、「OK」をクリックします。WSIL接続が、入力したURLによって決まる階層でリソース・パレットに表示されます。

  3. Oracle Service Bus WSDLプロキシ・サービスをSOAアプリケーションで使用するには、そのプロキシ・サービスのWebサービス参照を作成します。

    コンポーネント・パレットで新しいWebサービスを作成します。Webサービスの作成ウィンドウで「WSDL URL」参照アイコンをクリックします。

    SOAリソース・ブラウザで「リソース・パレット」を選択し、前の手順で作成したWSIL接続のOracle Service Bus WSDLプロキシ・サービスを選択します。

    Oracle Service Bus WSDLプロキシ・サービスのWebサービス参照を作成したら、SOAアプリケーションで外部参照として使用できます。

Oracle Service Bus WSILサーブレットはSBResourceサーブレットを利用します。SBResourceがデプロイ解除されると、WSIL接続は使用できなくなります。

2.4 プロキシ・サービス・メッセージ・フローの操作

以下のトピックでは、プロキシ・サービス・メッセージ・フローに対してノードとアクションを追加および構成する方法について説明します。

2.4.1 プロキシ・サービスのメッセージ・フローの作成

プロキシ・サービスを作成する場合、メッセージ・フローはデフォルトで開始ノードが空の状態で作成されます。メッセージ・フローを構築するプロセスは、以下の一般的なパターンに従います。

  1. プロキシ・サービスを メッセージ・フロー・エディタ で開きます。プロキシ・サービスを開くには、プロジェクト・エクスプローラでサービスの名前をダブル・クリックします。メッセージ・フロー・エディタがプロキシ・サービス・ビューにタブで表示されます。

  2. メッセージ・フロー・デザイン・パレットを開きます。パレットを開くには、Oracle Service Busパースペクティブで「Window」→「Show View」→「Design Palette」を選択します。

  3. まだ開いていない場合は、プロパティ・ビューを開きます。

    1. Oracle Service Busパースペクティブで「Window」→「Show View」→「Other」を選択します。

    2. 「Show View」ダイアログで「General」→「Properties」を選択します。

  4. ノードとアクションをメッセージ・フロー・デザイン・パレットからメッセージ・フロー・エディタにドラッグします。

    あるいは、メッセージ・フロー・エディタでノードまたはアクションを右クリックして、その場所に挿入できるノードおよびアクションのメニューを表示することもできます。このメニューには、以下の1つまたは複数の項目が表示されます。

    • 「Insert」→(ノードおよびアクションのリスト)

    • 「Insert Into」→(ノードおよびアクションのリスト)

    • 「Insert After」→(ノードおよびアクションのリスト)

    • 「エラー・ハンドラの追加」

  5. ノードおよびアクションを構成します。

    1. プロキシ・サービス・エディタで、ノードまたはアクションをクリックして選択します。

      アウトライン・ビューからノードまたはアクションを選択することもできます。アウトライン・ビューを開くには、Oracle Service Busパースペクティブで「Window」→「Show View」→「Outline」を選択します。

    2. プロパティ・ビューで、選択したノードまたはアクションにプロパティを設定します。ノードおよびアクションを構成する手順については、ノードまたはアクションのプロパティ・ビューをクリックし、「F1」を押してヘルプを参照してください。

2.4.2 メッセージ・フローへのアラート・アクションの追加と構成

アラート宛先にアラートを送信するには、アラート・アクションを使用して、パイプラインのメッセージ・コンテキストに基づいてアラートを生成します。

始める前に

目的のプロキシ・サービスのメッセージ・フローを表示します。2.4.1項「プロキシ・サービスのメッセージ・フローの作成」を参照してください。

アラート・アクションを追加するには、次の手順を実行します。

  1. メッセージ・フロー・デザイン・パレットで、まだ開いていない場合は、「Stage Actions」→「Reporting」リストを開きます。

  2. アラート・アクションをメッセージ・フローの適切な場所にドラッグします。

アラート・アクションを構成するには、次の手順を実行します。

  1. メッセージ・フロー・エディタで、まだ選択されていない場合は、アラート・アクションをクリックします。

  2. アラート・アクションのプロパティ・ページで、プロパティを編集します。

    構成の詳細は、4.11.1項「アラート・アクションのプロパティ」を参照してください。

2.4.3 メッセージ・フローへの割当てアクションの追加と構成

XQuery式の結果をコンテキスト変数に割り当てるには、割当てアクションを使用します。

始める前に

目的のプロキシ・サービスのメッセージ・フローを表示します。2.4.1項「プロキシ・サービスのメッセージ・フローの作成」を参照してください。

割当てアクションを追加するには、次の手順を実行します。

  1. メッセージ・フロー・デザイン・パレットで、まだ開いていない場合は、「Stage Actions」→「Message Processing」リストを開きます。

  2. 割当てアクションをメッセージ・フローの適切な場所にドラッグします。

割当てアクションを構成するには、次の手順を実行します。

  1. メッセージ・フロー・エディタで、まだ選択されていない場合は、割当てアクションをクリックします。

  2. 割当てアクションのプロパティ・ページで、対象のプロパティを編集します。

    構成の詳細は、4.11.2項「割当てアクションのプロパティ」を参照してください。

2.4.4 メッセージ・フローへの条件付きブランチ・ノードの追加と構成

条件付きブランチ・ノードは、XPath条件が返す結果に基づいて、考えられる複数のパスの中の1つのみに沿ってメッセージ処理を進める指定を行うために使用します。

始める前に

目的のプロキシ・サービスのメッセージ・フローを表示します。2.4.1項「プロキシ・サービスのメッセージ・フローの作成」を参照してください。

条件付きブランチ・ノードを追加するには、次の手順を実行します。

  1. メッセージ・フロー・デザイン・パレットで、まだ開いていない場合は、「Oracle Service Bus Message Flow」→「Nodes」リストを開きます。

  2. 条件付きブランチ・ノードをメッセージ・フローの適切な場所にドラッグします。

条件付きブランチ・ノードを構成するには、次の手順を実行します。

  1. メッセージ・フロー・エディタで、まだ選択されていない場合は、条件付きブランチ・ノードをクリックします。

  2. 条件付きブランチ・ノードのプロパティ・ページで、対象のプロパティを編集します。

    構成の詳細は、4.11.3項「条件付きブランチ・ノードのプロパティ」を参照してください。

2.4.5 メッセージ・フローへの削除アクションの追加と構成

削除アクションは、コンテキスト変数や、XPath式で指定されたノードのセットの削除に使用します。

始める前に

目的のプロキシ・サービスのメッセージ・フローを表示します。2.4.1項「プロキシ・サービスのメッセージ・フローの作成」を参照してください。

削除アクションを追加するには、次の手順を実行します。

  1. メッセージ・フロー・デザイン・パレットで、まだ開いていない場合は、「Stage Actions」→「Message Processing」リストを開きます。

  2. メッセージ・フローのステージ・アクションの適切な場所に削除アクションをドラッグします。

削除アクションを構成するには、次の手順を実行します。

  1. メッセージ・フロー・エディタで、まだ選択されていない場合は、削除アクションをクリックします。

  2. 削除アクションのプロパティ・ページで、対象のプロパティを編集します。

    構成の詳細は、4.11.4項「削除アクションのプロパティ」を参照してください。

2.4.6 メッセージ・フローへの動的パブリッシュ・アクションの追加と構成

XQuery式によって指定されたサービスに対してメッセージをパブリッシュするには、動的パブリッシュ・アクションを使用します。

パブリッシュの動作の詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のメッセージ・フローでのトランスフォーメーションの実行に関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBAG205)を参照してください。

始める前に

目的のプロキシ・サービスのメッセージ・フローを表示します。2.4.1項「プロキシ・サービスのメッセージ・フローの作成」を参照してください。

動的パブリッシュ・アクションを追加するには、次の手順を実行します。

  1. メッセージ・フロー・デザイン・パレットで、まだ開いていない場合は、「Stage Actions」→「Communication」リストを開きます。

  2. 動的パブリッシュ・アクションをメッセージ・フローの適切な場所にドラッグします。

動的パブリッシュ・アクションを構成するには、次の手順を実行します。

  1. メッセージ・フロー・エディタで、まだ選択されていない場合は、動的パブリッシュ・アクションをクリックします。

  2. 動的パブリッシュ・アクションのプロパティ・ページで、対象のプロパティを編集します。

    構成の詳細は、4.11.5項「動的パブリッシュ・アクションのプロパティ」を参照してください。

2.4.7 メッセージ・フローへの動的ルーティング・アクションの追加と構成

動的ルーティング・アクションは、XQueryリソースで入手できるルーティング情報に基づいて、メッセージのルートを割り当てるために使用します。

ルーティングの詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のOracle Service Busでのメッセージ・フローのモデル化に関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBAG181)を参照してください。

始める前に

目的のプロキシ・サービスのメッセージ・フローを表示します。2.4.1項「プロキシ・サービスのメッセージ・フローの作成」を参照してください。

動的ルーティング・アクションを追加するには、次の手順を実行します。

  1. メッセージ・フロー・デザイン・パレットで、まだ開いていない場合は、「Route Actions」→「Communication」リストを開きます。

  2. 動的ルーティング・アクションをメッセージ・フローのルート・アクションにドラッグします。

動的ルーティング・アクションを構成するには、次の手順を実行します。

  1. メッセージ・フロー・エディタで、まだ選択されていない場合は、動的ルーティング・アクションをクリックします。

  2. 動的ルーティング・アクションのプロパティ・ページで、対象のプロパティを編集します。

    構成の詳細は、4.11.6項「動的ルーティング・アクションのプロパティ」を参照してください。

2.4.8 メッセージ・フローへのエラー・ハンドラの追加と構成

エラー・ハンドラを使用して、メッセージ・フロー内の指定の場所でエラーが発生した場合の処理を指定します。

始める前に

目的のプロキシ・サービスのメッセージ・フローを表示します。2.4.1項「プロキシ・サービスのメッセージ・フローの作成」を参照してください。

エラー・ハンドラを追加するには、次の手順を実行します。

  1. メッセージ・フロー・デザイン・パレットで、まだ開いていない場合は、「Oracle Service Bus Message Flow」→「Nodes」リストを開きます。

  2. エラー・ハンドラをメッセージ・フローの適切な場所にドラッグします。

  3. ステージ・ノードをエラー・ハンドラにドラッグします。

  4. ステージにエラー・ハンドラを定義するためのアクションを追加します。

エラー・ハンドラを構成するには、次の手順を実行します。

  1. メッセージ・フロー・エディタで、まだ選択されていない場合は、エラー・ハンドラをクリックします。

  2. 「Error Handler Node Properties」ページで、プロパティを編集します。

  3. まだ選択していない場合は、ステージ・ノードをクリックします。

  4. 「Stage Node Properties」ページで、プロパティを編集します。

  5. ステージに含まれる対象のアクションを選択して編集します。

    構成の詳細は、4.11.7項「エラー・ハンドラ・ノードのプロパティ」を参照してください。

2.4.9 メッセージ・フローへのFor-Eachアクションの追加と構成

For-Eachアクションは、一連の値を反復処理してアクションのブロックを実行するために使用します。

始める前に

目的のプロキシ・サービスのメッセージ・フローを表示します。2.4.1項「プロキシ・サービスのメッセージ・フローの作成」を参照してください。

For-Eachアクションを追加するには、次の手順を実行します。

  1. メッセージ・フロー・デザイン・パレットで、まだ開いていない場合は、「Stage Actions」→「Flow Control」リストを開きます。

  2. For-Eachアクションをメッセージ・フローの目的のステージ・アクションにドラッグします。

For-Eachアクションを構成するには、次の手順を実行します。

  1. メッセージ・フロー・エディタで、まだ選択されていない場合は、For-Eachアクションをクリックします。

  2. For-Eachアクションのプロパティ・ページで、対象のプロパティを編集します。

    構成の詳細は、4.11.8項「For-Eachアクションのプロパティ」を参照してください。

2.4.10 メッセージ・フローへのIf-Thenアクションの追加と構成

XQuery式のブール結果に基づき、1つまたは複数のアクションを条件付きで実行するには、If-Thenアクションを使用します。

始める前に

目的のプロキシ・サービスのメッセージ・フローを表示します。2.4.1項「プロキシ・サービスのメッセージ・フローの作成」を参照してください。

If-Thenアクションを追加するには、次の手順を実行します。

  1. メッセージ・フロー・デザイン・パレットで次のいずれかを行います。

    • ルート・ノードにあるIf-Thenアクションをまだ開いていない場合は、「Route Actions」→「Flow Control」リストを開きます。

    • ステージ・ノードにあるIf-Thenアクションをまだ開いていない場合は、「Stage Actions」→「Flow Control」リストを開きます。

  2. If-Thenアクションをメッセージ・フローのルート・ノードまたは目的のステージ・アクションにドラッグします。

If-Thenアクションを構成するには

メッセージ・フロー・エディタで、If-Thenアクションに含まれる個別のIf条件とElse-If条件をクリックし、 4.11.9項「If-Thenアクションのプロパティ」の説明に従って条件エディタで条件を定義します。

2.4.11 メッセージ・フローへの挿入アクションの追加と構成

XPath式で選択したノードを基準に、指定した位置にXQuery式の結果を挿入するには、挿入アクションを使用します。

始める前に

目的のプロキシ・サービスのメッセージ・フローを表示します。2.4.1項「プロキシ・サービスのメッセージ・フローの作成」を参照してください。

挿入アクションを追加するには、次の手順を実行します。

  1. メッセージ・フロー・デザイン・パレットで、まだ開いていない場合は、「Stage Actions」→「Message Processing」リストを開きます。

  2. 挿入アクションをメッセージ・フローの適切な場所にドラッグします。

挿入アクションを構成するには、次の手順を実行します。

  1. メッセージ・フロー・エディタで、まだ選択されていない場合は、挿入アクションをクリックします。

  2. 挿入アクションのプロパティ・ページで、対象のプロパティを編集します。

    構成の詳細は、4.11.10項「挿入アクションのプロパティ」を参照してください。

2.4.12 メッセージ・フローへのJavaコールアウト・アクションの追加と構成

メッセージ・フローからJavaメソッド、またはEJBビジネス・サービスを呼び出すには、Javaコールアウト・アクションを使用します。

始める前に

目的のプロキシ・サービスのメッセージ・フローを表示します。2.4.1項「プロキシ・サービスのメッセージ・フローの作成」を参照してください。

Javaコールアウト・アクションを追加するには、次の手順を実行します。

  1. メッセージ・フロー・デザイン・パレットで、まだ開いていない場合は、「Stage Actions」→「Message Processing」リストを開きます。

  2. Javaコールアウト・アクションをメッセージ・フローの適切な場所にドラッグします。

Javaコールアウト・アクションを構成するには、次の手順を実行します。

  1. メッセージ・フロー・エディタで、まだ選択されていない場合は、Javaコールアウト・アクションをクリックします。

  2. Javaコールアウト・アクションのプロパティ・ページで、対象のプロパティを編集します。

    構成の詳細は、4.11.11項「Javaコールアウト・アクションのプロパティ」を参照してください。

2.4.13 メッセージ・フローへのログ・アクションの追加と構成

ログに記録するメッセージを作成し、ログに使用する一連の属性を定義するには、ログ・アクションを使用します。

始める前に

目的のプロキシ・サービスのメッセージ・フローを表示します。2.4.1項「プロキシ・サービスのメッセージ・フローの作成」を参照してください。

ログ・アクションを追加するには、次の手順を実行します。

  1. メッセージ・フロー・デザイン・パレットで、まだ開いていない場合は、「Stage Actions」→「Reporting」リストを開きます。

  2. ログ・アクションをメッセージ・フローの適切な場所にドラッグします。

ログ・アクションを構成するには、次の手順を実行します。

  1. メッセージ・フロー・エディタで、まだ選択されていない場合は、ログ・アクションをクリックします。

  2. ログ・アクションのプロパティ・ページで、対象のプロパティを編集します。

    構成の詳細は、4.11.12項「ログ・アクションのプロパティ」を参照してください。

2.4.14 メッセージ・フローへのMFL変換アクションの追加と構成

MFL (メッセージ・フォーマット言語)変換アクションを使用して、メッセージ・パイプライン内でメッセージ・コンテンツをXMLとXML以外の形式との間で変換します。

始める前に

目的のプロキシ・サービスのメッセージ・フローを表示します。2.4.1項「プロキシ・サービスのメッセージ・フローの作成」を参照してください。

MFL変換アクションを追加するには、次の手順を実行します。

  1. メッセージ・フロー・デザイン・パレットで、まだ開いていない場合は、「Stage Actions」→「Message Processing」リストを開きます。

  2. MFL変換アクションをメッセージ・フローの適切な場所にドラッグします。

MFL変換アクションを構成するには、次の手順を実行します。

  1. メッセージ・フロー・エディタで、まだ選択されていない場合は、MFL変換アクションをクリックします。

  2. MFL変換アクションのプロパティ・ページで、対象のプロパティを編集します。

    構成の詳細は、4.11.16項「MFL変換アクションのプロパティ」を参照してください。

2.4.15 メッセージ・フローへのオペレーション・ブランチ・ノードの追加と構成

オペレーション・ブランチ・ノードを使用すると、WSDLで定義されているオペレーションに基づいてブランチを構成できます。

始める前に

目的のプロキシ・サービスのメッセージ・フローを表示します。2.4.1項「プロキシ・サービスのメッセージ・フローの作成」を参照してください。

オペレーション・ブランチ・ノードを追加するには、次の手順を実行します。

  1. メッセージ・フロー・デザイン・パレットで、まだ開いていない場合は、「Oracle Service Bus Message Flow」→「Nodes」リストを開きます。

  2. オペレーション・ブランチ・ノードをメッセージ・フローの適切な場所にドラッグします。

オペレーション・ブランチ・ノードを構成するには、次の手順を実行します。

  1. メッセージ・フロー・エディタで、まだ選択されていない場合は、オペレーション・ブランチ・ノードをクリックします。

  2. オペレーション・ブランチ・ノードのプロパティ・ページで、対象のプロパティを編集します。

    構成の詳細は、4.11.17項「オペレーション・ブランチ・ノードのプロパティ」を参照してください。

2.4.16 メッセージ・フローへのパイプライン・ペア・ノードの追加と構成

パイプライン・ペア・ノードは、リクエストおよびレスポンス処理の定義に使用します。

始める前に

目的のプロキシ・サービスのメッセージ・フローを表示します。2.4.1項「プロキシ・サービスのメッセージ・フローの作成」を参照してください。

パイプライン・ペア・ノードを追加するには、次の手順を実行します。

  1. メッセージ・フロー・デザイン・パレットで、まだ開いていない場合は、「Oracle Service Bus Message Flow」→「Nodes」リストを開きます。

  2. パイプライン・ペア・ノードをメッセージ・フローの適切な場所にドラッグします。

パイプライン・ペア・ノードを構成するには、次の手順を実行します。

  1. メッセージ・フロー・エディタで、まだ選択されていない場合は、パイプライン・ペア・ノードをクリックします。

  2. パイプライン・ペア・ノードのプロパティ・ページで、対象のプロパティを編集します。

    構成の詳細は、4.11.18項「パイプライン・ペア・ノードのプロパティ」を参照してください。

2.4.17 メッセージ・フローへのパブリッシュ・アクションの追加と構成

静的に指定された、メッセージのターゲット・サービスを指定し、メッセージのパッケージおよびサービスへの送信方法を構成するには、パブリッシュ・アクションを使用します。

パブリッシュの動作の詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のメッセージ・フローでのトランスフォーメーションの実行に関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBAG205)を参照してください。

始める前に

目的のプロキシ・サービスのメッセージ・フローを表示します。2.4.1項「プロキシ・サービスのメッセージ・フローの作成」を参照してください。

パブリッシュ・アクションを追加するには、次の手順を実行します。

  1. メッセージ・フロー・デザイン・パレットで、まだ開いていない場合は、「Stage Actions」→「Communication」リストを開きます。

  2. パブリッシュ・アクションをメッセージ・フローの適切な場所にドラッグします。

パブリッシュ・アクションを構成するには、次の手順を実行します。

  1. メッセージ・フロー・エディタで、まだ選択されていない場合は、パブリッシュ・アクションをクリックします。

  2. パブリッシュ・アクションのプロパティ・ページで、対象のプロパティを編集します。

    構成の詳細は、4.11.19項「パブリッシュ・アクションのプロパティ」を参照してください。

2.4.18 メッセージ・フローへのパブリッシュ表アクションの追加と構成

ゼロまたはそれ以上の静的に指定されたサービスにメッセージをパブリッシュするには、パブリッシュ表アクションを使用します。

パブリッシュの動作の詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のメッセージ・フローでのトランスフォーメーションの実行に関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBAG205)を参照してください。

始める前に

目的のプロキシ・サービスのメッセージ・フローを表示します。2.4.1項「プロキシ・サービスのメッセージ・フローの作成」を参照してください。

パブリッシュ表アクションを追加するには、次の手順を実行します。

  1. メッセージ・フロー・デザイン・パレットで、まだ開いていない場合は、「Stage Actions」→「Communication」リストを開きます。

  2. パブリッシュ表アクションをメッセージ・フローの適切な場所にドラッグします。

パブリッシュ表アクションを構成するには、次の手順を実行します。

  1. メッセージ・フロー・エディタで、まだ選択されていない場合は、パブリッシュ表アクションをクリックします。

  2. 「Publish Table Action Properties」ページで、「<Expression>」をクリックしてXQuery/XSLT式エディタを表示します。実行時にルーティングの決定を行う値を返すXQuery式を作成します。

  3. メッセージ・フロー・エディタで、ケース・アクションを選択します。

  4. 「Publish Table Action Properties」ページの「Operator」リストから比較演算子を選択します。その後で、「Value」フィールドに、値を返すXQuery式が評価される対象の値を入力します。

  5. メッセージ・フロー・エディタで、パブリッシュ表のパブリッシュ・アクションの1つをクリックして選択します。

  6. 「Publish Action Properties」ページで、「Browse」をクリックしてサービスを選択します。指定した値の式による評価がtrueの場合にメッセージをパブリッシュするサービスを選択します。「Select a Service Resource」ダイアログが表示されます。

  7. リストからサービスを選択してから、「OK」をクリックします。これがメッセージのターゲット・サービスとなります。

  8. サービスの操作がすでに定義されている場合、「invoking」リストから選択して、呼び出す操作を指定できます。

  9. アウトバウンド操作をインバウンド操作と同じにする場合、「Use inbound operation for outbound」チェック・ボックスを選択します。

  10. 「Request Actions」フィールドで、メッセージのパッケージ方法とサービスへの送信方法を構成し、「Add an Action」をクリックします。次に、このサービスに関連付ける1つ以上のアクションを選択します。


    注意:

    ステージ・エディタでは、ネストは4累積レベルまでに制限されています。5番目のレベルを追加しようとしても、そのネスト・アクションは表示されません。累積レベルには、すべてのブランチ・アクション(If...Then...条件、パブリッシュ表、ルート表)が含まれます。たとえば、2レベルの条件と、ルート表を含むパブリッシュ表を使用して、合計4レベルにすることができます。ただし、別の条件を追加(最後のパブリッシュ表に対して)すると、その条件は表示されません。


  11. 新しいケースを挿入するには、「Case」アイコンをクリックし、「Insert New Case」を選択します。

  12. 新しいケースについて、ステップ4 - 8を繰り返します。

  13. ビジネス・ロジックで指定されているようにケースを追加します。

  14. 最後に定義したケースの「Case」アイコンをクリックして、「Insert Default Case」を選択し、デフォルト・ケースを最後に追加します。

  15. デフォルト・ケースを構成します。このケースの構成では、それ以前のケースが満たされていない場合のルーティングの動作を指定します。

    詳細は、4.11.20項「パブリッシュ表アクションのプロパティ」を参照してください。

2.4.19 メッセージ・フローへのエラー生成アクションの追加と構成

指定したエラー・コード(文字列)と説明を使用して例外を発生させるには、エラーを発生させるアクションを使用します。

始める前に

目的のプロキシ・サービスのメッセージ・フローを表示します。2.4.1項「プロキシ・サービスのメッセージ・フローの作成」を参照してください。

エラー生成アクションを追加するには、次の手順を実行します。

  1. メッセージ・フロー・デザイン・パレットで、まだ開いていない場合は、「Stage Actions」→「Flow Control」リストを開きます。

  2. エラーを発生させるアクションをメッセージ・フローの適切な場所にドラッグします。

エラー生成アクションを構成するには、次の手順を実行します。

  1. メッセージ・フロー・エディタで、まだ選択されていない場合は、エラー生成アクションをクリックします。

  2. エラー生成アクションのプロパティ・ページで、対象のプロパティを編集します。

    構成の詳細は、4.11.21項「エラー生成アクションのプロパティ」を参照してください。

2.4.20 メッセージ・フローへの名前変更アクションの追加と構成

XPath式で選択された要素のコンテンツを変更せずに要素名を変更するには、名前変更アクションを使用します。

始める前に

目的のプロキシ・サービスのメッセージ・フローを表示します。2.4.1項「プロキシ・サービスのメッセージ・フローの作成」を参照してください。

名前変更アクションを追加するには、次の手順を実行します。

  1. メッセージ・フロー・デザイン・パレットで、まだ開いていない場合は、「Stage Actions」→「Message Processing」リストを開きます。

  2. 名前変更アクションをメッセージ・フローの適切な場所にドラッグします。

名前変更アクションを構成するには、次の手順を実行します。

  1. メッセージ・フロー・エディタで、まだ選択されていない場合は、名前変更アクションをクリックします。

  2. 名前変更アクションのプロパティ・ページで、対象のプロパティを編集します。

    構成の詳細は、4.11.22項「名前変更アクションのプロパティ」を参照してください。

2.4.21 メッセージ・フローへの置換アクションの追加と構成

XPath式で指定されたノードまたはノードのコンテンツを置き換えるには、置換アクションを使用します。ノードまたはそのコンテンツは、XQuery式が返した値で置換されます。

始める前に

目的のプロキシ・サービスのメッセージ・フローを表示します。2.4.1項「プロキシ・サービスのメッセージ・フローの作成」を参照してください。

置換アクションを追加するには、次の手順を実行します。

  1. メッセージ・フロー・デザイン・パレットで、まだ開いていない場合は、「Stage Actions」→「Message Processing」リストを開きます。

  2. 置換アクションをメッセージ・フローの適切な場所にドラッグします。

置換アクションを構成するには、次の手順を実行します。

  1. メッセージ・フロー・エディタで、まだ選択されていない場合は、置換アクションをクリックします。

  2. 置換アクションのプロパティ・ページで、対象のプロパティを編集します。

    構成の詳細は、4.11.23項「置換アクションのプロパティ」を参照してください。

2.4.22 メッセージ・フローへの返信アクションの追加と構成

呼出し元に即時に返信されるように指定するには、返信アクションを使用します。

始める前に

目的のプロキシ・サービスのメッセージ・フローを表示します。2.4.1項「プロキシ・サービスのメッセージ・フローの作成」を参照してください。

返信アクションを追加するには、次の手順を実行します。

  1. メッセージ・フロー・デザイン・パレットで、まだ開いていない場合は、「Stage Actions」→「Flow Control」リストを開きます。

  2. 返信アクションをメッセージ・フローの適切な場所にドラッグします。

返信アクションを構成するには、次の手順を実行します。

  1. メッセージ・フロー・エディタで、まだ選択されていない場合は、返信アクションをクリックします。

  2. 返信アクションのプロパティ・ページで、対象のプロパティを編集します。

    構成の詳細は、4.11.24項「返信アクションのプロパティ」を参照してください。

2.4.23 メッセージ・フローへのレポート・アクションの追加と構成

プロキシ・サービスのメッセージ・レポートを有効にするには、レポート・アクションを使用します。

始める前に

目的のプロキシ・サービスのメッセージ・フローを表示します。2.4.1項「プロキシ・サービスのメッセージ・フローの作成」を参照してください。

レポート・アクションを追加するには、次の手順を実行します。

  1. メッセージ・フロー・デザイン・パレットで、まだ開いていない場合は、「Stage Actions」→「Reporting」リストを開きます。

  2. レポート・アクションをメッセージ・フローの適切な場所にドラッグします。

レポート・アクションを構成するには、次の手順を実行します。

  1. メッセージ・フロー・エディタで、まだ選択されていない場合は、レポート・アクションをクリックします。

  2. レポート・アクションのプロパティ・ページで、対象のプロパティを編集します。

    構成の詳細は、4.11.25項「レポート・アクションのプロパティ」を参照してください。

2.4.24 メッセージ・フローへの再開アクションの追加と構成

エラー・ハンドラによってエラーが処理された後で、メッセージ・フローを再開するには、再開アクションを使用します。このアクションにパラメータはありません。このアクションはエラー・パイプラインでのみ使用できます。

始める前に

目的のプロキシ・サービスのメッセージ・フローを表示します。2.4.1項「プロキシ・サービスのメッセージ・フローの作成」を参照してください。

再開アクションを追加するには、次の手順を実行します。

  1. メッセージ・フロー・デザイン・パレットで、まだ開いていない場合は、「Stage Actions」→「Flow Control」リストを開きます。

  2. 再開アクションをメッセージ・フローの適切な場所にドラッグします。

再開アクションを構成するには、次の手順を実行します。

  1. メッセージ・フロー・エディタで、まだ選択されていない場合は、再開アクションをクリックします。

  2. 再開アクションのプロパティ・ページで、対象のプロパティを編集します。

    構成の詳細は、4.11.26項「再開アクションのプロパティ」を参照してください。

2.4.25 メッセージ・フローへのルート・ノードの追加と構成

ルート・ノードは、ビジネス・サービスとの間でリクエスト・メッセージおよびレスポンス・メッセージのディスパッチの処理に使用します。

始める前に

目的のプロキシ・サービスのメッセージ・フローを表示します。2.4.1項「プロキシ・サービスのメッセージ・フローの作成」を参照してください。

ルート・ノードを追加するには、次の手順を実行します。

  1. メッセージ・フロー・デザイン・パレットで、まだ開いていない場合は、「Oracle Service Bus Message Flow」→「Nodes」リストを開きます。

  2. ルート・ノードをメッセージ・フローの適切な場所にドラッグします。

ルート・ノードを構成するには、次の手順を実行します。

  1. メッセージ・フロー・エディタで、まだ選択されていない場合は、ルート・ノード・アクションをクリックします。

  2. ルート・ノードのプロパティ・ページで、対象のプロパティを編集します。

    構成の詳細は、4.11.27項「ルート・ノードのプロパティ」を参照してください。

2.4.26 メッセージ・フローへのルーティング・アクションの追加と構成

ルーティング・アクションを使用して、メッセージのターゲット・サービスを識別し、そのサービスにメッセージがルーティングされる方法を構成します。

ルーティングの詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のOracle Service Busでのメッセージ・フローのモデル化に関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBAG181)を参照してください。

始める前に

目的のプロキシ・サービスのメッセージ・フローを表示します。2.4.1項「プロキシ・サービスのメッセージ・フローの作成」を参照してください。

ルーティング・アクションを追加するには、次の手順を実行します。

  1. メッセージ・フロー・デザイン・パレットで、まだ開いていない場合は、「Route Actions」→「Communication」リストを開きます。

  2. ルーティング・アクションをメッセージ・フローの適切な場所にドラッグします。

ルーティング・アクションを構成するには、次の手順を実行します。

  1. メッセージ・フロー・エディタで、まだ選択されていない場合は、ルーティング・アクションをクリックします。

  2. ルーティング・アクションのプロパティ・ページで、対象のプロパティを編集します。

    構成の詳細は、4.11.28項「ルーティング・アクションのプロパティ」を参照してください。

2.4.27 メッセージ・フローへのルーティング・オプション・アクションの追加と構成

ルーティング・オプション・アクションは、アウトバウンド・リクエストのプロパティ(URI、サービス品質、モード、再試行パラメータ、メッセージ優先度)の一部またはすべてを変更するために使用します。

ルーティングの詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のOracle Service Busでのメッセージ・フローのモデル化に関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBAG181)を参照してください。

始める前に

目的のプロキシ・サービスのメッセージ・フローを表示します。2.4.1項「プロキシ・サービスのメッセージ・フローの作成」を参照してください。

ルーティング・オプション・アクションを追加するには、次の手順を実行します。

  1. メッセージ・フロー・デザイン・パレットで、まだ開いていない場合は、「Stage Actions」→「Communication」リストを開きます。

  2. ルーティング・オプション・アクションをメッセージ・フローの適切な場所にドラッグします。

ルーティング・オプション・アクションを構成するには、次の手順を実行します。

  1. メッセージ・フロー・エディタで、まだ選択されていない場合は、ルーティング・オプション・アクションをクリックします。

  2. ルーティング・オプション・アクションのプロパティ・ページで、対象のプロパティを編集します。

    構成の詳細は、4.11.29項「ルーティング・オプション・アクションのプロパティ」を参照してください。

2.4.28 メッセージ・フローへのルーティング表アクションの追加と構成

ルーティング表を使用して、単一のXQuery式の結果に基づいて異なるルートを選択します。ルーティング表アクションは、切替え式の条件表にラップされた一連のルートを含みます。

ルーティングの詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のOracle Service Busでのメッセージ・フローのモデル化に関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBAG181)を参照してください。

始める前に

目的のプロキシ・サービスのメッセージ・フローを表示します。2.4.1項「プロキシ・サービスのメッセージ・フローの作成」を参照してください。

ルーティング表アクションを追加するには、次の手順を実行します。

  1. メッセージ・フロー・デザイン・パレットで、まだ開いていない場合は、「Route Actions」→「Communication」リストを開きます。

  2. ルーティング表アクションを、メッセージ・フローの目的の場所にドラッグします。

ルーティング表アクションを構成するには、次の手順を実行します。

  1. メッセージ・フロー・エディタで、まだ選択されていない場合は、ルーティング表アクションをクリックします。

  2. ルーティング表アクションのプロパティ・ページで、対象のプロパティを編集します。

    構成の詳細は、4.11.30項「ルーティング表アクションのプロパティ」を参照してください。

2.4.29 メッセージ・フローへのサービス・コールアウト・アクションの追加と構成

Oracle Service Busに登録済のプロキシ・サービスまたはビジネス・サービスの同期(ブロック)コールアウトを構成するには、サービス・コールアウト・アクションを使用します。

サービス・コールアウト・アクションの詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のサービス・コールアウト・メッセージの作成に関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBAG1124)を参照してください。

始める前に

目的のプロキシ・サービスのメッセージ・フローを表示します。2.4.1項「プロキシ・サービスのメッセージ・フローの作成」を参照してください。

サービス・コールアウト・アクションを追加するには、次の手順を実行します。

  1. メッセージ・フロー・デザイン・パレットで、まだ開いていない場合は、「Stage Actions」→「Communication」リストを開きます。

  2. サービス・コールアウト・アクションを、メッセージ・フローの目的の場所にドラッグします。

サービス・コールアウト・アクションを構成するには、次の手順を実行します。

  1. メッセージ・フロー・エディタで、まだ選択されていない場合は、サービス・コールアウト・アクションをクリックします。

  2. サービス・コールアウト・アクションのプロパティ・ページで、対象のプロパティを編集します。

    構成の詳細は、4.11.31項「サービス・コールアウト・アクションのプロパティ」を参照してください。

2.4.30 メッセージ・フローへのスキップ・アクションの追加と構成

スキップ・アクションを使用して、実行時に現在のステージの実行をスキップし、メッセージ・フローの次のステージに処理が進むように指定します。

始める前に

目的のプロキシ・サービスのメッセージ・フローを表示します。2.4.1項「プロキシ・サービスのメッセージ・フローの作成」を参照してください。

スキップ・アクションを追加するには、次の手順を実行します。

  1. メッセージ・フロー・デザイン・パレットで、まだ開いていない場合は、「Stage Actions」→「Flow Control」リストを開きます。

  2. スキップ・アクションを、メッセージ・フローの目的の場所にドラッグします。

スキップ・アクションを構成するには、次の手順を実行します。

  1. メッセージ・フロー・エディタで、まだ選択されていない場合は、スキップ・アクションをクリックします。

  2. スキップ・アクションのプロパティ・ページで、対象のプロパティを編集します。

    構成の詳細は、4.11.32項「スキップ・アクションのプロパティ」を参照してください。

2.4.31 メッセージ・フローへのステージの追加と構成

メッセージ・フローのアクションのコンテナとしてステージ・ノードを使用します。

始める前に

目的のプロキシ・サービスのメッセージ・フローを表示します。2.4.1項「プロキシ・サービスのメッセージ・フローの作成」を参照してください。

ステージを追加するには、次の手順を実行します。

  1. メッセージ・フロー・デザイン・パレットで、まだ開いていない場合は、「Oracle Service Bus Message Flow」→「Nodes」リストを開きます。

  2. メッセージ・フローの目的の位置にステージをドラッグします。

  3. 構成のためのアクションをステージに追加します。

ステージを構成するには、次の手順を実行します。

  1. メッセージ・フロー・エディタで、まだ選択されていない場合は、ステージをクリックします。

  2. ステージ・ノードのプロパティ・ページで、対象のプロパティを編集します。

    構成の詳細は、4.11.33項「ステージ・ノードのプロパティ」を参照してください。

2.4.32 メッセージ・フローへのトランスポート・ヘッダー・アクションの追加と構成

メッセージのヘッダーの値を設定するには、トランスポート・ヘッダー・アクションを使用します。

始める前に

目的のプロキシ・サービスのメッセージ・フローを表示します。2.4.1項「プロキシ・サービスのメッセージ・フローの作成」を参照してください。

トランスポート・ヘッダー・アクションを追加するには、次の手順を実行します。

  1. メッセージ・フロー・デザイン・パレットで、まだ開いていない場合は、「Stage Actions」→「Communication」リストを開きます。

  2. メッセージ・フローの目的の位置にトランスポート・ヘッダー・アクションをドラッグします。

トランスポート・ヘッダー・アクションを構成するには、次の手順を実行します。

  1. メッセージ・フロー・エディタで、まだ選択されていない場合は、トランスポート・ヘッダー・アクションをクリックします。

  2. トランスポート・ヘッダー・アクションのプロパティ・ページで、対象のプロパティを編集します。

    構成の詳細は、4.11.34項「トランスポート・ヘッダー・アクションのプロパティ」を参照してください。

2.4.33 メッセージ・フローへの検証アクションの追加と構成

XMLスキーマ要素またはWSDLリソースに対して、XPath式で選択した要素を検証するには、検証アクションを使用します。

始める前に

目的のプロキシ・サービスのメッセージ・フローを表示します。2.4.1項「プロキシ・サービスのメッセージ・フローの作成」を参照してください。

検証アクションを追加するには、次の手順を実行します。

  1. メッセージ・フロー・デザイン・パレットで、まだ開いていない場合は、「Stage Actions」→「Message Processing」リストを開きます。

  2. メッセージ・フローの目的の位置に検証アクションをドラッグします 。

検証アクションを構成するには、次の手順を実行します。

  1. メッセージ・フロー・エディタで、まだ選択されていない場合は、検証アクションをクリックします。

  2. 検証アクションのプロパティ・ページで、対象のプロパティを編集します。

    構成の詳細は、4.11.35項「検証アクションのプロパティ」を参照してください。

2.5 アラート宛先の操作

次のトピックでは、Oracle Service Busプラグインでアラート宛先を作成および操作する方法を説明します。

2.5.1 アラート宛先の作成および編集

アラート宛先を作成するには:

  1. Oracle Service Busパースペクティブの「プロジェクト・エクスプローラ」で、アラート宛先を作成するプロジェクトまたはフォルダを右クリックします。

  2. メニューから、「ファイル」→「新規」→「アラート宛先」を選択し、新規アラート宛先リソース・ウィザードを表示します。

    命名ガイダンスについては2.1.1項「リソースの命名制限」を参照してください。


    注意:

    アラート宛先は、Oracle Service Busプロバイダでのみ作成できます。


アラート宛先を編集するには:

  1. プロジェクト・エクスプローラで、編集するアラート宛先を含むプロジェクト・フォルダを見つけます。

  2. アラート宛先の名前をダブル・クリックして、アラート宛先エディタを表示します。必要に応じて、情報を編集します。

構成の詳細は、4.1.1項「アラート宛先エディタ」を参照してください。

2.5.2 アラート宛先への電子メール受信者の追加

アラート宛先に電子メール受信者を追加するには:

  1. 2.5.1項「アラート宛先の作成および編集」の説明に従って、アラート宛先を作成または編集します。

  2. アラート宛先エディタの「電子メール受信者」フィールドで「追加」をクリックして、電子メール受信者の編集ページを表示します。

2.5.3 アラート宛先へのJMS宛先の追加

アラート宛先にJMS宛先を追加するには:

  1. 2.5.1項「アラート宛先の作成および編集」の説明に従って、アラート宛先を作成または編集します。

  2. アラート宛先エディタの「JMS宛先」フィールドで「追加」をクリックして、JMS宛先の編集ページを表示します。

2.6 MQ接続の操作

MQ接続は、複数のMQプロキシ・サービスおよびビジネス・サービスで再使用できる、共有可能なリソースです。MQプロキシ・サービスとビジネス・サービスは、MQキューにアクセスする前に、MQキュー・マネージャに接続する必要があります。MQ接続リソースは、MQキュー・マネージャへ接続するための接続要求を行います。

各MQ接続リソースには、接続プールがあります。任意のMQ接続リソースを使用して任意のキュー・マネージャへの接続を取得しているすべてのビジネス・サービスまたはプロキシ・サービスは、そのリソースに対して作成された同じ接続プールを使用します。つまり、同じキュー・マネージャを使用している複数のビジネス・サービスまたはプロキシ・サービスは、接続プールを共有することになります。

Oracle Service BusのMQ接続リソースやネイティブMQトランスポートの詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のMQトランスポートに関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBDV1117)を参照してください。

WebSphere MQの基本的な情報は、http://www.redbooks.ibm.com/redbooks/SG247128/wwhelp/wwhimpl/java/html/wwhelp.htmを参照してください。

2.6.1 MQ接続の追加および編集

Oracle Service BusではMQ接続はカスタム・リソースとして作成されます。したがって、MQ接続を追加するには、次のようにカスタム・リソースとして作成する必要があります。

  1. Oracle Service Busパースペクティブで「File」→「New」→「Custom Resource」を選択して、New Custom Resourceウィザードを表示します。

    命名ガイダンスについては2.1.1項「リソースの命名制限」を参照してください。

  2. 「Create a New Custom Resource」ページの「Resource Type」フィールドで「MQ Connection」を選択します。

  3. カスタムMQの「リソース構成」ページで構成情報を入力します。


    注意:

    MQ接続リソースにスペースを含めないでください。


MQ接続を編集するには:

  1. プロジェクト・エクスプローラで、編集するMQ接続リソースを含むOracle Service Bus構成フォルダを見つけます。

  2. MQ接続の名前をダブルクリックして、カスタムMQの「リソース構成」ページを表示します。

構成の詳細は、4.5.4項「カスタムMQの「リソース構成」ページ」を参照してください。

2.7 Oracle Enterprise Repositoryおよびハーベスタの操作

Oracle Enterprise Repositoryは、アプリケーションのリソースとサービスのためのエンタープライズ・メタデータ・リポジトリです。Oracle Service RegistryやOracle UDDIソリューションとOracle Enterprise Repositoryを組み合せて使用することは、Oracle Service Busを介したエンタープライズ全体のサービスの検索、使用、同期および管理のベストプラクティス・アプローチです。

ハーベスタはOracle Enterprise Repositoryのツールです。このツールを使用すると、Oracle Service Busを含む複数のリソースからOracle Enterprise Repositoryへのエンタープライズ・アーティファクトのハーベストを実行できます。

Oracle Service Busでは、開発環境においてOracle Enterprise Repositoryおよびハーベスタにネイティブ接続が提供され、リポジトリからのビジネス・サービスの生成と、リポジトリへのOracle Service Busプロジェクトのハーベスト実行の両方を行うことができます。ハーベスタでは、ランタイム環境でOracle Service Busプロジェクトのハーベストを実行するためのコマンドライン・スクリプトも提供されます。

Oracle Enterprise Repositoryの詳細は、Oracle Fusion MiddlewareのOracle Enterprise Repositoryクイック・スタート・ガイド(http://www.oracle.com/pls/as1111/lookup?id=OERQS)を参照してください。

この項には次のトピックが含まれます:

2.7.1 Oracle Enterprise Repositoryからビジネス・サービスを生成する

Oracle Service Bus開発環境でビジネス・サービスをOracle Enterprise Repositoryのサービス・アセットから生成できます。

ベストプラクティス・デプロイメント・シナリオでは、Oracle Enterprise Repositoryのサービス・アセットには、Oracle Service Registryに格納されているサービスが関連付けられています。ビジネス・サービスをOracle Enterprise Repositoryアセットから生成するとき、Oracle Service Bus UDDIリソースによって、レジストリに格納されている関連サービスとそれらのサービスを同期できます。

ここでは、開発環境を使用して、Oracle Enterprise Repositoryのサービス・アセットからビジネス・サービスを生成する手順を説明します。


注意:

Oracle Service Busでビジネス・サービスを生成するには、Oracle Enterprise RepositoryアセットがHTTPを使用するSOAP/XML WSDLベース・サービスであることが必要です。


  1. Oracle Enterprise Repositoryで問合せを実行し、ビジネス・サービスの生成元のサービスを探します。2.7.3項「EclipseによるOracle Enterprise Repositoryでの問合せの実行」を参照してください。

  2. 新しいビジネス・サービスを生成するサービス・アセットを右クリックし、Oracle Service Bus→ビジネス・サービスの生成を選択します。

  3. ビジネス・サービスの生成ウィンドウで、新しいビジネス・サービスのEclipseにおける場所を選択し、エンドポイントを選択します。

    命名ガイダンスについては2.1.1項「リソースの命名制限」を参照してください。


    注意:

    ビジネス・サービスをOracle Service Busで生成するためには、サービス・アセットにエンドポイントが必要です。


  4. Oracle Enterprise RepositoryアセットがOracle Service Registryに関連付けられている場合は、「次へ」をクリックして、実行時にOracle Service Registryに接続するOracle Service Bus UDDI Registryリソースを構成します(それ以外の場合は、次のステップに進みます)。Oracle Enterprise Repositoryアセットでは、Oracle Service Registryへの照会URLが自動的に提供されます。

    UDDIレジストリの構成ウィンドウには、一致するUDDIレジストリ・リソースの選択、一致しないUDDIレジストリ・リソースの選択、新しいUDDIレジストリ・リソースの作成、またはUDDIの不使用というオプションがあります。

    新しいUDDIレジストリ・リソースを作成するオプションを選択した場合は、4.14項「「UDDIレジストリの構成」ページ」の手順を参照してください。

  5. 「終了」をクリックすると、ビジネス・サービスを生成されます。

    新しいHTTPビジネス・サービスと、それに関連するWSDLおよびXSDが開発環境に追加されます。

    Oracle Enterprise Repositoryアセット・エンドポイントがOracle Service Registryのサービスに関連付けられている場合、ビジネス・サービスの構成には、Oracle Service Registryインスタンスに対するUDDI接続の詳細が含まれます。

  6. Oracle Enterprise RepositoryアセットがOracle Web Services ManagerポリシーまたはWS-Policyを参照していても、生成されるビジネス・サービスにポリシーは自動的に含まれません。Oracle Web Services ManagerポリシーおよびWS-Policyを手動で追加する必要があります。ただし、WSDLベース・ポリシーは自動的に含まれます。

開発環境では、Oracle Service Registryへのサブスクリプションを確立しません。Oracle Service Registryに対するサブスクリプションとサービスの同期が行われるのは、ビジネス・サービスをOracle Service Busランタイム環境にデプロイするときです。サービスの同期は、UDDIレジストリ・リソースの自動インポート設定で決まります。

UDDIの詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「UDDI」(http://www.oracle.com/pls/as1111/lookup?id=OSBAG392)を参照してください。

2.7.2 ハーベスタの使用

ハーベスタでは、Eclipse、コマンド・ライン、AntタスクまたはWSLTスクリプトを使用して、Oracle Service BusプロジェクトをOracle Enterprise Repositoryに発行できます。

ハーベストの2つの概念は、ローカル・ハーベストとリモート・ハーベストです。ローカル・ハーベストはEclipseや特定のコマンドライン・スクリプトで実行され、プロジェクトをファイル・システムからリポジトリに発行します。リモート・ハーベストは、コマンドライン・スクリプトで実行されランタイム環境からプロジェクトを発行します。

リソースのハーベストを実行するとき、依存関係はOracle Enterprise Repositoryで維持されます。

表2-1では、適切なハーベスト・シナリオの決定に役立つシナリオの相違について説明します。

表2-1 ハーベスト・シナリオの相違点

Eclipseハーベスト ローカル・ハーベスト リモート・ハーベスト

1つのプロジェクトのハーベスト、または複数のプロジェクトを含むOracle Service Bus構成のハーベストを実行できます。

コマンドライン・スクリプトを使用して、ファイル・システムの構成JARからOracle Service Busアーティファクトのハーベストを実行できます。構成JARのすべてのプロジェクトまたは選択したプロジェクトのハーベストを実行できます。

コマンドライン・スクリプトを使用して、ラインタイム環境の構成JARからOracle Service Busアーティファクトのハーベストを実行できます。構成JARのすべてのプロジェクトまたは選択したプロジェクトのハーベストを実行できます。

プロキシ・サービスのエンドポイント・アセットはリポジトリに作成されません。

プロキシ・サービスのエンドポイント・アセットはリポジトリに作成されません。

プロキシ・サービスのエンドポイント・アセットがリポジトリに作成されます。

Eclipseまたはローカル・ハーベストでハーベストを実行したサービスに対してリモート・ハーベストを実行すると、ローカルでハーベストを実行されたのと同じサービスに、新たに作成されるサービス・エンドポイントが追加されます。

サービスWSDL(有効なWSDL)が、localhost:7001のようなローカル・アドレスでリポジトリに生成されます。

サービスWSDL(有効なWSDL)が、localhost:7001のようなローカル・アドレスでリポジトリに生成されます。

サービスWSDL(有効なWSDL)が、サーバー・ランタイム・アドレスでリポジトリに生成されます。


Oracle Service Busでハーベスタを使用する前には、Oracle Fusion Middleware Oracle Enterprise Repository構成ガイドの設計時環境およびランタイム環境での自動ハーベストの構成と使用に関する項(http://www.oracle.com/pls/as1111/lookup?id=OERCG)を参照してハーベスタ・ソリューション・パックをインストールしてください。

次に、Eclipse、ローカルおよびリモートのハーベストについて説明します。

2.7.2.1 Eclipseでのハーベスタの使用

Eclipse用のOracle Service Busプラグインにより、Oracle Enterprise Repositoryに対するプロジェクトのハーベストのための組込み機能が提供されます。

Eclipseでのアセットのハーベスト方法の詳細は、表2-1を参照してください。

EclipseでOracle Service Busプロジェクトのハーベストを実行するには:

  1. 「Project Explorer」ビューで、ハーベストを実行するプロジェクトを右クリックし、「Submit Project to Enterprise Repository」を選択します。

    Oracle Service Busの構成プロジェクトを右クリックして、その構成内のすべてのプロジェクトのハーベストを実行することもできます。

  2. Submitウィンドウで、リポジトリのURIやログイン資格証明など、リポジトリへの接続に関する詳細を入力します。

    2.7.3項「EclipseによるOracle Enterprise Repositoryでの問合せの実行」に従って、Oracle Enterprise Repositoryへの接続を前に構成している場合は、その構成の詳細がデフォルトで表示されます。

    オプションとして次のように設定できます。

    • プロジェクトとそのアーティファクトのネームスペースを入力します。ネームスペースは、Oracle Enterprise Repositoryの問合せ結果でサービス・アセット名の前に付きます。

    • アーティファクトの登録ステータスを選択できます。たとえば、テストのためにアーティファクトのハーベストを実行する場合は、「Unsubmitted」など適切なステータスを選択します。

    • デフォルトの接続タイムアウト(ミリ秒単位)を変更します。

    • プロジェクトのデフォルトの説明を変更します。

  3. 「発行」をクリックします。アップロードの進行中はアクティビティ・バーがスクロールします。アップロードが終了したら、「閉じる」をクリックします。

  4. ハーベストを実行したリソースを確認するには、2.7.3項「EclipseによるOracle Enterprise Repositoryでの問合せの実行」に従って、Oracle Enterprise Repositoryで問合せを実行します。

2.7.2.2 コマンド・ラインまたはスクリプトでのハーベスタの使用

Oracle Service Busでは、AntタスクまたはWSLTスクリプトを使用してコマンド・ラインからOracle Service Busプロジェクトのハーベストを実行するために必要な組込みハーベスタ・リソースが提供されます。これらのリソースは次の場所にあります。

OSB_ORACLE_HOME/harvester

このディレクトリのメインの構成ファイルはHarvesterSettings.xmlです。これには、Oracle Enterprise Repositoryへの接続のプレースホルダー構成、ローカル・ハーベスト設定およびリモート・ハーベスト設定が含まれます。コマンドライン・ハーベスタは、このファイルにある構成の詳細と、ユーザーが指定するオーバーライド構成スイッチを使用してハーベストを実行します。

ローカル・ハーベストとリモート・ハーベストの基本は次のとおりです。

  • ローカル・ハーベスト - ローカル・ハーベストでは、ファイル・システムにOracle Service Bus構成JARが生成され、ハーベストの対象としてそのJARを指定します。JARのすべてのプロジェクトにハーベストが実行されます。

    Oracle Service Bus構成JARの生成の詳細は、2.1.11項「リソースのエクスポート」または『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のリソースのエクスポートに関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBAG1320)を参照してください。

  • リモート・ハーベスト - リモート・ハーベストでは、実行中のOracle Service Busインスタンスでスクリプトを指定し、1つのプロジェクトまたはOracle Service Bus構成全体をハーベスト対象として指定します。

使用するハーベスト・オプションの決定に役立つ情報は、表2-1を参照してください。

Oracle Service Busでは、コマンドラインのAntおよびWSLTによるハーベストについてガイダンスとリソース・ファイルが用意されています。詳細は、OSB_ORACLE_HOME/harvester/README.TXTファイルを参照してください。

README.TXTファイルにはOracle Service Bus固有のガイダンスが含まれます。この情報およびOracle Service Bus Harvesterリソースを、Oracle Fusion MiddlewareのOracle Enterprise Repository構成ガイドの設計時環境およびランタイム環境での自動ハーベストの構成と使用に関する項(http://www.oracle.com/pls/as1111/lookup?id=OERCG)のコマンドラインとスクリプトの詳しい説明と一緒に使用してください。README.TXTファイルに記載されているオプションのみがOracle Service Busでサポートされます。

プロジェクトのハーベストを実行したら、EclipseでOracle Enterprise Repositoryの問合せを行い、ハーベストを実行したリソースを確認できます。2.7.3項「EclipseによるOracle Enterprise Repositoryでの問合せの実行」を参照してください。


注意:

すべてのプロジェクトのハーベストを実行するOracle Service Busハーベスタの他に、コマンドライン・フレームワークではWSDL、XSD、XSLT、WS-Policyなど個々のリソースのための組込みハーベスタもサポートされます。ただし、Oracle Service Busでは、Oracle Service Bus 11g以上のリリースでのこれらのハーベスタの使用はサポートされません。

個々のリソース(Oracle SOA Suite、Oracle WebLogic ServerまたはプレーンWSDLなどのリソース)のハーベスト実行のためには、ハーベスタ・ベース・データ・パックをダウンロードしてください。


2.7.3 EclipseによるOracle Enterprise Repositoryでの問合せの実行

次の手順は、EclipseでOracle Enterprise Repositoryに接続して問合せを実行する方法を示します。問合せにより、ビジネス・サービスを生成するサービス・アセットの検索、リポジトリでのアセットのブラウズ、アセットの詳細や関係の表示を行うことができます。

  1. Eclipseで、「Window」→「Show View」→「Other」を選択し、「Oracle Enterprise Repository」→「Enterprise Repository Access」を選択します。

  2. 「Enterprise Repository Access」ビューで「Connect to enterprise repository」アイコンをクリックします。

  3. Enterprise Repository Connectionウィンドウで、リポジトリのURLおよびログイン資格証明を入力し、「Establish Connection」をクリックします。

  4. 接続が成功したら「終了」をクリックします。

  5. Oracle Enterprise Repositoryに接続すると、リポジトリを問い合せて必要なサービスとアセットを探すことができます。たとえば、サービス・アセットを検索するには、「問合せ」画面の「すべてのタイプ」フィールドの「サービス」を選択して、問合せの実行アイコンをクリックします。

    「Enterprise Repository Access」ビューが「Results」画面に切り替わり、問合せ結果が表示されます。

Eclipseで「Enterprise Repository Asset Relationships」ビューを開いて、選択したアセット間の関係をグラフィック表示することもできます。、「Window」→「Show View」→「Other」を選択し、「Oracle Enterprise Repository」→「Enterprise Repository Asset Relationships」を選択します。

EclipseでのOracle Enterprise Repositoryの操作方法の詳細は、Oracle Fusion MiddlewareのOracle Enterprise Repositoryクイック・スタート・ガイド(http://www.oracle.com/pls/as1111/lookup?id=OERIN)を参照してください。

2.8 UDDIレジストリの操作

Universal Description, Discovery and Integration (UDDI)レジストリは、企業でWebサービスを共有するために使用されます。UDDIは、企業のビジネス、ビジネス・サービス、および公開するサービスの技術的な詳細を分類するためのフレームワークを提供します。

レジストリへサービスをパブリッシュするには、サービス・タイプと、レジストリ内でそのサービスを表すデータ構造の知識が必要です。レジストリ・エントリには、特定のプロパティが関連付けられ、これらのプロパティ・タイプはレジストリの作成時に定義されます。レジストリにサービスをパブリッシュして、他の組織がそのサービスを検出して使用できるようにすることが可能です。Oracle Service Busで開発されたプロキシ・サービスは、UDDIレジストリにパブリッシュできます。Oracle Service Busは任意のUDDIバージョン3.0に適合したレジストリと相互作用します。

『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「UDDI」も参照してください。

2.8.1 UDDIレジストリの追加および構成

UDDIレジストリを追加するには:

  1. Oracle Service Busパースペクティブで「ファイル」→「新規」→「UDDIレジストリ」を選択して、新規UDDIリソース・ウィザードを表示します。

    命名ガイダンスについては2.1.1項「リソースの命名制限」を参照してください。


    注意:

    UDDIレジストリは、Oracle Service Bus構成プロジェクトにのみ追加できます。


  2. 場所を選択して名前を入力したら、 「UDDIレジストリの構成」ページでレジストリを構成します。


    注意:

    UDDIレジストリは、Oracle Service Bus構成プロジェクトでのみ追加できます。


UDDIレジストリを構成するには:

  1. プロジェクト・エクスプローラで、構成するUDDIレジストリを見つけます。

  2. レジストリの名前をダブル・クリックします。

  3. 「UDDIレジストリの構成」ページで構成オプションを設定します。

構成の詳細は、4.14項「「UDDIレジストリの構成」ページ」を参照してください。

2.8.2 UDDIレジストリからのビジネス・サービスのインポート


注意:

UDDIレジストリからビジネス・サービスを直接インポートするだけでなく、Oracle Enterprise Repositoryからビジネス・サービスを生成できます。詳細は、2.2.3項「Oracle Enterprise Repositoryからビジネス・サービスを生成する」を参照してください。


UDDIレジストリからビジネス・サービスをインポートするには:

  1. 2.2.1項「ビジネス・サービスの作成」に示されているように、ビジネス・サービスを作成します。

  2. New Business Serviceウィザードの「Business Service General Configuration」ページで、「WSDL Web Service」を選択します。次に、「Browse」をクリックします。

  3. 「Select a WSDL」ダイアログで「Consume」をクリックします。

  4. 「Service Consumption」ダイアログで「UDDI」を選択します。

2.9 分割-結合の操作

このセクションでは、分割-結合の作成と構成の手順を説明します。以下に、このセクションの主なトピックを示します。

特定の構成の詳細は、4.22項「分割-結合ユーザー・インタフェース・リファレンス」を参照してください。

2.9.1 分割-結合の概要

分割-結合は、Oracle Service Busメッセージ・フローのトランスポート型ビジネス・サービスによって使用される調停パターンです。分割-結合を使用すると、複数のサービスに同時にメッセージ・リクエストを送信できるので、メッセージ・リクエストを順次送信する場合と比較してパフォーマンスが改善します。分割-結合は、入力メッセージを個別のメッセージに分割し、それらを同時に宛先へルーティングして、レスポンスを1つの総合的な返信メッセージに集約することで、この作業を実現します。

Eclipseの分割-結合エディタで分割-結合を設計してから、テストと本番のためにOracle Service Bus管理コンソールにエクスポートします。


注意:

Oracle Service Bus管理コンソールでは、分割-結合は、フロー転送プロトコルを使用してビジネス・サービスと関連付けられます。そのため、このドキュメントでは常に「分割-結合」と簡単に呼んでいますが、Eclipseにおいて分割-結合には.flowというファイル拡張子が付きます。


2.9.2項「分割-結合の設計」で説明されるように、静的な分割-結合と動的な分割-結合の2つの分割-結合パターンがあります。

Oracle Service Busメッセージ・フローからのビジネス・サービスの呼出しの詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のプロキシ・サービスのメッセージ・フローに関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBAG1102)を参照してください。

2.9.1.1 SOAPヘッダー内のコンテンツでの分割-結合の使用

分割-結合を使用して、SOAPヘッダーにメッセージ・コンテンツを格納するサービスのパフォーマンスを向上させることができます。プロキシ・サービスはSOAPヘッダーを分割-結合に渡すことができます。そして、分割-結合が呼出しまたはレスポンスとしてSOAPヘッダーをプロキシとビジネス・サービスに渡すことができます。

この機能を有効にするには、分割-結合WSDLと 分割-結合によって呼び出されるプロキシやビジネス・サービスのWSDLに、単一のリクエスト・メッセージまたはレスポンス・メッセージに本文部分とヘッダー部分を宣言する必要があります。メッセージ部分をWSDLに宣言すると、分割-結合でリクエスト/レスポンス・メッセージ変数にSOAPヘッダー・コンテンツを利用できます。

以下に、WSDLでのメッセージとバインディング定義の例を示します。

メッセージ

<wsdl:message name="retrieveCustomerOverviewByIdRequestMessage">
    <wsdl:part name="retrieveCustomerOverviewByIdRequest"
     element="co:retrieveCustomerOverviewByIdRequest"/>
    <wsdl:part name="serviceContext" element="sc:serviceContext"/>
</wsdl:message>

バインディング

<wsdl:input>
<soap:body use="literal" parts="retrieveCustomerOverviewByIdRequest"/>
    <soap:header message="tns:retrieveCustomerOverviewByIdRequestMessage"
     part="serviceContext" use="literal"/>
</wsdl:input>

2.9.1.2 トランザクション・サポート

分割-結合ではトランザクションの伝播がサポートされます。多数の分割-結合操作には、トランザクション・サポートを制御する特定のサービス品質(QoS)値を設定するオプションがあります。分割-結合操作で「必ず1回」というQoS値を設定すると、トランザクションが存在する場合に操作がトランザクションのコンテキストで必ず実行されます。

個々の操作にQoSを設定すると、単一の分割-結合操作において、トランザクションのコンテキストで複数の操作を実行し、その他の操作をトランザクション外で実行する柔軟性が得られます。QoSが「必ず1回」に設定された操作はトランザクションで実行されます。QoSが「ベスト・エフォート」に設定された操作はトランザクションのコンテキストでは実行されません。

分割-結合では、例外時のトランザクション・ロールバックが処理されません。トランザクションの例外とロールバックの処理は、分割-結合と呼ばれるサービス・コンポーネントが担当します。

次の分割-結合操作では、トランザクションの伝播がサポートされます。

  • サービスの呼出し

  • 割当て

  • 削除

  • 挿入

  • Javaコールアウト

  • 置換

2.9.1.3 分割-結合のセキュリティ

分割-結合では、セキュリティ・ポリシーは施行されません。つまり、ポリシーを含むWSDLを備えた分割-結合は作成できません。また、WSDLポリシーを含むWSDLベースのビジネス・サービスを分割-結合から呼び出すことはできません。

分割-結合を使用するときにセキュリティを確実に施行するには、プロキシ・サービスを使用して次のようにセキュリティの施行を処理します。

  • 分割-結合を呼び出すインバウンド・プロキシを使用し、ポリシーを施行します。

  • 分割-結合でポリシーを含むWSDLビジネス・サービスを呼び出す必要がある場合は、分割-結合でローカル・プロキシ(セキュリティ・ポリシーなしの構成)を呼び出し、必要なポリシーを含むビジネス・サービスをそのローカル・プロキシで呼び出すようにします。

2.9.2 分割-結合の設計

分割-結合には、静的な分割-結合と動的な分割-結合の2つのパターンがあります。

静的な分割-結合は、固定した数(数が不明な場合に対して)のメッセージ・リクエストの作成に使用できます。たとえば、顧客が、インターネット・サービス、TVサービス、電話サービスという3つの独立したサービスを含むケーブル・パッケージの注文を行う場合です。静的な使用例では、3つのリクエストすべてを分割したパラレル・ブランチで実行できるため、標準的な順次実行と比較して実行時間のパフォーマンスが改善されます。

動的な分割-結合は、数が変化するメッセージ・リクエストの作成に使用できます。たとえば、個別の発注数が変化する注文を小売業者が一括して行う場合です。動的な使用例では、一括注文を解析して発注ごとに分離したメッセージ・リクエストを作成できます。静的な使用例と同様に、これらのメッセージはパラレルに実行できるため、パフォーマンスが改善されます。

2.9.2.1 初期設定

分割-結合の初期設定では、以下の作業を行う可能性があります。

2.9.2.1.1 基本操作を含むWSDLの作成またはインポート

すべての分割-結合はWSDL操作に基づいています。分割-結合を初めて作成する際には、適切なWSDLファイルを指定し、作成プロセスの一部としてこの操作を選択するように求められます。このWSDLファイルは、Eclipseで作成できます。

2.9.2.1.2 分割-結合で使用するビジネス・サービスの作成またはインポート

すべての分割-結合は、トランスポート型ビジネス・サービスによって使用されます。言い換えるとプロキシ・サービスによって呼び出されます。ビジネス・サービスの作成が終了しなければ、分割-結合のエクスポートやテストを行うことはできません。ビジネス・サービスがすでに存在している場合は、これをEclipseにインポートすることができます。存在していない場合はEclipseまたはOracle Service Bus管理コンソールで作成できます。ビジネス・サービスを作成する前に分割-結合を開始する場合は、分割-結合の作成後にビジネス・サービスを自動的に生成できます。

2.9.3 静的な分割-結合の設計

ここでは、テレビ、電話、インターネット・サービスを含んだ電話会社のケーブル・サービスのパッケージの注文を処理する「サービスの利用可能性」という名前の新しい分割-結合を設計するものとします。パッケージの注文を受信し、各種類のサービスに対して受注確認を返信するというのが、分割-結合での考え方になります。この例では、注文ごとに各タイプのサービスについて3つのメッセージ・リクエストがあるので、「サービスの利用可能性」は「静的」な分割-結合として設計されます。この例では、顧客はテレビとDSLサービスのみをリクエストします。

「サービスの利用可能性」分割-結合の作成には次の手順が含まれます。

2.9.3.1項「1.新しい分割-結合の作成」

2.9.3.2項「2.割当ての追加」

2.9.3.3項「3.パラレル・ノードの追加」

2.9.3.4項「4.各ブランチに対する割当ての追加」

2.9.3.5項「5.サービス呼出しの追加」

2.9.3.6項「6.各ブランチに対する割当ての追加」

2.9.3.7項「7.分割-結合のエクスポートとテスト」

2.9.3.1 1.新しい分割-結合の作成

注文の実行に使用するWSDL操作に基づいて分割-結合を作成します。この例では、WSDL操作を「telecom」と呼びます。

命名ガイダンスについては2.1.1項「リソースの命名制限」を参照してください。

WSDL操作を選択すると、次の図に示すように、新しく作成された分割-結合のスケルトンが分割-結合エディタに表示されます。スケルトンは開始ノード、受信ノード、返信ノードから構成されます。「全般プロパティ」タブにあるこれらのラベルは、この特定の分割-結合の各ノードに固有の機能をより適切に反映したものに編集されます。

図2-1 新しい分割-結合

図2-1の説明が続きます
「図2-1 新しい分割-結合」の説明

開始ノードには、最初に選択されたWSDL操作によって決定されたリクエスト変数とレスポンス変数が両方とも含まれます。受信ノードでは受信リクエスト・メッセージ(この例では3種類以下のケーブル・サービス)を受信し、返信ノードではレスポンス・メッセージを生成して、これをクライアントに戻します。


注意:

受信ノードには、これ以上の構成は必要ありません。同様に、返信ノードには、エラーを生成する場合を除き、これ以上の構成は必要ありません。上記のシナリオにエラーの生成はありません(エラーの生成の詳細は、2.9.15項「返信の構成」を参照)。


2.9.3.2 2.割当ての追加

最初の割当てである「出力メッセージの用意」には、後からノードのデータで作業(つまり、データのコピー、挿入、割り当て、置換、削除、Javaコールアウト、ログなど)できるような形でレスポンス変数を用意する割当て操作が含まれます。この出力メッセージは、分割-結合の最終的な返信ノードに中継され、その結果、元のクライアントに戻ります。

2.9.3.3 3.パラレル・ノードの追加

パラレル・ノードには、ケーブルTVの利用可能性のチェックと、DSLの利用可能性のチェックの2つの主要ブランチがあります。各ブランチはいくつかのアクションで構成されており、そのシーケンスと全体的な構成は両方のブランチで同じになっています。

図2-2 パラレル・ノード

図2-2の説明が続きます
「図2-2 パラレル・ノード」の説明

2.9.3.4 4.各ブランチに対する割当ての追加

各パラレル・ブランチの最初の割当てである「入力アドレスの用意」では、その場所でサービスが利用できるかどうかをチェックするために、受信した顧客アドレス・データを参照されている変数にコピーします。この割当ては、各ブランチに対して同じになっており、これはブランチが追加される場合でも同様です。

2.9.3.5 5.サービス呼出しの追加

次に外部サービスが呼び出されて、リクエストされたサービスのタイプが顧客のいる場所で利用可能であるかどうかがチェックされます。各ブランチには、1つのサービスを呼び出す、「TVの利用可能性のチェック」、および「DSLの利用可能性のチェック」が含まれます。それぞれの外部サービスの呼出しでは、顧客のアドレス(前の手順で初期化された変数に格納されている)が、その場所でのサービスの利用可能性と比較されます。結果は出力変数に格納され、次の手順であるブランチの最終的な割当てに渡されます。

2.9.3.6 6.各ブランチに対する割当ての追加

最終的な2つの割り当て、「出力メッセージのケーブルTVステータスの更新」と「出力メッセージのDSLステータスの更新」では、外部サービス呼出しの結果を取得し、置換操作を使用して、これを出力メッセージに入れます。集約されたレスポンスは、これ以上の構成が必要でない最終的な返信ノードにある元のクライアントに送信されます。

2.9.3.7 7.分割-結合のエクスポートとテスト

分割-結合の設計が終了したら、テストと本番用にOracle Service Bus管理コンソールにエクスポートできます。

図2-3 テスト前の完成した分割-結合

図2-3の説明が続きます
「図2-3 テスト前の完成した分割-結合」の説明

関連項目

2.9.4 動的な分割-結合の設計

小売業者からの一括注文を処理する分割-結合を設計する場合を考えてみます。一括注文内の個別の発注の数は(発注数が固定してる注文とは異なり)変化します。一括注文を受信し、その中にある各注文に受注確認を返信するというのが、分割-結合での考え方になります。個別の発注数リクエストの数は変化し、設計時にその数を知ることはできないので、これは動的な分割-結合になります。

動的な分割-結合の作成には以下の手順が含まれます。

2.9.4.1項「1.新しい分割-結合の作成」

2.9.4.2項「2.割当ての追加」

2.9.4.3項「3.For Eachの追加」

2.9.4.4項「4.割当ての追加」

2.9.4.5項「5.サービス呼出しの追加」

2.9.4.6項「6.割当ての追加」

2.9.4.7項「7.エラー・ハンドラの追加」

2.9.4.8項「8.分割-結合のエクスポートとテスト」

2.9.4.1 1.新しい分割-結合の作成

注文の実行に使用するWSDL操作に基づかない分割-結合を作成します。この例では、WSDL操作を「batchOrders」と呼びます。

命名ガイダンスについては2.1.1項「リソースの命名制限」を参照してください。

この操作が選択されると、開始ノード、受信ノード、返信ノードから構成される新しく作成された分割-結合のスケルトンが、分割-結合エディタに表示されます。「全般プロパティ」タブにあるこれらのラベルは、この特定の分割-結合の各ノードに固有の機能をより適切に反映したものに編集されます。

図2-4 新しい分割-結合(ラベルの編集)

図2-4の説明が続きます
「図2-4 新しい分割-結合(ラベルの編集)」の説明

開始ノードである「注文の実行」には、リクエスト変数inputVarとレスポンス変数outputVarの両方が含まれます。受信ノードである「一括注文リクエストの受信」は、リクエスト変数(この例の場合は発注)の内容を初期化し、返信ノードである「注文の実行への返信」は、レスポンス変数に集約された受注確認に基づいてレスポンスをクライアントへ戻します。この例では、「注文の実行」には、個別の注文を承認するために呼び出される外部サービス「Order」へのコールアウトが含まれています。


注意:

受信ノードには、これ以上の構成は必要ありません。同様に、返信ノードには、エラーを生成する場合を除き、これ以上の構成は必要ありません。上記のシナリオにエラーの生成はありません(エラーの生成の詳細は、2.9.15項「返信の構成」を参照)。


2.9.4.2 2.割当ての追加

最初の割当てである「出力メッセージの用意」には、後からレスポンス変数(ここでは理解を容易にするために「出力メッセージ」というラベルになっています)をノード内にキャプチャしたデータで作業(つまり、変数へのコピー、挿入、割り当て、置換、削除)できるような形で用意する割当て操作が含まれます。この例の場合、データは受注確認やエラーで構成されます。この出力メッセージは、分割-結合の最終的な返信ノードに中継され、その結果、元のクライアントに戻ります。

2.9.4.3 3.For Eachの追加

For Eachである「注文全体で繰返し」には、一括注文内にある個別の注文を1つずつ解析して、承認のために外部プロキシに送信し、レスポンス内にある受注確認をキャプチャするロジックが含まれます。注文に問題がある場合、呼び出されたプロキシからエラーが送信され、エラー・ハンドラでキャプチャされます。次の図にFor Eachロジックのスコープ全体を示します。

図2-5 「注文全体で繰返し」というラベルのFor Eachノード

図2-5の説明が続きます
「図2-5 「注文全体で繰返し」というラベルのFor Eachノード」の説明

2.9.4.4 4.割当ての追加

割当て「発注の準備」は、受信発注リクエストを、次の手順で承認をチェックするために参照される変数にコピーします。

2.9.4.5 5.サービス呼出しの追加

次に外部サービス「注文の有効性のチェック」が呼び出され、個別の発注ごとに承認を行います。注文が受け入れられる場合、サービスは受注確認で応答します。注文が受け入れられない場合、サービスはエラーで応答します。この結果は出力変数に格納され、次の手順で説明する最終的な割当てに渡されます。

2.9.4.6 6.割当ての追加

最終的な割当てである「出力メッセージの注文ステータスの更新」は、外部サービス呼出しの結果を取得し、挿入操作を使用してこの結果を出力メッセージにコピーします。集約されたレスポンスは、これ以上の構成が必要でない最終的な返信ノードにある元のクライアントに送信されます。

2.9.4.7 7.エラー・ハンドラの追加

エラー・ハンドラは、呼び出されたサービスから返されたすべてのエラーをキャプチャします。エラー・ハンドラは、エラーを取得し、割当て操作を使用してこれを出力メッセージに挿入します。

図2-6 エラー・ハンドラ

図2-6の説明が続きます
「図2-6 エラー・ハンドラ」の説明

2.9.4.8 8.分割-結合のエクスポートとテスト

分割-結合の設計が終了したら、テストと本番用にOracle Service Bus管理コンソールにエクスポートできます。

図2-7 テスト前の完成した分割-結合

図2-7の説明が続きます
「図2-7 テスト前の完成した分割-結合」の説明

関連項目

2.9.5 新しい分割-結合の作成

新しい分割-結合を作成するには、分割-結合の基盤となる操作を含むWSDLにアクセスできる必要があります。分割-結合は、既存のOracle Service Bus構成プロジェクト内のOracle Service Busプロジェクトで作成する必要があります。

新しい分割-結合を作成するには:

  1. Oracle Service Busパースペクティブで、「ファイル」→「新規」→「分割-結合」を選択します。新しい分割-結合サービス・ウィザードが開きます。

    命名ガイダンスについては2.1.1項「リソースの命名制限」を参照してください。

  2. 新しい分割-結合サービス・ウィザードで、Oracle Service Busプロジェクトの場所を入力または選択して、新しい分割-結合のファイル名を入力します。完了したら、「次へ」をクリックします。

  3. 次の画面で、バインディングと、分割-結合を実装する操作を選択する必要があります。以下の2通りの選択方法があります。

    1. 操作の選択ツリーに表示されているWSDLのいずれかから操作を選択します。現在のOracle Service Bus構成プロジェクトのすべてのWSDLが使用できます。

    2. 「消費」ボタンを使用して、WSDLをOracle Service Bus構成プロジェクトにインポートします。以下の手順に示すように、基本的に、消費では、新しいWSDLが外部リソースから構成にインポートされます。

  4. 基盤となるWSDLを消費する場合は、以下の手順を実行します。

    1. 「Consume」をクリックします。

    2. 消費されるWSDLを生成する場所(アーティファクト・フォルダ)を参照します。デフォルトのアーティファクト・フォルダは、現在のOracle Service Busプロジェクトです。

    3. 既存のローカル・ファイルを上書きする場合は、チェックボックスを選択します。

    4. 消費されるWSDLが配置されるサービス・リソースを選択します(エンタープライズ・リポジトリ、ファイル・システム、UDDI、URI、またはワークスペース)。

    5. そのサービス・リソースから消費するWSDLを選択します。選択したら、ワークスペースがすぐに再構築され、消費のステータスを示す「Service Consumption Status」ダイアログが表示されます。成功したら、「OK」を選択してダイアログを閉じます。

    6. 消費されるWSDLがOracle Service Bus構成プロジェクトに置かれ、そこから、分割-結合の基盤となる操作を選択できるようになります。

  5. 「終了」をクリックします。

基本的な分割-結合が作成され、デザイン・ビューにダイアグラムとして表示されます。デフォルトでは、開始ノード、受信、および返信で構成されています。開始ノードには、WSDL操作からイントロスペクトされるリクエスト変数およびレスポンス変数が含まれています。受信は、着信リクエスト・メッセージを受信するために使用されます。返信は、レスポンス・メッセージを送信するために使用されます。

関連項目

2.9.6 開始ノードの構成

開始ノードは、新しい分割-結合を作成するたびに、自動的に生成されます。これは、その他のすべてのノードを実行するための出発点です。開始ノードの構成には、以下の作業が含まれます。

  • 全般的な情報の追加

  • グローバル変数の定義

  • 外部サービスの表示

関連項目

2.9.6.1 全般的な情報の追加

全般的な情報は、ノードをより理解しやすくするために役立ちます。全般的な情報では、ノードにユニークなID、またはラベルを追加したり、メモまたはドキュメントでそれらを補完したりできます。全般的な情報は、省略可能です。

  1. ノードにラベルを追加するには、プロパティ・ビューで「全般」タブを選択し、「ラベル」フィールドにユニークな識別文字列を入力します。入力したラベルは、分割-結合エディタでノードの下に表示されます。

  2. 「ドキュメント」フィールドに重要なノートを入力します。

2.9.6.2 グローバル変数の定義

開始ノードの変数には、分割-結合のノードによってグローバルに参照されるデータが格納されます。デフォルトでは、分割-結合が最初に作成されるときに、すべてのプロセス・ノードに、リクエストおよびレスポンスの両方の変数が割り当てられます。開始ノードから、新しいグローバル変数を作成するか、または既存のグローバル変数を編集することができます。

グローバルとローカル変数の関係の詳細は、2.9.16.1項「スコープおよび変数」を参照してください。

新しいグローバル変数を作成するには、次の手順を実行します。

  1. 開始ノードを右クリックし、「Create Variable」 を選択して、「Create Variable」ダイアログを開きます。

  2. 変数の名前を入力します。

  3. 変数の型(「組込み」、「スキーマ」、または「メッセージ」)を選択します。

  4. 変数を選択します。


    注意:

    「スキーマ」または「メッセージ」タイプの変数を選択するには、階層をドリル・ダウンする必要がある場合があります。


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

まだ開いていない場合は、開始ノード・アイコンの左側の矢印をクリックして、コンテンツ領域を左側に展開します。新しく作成された変数が、その他のグローバル変数と共に「変数」フィールドに表示されます。変数の詳細を表示するには、その変数を選択します。プロパティ・ビューに、その構造が表示されます。

既存のグローバル変数を編集するには、次の手順を実行します。

  1. 以下のいずれかの方法で、「変数の編集」ダイアログを開きます。

    • 選択した変数を右クリックして、コンテキスト・メニューから「Edit Variable」を選択します。

    • 変数を選択し、変数のプロパティ・ビューで「Edit」 をクリックします。

  2. 変数の名前を入力します。

  3. 変数の型(「組込み」、「スキーマ」、または「メッセージ」)を選択します。

  4. 変数を選択します。


    注意:

    「スキーマ」または「メッセージ」タイプの変数を選択するには、階層をドリル・ダウンする必要がある場合があります。


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

まだ開いていない場合は、コンテンツ領域を開始ノード・アイコンの左側に展開します。新しく作成された変数が、その他のグローバル変数と共に「変数」フィールドに表示されます。変数の詳細を表示するには、その変数を選択します。プロパティ・ビューに、その構造が表示されます。

2.9.6.3 外部サービスの表示

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

「外部サービス」を表示するには、開始ノード・アイコンの左側の矢印をクリックして、コンテンツ領域を開始ノードの左側に展開します。「外部サービス」を選択する場合、サービスに関連付けられるサービスを呼び出すことを指す破線の青い矢印が表示され、サービスの場所がプロパティ・ビューに表示されます。

2.9.7 受信の構成

新しい分割-結合を作成するたびに、受信が自動的に生成されます。受信の目的は、着信リクエスト・データを変数に入れ、後のノードでコンテンツを使用できるようにすることです。受信の構成には、以下の作業が含まれます。

  • 操作の表示

  • 受信変数の定義

  • 全般的な情報の追加

関連項目

4.22.24項「受信のプロパティ」

2.9.7.1 操作の表示

操作は、分割-結合全体に対して最初に選択されたWSDLに基づきます。これは、参照用としてプロパティ・ビューに表示されています。

2.9.7.2 受信変数の定義

受信が初期化する着信メッセージ変数を定義する必要があります。

  1. 受信操作を選択します。

  2. 新しいメッセージ変数を作成します(以下の手順を参照)。


    注意:

    前に選択した操作に関連付けられているメッセージ変数がない場合は、新しいメッセージ変数を作成する必要があります。


    新しいメッセージ変数を作成するには、「Message Variable」メニューから「Create Message Variable」を選択し、「Create Variable」ダイアログで変数名を入力し、「OK」をクリックします。

変数を定義すると、プロパティ・ページに「メッセージ・タイプ・ネームスペース」と「メッセージ・タイプ」が自動的に表示されます。

2.9.7.3 全般的な情報の追加

全般的な情報は、ノードをより理解しやすくするために役立ちます。全般的な情報では、ノードにユニークなID、またはラベルを追加したり、メモまたはドキュメントでそれらを補完したりできます。全般的な情報は、省略可能です。

  1. ノードにラベルを追加するには、プロパティ・ビューで「全般」タブを選択し、「ラベル」フィールドにユニークな識別文字列を入力します。入力したラベルは、分割-結合エディタでノードの下に表示されます。

  2. 「ドキュメント」フィールドに重要なノートを入力します。

2.9.8 割当ての作成

割当ては、変数の初期化や更新などのデータ操作に使用されます。割当てツール・バーから追加できる1つまたは複数の操作のセットから構成されます。割当ての構成には、以下の作業が含まれます。

  • 割当て操作の追加および構成

  • 全般的な情報の追加

関連項目

4.22.17項「割当てのプロパティ」

2.9.8.1 割当て操作の追加および構成

割当て操作には、割り当て、コピー、削除、挿入、Javaコールアウト、ログ、および置換があります。各割当ては、これらの1つまたは複数の操作から構成されます。この操作をデザイン・パレット・ビューから追加できます。


注意:

分割-結合エディタの割当て操作は、基本的には、Eclipseメッセージ・フロー・エディタの対応するアクションと同じです。ただし、重要な相違点の1つとして、XQuery、XSLTまたはXPathエディタを使用して、分割-結合コンテキストの式を編集する場合に、使用可能なのは、分割-結合に対して内部である変数およびネームスペースのみであるという点があります。


各操作の簡単な説明を以下に示します。

  • 変数にXQuery式の結果を割り当てます。

    割当ての構成の詳細は、4.22.17項「割当てのプロパティ」を参照してください。

  • XPath式で指定された情報を、ソース・ドキュメントから、宛先ドキュメントにコピーします。(これは、分割-結合に固有の操作で、2.9.8.1.2項「コピー操作の追加」で説明されるようにEclipseメッセージ・フロー・エディタでは対応するアクションはありません)。

  • XPath式で指定されたノードのセットを削除します。


    注意:

    Oracle Service Busの削除とは異なり、変数全体ではなくXPath式のみを分割-結合から削除できます。

    削除操作の構成の詳細は、4.22.19項「削除のプロパティ」を参照してください。


  • XPath式で選択したノードを基準として特定された場所にXQuery式の結果を挿入します。

    挿入操作の構成の詳細は、4.22.20項「挿入のプロパティ」を参照してください。

  • Javaコールアウトにより、検証、トランスフォーメーション、およびロギングなどの処理のJavaメソッドを呼び出すことができます。

    Javaコールアウト操作の構成の詳細は、4.22.21項「Javaコールアウトのプロパティ」を参照してください。

  • ログにより、サーバー・ログ・ファイルに分割-結合データを特定の重大度でログできます。

    ログ操作の構成の詳細は、4.22.22項「ログのプロパティ」を参照してください。

  • XPath式で指定されたノードまたはノードのコンテンツを置き換えます。

    置換操作の構成の詳細は、4.22.23項「置換のプロパティ」を参照してください。

2.9.8.1.1 割当てへの操作の追加

割り当てへの操作の追加には、次のステップが含まれます:

  1. デザイン・パレットから操作を分割-結合エディタの割当てノードにドラッグします。

  2. プロパティ・ビューで、操作を構成します。

  3. 分割-結合を保存します。

操作を選択し、プロパティ・ビューでプロパティを変更することで操作を編集できます。

2.9.8.1.2 コピー操作の追加

コピー操作を使用すると、Xpath式で指定された情報を、ソース・ドキュメントから、宛先ドキュメントにコピーできます。これは、分割-結合エディタに固有の操作です。割当てへのコピー操作の追加には、次のステップが含まれます:

  1. デザイン・パレットから割当てにコピー操作を追加します。

  2. プロパティ・ビューで、「Copy From」のタイプと「Copy To」のタイプを選択します。

  3. タイプが式の場合は、式を手動で入力するか、または、「Browse」をクリックして、XQuery式ビルダーを起動します。

  4. タイプが変数の場合は、目的の要素までドリル・ダウンして、選択します。下の「問合せ」フィールドに、結果として生じる問合せが表示されます。

  5. 「コピー元の選択」のタイプがリテラルの場合は、テキスト・フィールドにリテラルを入力します。

  6. 「コピー元の選択」のタイプがXMLフラグメントの場合は、テキスト・フィールドにフラグメントを入力(または貼付け)します。

2.9.8.2 全般的な情報の追加

全般的な情報は、ノードをより理解しやすくするために役立ちます。全般的な情報では、ノードにユニークなID、またはラベルを追加したり、メモまたはドキュメントでそれらを補完したりできます。全般的な情報は、省略可能です。

  1. ノードにラベルを追加するには、プロパティ・ビューで「全般」タブを選択し、「ラベル」フィールドにユニークな識別文字列を入力します。入力したラベルは、分割-結合エディタでノードの下に表示されます。

  2. 「ドキュメント」フィールドに重要なノートを入力します。

2.9.9 サービスの呼出し

サービスを呼び出す操作を使用して、外部、WSDLベースのビジネス・サービス、WSDLベースのプロキシ・サービス、および分割-結合を呼び出すことができます。サービスを呼び出すの構成には、以下の作業が含まれます。

  • 操作の選択

  • 入力変数および出力変数の定義

  • 全般的な情報の追加

関連項目

2.9.9.1 操作の選択

サービスを呼び出すで使用する操作を選択する必要があります。入力変数および出力変数を定義する前に、この操作を選択する必要があります。操作を選択するには、以下の手順を実行します。

  1. デザイン・パレットからサービスを呼び出す操作を分割-結合に追加します。

  2. プロパティ・ビューの「Operations」タブで「Browse」をクリックし、サービス・ブラウザを起動します。

  3. サービス・ブラウザで、必要なサービスまでドリル・ダウンして、バインディングを選択してから操作を選択します。

  4. 「OK」をクリックします。選択された操作とそのサービスの場所がプロパティ・ビューに表示されます。


    注意:

    プロパティ・ビューで「サービスの場所」をクリックすると、外部のサービス・ファイルが開かれます。


2.9.9.2 入力変数および出力変数の定義

サービスを呼び出すには、一方向呼出しでない限り、入力変数および出力変数の両方が必要です。これらの変数を構成する手順は、基本的には同じです。いずれのタイプの変数も、グローバル(分割-結合全体で使用可能)にすることも、ローカル(特定のコンテキストのスコープ内で使用可能)にすることもできます。入力変数または出力変数を定義するには、以下の手順を実行します。

プロパティ・ビューの「入力変数」タブと「出力変数」タブでそれぞれのメッセージ変数を定義します。これには2通りの方法があります。

  • 「メッセージ変数」メニューから既存の変数を選択します。

  • 新しいメッセージ変数を作成します(以下の手順を参照)。


注意:

前に選択した操作に関連付けられているメッセージ変数がない場合は、新しいメッセージ変数を作成する必要があります。


新しいメッセージ変数を作成するには、次の手順を実行します。

  1. 「Message Variable」メニューから「Create Message Variable」を選択します。「Create Variable」ダイアログが表示されます。

  2. 変数の名前を指定します。

  3. 変数をグローバルまたはローカルにします。グローバル変数は、分割-結合全体でアクセスできますが、ローカル変数は、現在のスコープ内に制限されます。

変数を定義すると、プロパティ・ビューに「メッセージ・タイプ・ネームスペース」と「メッセージ・タイプ」が自動的に表示されます。

2.9.9.3 全般的な情報の追加

全般的な情報は、ノードをより理解しやすくするために役立ちます。全般的な情報では、ノードにユニークなID、またはラベルを追加したり、メモまたはドキュメントでそれらを補完したりできます。全般的な情報は、省略可能です。

  1. ノードにラベルを追加するには、プロパティ・ビューで「全般」タブを選択し、「ラベル」フィールドにユニークな識別文字列を入力します。入力したラベルは、分割-結合エディタでノードの下に表示されます。

  2. 「ドキュメント」フィールドに重要なノートを入力します。

2.9.10 パラレルの作成

パラレルは、固定数の構成済パラレル・ブランチを作成します。各ブランチは、任意の数のノードを含めることができるそれぞれのスコープを持ちます。パラレルの構成には、次のタスクを含めることができます。

  • ノードの追加

  • 全般的な情報の追加

関連項目

2.9.10.1 ノードの追加

パラレルは、基本的には、固定数の処理ブランチのプレースホルダーであり、各ブランチは、それぞれのスコープを持ちます。デフォルトでは、2つのブランチが自動的に生成されます。個々のスコープには、構成に応じて、ユニークな処理ロジックを含めることができます。これは、適切なノードをスコープにドラッグするだけで行えます。「スコープの追加」ボタンを使用して、追加のブランチを追加できます。

図2-8 「Add Scope」ボタン

図2-8の説明が続きます
「図2-8 「Add Scope」ボタン」の説明

2.9.10.2 全般的な情報の追加

全般的な情報は、ノードをより理解しやすくするために役立ちます。全般的な情報では、ノードにユニークなID、またはラベルを追加したり、メモまたはドキュメントでそれらを補完したりできます。全般的な情報は、省略可能です。

  1. ノードにラベルを追加するには、プロパティ・ビューで「全般」タブを選択し、「ラベル」フィールドにユニークな識別文字列を入力します。入力したラベルは、分割-結合エディタでノードの下に表示されます。

  2. 「ドキュメント」フィールドに重要なノートを入力します。

2.9.11 For Eachの作成

For Eachは、リクエストの数に応じて反復する条件付きロジックを作成するために使用します。これは、主に動的な分割-結合を作成するために使用されます。For Eachの構成には、以下の作業があります。

  • For Eachロジックの定義

  • 全般的な情報の追加

関連項目

2.9.11.1 For Eachロジックの定義

For Eachロジックを定義するには:

  1. 分割-結合にFor Eachノードを追加し、選択します。

  2. プロパティ・ビューで、「Counter Variables」タブを選択し、パラレル・プロパティを「Yes」または「No」に設定します。「Yes」を選択した場合、個別のブランチは並行処理されます。「いいえ」を選択した場合、個別のブランチは順次処理されます。

  3. 「Counter Name」リンクをクリックしてカウンタ変数名を定義します。

  4. 「Start Counter Value」を入力します。必要に応じて、「Browse」ボタンを使用してXPath式ビルダーで新しい値を作成します。


    注意:

    カウンタの最も小さな開始値は「1」です。


  5. 「Final Counter Value」を入力します。必要に応じて、「Browse」ボタンを使用してXPath式ビルダーで新しい値を作成します。


    注意:

    カウンタの最も小さな開始値は「1」です。


2.9.11.2 全般的な情報の追加

全般的な情報は、ノードをより理解しやすくするために役立ちます。全般的な情報では、ノードにユニークなID、またはラベルを追加したり、メモまたはドキュメントでそれらを補完したりできます。全般的な情報は、省略可能です。

  1. ノードにラベルを追加するには、プロパティ・ビューで「全般」タブを選択し、「ラベル」フィールドにユニークな識別文字列を入力します。入力したラベルは、分割-結合エディタでノードの下に表示されます。

  2. 「ドキュメント」フィールドに重要なノートを入力します。

2.9.12 Ifアクティビティの作成

If条件は、分割-結合内で条件付きロジックを提供するために使用されます。If条件全体の動作を決定する多数のノードから構成されます。各ノードを個別に構成する必要があります。Ifアクティビティを作成すると、アクティビティ内にIfおよびElseが自動的に生成されます。Else Ifの追加ボタンを使用して、Else Ifノードを無制限に追加できます。

図2-9 「Add Else If」ボタン

図2-9の説明が続きます
「図2-9 「Add Else If」ボタン」の説明

Ifアクティビティの構成には、以下の作業が含まれます。

  • Ifの構成

  • Else Ifの追加および構成

  • Elseの構成

関連項目

2.9.12.1 Ifの構成

Ifは、Ifアクティビティ全体内で、1つの条件付きロジックを提供します。これは、Ifアクティビティを作成すると自動的に生成されます。Ifの構成には、以下の作業が含まれます。

  • 条件のロジックの記述

  • 結果としてのノードの追加

  • 全般的な情報の追加

関連項目

2.9.12.1.1 条件のロジックの記述

Ifアクティビティは、XPath式で定義された条件付きロジックを実行します。この条件を「Condition」タブの「Condition」テキスト・フィールドに入力するか、または「Browse」ボタンをクリックし、式ビルダーを起動して、式を書き込みます。

2.9.12.1.2 結果としてのノードの追加

Ifロジックの条件に合致した場合、結果として1つまたは一連のノードが実行されます。結果としてのノードを追加および構成するには、それらのノードを、「If」アイコンの下のドロップ・ポイントに順番にドラッグします。

2.9.12.1.3 全般的な情報の追加

全般的な情報は、ノードをより理解しやすくするために役立ちます。全般的な情報では、ノードにユニークなID、またはラベルを追加したり、メモまたはドキュメントでそれらを補完したりできます。全般的な情報は、省略可能です。

  1. ノードにラベルを追加するには、プロパティ・ビューで「全般」タブを選択し、「ラベル」フィールドにユニークな識別文字列を入力します。入力したラベルは、分割-結合エディタでノードの下に表示されます。

  2. 「ドキュメント」フィールドに重要なノートを入力します。

2.9.12.2 Else Ifの追加および構成

Else Ifは、If全体のコンテキスト内で、追加のロジックを提供するために使用されます。「Add Else If」ボタンを押して、いつでもElse Ifを追加できます。

図2-10 「Add Else If」ボタン

図2-10の説明が続きます
「図2-10 「Add Else If」ボタン」の説明

Else Ifの構成には、以下の作業が含まれます。

  • 条件のロジックの記述

  • 結果としてのノードの追加

  • 全般的な情報の追加

関連項目

2.9.12.2.1 条件のロジックの記述

Else Ifは、XPath式で定義された条件付きロジックを実行します。この条件を「Condition」タブの「Condition」テキスト・フィールドに入力するか、または「Browse」ボタンをクリックし、式ビルダーを起動して、式を書き込みます。

2.9.12.2.2 結果としてのノードの追加

Else Ifロジックの条件に合致した場合、結果として1つまたは一連のノードが実行されます。結果としてのノードを追加および構成するには、それらのノードを、「Else If」アイコンの下のドロップ・ポイントに順番にドラッグします。

2.9.12.2.3 全般的な情報の追加

全般的な情報は、ノードをより理解しやすくするために役立ちます。全般的な情報では、ノードにユニークなID、またはラベルを追加したり、メモまたはドキュメントでそれらを補完したりできます。全般的な情報は、省略可能です。

  1. ノードにラベルを追加するには、プロパティ・ビューで「全般」タブを選択し、「ラベル」フィールドにユニークな識別文字列を入力します。入力したラベルは、分割-結合エディタでノードの下に表示されます。

  2. 「ドキュメント」フィールドに重要なノートを入力します。

2.9.12.3 Elseの構成

Elseアクティビティは、If全体のコンテキスト内で、ロジックの最後の段階を提供します。これは、Ifが作成されるときに、自動的に生成されます。Elseの構成には、以下の作業が含まれます。

  • 結果としてのノードの追加

  • 全般的な情報の追加

関連項目

2.9.12.3.1 結果としてのノードの追加

Ifのロジックにおける最後の段階であるため、Elseでは、実行するために条件に合致する必要はありません。呼び出されると、自動的に、結果としてのアクティビティが実行されます。結果としてのノードを追加および構成するには、それらのノードを、「Else」アイコンの下のドロップ・ポイントに順番にドラッグします。

2.9.12.4 全般的な情報の追加

全般的な情報は、ノードをより理解しやすくするために役立ちます。全般的な情報では、ノードにユニークなID、またはラベルを追加したり、メモまたはドキュメントでそれらを補完したりできます。全般的な情報は、省略可能です。

  1. ノードにラベルを追加するには、プロパティ・ビューで「全般」タブを選択し、「ラベル」フィールドにユニークな識別文字列を入力します。入力したラベルは、分割-結合エディタでノードの下に表示されます。

  2. 「ドキュメント」フィールドに重要なノートを入力します。

2.9.13 エラー・ハンドラの作成

エラー・ハンドラは、エラーを受信して、処理します。開始ノードにアタッチされている場合は、「グローバル」エラー・ハンドラであり、すべてのローカルのエラー生成ノードの出力に対して、すべてをキャッチします。スコープにアタッチされている場合は、ローカルで発生したエラーのみを処理します。エラー・ハンドラを作成するには、次の手順を実行します。

  1. エラー・ハンドラの追加先である開始ノードまたはスコープ・ノードを選択します。

  2. 選択済アイコンを右クリックし、「Add Catch」または「Add CatchAll」を選択します。

  3. SOAPフォルトを呼び出す場合は、プロパティ・ビューの「Catch All」タブで「SOAP Fault Variable Name」を選択し、エラー・ハンドラに関連付けられるSOAPフォルト変数を定義します。

基本的なエラー・ハンドラは構成されましたが、レスポンスを送信する前に受信したエラーでロジックを実行するかどうかに応じて、エラー・ハンドラにその他の割り当て、If、および返信ノードを追加する必要がある場合があります。

関連項目

2.9.14 「エラーを発生させる」の作成

「エラーを発生させる」は、分割-結合の通常の処理を停止させるエラーを発生させます。エラー・ハンドラを使用せずにエラーが処理されると、分割-結合は終了し、Oracle Service Busメッセージ・フローにエラーが送信されます。「エラーを発生させる」の構成には、「一般情報」タブへのエラーの性質の入力が含まれます(オプション)。

エラー・ハンドラに「エラーを再発生させる」操作も追加できます。構成では、ラベルの変更とドキュメントの追加を行います。

関連項目

4.22.11項「エラーの生成のプロパティ」

全般的な情報は、ノードをより理解しやすくするために役立ちます。全般的な情報では、ノードにユニークなID、またはラベルを追加したり、開発者のメモまたはドキュメントでそれらを補完したりできます。全般的な情報は、省略可能です。

  1. ノードにラベルを追加するには、プロパティ・ビューを開き、「Label」フィールドに一意の識別文字列を入力します。入力したラベルは、キャンバス領域のノード・アイコンの下に表示されます。

  2. 「ドキュメント」フィールドに重要なノートを入力します。

2.9.15 返信の構成

新しい分割-結合を作成するたびに、グローバルな返信が自動的に生成されます。グローバルな返信の目的は、呼び出しているOracle Service Busメッセージ・フローに、レスポンスを送り返すことです。ただし、返信を分割-結合でのエラー・ハンドラ内、または他の場所にも生成できます。返信の構成には、以下の作業が含まれます。

  • 操作の表示

  • 返信変数の定義

  • 全般的な情報の追加

関連項目

4.22.6項「返信のプロパティ」

2.9.15.1 操作の表示

操作は、分割-結合全体に対して最初に選択されたWSDLに基づきます。これは、参照用としてプロパティ・ビューに表示されています。

2.9.15.2 返信変数の定義

返信は、変数の構成に応じて、レスポンスまたはフォルトをクライアントに送り返すことができます。使用できるエラーのオプションは、返信がグローバルかローカルかによって異なります。

  • グローバルな返信(つまり、分割-結合でのエラー・ハンドラの外に生成される返信)には、SOAPフォルトは含まれませんが、WSDLフォルトが含まれる場合があります。これは、SOAPフォルト・オプションは常に無効になっているためです。

  • ローカルな返信(つまり、エラー・ハンドラにアタッチされた返信)は、WSDLフォルトまたはSOAPフォルトを持つことができます。WSDLフォルトは、分割-結合の基盤となるWSDLで定義されている場合にのみ使用できます。SOAPフォルトは、以前にエラー・ハンドラで定義されていれば、常に使用することができます。


    注意:

    「Response」および「Fault」ボタンを使用して切り替えると、それぞれの構成がクリアされます。たとえば、以前にフォルトの構成で「Propagate SOAP Fault」を選択していて、「Response」の構成に切り替えると、「Propagate SOAP Fault」の選択が解除されます。


上記の使用可能なオプションを考慮して、返信変数に、レスポンスまたはフォルトを選択してください。

レスポンスを選択する場合、レスポンスが割り当てられるメッセージ変数を定義する必要があります。これには2通りの方法があります。

  1. 返信を選択し、プロパティ・ビューで「変数」タブを選択します。

  2. 「メッセージ変数」メニューから既存の変数を選択します。

  3. 新しいメッセージ変数を作成します(以下の手順を参照)。


    注意:

    前に選択した操作に関連付けられているメッセージ変数がない場合は、新しいメッセージ変数を作成する必要があります。


新しいメッセージ変数を作成するには、「Message Variable」メニューから「Create Message Variable」を選択します。「Create Variable」ダイアログが表示されます。

  1. 変数の名前を指定します。

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

変数を定義すると、プロパティ・ビューに「メッセージ・タイプ・ネームスペース」と「メッセージ・タイプ」が自動的に表示されます。

「Fault」を選択する場合は、「WSDL Fault」または「SOAP Fault」の伝播を選択する必要があります。


注意:

状況によっては、フォルトが使用できない、またはSOAPフォルトしか使用できない場合があります。前述の注意を参照してください。


WSDLフォルトを選択する場合、フォルトを名前で指定し、フォルトが割り当てられるメッセージ変数を定義する必要があります。

  1. 「WSDL Fault Name」を選択し、使用可能なものの中から名前を選択します。


    注意:

    使用できる名前が1つしかない場合があります。その場合は選択する必要はありません。


  2. メッセージ変数を定義します。これには2通りの方法があります。

    1. 「メッセージ変数」メニューから既存の変数を選択します。

    2. 新しいメッセージ変数を作成します(以下の手順を参照)。


      注意:

      以前に選択した操作に関連付けられているメッセージ変数がない場合は、新しいメッセージ変数を作成する必要があります。


新しいメッセージ変数を作成するには、「Message Variable」メニューから「Create Message Variable」を選択します。「Create Variable」ダイアログが表示されます。

  1. 変数の名前を指定します。

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

変数を定義すると、プロパティ・ページに「メッセージ・タイプ・ネームスペース」と「メッセージ・タイプ」が自動的に表示されます。

「SOAPフォルトの伝播」を選択すると、親エラー・ハンドラで指定されているSOAPフォルトが、返信で自動的に伝播されます。他に構成するものはありません。

2.9.15.3 全般的な情報の追加

全般的な情報は、ノードをより理解しやすくするために役立ちます。全般的な情報では、ノードにユニークなID、またはラベルを追加したり、メモまたはドキュメントでそれらを補完したりできます。全般的な情報は、省略可能です。

  1. ノードにラベルを追加するには、プロパティ・ビューで「全般」タブを選択し、「ラベル」フィールドにユニークな識別文字列を入力します。入力したラベルは、分割-結合エディタでノードの下に表示されます。

  2. 「ドキュメント」フィールドに重要なノートを入力します。

2.9.16 スコープについて

スコープは、様々な要素をまとめるコンテナです。このコンテナは、それに含まれる要素の動作に影響を与えるコンテキストを作成します。スコープ内に定義されているローカル変数およびエラー・ハンドラは、このコンテキストに制限されます。ただし、スコープ内の一部のノードは、ローカル(スコープ内)にも、グローバル(スコープ外)にも動作する場合があります。たとえば、特定のスコープ内に呼び出したサービスにより、そのスコープのコンテキストの外のサービスが呼び出される場合もあります。

2.9.16.1 スコープと変数

変数は定義されるスコープ内やそのスコープ内にネストされたすべてのスコープに表示できますが、外部のスコープに宣言される変数と同じ名前の変数が内部のスコープに宣言される場合、外部のスコープの変数が非表示になります。たとえば、外部のスコープ(So)にmyVarという変数を定義した後、外部のスコープにある内部のスコープ(Si)にもmyVar変数を定義する場合、内部のスコープ(Si)に定義したmyVarにのみアクセスできます。このmyVarにより、スコープSo.で定義されたmyVarがオーバーライドされます。

関連項目

4.22.14項「スコープのプロパティ」

2.9.17 分割-結合のエクスポートとテスト

トランスポート型ビジネス・サービスと関連付けられているOracle Service Busサーバーである場合、Oracle Service Busサーバー上で分割-結合のエクスポートとテストを実行できます。分割-結合のエクスポートとテストには、以下の手順があります。

  • トランスポート型ビジネス・サービスの作成

  • 分割-結合ファイルのエクスポート

  • テスト・コンソールによる分割-結合のテスト

2.9.17.1 トランスポート型ビジネス・サービスの作成

分割-結合は、特定のトランスポート型ビジネス・サービスで使用されます。適切なビジネス・サービスがない場合、分割-結合のエクスポートやテストを行う前に、ビジネス・サービスを作成する必要があります。ビジネス・サービスの作成には、次の2通りの方法があります。

  1. EclipseまたはOracle Service Bus管理コンソールでビジネス・サービスを手動で作成します。

  2. 分割-結合(..flow)のメニューからビジネス・サービスを次のように自動的に作成します。

    1. プロジェクト・エクスプローラで分割-結合(..flow)ファイルを右クリックし、「分割-結合」メニューを開きます。

    2. 「Oracle Service Bus」を選択します。

    3. 「Generate Business Service」を選択します。

    4. 新しいサービスに名前を付け、プロジェクトに保存します。

      命名ガイダンスについては2.1.1項「リソースの命名制限」を参照してください。

ビジネス・サービスが作成されると、エラーがなければ、分割-結合をエクスポートできます。


注意:

関連するビジネス・サービスを分割-結合として同じOracle Service Busプロジェクトに置いておくと作業上便利です。また、関連付けが容易になるように、ビジネス・サービスに分割-結合と同じ名前を付けておくことも役に立ちます。


2.9.17.2 分割-結合ファイルのエクスポート

エラーがなければ、分割-結合をOracle Service Busサーバーにエクスポートできます。


注意:

エラーは分割-結合エディタの「問題」ビューに表示されます。エラーのある分割-結合をエクスポートしようとすると、エクスポートは失敗します。


分割-結合のエクスポートには、次の3通りの方法があります。

  1. ビジネス・サービスのメニューからのエクスポート

  2. 自動エクスポート

  3. 手動エクスポート

2.9.17.2.1 ビジネス・サービスのメニューからのエクスポート

ビジネス・サービスのメニューから分割-結合を直接エクスポートすることができます。この方法によるエクスポートではOracle Service Busテスト・コンソールが自動的に起動されるため、エクスポートとテストの両方を行う場合に便利です。ビジネス・サービスのメニューからのエクスポートには、次のステップが含まれます:

  1. プロジェクト・エクスプローラで、エクスポートまたはテストを行うためにビジネス・サービス(..bizファイル)を右クリックします。

  2. 「Run as」を選択します。

  3. 「Run on server」を選択します。「Run on server」ダイアログが開きます。

  4. 既存のサーバーを選択するか、新しいサーバーを定義して、次の手順に進みます。

  5. 「プロジェクトの追加と除去」ウィンドウでは、ビジネス・サービスを含むOracle Service Busプロジェクトと、その他のすべての依存ファイルが構成とエクスポート用にあらかじめ選択されています。依存ファイルなしでビジネス・サービスをテストすることはできないので、これらのファイルは削除できません。そのため、分割-結合全体がエクスポートされます。

  6. 「終了」を選択すると、Oracle Service Busテスト・コンソールが起動します。これで、ビジネス・サービスのテストができるようになりました。

2.9.17.2.2 自動エクスポート

分割-結合はOracle Service Busサーバーに自動的にエクスポートできます。この方法を使用する場合、エクスポートされたファイルをテストするには、手動でOracle Service Bus管理コンソールを起動する必要があります。自動エクスポートには、次のステップが含まれます:

  1. 「File」→「Export」を選択します。

  2. 「Oracle Service Bus」を選択します。

  3. 「Resources to Oracle Service Bus Server」を選択します。これにより、リソースがOracle Service Busサーバーにエクスポートされますが、Oracle Service Busテスト・コンソールは起動されません。Oracle Service Bus管理コンソール・アプリケーション内でテスト・コンソールを手動で起動する必要があります。

2.9.17.2.3 手動エクスポート

分割-結合はOracle Service Busサーバーに手動でエクスポートできます。この方法を使用する場合、エクスポートされたファイルをテストするには、手動でOracle Service Bus管理コンソールを起動する必要があります。手動エクスポートには、次のステップが含まれます:

  1. 「File」→「Export」を選択します。

  2. 「Oracle Service Bus」を選択します。

  3. 「Resources as Configuration JAR」を選択し、次の手順に進みます。

  4. 「Oracle Service Bus構成Jarエクスポート」ウィンドウで、以下のオプションを構成します。

    1. エクスポートするファイルを含んでいるOracle Service Bus構成ファイルを選択します。

    2. プロジェクト全体をエクスポートするのか、個別のファイルをエクスポートするのかに応じて、「Export Level」を「Project」または「Resource」に設定します。エクスポート・レベルに基づいて、下にあるツリーで選択できるものが変化します。

    3. 構成JARにエクスポートされるプロジェクトやリソースを選択します。

    4. 選択したファイルと依存関係にあるすべてのファイルをエクスポートする場合は、「Include Dependencies」を選択します。

    5. エクスポートされたJARファイルの宛先を参照します。

    6. 「終了」をクリックしてJARファイルをエクスポートします。

  5. Oracle Service Bus管理コンソールを通じてJARファイルをインポートします。


    注意:

    EclipseからOracle Service Bus管理コンソールにすばやくアクセスするには、サーバーを右クリックして「Launch Service Bus Console」を選択します。


2.9.17.3 テスト・コンソールによる分割-結合のテスト

分割-結合は、Oracle Service Busテスト・コンソールで、分割-結合を使用するビジネス・サービスを実行することでテストできます。テストは、分割-結合エディタ内に行うか、または分割-結合をOracle Service Busサーバーにエクスポートして行うことができます。IDE内で分割-結合のテストを行うには、分割-結合を使用するビジネス・サービスのメニューを使用して、ファイルをエクスポートする必要があります。

2.9.17.3.1 ビジネス・サービスのメニューからのエクスポート

分割-結合は、ビジネス・サービスのメニューから直接エクスポートしてテストすることができます。この方法を使用する場合、エクスポートはOracle Service Busテスト・コンソールの起動中にバックグラウンドで実行されます。ビジネス・サービスのメニューからのエクスポートには、次のステップが含まれます:

  1. プロジェクト・エクスプローラで、エクスポートまたはテストを行うためにビジネス・サービス(..bizファイル)を右クリックします。

  2. 「次として実行」を選択します。

  3. 「Run on server」を選択します。「Run on server」ダイアログが表示されます。

  4. 既存のサーバーを選択するか、新しいサーバーを定義して、次の手順に進みます。

  5. 「プロジェクトの追加と除去」ウィンドウでは、ビジネス・サービスを含むOracle Service Busプロジェクトと、その他のすべての依存ファイルが構成とエクスポート用にあらかじめ選択されています。ビジネス・サービスは依存ファイルなしではテストできないので、依存ファイルを削除することはできません。

「終了」をクリックすると、Oracle Service Busテスト・コンソールが起動します。これで、ビジネス・サービスのテストができるようになりました。


注意:

この時点では、Oracle Service Busテスト・コンソールのみが表示されていますが、分割-結合全体がOracle Service Busサーバーにエクスポートされています。


2.10 Oracle Service Busデバッガの使用

Oracle Service Busでは、Eclipseデバッグ・フレームワークを拡張して、プロキシ・サービス・メッセージ・フローおよび分割-結合用のデバッグ機能を提供します。

Oracle Service Busデバッガでは、Javaコールアウトを処理できます。また、並列処理を使用する分割-結合でのマルチ・スレッド・デバッグをサポートします。リモート・サーバーでデバッグを実行することもできます。

Oracle Service Busデバッガを使用する2つの方法は次のとおりです。

2.10.1 デバッグの有効化

Oracle Service Busのデバッグは、開発モードで実行されているサーバーで自動的に有効になります。新しいドメインを作成するときは、以下のエントリが<domain>/bin/setDomainEnvスクリプトに追加されます。

set ALSB_DEBUG_FLAG=true

set ALSB_DEBUG_PORT=7453

Oracle Service Busのデバッグ機能を無効にする場合は、ALSB_DEBUG_FLAG=falseを設定します。

本番モードでサーバーを起動する場合、Oracle Service Busのデバッグは自動的に無効になります。

2.10.2 標準デバッグの使用

プロキシ・サービスまたは分割-結合をデバッグするには、それらをデバッグ・モードで実行する必要があります(2.10.3項「Oracle Service Busデバッガ起動構成の使用」で説明されているデバッガ起動構成を使用しない場合)。

プロキシ・サービスまたは分割-結合をデバッグするには

  1. メッセージ・フローまたは分割-結合でブレークポイントを設定して、それらのポイントでのテストの実行を自動的に一時停止します。フロー・エディタでアクションを右クリックし、「Toggle Breakpoint」を選択します。

  2. デバッグ・モードでサーバーを起動します。サーバーの起動時には、Eclipseが、図2-11に示すデバッグ・パースペクティブに自動的に切り替えられます。

  3. プロキシ・サービス・ファイルまたはビジネス・サービス・ファイルが開いてアクティブな状態で、サーバー上のEclipseで「Run」→「Debug As」→「Debug」を選択します。

    「サーバーでデバッグ」ウィンドウで、Oracle Service Bus構成をデプロイ済のサーバー、または構成をデプロイするサーバーを選択し、ウィザードの手順を完了します。

    「デバッグ」オプションを使用すると、Javaデバッガが自動的に有効になり、サービスのJavaコールアウトを処理できます。

  4. Oracle Service Busテスト・コンソールが表示されます。テストを実行します。デバッグ・ビューで実行スレッドを確認し、やり取りを行うことができます。テストを進める場合、デバッガでは、図2-11に示すように、テストの現在のステージがサービスのフロー・ビューで強調表示されます。

テスト・コンソールを使用してサービスのテストを実行したり、デバッガを使用したりする必要はありません。また、JMSメッセージを書き込む方法や、ファイル・プロキシ・サービスのディレクトリ内のファイルを削除する方法でサービスを実行することもできます。

リモート・サーバーでデバッグする場合は、そのリモート・サーバーでサービスを実行し、デバッグ・ビューでテストを行います。リモート・サーバーがデバッグ・モードではなく通常モードで実行されている場合は、 2.10.3項「Oracle Service Busデバッガ起動構成の使用」で説明されているデバッガ起動構成を使用します。

Oracle Service Busデバッガの様々なデバッグ・ビューの詳細は、2.10.2.1項「デバッグ・ビュー」を参照してください。

2.10.2.1 デバッグ・ビュー

このセクションでは、サービスのデバッグ時に使用できる様々なビュー(図2-11)について説明します。

図2-11 プロキシ・サービスのデバッグ

図2-11の説明が続きます
「図2-11 プロキシ・サービスのデバッグ」の説明

デバッグ・パースペクティブには、サービスのデバッグに使用する以下の主要なビューがあります。

  • デバッグ・ビュー - デバッグ・ビューには、Oracle Service Bus呼出しスタックと現在の実行スレッドが表示されます。また、デバッグ・ビューには、現在の場所からテストを再開したり、ステップ・アクション(ステップ・イン、ステップ・オーバー、ステップ・リターン)を実行したりするためのツール・バーがあります。テストを行うときに、ローカル・サービスをテストしている場合は、現在の操作がサービスのフロー・ビューで強調表示されます。コンソール・ビューにはエラーが表示されます。

  • コンソール・ビュー - コンソール・ビューには、サーバー・メッセージ(サービスの実行時に発生した実行時エラー)が表示されます。

  • 変数ビュー - 変数ビューには、テストの各ステージのサービスの変数名と値が表示されます。デバッグ時には、変数が読取り専用になります。現在の変数と値を確認するには、特定のブレークポイントで呼出しスタックを選択します。

  • ブレークポイント・ビュー - ブレークポイント・ビューには、サービスのフローに手動で挿入したブレークポイントが一覧表示されます。テストは各ブレークポイントで停止するので、そのポイントでのテストの状態を確認できます。ブレークポイント・ビューでは、ブレークポイントの有効と無効を切り替えることができます。ブレークポイントの選択を解除して無効にすると、ブレークポイントはそのまま残りますが、デバッガで無視されます。

  • サービス・エディタ、フロー・ビュー - テストを行うときに、ローカル・サービスをテストしている場合は、テストの進行状況がサービスのフロー・ビューで視覚的に強調表示されます。また、フロー・ビューには、設定済のブレークポイントが表示されます(サービスのフロー・ビュー・エディタでアクションを右クリックし、「Toggle Breakpoint」を選択します)。

  • Oracle Service Busテスト・コンソール - テスト・コンソールでは、ローカルのプロキシ・サービスとビジネス・サービスを実行できます。テスト・コンソールの使用の詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のテスト・コンソールの使用に関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBAG357)を参照してください。

2.10.2.2 ステップ・アクションとブレークポイント

Eclipseデバッグ・フレームワークを使用すると、デバッグ・コードに対してステップ・アクションを実行してインクリメンタルにデバッグできます。Eclipseヘルプ・システムの「実行制御コマンド」を参照してください(Java開発のユーザーズ・ガイド)。

ステップ・アクションを使用してデバッグする場合でも、Oracle Service Busデバッガは設定済の各ブレークポイントで停止し、実行される現在のステップ・アクションを無視します。

2.10.3 Oracle Service Busデバッガ起動構成の使用

Oracle Service Busデバッガ環境をより詳細に手動で制御する場合は、Oracle Service Busデバッガ起動構成を使用します。起動構成はEclipseの機能です。Oracle Service Busデバッガ起動構成では、「デバッグ」オプションによるデバッガの実行の自動化(デバッグ・パースペクティブの起動、デバッグ・モードでのサーバーの再起動、Javaデバッガの起動)が行われず、ノーマル・モードまたはデバッグ・モードで実行されているサーバーで、必要に応じてデバッガを接続および切断できます。

JavaデバッガをOracle Service Busデバッガと共に使用してJavaコールアウトを処理する場合は、サーバーがデバッグ・モードで実行されている必要があります。

Oracle Service Busデバッガ起動構成を使用するには

  1. プロキシ・サービス・メッセージ・フローまたは分割-結合にブレークポイントを設定します。

  2. 通常モードまたはデバッグ・モードでサーバーを起動します。ただし、Javaデバッガを使用してフローからJavaコールアウトを処理する場合は、デバッグ・モードでサーバーを起動します。

  3. Eclipseのメニューで「Run」→「Debug Configurations」を選択します。

  4. 「Oracle Service Bus Debugger」をダブルクリックします。「New_configuration」というサブ項目が表示されます。この手順は、作成するデバッグ構成ごとに1回だけ実行します。

    右ペインにデフォルトのサーバーとポートが表示されます。このポートが、ドメインのsetDomainEnvスクリプトのALSB_DEBUG_PORTの値と一致するようにしてください。

    右ペインでは、デバッグ構成の名前を変更したり、デバッグ・ツール・バーの項目にデバッグ構成をショートカットとして追加したりすることもできます。

    サービスでJavaコールアウトを使用する場合は、「Remote Java Application」をダブルクリックして「New_configuration」を構成することによりJavaデバッガを有効にします。

  5. 起動構成を選択した状態で、「Debug」ダイアログの「Debug」をクリックします。デバッガが接続されます。Javaデバッガも使用する場合は、そのデバッガを選択して「Debug」をクリックします。

  6. デバッグ・パースペクティブまたは必要なデバッグ・ビュー(「デバッグ」、「ブレークポイント」、「変数」など)を開きます。

  7. サービスを実行します。

    • テスト・コンソールでサービスを実行するには、「Run As」→「Run on Server」を使用します。

    • カスタム・テスト・クライアントを使用するなど、他の方法でサービスを実行することもできます。

  8. テストを行います。

デバッガを切断するには、「切断」アイコンをクリックします。「デバッグ」ダイアログでデバッガを再接続します。そのためには、起動構成を選択し、「デバッグ」をクリックするか、または前に説明した手順に従ってデバッグ・ツール・バーの項目にショートカットを作成します。

2.10.3.1 リモート・デバッグ

リモート・サービスをデバッグする場合は、サーバー構成ウィンドウ(「Debug As」)でリモート・サーバーを選択するか、または起動構成でリモート・サーバーとポートを設定できます。デバッガをリモート・サーバーに接続したら、リモート・サーバーでサービスを実行し、ローカルのデバッグ・パースペクティブでテストを行います。

2.10.3.2 管理対象サーバーでスタンドアロンで実行するOracle Service Busのデバッグ

非クラスタ環境の管理対象サーバーにおいてスタンドアロンで実行するOracle Service Busインスタンスをデバッグする場合は、次の手順を実行します。

  1. Eclipseの「Servers」ビューで、Oracle Service Busの管理対象サーバーが所属するドメインのサーバーを追加します。

  2. ドメインの管理サーバーとOracle Service Bus管理対象サーバーの両方が実行していることを確認します。

    管理サーバーは、デバッグ・モードではなく標準モードで実行する必要があります。

  3. 2.10.3項「Oracle Service Busデバッガ起動構成の使用」のデバッグ構成およびデバッグ手順に従います。

    Javaアプリケーション削除構成を設定してJavaコールアウトをテストする場合、構成のターゲットとして管理対象サーバーを指定してください。

2.10.3.3 サーバー共有

複数のユーザーが1つのサーバー・インスタンスを共有してデバッグする場合、デバッガに接続できるユーザーは一度に1人だけです。他のユーザーがデバッガに接続しようとしても、接続拒否エラーが発生します。