この章では、DSP (Oracle Data Service Integrator)トランスポートの概要と、サービスでの使用および構成方法について説明します。
Oracle Service BusとOracle Data Service Integratorとの相互運用性サポートの詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の相互運用性のシナリオと考慮事項に関する項を参照してください。
Oracle Data Service IntegratorはOracle Service Busトランスポートからアクセスできます。このようにして、Oracle Service Busはデータ・サービスを最大限に活用できます。また、データ・サービスをWebサービスとして公開する方法と比較すると、この方法を使用した方が効率的で柔軟にデータ・サービスにアクセスできます。
Oracle Data Service Integratorの詳細は、http://download.oracle.com/docs/cd/E13162_01/odsi/docs10gr3/index.html
にあるドキュメントを参照してください。
この章の内容は次のとおりです。
Oracle Data Service Integratorデータ・サービスをOracle Service Busクライアントで使用できるようにするには、次の作業が必要です。
データ・サービスのためにWSDLファイルを生成し、その新しいWSDLを推奨の手順でOracle Service Busにインポートします。
WSDLに基づいてビジネス・サービスを構成または作成します。
ビジネス・サービスに基づいてプロキシ・サービスを構成または作成します。
これらの作業が完了したら、Oracle Service Busからデータ・サービスを呼び出すことができます。
図36-1は、Oracle Service BusとOracle Data Service Integratorを介してデータ・ソースにアクセスするクライアントです。
この項の例では、Oracle Service Busでデータ・サービスの使用を示します。
Oracle Data Service Integratorで次の手順を実行します。
Oracle Data Service Integratorサーバーが起動していない場合は、起動します。(この手順を説明するために、Oracle Data Service IntegratorのRetailDataspaceサンプルを使用します。)
次の2つの方法で、データ・サービスからWSDLを生成することができます。
オプションA: Data Services Studioを使用したWSDLファイルの生成 - 手順の詳細は、「データ・サービスからのWebサービス・マップとWSDLの生成方法」(http://download.oracle.com/docs/cd/E13162_01/odsi/docs10gr3/datasrvc/Generate%20a%20Web%20Service%20Map%20from%20a%20Data%20Service.html
)を参照してください。
オプションB: Oracle Data Service Integratorコンソールを使用してWSDLをエクスポートします。
WSファイルが使用できる場合、Oracle Data Service Integratorを使用してWSDLファイルを生成することができます。
Oracle Data Service Integratorコンソール(http://host:port/dspconsole)を起動します。
ログインします。サンプルでは、ユーザー名とパスワードのどちらにもweblogicが使用されます。
サービス・エクスプローラをクリックします。
WSDLファイルを作成するデータ・サービスに対応したWebサービス・マップ(たとえばRetailWebServices.ws)に移動します。
全般タブのWSDL定義の表示をクリックします。Oracle Data Service Integratorコンソールにより新しいウィンドウが開き、WSDLの定義が表示されます。
テキスト・エディタを使用し、新しいテキスト・ドキュメントでWSDLの定義をコピー・アンド・ペーストして、WSDLファイルを保存します。
Oracle Data Service Integrator管理のスタート・ガイド(http://download.oracle.com/docs/cd/E13162_01/odsi/docs10gr3/admin/getting_strtd.html
)を参照してください。
データ・サービス・アプリケーションをビルドしていない場合は、ビルドします(デプロイメントはビルドによって自動的に行われます)。デプロイされたアプリケーションは、クライアント・プロセスがデータ・サービスを使用してデータにアクセスするために必要です。
Oracle Service Busで次の手順を実行します。
Oracle Data Service Integratorで生成されたWSDLをOracle Service Busにインポートするために必要な手順を次に説明します。
Oracle Service Busサーバーが起動していない場合は、起動します。この例のために、Oracle Service Busサンプル・サーバーとデフォルト・プロジェクトを使用します。
Oracle Service Bus管理コンソール(http://host:port/sbconsole)を起動します。
ログインします。デフォルトのユーザー名およびパスワードはweblogicです。
「プロジェクト・エクスプローラ」をクリックします。
新しいプロジェクト名(たとえばdataServiceTest)を入力します。
新しいプロジェクトの名前をクリックします。
「プロジェクト・エクスプローラ」でWSDLとスキーマ・リソースを一括インポートします。
Oracle Data Service IntegratorからインポートしたWSDLに基づいてビジネス・サービスを作成します。次のガイダンスに従ってビジネス・サービスを構成します。
「サービス・タイプ」として「WSDL Webサービス」を選択し、インポートしたWSDLを参照し、適切なポートまたはバインド(たとえばOrderServiceSoapBinding)を選択します。
dspトランスポートを選択します。
DSPトランスポートの構成の詳細は、3.1.2項「DSPトランスポート構成ページ(ビジネス・サービス)」を参照してください。
「エンドポイントURI」では、Oracle Data Service IntegratorプロジェクトのURI(たとえばt3://localhost:7001/RetailDataspace)を入力します。
ビジネス・サービスの作成の詳細は、2.2.1項「ビジネス・サービスの作成」を参照してください。
2.3.1.1項「既存のサービスからプロキシ・サービスを生成する」または2.3.1項「プロキシ・サービスの作成」に従って、ビジネス・サービスからプロキシ・サービスを生成します。
実際には、暗号化キー、デジタル署名キー、およびSSLクライアント認証キーを識別する可能性があります。しかし、この例ではいずれも識別する必要はありません。
DSPトランスポートでは、プロキシ・サービス提供の文字セットを使用します。したがって、データ・サービス・トランスポートを呼び出す前にデフォルトの文字セットを変更する必要がある場合、変換のエンコーディングは、プロキシ・サービス自体で処理する必要があります。
次の手順を使用すると、上記の手順で生成したプロキシからOracle Data Service Integratorデータ・サービスにアクセスできるかどうかをテストできます。
Oracle Service Bus管理コンソールで、セッションをアクティブ化します。
プロジェクト・エクスプローラで作成したプロキシ・サービス(たとえばorderService)を見つけます。
「アクション」の下の「テスト・コンソールの起動」アイコンを選択します。「プロキシ・サービス・テスト」コンソールが表示されます。
「使用可能な操作」リストからデータ・サービス操作(たとえばgetOrderByCustID)を選択します。
データ・サービスで必要な情報を使用してペイロードを変更します(たとえばCUSTOMER3)。
<ord:getOrderByCustID xmlns:ord="ld:RetailApplication/OrderManagement/OrderService.ws"> <ord:custID>CUSTOMER3</ord:custID> </ord:getOrderByCustID>
「実行」をクリックします。図36-2のようにレスポンス・ドキュメントにデータが表示されます。
図36-2 Oracle Service Busテスト・コンソールからのリクエストとレスポンス