Oracle® Fusion Middleware Oracle WebLogic Server Application Adapterベスト・プラクティス・ガイド 11g リリース1(11.1.1.3.0) B61420-01 |
|
前 |
次 |
この章では、すべてのOracle Application Adapters for Oracle WebLogic Serverに共通する一般的なベスト・プラクティスについて説明します。内容は次のとおりです。
Oracle WebLogic Server (WLS)は、iWay J2CAリソース・アダプタへの接続のプールを作成し、維持します。これらは管理対象接続と呼ばれます。管理対象接続はそれぞれ、(アダプタ・ターゲットとして公開された)バックエンドのエンタープライズ情報システム(EIS)システムへの固有の接続セットを維持します。このセットは最初は空ですが、その管理対象接続を使用しているSOAプロセスが実行されて特定のアダプタ・ターゲット接続がリクエストされると移入されます。
管理対象接続は、特定のアダプタ・ターゲットへの接続を1つのみ維持し、そのターゲットへの接続がリクエストされるたびにその接続を再利用します。WLSが管理対象接続を破棄すると、管理対象接続はその内部EIS接続すべてをクローズします。
以降の手順で、複数のiWayアダプタ・ターゲットへの参照を含むSOAプロセスを使用するシナリオを例に挙げて詳しく説明します。
SOAプロセスがiWayリソース・アダプタ(eis/OracleJCAAdapter/DefaultConnection)への管理対象接続をリクエストし、Managed1という新しい空の管理対象接続を受け取ります。
SOAプロセスは、Managed1を使用して、アダプタ・ターゲットMySAP/SAP1のサービスを呼び出します。
Managed1は新しいMySAPアダプタ・インスタンスを作成してターゲットSAP1に対してアクティブ化し、その内部EIS接続セットに追加します。
サービスが呼び出されてレスポンスが返され、SOAプロセスが続行されます。
SOAプロセスは、Managed1を使用して、アダプタ・ターゲットMySAP/SAP2のサービスを呼び出します。
Managed1は新しいMySAPアダプタ・インスタンスを作成してターゲットSAP2に対してアクティブ化し、その内部EIS接続セットに追加します。
サービスが呼び出されてレスポンスが返され、SOAプロセスが続行されます。
SOAプロセスは、Managed1を使用して、アダプタ・ターゲットJDEdwards/JDE1のサービスを呼び出します。
Managed1は新しいJDEdwardsアダプタ・インスタンスを作成してターゲットJDE1に対してアクティブ化し、その内部EIS接続セットに追加します。
SOAプロセスが終了します。WLSはManaged1を接続プールに返します。
SOAプロセスが終了すると、他のSOAプロセスに対してManaged1が使用可能になります。その内部EIS接続(SAP1、SAP2、JDE1)はオープンしたままです。プロセスがManaged1からこれらのターゲットへの接続を次回にリクエストすると、これらの接続が再利用されます。これらは、WLSがManaged1を破棄した場合にのみクローズされます。
図1-1に示すように、WLS管理コンソールで管理対象接続プールを監視できます。
「現在の接続」列は、SOAプロセスの実行などにより現在使用されている管理対象接続の数を表します。この数は、SOAプロセスが実行を開始すると増加し、一定時間非アクティブの状態が続くと減少します。
SOAプロセスは、管理対象接続が必要になると、接続プールから管理対象接続を取得しようとします。使用可能な管理対象接続がない場合、現在の接続数が最大プール・サイズを超えていなければ、新しい接続が作成されます。最大プール・サイズに達していて、使用可能な空きの接続がない場合は、リソース可用性エラーがスローされます。プロセスが終了すると、接続がプールに返されます。
これらの数は、特定のEISへの接続ではなくiWayリソース・アダプタへの接続を表していることに注意してください。1つのiWay管理対象接続には、その使用履歴に応じた数のEIS接続が含まれます。したがって、iWayリソース・アダプタにより使用されているEIS接続の数を調べることはできません。
管理対象接続プールの最大サイズ、最小サイズおよびその他のプール・パラメータは、RARデプロイメント・ディスクリプタ(weblogic-ra.xml)内で設定でき、図1-2に示すように管理コンソールに表示されます。
多数のプール・パラメータがありますが、特定のEISではなくiWayリソース・アダプタへの接続のプールを制御するものなので、その多くは重要ではありません。たとえば、初期プール・サイズを設定すると、空のリソース・アダプタ接続のセット、つまり内部EISを持たないiWay管理対象接続が確立されるのみです。これを行う理由はありません。同様の理由で、「接続の最大追加数」パラメータも特に有用ではありません。
iWayアダプタを使用する場合は、「初期容量」を常に0に設定する必要があります。
注意: 0以外の値は設定できません。 |
設定の中には、すべてのアダプタ・ターゲットに対して暗黙的な影響を与えるものもあります。たとえば、各管理対象接続では固有のアダプタ・ターゲットに対して最大1つの接続しか保持できないため、管理対象接続プールの最大サイズを設定すると、1つのターゲットに対して確立できる最大接続数が暗黙的に設定されます。同様に、管理対象接続の存続期間を定義すると、その接続により作成されるすべてのEIS接続の存続期間が暗黙的に定義されます。ただし、iWayの汎用的なリソース・アダプタを使用して特定のEISターゲットに対する接続プーリングを制御することはできません。
アプリケーション・アダプタは、Oracle WebLogic ServerをSAP R/3やSiebelなどの各種のパッケージ・アプリケーションと統合します。このようなアダプタには、Oracle Application Adapter for PeopleSoft、Oracle Application Adapter for SAP R/3、Oracle Application Adapter for SiebelおよびOracle Application Adapter for J.D. Edwards OneWorldがあります。
この項では、クラスタ環境(のすべての使用可能なSOAノード、この場合は2台のマシン)に11g リリース1(11.1.1.3.0)のOracle Application Adaptersをデプロイし、インバウンド・プロセスおよびアウトバウンド・プロセスを使用するために必要な手順について説明します。
続行する前に、次の前提条件が満たされていることを確認してください。
2台のマシンで高可用性(HA)クラスタ構成を完了しておきます。HAクラスタの構成の詳細は、次の資料を参照してください。
http://download.oracle.com/docs/cd/E12839_01/core.1111/e10106/ha_soa.htm#CHDDAHEC
11g リリース1(11.1.1)から11g リリース1(11.1.1.3.0)にアップグレードします。
最初のマシン(machine1)のドメインを拡張して、BPMを追加します。
machine1から2番目のマシン(machine2)にドメイン構成を圧縮および解凍します。
両方のマシンにOracle Application Adapters 11g リリース1(11.1.1.3.0)をインストールします。
両方のマシンでJ2CA構成をデータベース・リポジトリとして構成します。
デプロイ前に、ra.xmlファイルおよびweblogic-ra.xmlファイルに対して必要な変更を実行します。
J2CAコネクタ・アプリケーションをデプロイするには、次のようにします。
構成されているOracle WebLogic Serverドメインに対してOracle WebLogic Serverを起動します。
両方のマシンに対してSOA_Server1およびSOA_Server2を起動します。
Webブラウザで次のURLを入力してOracle WebLogic Server管理コンソールを開きます。
http://hostname
:port
/console
hostname
はOracle WebLogic Serverが稼働しているマシンの名前、port
は使用しているドメインのポート番号です。
図1-3に示すようなOracle WebLogic Server管理コンソールのログオン・ページが表示されます。
管理者権限を持つアカウントを使用して、Oracle WebLogic Server管理コンソールにログインします。
図1-4に示すようなOracle WebLogic Server管理コンソールのホーム・ページが表示されます。
左ペインの「ドメイン構造」セクションで、「デプロイメント」をクリックします。
図1-5に示すような「デプロイメント」ページが表示されます。
「チェンジ・センター」で「ロックして編集」をクリックします。
「インストール」をクリックします。
図1-6に示すような「アプリケーション・インストール・アシスタント」ページが表示されます。
次のディレクトリを参照します。
C:\oracle\product\fmw\soa\soa\thirdparty\ApplicationAdapters\iwafjca.rar
図1-7に示すように、iwafjca.rarの横のラジオ・ボタンを選択して「次へ」をクリックします。
図1-8に示すような「ターゲット指定スタイルの選択」ページが表示されます。
デフォルトの選択(「このデプロイメントをアプリケーションとしてインストールする」)を受け入れ、「次へ」をクリックします。
図1-9に示すような「デプロイ・ターゲットの選択」ページが表示されます。
「クラスタ」セクションで、「SOA_Cluster」、「クラスタのすべてのサーバー」の順に選択します。
「次へ」をクリックします。
図1-10に示すような「オプション設定」ページが表示されます。
デフォルト値を受け入れ、「次へ」をクリックします。
図1-11に示すような「サマリー」ページが表示されます。
「終了」をクリックします。
J2CA (iwafjca)コネクタ・アプリケーションに表示された「設定」ページで、「保存」をクリックします。
左ペインの「ドメイン構造」セクションで、「デプロイメント」をクリックし、すべてのデプロイ済アプリケーションが一覧表示された表をナビゲートして、J2CA (iwafjca)コネクタ・アプリケーションを見つけます。
図1-12に示すように、iwafjcaの横のチェック・ボックスを選択します。
「開始」サブメニュー(下矢印)をクリックし、「すべてのリクエストを処理」を選択します。
図1-13に示すような「アプリケーション起動アシスタント」ページが表示されます。
「はい」をクリックします。
図1-14に示すように、「デプロイメント」ページでアプリケーションが正常に起動されたことを確認します。
同様に、iwafjca.warデプロイメントに対してステップ5から20までを繰り返します。
アウトバウンド・プロセスを使用するには、Oracle WebLogic Server管理コンソールで次の構成手順を実行する必要があります。
Webブラウザで次のURLを入力してOracle WebLogic Server管理コンソールを開きます。
http://hostname
:port
/console
hostname
はOracle WebLogic Serverが稼働しているマシンの名前、port
は使用しているドメインのポート番号です。
図1-15に示すようなOracle WebLogic Server管理コンソールのログオン・ページが表示されます。
管理者権限を持つアカウントを使用して、Oracle WebLogic Server管理コンソールにログインします。
図1-16に示すようなOracle WebLogic Server管理コンソールのホーム・ページが表示されます。
左ペインの「ドメイン構造」セクションで、「デプロイメント」をクリックします。
図1-17に示すような「デプロイメント」ページが表示されます。
「FileAdapter」をクリックします。
図1-18に示すような「FileAdapterの設定」ページが表示されます。
「構成」タブをクリックし、「アウトバウンド接続プール」タブをクリックします。
図1-19に示すような「アウトバウンド接続プールの構成表」ページが表示されます。
「javax.resource.cci.ConnectionFactory」を展開し、「eis/HAFileAdapter」をクリックします。
図1-20に示すような「javax.resource.cci.ConnectionFactoryの設定」ページが表示されます。
「プロパティ」タブをクリックします。
「controlDir」プロパティの有効な場所を指定し、「保存」をクリックします。
下の図1-21に示すような成功メッセージが表示されているかどうかを確認します。
図1-22に示すように、左ペインの「ドメイン構造」セクションで「デプロイメント」をクリックします。
「デプロイメント」リストから「FileAdapter」を選択し、「更新」をクリックします。
図1-23に示すような「アプリケーション更新アシスタント」ページが表示されます。
このアプリケーションを新しいデプロイメント・プランの変更とあわせた場所に更新しますを選択し、「次へ」をクリックします。
図1-24に示すような「サマリー」ページが表示されます。
「終了」をクリックします。
図1-25に示すような成功メッセージが表示されているかどうかを確認します。
生成されたplan.xmlファイルを最初のマシン(クラスタ構成内の最初のノード)から2番目のマシン(クラスタ構成内の2番目のノード)の同じ場所(Oracle_Home\Middleware\Oracle_SOA1\soa)にコピーします。
サーバー(Admin_Server、SOA_Server1、SOA_Server2)を再起動します。
両方のマシンからアクセス可能な共有入力場所を作成します。
たとえば、入力をこの場所に貼り付けると、machine1およびmachine2が入力を使用できます。
アウトバウンド・プロセスを構成するには、次のようにします。
最初のマシン上に、Application Explorerを使用してターゲットを作成します。
(最初のマシン上の)ターゲットに接続し、Oracle Application Adapter for SAP R/3(MySAPノード)のアウトバウンドWSDLを作成します。
2番目のマシン上に、Application Explorerを使用して、最初のマシンで指定した名前のターゲットを作成します。
両方のマシンで、管理サーバーおよびsoa_serverを再起動します。
下の図1-26に示すように、Oracle JDeveloperを使用して、次のような構成でアウトバウンド・メディエータ・プロセスを作成します。
「Read_file_adapter.jca」ファイルを選択し、次のように変更します。
<connection-factory location="eis/FileAdapter" UIincludeWildcard="*.xml" adapterRef=""/>
を<connection-factory location="eis/HAFileAdapter" UIincludeWildcard="*.xml" adapterRef=""/>
に変更します。
図1-27に示すように、値<property name="MaxRaiseSize" value="5"/>
を末尾に追加します。
プロセスを保存し、両方のSOAサーバーにプロセスをデプロイします。
ファイル読取りアダプタで構成されている入力場所に入力ファイルを指定し、ファイル書込みアダプタで構成されている(2台のマシンの)出力場所で出力が共有および配置されているかどうかを確認します。
インバウンド・プロセスを実行する前に、(PeopleSoft、SiebelおよびJ.D. Edwards OneWorldのアプリケーション・アダプタに対して)次の構成手順を実行する必要があります。
次の場所に移動します。
Oracle_Home
\product\11.1.0\ohs_1\Oracle_WT1\instances\instance1\config\OHS\ohs1
mod_wl_ohs.confファイルを開きます。
両方のマシンについて、IPアドレスおよびポート番号(アダプタのチャネルの作成時に構成されたポート番号)をmod_wl_ohs.confファイルに追加します。
例(PeopleSoftアダプタの場合):
<Location /name
>SetHandler weblogic-handlerWebLogicClustermachine1_ip:port, machine2_ip:port
WLLogFilec:\tmp\psft.log
</Location>
説明:
name
: 適切な名前です。
machine1_ip
およびmachine2_ip
: SOA_Server1およびSOA_Server2が構成されているマシンのIPアドレスです。
port
: machine1およびmachine2のチャネル構成で構成されているポート番号です。
コマンド・プロンプトを開いて、次の場所に移動します。
Oracle_Home
\product\11.1.0\ohs_1\Oracle_WT1\instances\instance1\bin
次のコマンドを使用して、Oracle HTTP Serverを再起動します。
opmnctl restartproc ias-component=ohs1
アダプタ(PeopleSoft、Siebel、JDEdwards)のバックエンドにURLを指定する場合、URLは次の形式にする必要があります。
http://ohsserver_ip
:7777/name
ohsserver_ip
はOracle HTTP ServerがインストールされているマシンのIPアドレス、name
はmod_wl_ohs.confファイル内に構成されている場所の名前です。
インバウンド・プロセスを構成するには、次のようにします。
最初のマシン上に、Application Explorerを使用してターゲットおよびチャネルを作成します。
(最初のマシン上の)ターゲットに接続し、Oracle Application Adapter for SAP R/3(MySAPノード)のインバウンドWSDLを作成します。
2番目のマシン上に、Application Explorerを使用して、最初のマシンで指定した名前のターゲットおよびチャネルを作成します。
両方のマシンで、管理サーバーおよびsoa_serverを再起動します。
1-28に示すように、Oracle JDeveloperを使用して、次のような構成でインバウンド・メディエータ・プロセスを作成します。
プロセスを保存し、(両方のSOAサーバーに)プロセスをデプロイします。
バックエンドからトリガーするか、HTTPパブリッシャを使用し、ファイル書込みアダプタで構成されている(両方のマシンの)出力場所で出力が共有および配置されているかどうかを確認します。
シングルトン・テストを実行するには、次のようにします。
最初のマシン上に、Application Explorerを使用してターゲットおよびチャネルを作成します。
(最初のマシン上の)ターゲットに接続し、Oracle Application Adapter for SAP R/3(MySAPノード)のインバウンドWSDLを作成します。
2番目のマシン上に、Application Explorerを使用して、最初のマシンで指定した名前のターゲットおよびチャネルを作成します。
両方のマシンで、管理サーバーおよびsoa_serverを再起動します。
1-29に示すように、Oracle JDeveloperを使用して、次のような構成でインバウンド・メディエータ・プロセスを作成します。
シングルトン・テストのために、composite.xmlファイル(ソース表示)を開いて、「サービス」セクションに次のプロパティを追加します。
<property name="singleton">true</property>
例:
<service name="Service1" ui:wsdlLocation="MATMAS01_receive_cluster.wsdl"><interface.wsdl interface="http://xmlns.oracle.com/pcbpel/iWay/wsdl/MySAP/isdsrv2_cluster/MATMAS01#wsdl.interface(MATMAS01PortType)"/><binding.jca config="MATMAS01_receive_cluster_3P.jca"/><property name="singleton">true</property>
</service>
インバウンド・メディエータ・プロセスを保存し、両方のSOAサーバーにプロセスをデプロイします。
バックエンドからトリガーするか、HTTPパブリッシャを使用し、いずれかのマシンの出力場所でメッセージが受信されているかどうかを確認します。
メッセージを受信しているマシンのsoa_serverを停止します。
2番目のマシンでメッセージが受信されているかどうかを確認します。
Oracle Application Adapter for SAP R/3でシングルトン・テスト機能を使用する場合、メッセージの損失があります(メッセージがSAP GUIにダンプされます)。これは、最初のシステムの停止後、2番目のシステムのエンドポイント・アクティブ化が進行中になるためです。
失われたメッセージを取得するには、次の手順を実行します。
SAP GUIにログインします。
/sm58トランザクションを開始し、ダンプされたメッセージに移動します。
ダンプされたメッセージを右クリックし、LUWの実行を選択します。
ダンプされたメッセージすべてについて、ステップ3を繰り返します。
失われたすべてのメッセージが、Oracle Enterprise Managerコンソールで受信されます。
この項では、11g リリース1(11.1.1.3.0)のOracle Application AdaptersをOracle Service Bus (OSB)のクラスタ環境にデプロイし、インバウンド・プロセスの構成を行うために必要な手順について説明します。
この項では、J2CAを構成およびデプロイする方法について説明します。
J2CAコネクタ・アプリケーションの設定を構成するには、次のようにします。
次のディレクトリ内にあるra.xml
ファイルを見つけます。
<OSB_HOME>\Oracle_OSB1\3rdparty\ApplicationAdapters\iwafjca.rar\META-INF\ra.xml
ra.xml
ファイルをエディタで開きます。
IWayHome
プロパティの値を入力します。これは、Oracle Application Adaptersがインストールされているフォルダです。例:
<config-property> <config-property-name>IWayHome</config-property-name> <config-property-type>java.lang.String</config-property-type> <config-property-value> OSB_Home\Oracle_OSB1\3rdparty\ApplicationAdapters </config-property-value></config-property>
IWayConfig
プロパティの値を入力します。これは、Application Explorerを使用して新規のJ2CA構成を作成したときに指定した値です。例:
config-property> <config-property-name>IWayConfig</config-property-name> <config-property-type>java.lang.String</config-property-type> <config-property-value>J2CA_SampleConfig</config-property-value></config-property>
Loglevel
プロパティの値を入力します。このプロパティは、DEBUG、INFOまたはERRORに設定できます。例:
<config-property> <config-property-name>LogLevel</config-property-name> <config-property-type>java.lang.String</config-property-type> <config-property-value>DEBUG</config-property-value></config-property>
ra.xml
ファイルを保存し、エディタを終了します。
J2CAコネクタ・アプリケーションをデプロイするには、次のようにします。
Webブラウザで次のURLを入力してOracle Service Bus管理コンソールを開きます。
http://hostname:port/sbconsole
hostname
はOracle WebLogic Serverが稼働しているシステムの名前、port
は使用しているドメインのポートです。デフォルト・ドメインのポートは7001です。
図1-30に示すようなOracle Service Bus管理コンソールが表示されます。
メニュー・バーの「Oracle WLSコンソール」をクリックします。
図1-31に示すようなOracle WebLogic Server管理コンソールが表示されます。
左ペインの「ドメイン構造」セクションで、「デプロイメント」をクリックします。
「デプロイメント」ページが表示されます。
「インストール」をクリックします。
「アプリケーション・インストール・アシスタント」ページが表示されます。
次のディレクトリを参照します。
<OSB_HOME>\Oracle_OSB1\3rdparty\ApplicationAdapters\
iwafjca.rarの横のラジオ・ボタンを選択し、「次へ」をクリックします。
「ターゲット指定スタイルの選択」ページが表示されます。
デフォルトのオプション(「このデプロイメントをアプリケーションとしてインストールする」)が選択された状態で、「次へ」をクリックします。
「オプション設定」ページが表示されます。
デフォルトのオプションが選択された状態で、「次へ」をクリックします。
図1-32に示すような「デプロイ・ターゲットの選択」ページが表示されます。
「サーバー」セクションから「AdminServer」を選択し、「クラスタ」セクションから「OSB_Cluster_1」を選択します。
「次へ」をクリックします。
「サマリー」ページが表示されます。
「終了」をクリックします。
J2CA (iwafjca)コネクタ・アプリケーションの「設定」ページが表示されます。
「保存」をクリックします。
成功メッセージが表示されていることを確認します。
この項では、J2CA Installation Verification Program (IVP)をデプロイする方法について説明します。
J2CA Installation Verification Program (IVP)をデプロイするには、次のようにします。
Webブラウザで次のURLを入力してOracle Service Bus管理コンソールを開きます。
http://hostname:port/sbconsole
hostname
はOracle WebLogic Serverが稼働しているシステムの名前、port
は使用しているドメインのポートです。デフォルト・ドメインのポートは7001です。
図1-33に示すようなOracle Service Bus管理コンソールが表示されます。
メニュー・バーの「Oracle WLSコンソール」をクリックします。
図1-34に示すようなOracle WebLogic Server管理コンソールが表示されます。
左ペインの「ドメイン構造」セクションで、「デプロイメント」をクリックします。
「デプロイメント」ページが表示されます。
「インストール」をクリックします。
「アプリケーション・インストール・アシスタント」ページが表示されます。
次のディレクトリを参照します。
<OSB_HOME>\Oracle_OSB1\3rdparty\ApplicationAdapters\
iwafjca.warの横のラジオ・ボタンを選択し、「次へ」をクリックします。
「ターゲット指定スタイルの選択」ページが表示されます。
デフォルトのオプション(「このデプロイメントをアプリケーションとしてインストールする」)が選択された状態で、「次へ」をクリックします。
「オプション設定」ページが表示されます。
「名前」フィールドに、iwafjcatestと入力します。
その他のデフォルトのオプションは選択された状態で、「次へ」をクリックします。
図1-35に示すような「デプロイ・ターゲットの選択」ページが表示されます。
「サーバー」セクションから「AdminServer」を選択し、「クラスタ」セクションから「OSB_Cluster_1」を選択します。
「次へ」をクリックします。
「サマリー」ページが表示されます。
「終了」をクリックします。
J2CA IVPの「設定」ページが表示されます。
「保存」をクリックします。
成功メッセージが表示されていることを確認します。
インバウンド・プロセスを実行する前に、PeopleSoft、SiebelおよびJ.D. EdwardsのOracle Application Adaptersに対して次の構成手順を実行する必要があります。
次の場所に移動します。
<Oracle_Home>\Oracle_WT1\instances\instance1\config\OHS\ohs1
mod_wl_ohs.conf
ファイルをエディタで開きます。
両方のシステムに対して、IPアドレスとポート番号を追加します。
注意: ポート番号は、Application Explorerを使用してOracle Application Adapterのチャネルを作成したときに指定した値です。 |
例(PeopleSoftアダプタ):
<Location /name>SetHandler weblogic-handlerWebLogicCluster machine1_ip:port, machine2_ip:portWLLogFile c:\tmp\psft.log </Location>
name
は適切な名前、machine1_ip
およびmachine2_ip
はSOA_Server1およびSOA_Server2が構成されているシステムIPアドレス、port
は両方のシステムに対してチャネル構成で構成されている番号です。
mod_wl_ohs.conf
ファイルを保存します。
次の手順を実行して、Oracle HTTP Serverを再起動します。
コマンド・プロンプトを開いて、次の場所に移動します。
C:\oracle\product\11.1.0\ohs_1\Oracle_WT1\instances\instance1\bin
以下のコマンドを実行します。
opmnctl restartproc ias-component=ohs1
PeopleSoft、SiebelおよびJ.D. EdwardsのOracle Application AdapterのURLを指定する際は、次の形式を使用します。
http://ohsserver_ip
:7777/name
ohsserver_ip
はOracle HTTP ServerがインストールされているシステムのIPアドレス、name
はmod_wl_ohs.conf
ファイル内の<Location>
要素の中に指定された名前です。
ベスト・プラクティスとして、開発、テストおよび本番環境では、アダプタにデータベース・リポジトリ(Oracleなど)のみを使用することをお薦めします。初期起動の目的のみでデフォルトで提供されているファイル・リポジトリは使用しないでください。ファイル・リポジトリは、問題のトラブルシューティングを行う際にサポートされません。
この項では、BPELおよびメディエータのアウトバウンド・プロセスでペイロードとして使用可能な入力XMLドキュメントを生成する方法について説明します。
続行する前に、次のコンポーネントおよびアプリケーションが使用可能であることを確認してください。
Application Explorerを使用して作成されたアウトバウンドWSDLドキュメント。
XMLエディタ(この項で例として使用されているOracle JDeveloperやAltova XML Spyなど)。
Oracle WebLogic Server 11g リリース1(11.1.1.3.0)およびOracle JDeveloper Studio。
Application Explorerを使用してWSDLドキュメントを作成するには、次のようにします。
Application ExplorerがデプロイされたOracle WebLogic Serverが起動されていることを確認します。
図1-36に示すように、Windowsの「スタート」メニューをクリックして「すべてのプログラム」、「Oracle Application Adapters」の順に選択し、「Application Explorer」をクリックします。
また、次のディレクトリ内にあるae.batファイルを実行してApplication Explorerを起動することもできます。
C:\oracle\Middleware\home_0309\Oracle_SOA1\soa\thirdparty\ApplicationAdapters\tools\iwae\bin\ae.bat
注意: デスクトップにae.batファイルのショートカットを作成しておくと便利です。 |
UNIXまたはLinuxプラットフォームを使用している場合は、iwae.shファイルにアクセスしてApplication Explorerを起動できます。
使用可能なJCA構成を選択します。
適切なアダプタ(MySAPなど)を選択します。
新規のターゲットを作成するか、既存のターゲットに接続します。
作成したターゲット・アダプタを展開し、適切なオブジェクトを選択します。
オブジェクトを右クリックし、アウトバウンドJCAサービスの作成(リクエスト/レスポンス)を選択します。
「WSDLのエクスポート」ダイアログが表示されます。
「名前」フィールドでデフォルトの場所を受け入れて「OK」をクリックし、WSDLドキュメントをデフォルトの場所にエクスポートします。
また、「参照」をクリックして別の場所を指定し、「OK」をクリックすると、定義した場所にWSDLドキュメントがエクスポートされます。
WSDLドキュメントがエクスポートされた場所に移動し、WSDLスキーマ、JCAスキーマ、リクエスト・スキーマおよびレスポンス・スキーマの各ファイルがエクスポートされて使用可能になっていることを確認します。
リクエスト・スキーマから入力XMLファイルを生成するには、次のようにします。
図1-37に示すようなXMLエディタが開きます(この項で例として使用されているAltova XML Spyなど)。
「File」をクリックし、「Open」を選択します。
図1-38に示すような「Open」ダイアログが表示されます。
XMLリクエスト・スキーマがエクスポートされたファイル・システム上の場所に移動し、スキーマ・ファイルを選択して「Open」をクリックします。
図1-39に示すように、Altova XML SpyでXMLリクエスト・スキーマ・ファイルが開かれ、表示されます。
図1-40に示すように、「Check well-formedness」をクリックするか[F7]を押して、スキーマが整形式であるかどうかを確認します。
図1-41に示すように、「Validate」をクリックするか[F8]を押して、スキーマを検証します。
スキーマが整形式で有効であることを確認したら、図1-42に示すように、「DTD/Schema」をクリックして「Generate Sample XML File」を選択します。
図1-43に示すような「Generate Sample XML File」ダイアログが表示されます。
サンプルXMLファイルの適切なパラメータを選択し、準備ができたら「OK」をクリックします。
図1-44に示すように、Altova XML SpyでサンプルXMLファイルが生成されます。
生成された入力XMLファイルが整形式で有効であることを確認します。
生成された入力XMLファイルに必要な値を指定した後は、このファイルを使用してBPMプロセス、BPELプロセスまたはメディエータ・プロセスを呼び出すことができます。
Oracle Enterprise Manager Consoleで生成済の入力XMLファイルを使用する前に、次の前提条件が満たされていることを確認してください。
JDeveloperでBPMアウトバウンド・プロセスが作成され、SOA_Server1にデプロイされていること
JDeveloperでメディエータ・アウトバウンド・プロセスが作成され、SOA_Server1にデプロイされていること
JDeveloperでBPELアウトバウンド・プロセスが作成され、SOA_Server1にデプロイされていること
メディエータ・アウトバウンド・プロセス
アウトバウンド・メディエータ・プロセスで入力XMLファイルを使用するには、次の手順を実行します。
次のURLを使用して、Oracle Enterprise Managerコンソールにログインします。
http://localhost:7001/em
図1-45に示すように、左ペインでドメインを展開し、SOAフォルダを展開します。
図1-46に示すように、アウトバウンド・メディエータ・プロジェクト(「MySAP_JCA_Test_BusinessArea_GetDetail_OB_Mediator」など)を選択します。
図1-47に示すような、コンソール右上隅の「テスト」ボタンをクリックします。
図1-48に示すように、「入力引数」セクションでリストからXML表示を選択し、入力XMLが表示されていることを確認します。
注意: メディエータ・プロセスの場合、入力XMLをネームスペース付きで使用することは必須です。 |
Oracle Enterprise Managerコンソールに表示されたXMLは、次のように変更して使用できます。
Oracle Enterprise Managerコンソールに表示されたXML
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body xmlns:ns1="urn:sap-com:document:sap:business"> <ns1:BusinessArea.GetDetail> </ns1:BusinessArea.GetDetail> </soap:Body> </soap:Envelope>
変更後のXML
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body xmlns:ns1="urn:sap-com:document:sap:business"> <ns1:BusinessArea.GetDetail BusinessAreaId="1000"
> </ns1:BusinessArea.GetDetail> </soap:Body> </soap:Envelope>
次の必要な変更を行った後は、Altova XML Spyを使用して生成されたサンプルの入力XMLを使用できます。
XMLヘッダーを削除します。
必要な入力を追加します。
Oracle Enterprise Managerコンソールに表示されているsoapヘッダーを追加します。
ネームスペースを入力XML内のネームスペースと一致するように変更します。
Altova XML Spyを使用して生成されたXML
<?xml version="1.0" encoding="UTF-8"?> <!--Sample XML file generated by XMLSpy v2008 rel. 2 sp2 (http://www.altova.com)--> <bapi:BusinessArea.GetDetail BusinessAreaId="aaaa" xsi:schemaLocation="urn:sap-com:document:sap:business mysap_jca_BA_GetDetail_invoke_jan20_request.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bapi="urn:sap-com:document:sap:business"> <bapi:LANGUAGE>a</bapi:LANGUAGE> <bapi:LANGUAGE_ISO>aa</bapi:LANGUAGE_ISO> </bapi:BusinessArea.GetDetail>
変更後のXML
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body xmlns:ns1="urn:sap-com:document:sap:business">
<ns1
:BusinessArea.GetDetail BusinessAreaId="1000
"> <ns1
:LANGUAGE>D</ns1
:LANGUAGE> <ns1
:LANGUAGE_ISO>EN</ns1
:LANGUAGE_ISO> </ns1
:BusinessArea.GetDetail></soap:Body> </soap:Envelope>
図1-49に示すように、入力XMLを指定した後、「Webサービスのテスト」をクリックします。
「レスポンス」タブに出力が表示されます。
BPELアウトバウンド・プロセス
アウトバウンドBPELプロセスで入力XMLファイルを使用するには、次の手順を実行します。
次のURLを使用して、Oracle Enterprise Managerコンソールにログインします。
http://localhost:7001/em
図1-50に示すように、左ペインでドメインを展開し、SOAフォルダを展開します。
図1-51に示すように、アウトバウンドBPELプロジェクト(「MySAP_JCA_Test_BusinessArea_GetDetail_OB_BPEL」など)を選択します。
図1-51 Oracle Enterprise ManagerコンソールでのアウトバウンドBPELプロジェクト
図1-52に示すような、コンソール右上隅の「テスト」ボタンをクリックします。
図1-53に示すように、「入力引数」セクションでリストからXML表示を選択し、入力XMLが表示されていることを確認します。
注意: BPELプロセスの場合、入力XMLをネームスペース付きで使用することは必須ではありません。 |
Oracle Enterprise Managerコンソールに表示されたXMLは、次のように変更して使用できます。
Oracle Enterprise Managerコンソールに表示されたXML
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body xmlns:ns1="urn:sap-com:document:sap:business"> <ns1:BusinessArea.GetDetail> </ns1:BusinessArea.GetDetail> </soap:Body> </soap:Envelope>
変更後のネームスペース付きXML
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body xmlns:ns1="urn:sap-com:document:sap:business"> <ns1:BusinessArea.GetDetail BusinessAreaId="1000"
> </ns1:BusinessArea.GetDetail> </soap:Body> </soap:Envelope>
変更後のネームスペースなしXML
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body xmlns="urn:sap-com:document:sap:business"> <BusinessArea.GetDetail BusinessAreaId="1000"
> </BusinessArea.GetDetail> </soap:Body> </soap:Envelope>
次の必要な変更を行った後は、Altova XML Spyを使用して生成されたサンプルの入力XMLを使用できます。
XMLヘッダーを削除します。
必要な入力を追加します。
Oracle Enterprise Managerコンソールに表示されているsoapヘッダーを追加します。
ネームスペースを変更または削除します。
Oracle Enterprise ManagerコンソールのXML表示で表示されたXML
<?xml version="1.0" encoding="UTF-8"?> <!--Sample XML file generated by XMLSpy v2008 rel. 2 sp2 (http://www.altova.com)--> <bapi:BusinessArea.GetDetail BusinessAreaId="aaaa" xsi:schemaLocation="urn:sap-com:document:sap:business mysap_jca_BA_GetDetail_invoke_jan20_request.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bapi="urn:sap-com:document:sap:business"> <bapi:LANGUAGE>a</bapi:LANGUAGE> <bapi:LANGUAGE_ISO>aa</bapi:LANGUAGE_ISO> </bapi:BusinessArea.GetDetail>
変更後のネームスペース付きXML
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body xmlns:ns1
="urn:sap-com:document:sap:business"> <ns1
:BusinessArea.GetDetail BusinessAreaId="1000"
> <ns1
:LANGUAGE>D</ns1
:LANGUAGE> <ns1
:LANGUAGE_ISO>EN</ns1
:LANGUAGE_ISO> </ns1
:BusinessArea.GetDetail> </soap:Body> </soap:Envelope>
変更後のネームスペースなしXML
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body xmlns="urn:sap-com:document:sap:business"> <BusinessArea.GetDetail BusinessAreaId="1000"
> <LANGUAGE>D</ LANGUAGE> < LANGUAGE_ISO>EN</ LANGUAGE_ISO> </BusinessArea.GetDetail> </soap:Body> </soap:Envelope>
ネームスペース付きまたはネームスペースなしの入力XMLを指定した後、「Webサービスのテスト」をクリックします。
図1-54に示すように、「レスポンス」タブに出力が表示されます。
ネームスペース付きの入力XML
レスポンス
ネームスペースなしの入力XML
レスポンス
アウトバウンドBPMプロセスでの入力XMLファイルの使用
アウトバウンドBPMプロセスで入力XMLファイルを使用するには、次の手順を実行します。
次のURLを使用して、Oracle Enterprise Managerコンソールにログインします。
http://localhost:7001/em
図1-58に示すように、左ペイン内の「soa-infra (soa_server1)」の下のパーティションを展開し、SOAフォルダを展開します。
図1-59に示すように、アウトバウンドBPMプロジェクト(「SAP2_isdsrv2_BA_GD_jca_ob」など)を選択します。
図1-60に示すような、コンソール右上隅の「テスト」をクリックします。
図1-61に示すように、「入力引数」セクションでリストからXML表示を選択し、入力XMLが表示されていることを確認します。
注意: BPMプロセスの場合、入力XMLをネームスペース付きで使用することは必須です。 |
Oracle Enterprise Managerコンソールに表示されたXMLは、次のように変更して使用できます。
Oracle Enterprise Managerコンソールに表示されたXML
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body xmlns:ns1="http://xmlns.oracle.com/bpmn/bpmnProcess/Process"> <ns1:operation xmlns:ns2="urn:sap-com:document:sap:business"> <ns2:BusinessArea.GetDetail/> </ns1:operation> </soap:Body></soap:Envelope>
変更後のXML
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body xmlns:ns1="http://xmlns.oracle.com/bpmn/bpmnProcess/Process"> <ns1:operation xmlns:bapi="urn:sap-com:document:sap:business"> <bapi:BusinessArea.GetDetail BusinessAreaId="0001"> <bapi:LANGUAGE>D</bapi:LANGUAGE> <bapi:LANGUAGE_ISO>DE</bapi:LANGUAGE_ISO> </bapi:BusinessArea.GetDetail> </ns1:operation> </soap:Body></soap:Envelope>
次の必要な変更を行った後は、Altova XML Spyを使用して生成されたサンプルの入力XMLを使用できます。
XMLヘッダーを削除します。
必要な入力を追加します。
Oracle Enterprise Managerコンソールに表示されているSOAPヘッダーを追加します。
ネームスペースを入力XML内のネームスペースと一致するように変更します。
Altova XML Spyを使用して生成されたXML
<?xml version="1.0" encoding="UTF-8"?> <!--Sample XML file generated by XMLSpyv2008 rel. 2 sp2 (http://www.altova.com)--> <bapi:BusinessArea.GetDetail BusinessAreaId="aaaa" xsi:schemaLocation="urn:sap-com:document:sap:business mysap_jca_BA_GetDetail_invoke_jan20_request.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bapi="urn:sap-com:document:sap:business"> <bapi:LANGUAGE>a</bapi:LANGUAGE> <bapi:LANGUAGE_ISO>aa</bapi:LANGUAGE_ISO></bapi:BusinessArea.GetDetail>
変更後のXML
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body xmlns:ns1="http://xmlns.oracle.com/bpmn/bpmnProcess/Process"> <ns1:operation xmlns:bapi="urn:sap-com:document:sap:business"> <bapi:BusinessArea.GetDetail BusinessAreaId="0001"> <bapi:LANGUAGE>D</bapi:LANGUAGE> <bapi:LANGUAGE_ISO>DE</bapi:LANGUAGE_ISO> </bapi:BusinessArea.GetDetail> </ns1:operation> </soap:Body></soap:Envelope>
入力XMLを指定した後、「Webサービスのテスト」をクリックします。
出力が宛先フォルダ内に受信されます。