ヘッダーをスキップ
Oracle® Warehouse Builderデータ・モデリング、ETLおよびデータ・クオリティ・ガイド
11gリリース2 (11.2)
B61350-02
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

16 Oracle Warehouse BuilderでのWebサービスの作成と消費

Webサービスは、エンタープライズ・アプリケーションを統合するための広く使用されているサービス指向アーキテクチャ(SOA)アプローチの基礎です。Webサービスは、業界標準のメカニズムを使用し、プロバイダのプラットフォーム、ロケーション、またはサービス実装に依存することなく、リモート・コンテンツおよびアプリケーション機能に簡単にアクセスできます。

Oracle Warehouse BuilderベースのソリューションはSOAベースのアーキテクチャに完全に参加できます。特定のOracle Warehouse BuilderオブジェクトをWebサービスとして公開することができるため、他の開発者が業界標準を使用してこれらのオブジェクトで定義した機能を活用できます。

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

Webサービスの概要

Webサービスとは、ネットワークを介してコンピューティング・リソースまたはサービスにアクセスするための標準的でベンダー非依存の方法を提供するように設計されたソフトウェア・システムです。これは、オープンなXMLベースの標準規格およびトランスポート・プロトコルを使用して、コール側クライアントとデータを交換します。

Webサービスは、通常、次から構成されます。

Webサービスのコール元はプログラミング言語、アプリケーション・サーバー技術またはデータベースの選択など基盤となる実装の詳細に依存しません。公開されたインタフェースでは、コール元がWebサービスを消費するために必要なすべての情報を説明します。

実装の違いはコール元に公開されないため、Webサービスでは異なる技術ベンダーのソフトウェア・コンポーネントを簡単に統合できます。Webサービスに基づくソリューションの構築アプローチは一般にサービス指向アーキテクチャ(SOA)と呼ばれます。

Webサービスを構築するには複数の共通のアプローチがありますが、エンタープライズ・コンピューティングでは、Webサービスは、通常、XMLベースの標準Simple Object Access Protocol(SOAP)およびWeb Services Description Language(WSDL)を使用してやり取りします。

Simple Object Access Protocol(SOAP)

Simple Object Access Protocol(SOAP)は、コンピュータ・ネットワーク上でXMLベースのメッセージを交換するためのプロトコルであり、通常はHTTPを使用します。SOAPはWebサービス・スタックの基本レイヤーであり、抽象度の高いレイヤーの構築を可能にする基本的なメッセージング・フレームワークを提供します。これを使用して、Webサービス・リクエストの送信およびWebサービス・レスポンスの受信を行います。

Web Services Description Language(WSDL)

Web Services Description Language (WSDL)は、Webサービスを使用して通信する方法に関する、XMLベースのサービスの説明です。次の情報が含まれています。

サポートされている操作およびメッセージの概要が説明され、その後に、具体的なネットワーク・プロトコルとメッセージ・フォーマットに関連付けられています。

Webサービスの利点

Webサービスでは次の利点を提供します。

  • サービス指向アーキテクチャ(SOA)のサポート

  • アプリケーション機能の機能をアプリケーション開発者どうしで共有できる

  • データ統合プロセスを呼び出すサービスを構築できる

  • 他のユーザーが作成したアプリケーション・ロジックを再利用できるため、アプリケーションを構築できる

Oracle Warehouse BuilderでのWebサービスについて

Oracle Warehouse BuilderではSOAP標準およびWSDL標準を使用してWebサービスの統合がサポートされるため、SOAベースのエンタープライズ・アーキテクチャに完全に統合できます。Oracle Warehouse Builderに慣れている開発者は、既存のツール、コードおよびスキル・セットを使用してデータ統合設計でWebサービスベースのソリューションを作成して、活用できます。たとえば、Oracle BPELプロセス・マネージャなどの製品に基づくより大きなソリューションにETL設計を統合できます。


関連項目:

Webサービスの概念の詳細は、『Oracle Warehouse Builderソースおよびターゲット・ガイド』を参照してください。

Oracle Warehouse Builderでは次のWebサービス関連の機能がサポートされます。

Oracle Warehouse Builderベースの設計をSOAベースのソリューションに完全に参加させることができる2つの機能領域があります。

Webサービスの定義について

Webサービスはデザイン・センターのアプリケーション・サーバー・モジュール内に定義されます。アプリケーション・サーバー・モジュールは、Webサービスのデプロイ先となるロケーションに関連付けられます。これには、WebサービスおよびWebサービス・パッケージが格納されます。Webサービス・パッケージは一連のWebサービスを含んでおり、主に関連するWebサービスをグループ化するために使用されます。

既存のOracle Warehouse Builderオブジェクトに基づいてWebサービスを定義するには、プロジェクト・ナビゲータの「アプリケーション・サーバー」ノードを使用します。グローバル・ナビゲータで公開アプリケーション・サーバー・ノードを使用して、公開Webサービスを定義します。

Webサービスの公開について

Oracle Warehouse Builderを使用して設計したETLプロセスを、他のアプリケーション開発者がWebサービスの形式で使用できるようにするプロセスを、Webサービスの公開と呼びます。Webサービスを公開するには、Webサービスに関する情報を含むWSDLファイルを作成し、このWSDLファイルをリモート・アクセスで使用できるようにする必要があります。

Oracle Warehouse Builderを使用してWebサービスを公開する場合、機能をWebサービスとして公開するオブジェクトを選択する必要があります。コード・ジェネレータでは必要なWSDLファイルが生成されます。

Webサービスの消費について

他のアプリケーション開発者がETL設計でリモートに使用できるWebサービスを使用するプロセスをWebサービスの消費といいます。Webサービスを消費するには、WebサービスのWSDLファイルのロケーションを把握している必要があります。その後、必要なタスクを実行するWebサービスへのリクエストを作成できます。

ETL設計でリモートWebサービスを消費する前に、Oracle Warehouse BuilderにWebサービスをインポートする必要があります。

パブリックWebサービスについて

公開Webサービスは、定義されているワークスペース全体からアクセス可能で、特定のプロジェクトに限定されることはありません。公開Webサービスはグローバル・ナビゲータの公開アプリケーション・サーバー・ノードで作成されます。

公開Webサービスは、Oracle Warehouse BuilderオブジェクトではなくURLのみに基づくことができます。公開Webサービスを作成すると、既存のWebサービスに基づくWebサービスを作成できます。


関連項目:

公開Webサービスの作成の詳細は、「URLに基づくWebサービスの作成」を参照してください。

WebサービスとしてのOracle Warehouse Builderオブジェクトの公開

特定のOracle Warehouse Builderオブジェクトを使用して定義されたETLプロセスは、これらのオブジェクトをWebサービスとして公開すると、他のアプリケーション開発者が使用できるようになります。Oracle Warehouse BuilderオブジェクトをWebサービスとして公開すると、他の開発者はこのWebサービスにリモートでアクセスし、このオブジェクトに定義された機能を使用できます。Webサービスはオープンな業界標準のメカニズムを使用しているので、開発者がOracle Warehouse Builderをインストールしたり、Oracle Warehouse Builderの仕組みに精通している必要はありません。

次のOracle Warehouse Builderオブジェクトに基づいてWebサービスを作成できます。

Oracle Warehouse Builderオブジェクトに基づいてWebサービスを作成する方法

Oracle Warehouse Builderオブジェクトに基づいてWebサービスを作成するには、次のいずれかの方法を使用します。

「URLに基づくWebサービスの公開手順」の説明に従ってURLに基づくWebサービスを公開することもできます。


注意:

データ・ウェアハウスの存続期間中に、Webサービスが基づいているオブジェクトの定義が変更する可能性があります。これらの変更をWebサービスに伝搬するには、「Webサービスのデプロイ」に説明する手順を使用してWebサービスを再デプロイします。

プロセス・フローで使用するWebサービスを修正し、再デプロイする場合は、ensure that you synchronize the Web service as described in 「Webサービスのアクティビティと参照Webサービスとの同期」.


Webサービスでサポートされているバージョン

表16-1では、Oracle Warehouse Builderがサポートする標準および製品のバージョンを示します。

表16-1 Webサービスの標準および製品のサポートされているバージョン

標準または製品 バージョン

WSDL

1.1

SOAP

1.1, 1.2

OC4Jスタンドアロン

10g以降

Oracle Application Server

10g以降


WebサービスとしてOracle Warehouse Builderオブジェクトを公開する手順

プロジェクト・ナビゲータからOracle Warehouse BuilderオブジェクトをWebサービスとして簡単に公開できます。Webサービスとして公開するオブジェクト(マッピング、プロセス・フロー、データ監査または変換)を右クリックし、「Webサービスとして公開」を選択します。既存のアプリケーション・サーバー・モジュールおよびWebサービス・パッケージを含むアプリケーション・サーバーまたはWebサービス・パッケージの選択ダイアログ・ボックスが表示されます。Webサービスとして公開するアプリケーション・サーバー・モジュールまたはWebサービス・パッケージを選択します。アプリケーション・サーバー・モジュールまたはWebサービス・パッケージの下にある選択したオブジェクトに基づいてWebサービスが作成され、Webサービスが公開されます(アプリケーション・サーバーにWebサービスがデプロイされます)。


関連項目:

WebサービスとしてOracle Warehouse Builderオブジェクトを公開する例は、「例: Webサービスとしてのマッピングの公開」を参照してください。

Oracle Warehouse Builderオブジェクトに基づいてWebサービスを作成する手順

次の手順を使用して、Oracle Warehouse Builderオブジェクトに基づくWebサービスを公開します。

  1. アプリケーション・サーバー・モジュールまたはそれに関連付けられるロケーションをまだ作成していない場合は、プロジェクト・ナビゲータでそれらを作成します。アプリケーション・サーバー・モジュールはWebサービスおよびWebサービス・パッケージのセットのコンテナです。


    関連項目:

    アプリケーション・サーバー・モジュールの作成の詳細は、『Oracle Warehouse Builderソースおよびターゲット・ガイド』を参照してください。

  2. 「Oracle Warehouse Builderオブジェクトに基づいてWebサービスを作成する方法」の説明に従ってWebサービスを作成します。

  3. 「Webサービスの検証」の説明に従ってWebサービスを検証します。

  4. 「Webサービスの生成」の説明に従ってWebサービスを生成します。

  5. 「Webサービスのデプロイ」の説明に従ってWebサービスをデプロイします。

「Webサービスの実行」の説明に従ってWebサービスを実行することでWebサービスで定義されている機能を使用できます。

URLに基づくWebサービスの公開手順

次のURLオブジェクトに基づいてWebサービスを公開する手順を使用します。

  1. まだ作成していない場合は、グローバル・ナビゲータで、「パブリック・アプリケーション・サーバー」ノードおよび関連ロケーションで公開アプリケーション・サーバー・モジュールを作成します。公開アプリケーション・サーバー・モジュールはWebサービスのセットのコンテナです。


    関連項目:

    公開アプリケーション・サーバー・モジュールの作成の詳細は、『Oracle Warehouse Builderソースおよびターゲット・ガイド』を参照してください。

  2. 「URLに基づくWebサービスの作成」の説明に従ってWebサービスを作成します。

  3. 「Webサービスの検証」の説明に従ってWebサービスを検証します。

  4. 「Webサービスの生成」の説明に従ってWebサービスを生成します。

  5. 「Webサービスのデプロイ」の説明に従ってWebサービスをデプロイします。

サービス・パッケージの作成

Webサービス・パッケージはWebサービスのセットのコンテナです。Webサービス・パッケージを使用して、関連するWebサービスのセットをグループ化します。Webサービス・パッケージには関連付けられているロケーションがないため、このパッケージが含むアプリケーション・サーバー・モジュールの同一のロケーション詳細を使用します。

グローバル・ナビゲータではなくプロジェクト・ナビゲータでのみ、Webサービス・パッケージを作成できます。

Webサービス・パッケージを作成する手順は、次のとおりです。

  1. Webサービス・パッケージを作成するプロジェクト・ノードを開きます。

  2. 作成していない場合は、Webサービス・パッケージを含むアプリケーション・サーバー・モジュールを作成します。


    関連項目:

    アプリケーション・サーバー・モジュールの作成の詳細は、『Oracle Warehouse Builderソースおよびターゲット・ガイド』を参照してください。

  3. Webサービス・パッケージを作成するアプリケーション・サーバー・ノードを開きます。Webサービス・パッケージを右クリックし、新規Webサービス・パッケージを選択します。

    Webサービス・パッケージの作成ダイアログ・ボックスが表示されます。

  4. Webサービス・パッケージの作成ダイアログ・ボックスに次の詳細を入力します。

    • 名前: Webサービス・パッケージの名前。

    • 説明: Webサービス・パッケージの説明(オプション)。

Oracle Warehouse Builderオブジェクトに基づいてWebサービスを作成する方法

プロジェクト・ナビゲータを使用して、Oracle Warehouse Builderオブジェクトに基づくWebサービスを作成します。

Oracle Warehouse Builderオブジェクトに基づいてWebサービスを作成する手順は、次のとおりです。

  1. プロジェクト・ナビゲータで、プロジェクト・ノードを開き、Webサービスを作成するアプリケーション・サーバー・ノードを開きます。

  2. 「Webサービス」ノードを右クリックして「新規Webサービス」を選択します。

    Webサービス・パッケージでWebサービスを作成するには、プロジェクト・ナビゲータで、Webサービス・パッケージを右クリックして「新規Webサービス」を選択します。

    Webサービスの作成ウィザードが表示されます。

  3. ウィザードのようこそページで「次へ」をクリックします。

  4. 「名前と説明」ページで、次の詳細を入力し、「Webサービスのネーミング」の説明に従って、「次へ」をクリックします。

  5. 「実装」ページで、「Webサービス実装の定義」の説明に従って詳細を入力し、「次へ」をクリックします。

  6. 仕様の確認ページで、ウィザードに入力した詳細を確認します。値を変更するには、「戻る」をクリックします。Webサービスの定義を完了するには、「終了」をクリックします。

    「ソースの表示」をクリックして、Oracle Warehouse Builderで生成されるWSDLコードを表示し、このWebサービスを実装します。

Webサービスが作成され、ナビゲータ・ツリーに追加されます。

また、Webサービスを作成するうえで基づくオブジェクトを右クリックしてWebサービスの作成を選択することで、Webサービスをすばやく作成できます。アプリケーション・サーバーまたはWebサービス・パッケージの選択ダイアログ・ボックスが表示されます。選択して「OK」をクリックします。選択したアプリケーション・サーバー・ノードの下にWebサービスが作成され、追加されます。

例: WebサービスのWSDLファイル

次は、Webサービスで作成されるWSDLファイルの例です。

<definitions
     name="HttpSoap11"
     targetNamespace="http://dbWebService.packaging.sdk.jrt.wh.oracle/"
     xmlns="http://schemas.xmlsoap.org/wsdl/"
     xmlns:tns="http://dbWebService.packaging.sdk.jrt.wh.oracle/"
     xmlns:mime="http://http://schemas.xmlsoap.org/wsdl/mime/"
     xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    >
    <types>
    </types>
    <message name="FUNCTION_TARGETInput">
        <part name="P1" type="xsd:string"/>
        <part name="P2" type="xsd:string"/>
    </message>
...
...
...

Webサービスのネーミング

名前と説明ページに、Webサービスの説明を入力します。このページでは、次の情報を入力します。

名前: Webサービスの名前。この名前は、Oracle Warehouse Builderのネーミング標準に準拠している必要があります。

説明: Webサービスの説明(オプション)。

Webサービス実装の定義

実装ページを使用して、WebサービスのベースとなるOracle Warehouse Builderオブジェクトを選択します。

次のオプションのいずれかを選択して、Webサービスを作成します。

  • マッピングからの作成

  • プロセス・フローからの作成

  • 変換からの作成

  • データ監査からの作成

  • チェンジ・データ・キャプチャ用の表またはモジュールからの作成

選択するオプションに基づいて、オプションの下にあるテキスト領域にWebサービスに基づくことができる使用可能なオブジェクトを表示します。このテキスト領域からOracle Warehouse Builderオブジェクトを選択します。

CTマッピングに基づくWebサービスを作成するときは、Webサービスに関連付けられているエージェントがコード・テンプレート・マッピングに関連付けられているエージェントと異なる場合、検証中に警告が表示されます。この場合でも、そのWebサービスを生成、デプロイおよび実行できます。ただし、実行が失敗する場合があります。

CTマッピングに基づくWebサービスを作成する場合は、Webサービスではコード・テンプレート・マッピングと同じエージェントを使用することをお薦めします。

Webサービスの検証

Webサービスを検証すると、メタデータ定義および構成パラメータが確認され、Oracle Warehouse Builderによって定義されたルールに応じてこれらが有効であるかどうかが確認されます。Webサービスを検証すると、Webサービスに関連付けられているWSDLファイルはW3C WSDLスキーマに対して検証されます。検証が成功すると、Webサービスをデプロイコードを生成できます。

Webサービスを検証するには、デザイン・センターでWebサービスを選択し、ツールバーの「検証」をクリックします。または、デザイン・センターでWebサービスを右クリックし、「検証」をクリックします。

また、アプリケーション・サーバー・モジュールまたはWebサービス・パッケージを検証することもできます。この操作により、アプリケーション・サーバー・モジュールまたはWebサービス・パッケージに含まれるすべてのWebサービスが検証されます。

Webサービスの生成

Webサービスを生成することで、OC4JまたはOracle Application Serverロケーションに関連付けられているWebサービスのデプロイに必要なコードが作成されます。Webサービスを生成すると、各Webサービスに対応するWSDLファイルが作成されます。Oracle Warehouse Builderオブジェクトに基づくWebサービスでは、.earファイルも生成されます。Webサービス・パッケージでは、Webサービスごとに.earファイルが1つ生成されます。

生成されたファイルは、デザイン・クライアントがインストールされているファイル・システムのデフォルトのロケーションに格納されます。これらの生成済ファイルを表示または編集できません。

Webサービスを生成するには、Webサービスを選択し、ツールバーの「生成」をクリックします。または、Webサービスを右クリックして「生成」を選択します。また、アプリケーション・サーバー・モジュールまたはWebサービス・パッケージに含まれるすべてのWebサービスに対して同時にコードを生成するためのアプリケーション・サーバー・モジュールまたはWebサービス・パッケージも生成できます。


注意:

パブリックWebサービスを生成することはできません。ただし、公開Webサービスは検証きません。

Webサービスのデプロイ

Webサービスのデプロイでは生成時に作成されたスクリプトを使用して、Webサービスを含むアプリケーション・サーバー・モジュールに関連付けられているエージェントのロケーションにWebサービスを作成します。

Webサービスをデプロイすると、そのWebサービスに対応する.earファイルが、OWB_HOME/owb/jrt/applicationsディレクトリに配置されます。このディレクトリには、Oracle Warehouse Builderの埋込みOC4Jインスタンスにデプロイされた各Webサービス用の個別フォルダも含まれています。

Webサービスをデプロイするには、コントロール・センター・エージェント(CCA)およびOC4Jインスタンスが必要です。

Webサービスは次にデプロイできます。

  • OC4Jスタンドアロン・インスタンス

    Oracle Warehouse Builderをインストールすると、同時にOC4Jインスタンスがインストールされます。このOC4JインスタンスまたはOracle Application Serverインスタンスの一部であるOC4JインスタンスにWebサービスをデプロイできます。

  • Oracle Application Server

    WebサービスをOracle Application Serverにデプロイできます。実行する前に、このOracle Application Serverインスタンスを指し示すURIロケーションを作成します。Oracle Application Serverインスタンスに関連するロケーションの作成の詳細は、『Oracle Warehouse Builderソースおよびターゲット・ガイド』を参照してください。

Webサービスはデザイン・センターかコントロール・センター・マネージャからデプロイできます。


注意:

パブリックWebサービスをデプロイすることはできません。

Webサービスのデプロイの前提条件

Oracle Warehouse Builderオブジェクトに基づいてWebサービスをデプロイする前に、必ず次を実行します。

  • Webサービスが基づくOracle Warehouse Builderオブジェクトをデプロイします。

  • コントロール・センター・エージェントを起動します。


    関連項目:

    コントロール・センター・エージェントの起動の詳細は、「コントロール・センター・エージェント(CCA)の起動」を参照してください。

コントロール・センター・マネージャを使用してのWebサービスのデプロイ

デザイン・センターで、「ツール」メニューから「コントロール・センター・マネージャ」を選択し、コントロール・センターを開きます。「コントロール・センター・マネージャ」で、Webサービスを含むロケーションを表すノードを開きます。Webサービスを選択し、「デフォルト・アクション」を「作成」に設定し、ツールバーの「デプロイ」をクリックします。

デザイン・センターを使用してのWebサービスのデプロイ

プロジェクト・ナビゲータで、Webサービスを右クリックして「デプロイ」を選択します。または、Webサービスを選択して、ツールバーの「デプロイ」をクリックします。

URLに基づくWebサービスの作成

Oracle Warehouse Builderを使用して、URLから公開Webサービスを作成できます。公開Webサービスはグローバル・ナビゲータの公開アプリケーション・サーバー・ノードで定義する公開Webサービスです。公開Webサービスは、主にETLオブジェクトのWebサービスとして使用できる既存の機能を活用するために使用します。ETL設計で既存のWebサービス(ローカルまたはリモート)を使用する前に、Webサービスの機能を表すOracle Warehouse Builderの公開Webサービスを作成する必要があります。

URLからWebサービスを作成するには、有効なWSDLファイルを指すURLが必要です。URLはローカル・ファイル・システムまたはリモート・ロケーションを指すことができます。WSDLファイルがリモート・コンピュータ上にある場合、リモート・ロケーションへのアクセスに使用するプロキシ設定を指定する必要があります。

外部URLに基づくWebサービス作成のためのプロキシ設定

外部URLに基づくWebサービスを作成する場合、外部URLへのアクセスに必要なプロキシ設定を指定する必要があります。プロキシを設定するには、次の手順を実行します。

  1. デザイン・センターで、「ツール」メニューから「プリファレンス」を選択します。

    「プリファレンス」ダイアログ・ボックスが表示されます。

  2. 左側にあるナビゲータ・ツリーで、Webブラウザおよびプロキシを選択します。

    Webブラウザおよびプロキシプリファレンスが「プリファレンス」ダイアログ・ボックスの右側に表示されます。

  3. HTTPプロキシ・サーバーの使用を選択して、次のフィールドの値を指定します。

    • ホスト名: プロキシ・サーバー名を表します。

    • ポート番号: プロキシ・サーバーのポート番号を表します。

    • 例外: バイパスされるプロキシ・サーバーのアドレスを表します。アスタリスク(*)ワイルドカードとして使用し、縦棒(|)を使用して複数のエントリを区切ります。

  4. プロキシ・サーバーで認証が必要な場合は、プロキシ・サーバーに認証が必要を選択します。「ユーザー名」フィールドおよび「パスワード」フィールドを使用して資格証明を入力します。

  5. プロキシのテストをクリックし、プロキシ設定をテストします。

URLに基づくWebサービスの作成手順

次のURLに基づいてWebサービスを作成する手順を使用します。

  1. デザイン・センターのグローバル・ナビゲータで、Webサービスを作成するアプリケーション・サーバー・ノードを開きます。

  2. アプリケーション・サーバー・ノードを右クリックして「新規Webサービス」を選択します。

    Webサービスの作成ウィザードが表示されます。

  3. ウィザードのようこそページで「次へ」をクリックします。

  4. 「名前と説明」ページで、次の詳細を入力し、「公開Webサービスのネーミングと説明」の説明に従って、「次へ」をクリックします。

  5. 仕様の確認ページで、ウィザードに入力した詳細を確認します。値を変更するには、「戻る」をクリックします。Webサービスの定義を完了するには、「終了」をクリックします。

    「ソースの表示」をクリックして、このWebサービスの実装に使用されるWSDLコードを表示します。

Webサービスが作成され、ナビゲータ・ツリーに追加されます。

公開Webサービスのネーミングと説明

名前と説明ページを使用して、Webサービスの基礎として機能とするWSDLファイルのロケーションを指定します。このページには、次のフィールドが含まれます。

  • 名前: Webサービス名を示します。名前は自動的にWSDLファイルから導出され、必要に応じて編集できます。

  • WSDLファイルのロケーション: 「参照」をクリックし、WSDLファイルへのパスを指定します。URLアドレスにはネットワークを介してアクセス可能なローカル・ファイルまたはURLアドレスのパスを使用できます。WSDLファイルには既存のWebサービスの定義が含まれます。

    このプロパティは、グローバル・ナビゲータを使用してURLに基づくWebサービスを作成する場合にのみ表示されます。

  • 説明: Webサービスの説明(オプション)。

Webサービスの実行

Webサービスの実行により、Webサービスで定義している機能を実行できます。Webサービスは、コントロール・センター・マネージャまたはWebブラウザから実行できます。

Webサービスの実行の前提条件

Webサービスを実行するには、OWB_J2EE_EXECUTORロールを付与されたJ2EEユーザーを使用する必要があります。Oracle Warehouse Builderの埋込みOC4Jサーバーを使用する場合、このロールは作成済です。


注意:

CTマッピングを含むWebサービスで、Webサービスの実行に複数日かかる可能性がある場合は、ジョブをさらに細かく分けることをお薦めします。OC4Jのデフォルトのトランザクション・タイムアウトは1日に設定されています。ジョブの実行時間が1日を超えると、その実行はタイムアウトとなり、予期しないエラーが発生します。

次のいずれかの方法で、J2EEユーザーにこのロールを割り当てます。


関連項目:


コントロール・センター・マネージャを使用してのWebサービスの実行

コントロール・センター・マネージャを使用してWebサービスを実行する手順は、次のとおりです。

  1. 「コントロール・センター・マネージャ」で、Webサービスを含むロケーション・ノードを開き、Webサービスを選択して、ツールバーで「開始」をクリックします。または、Webサービスを右クリックして「開始」を選択します。

    「操作の選択」ダイアログ・ボックスが表示されます。「操作」リストにWebサービスを使用して実行できる操作のリストがあります。

    Webサービスに含まれる操作が1つのみの場合は、「操作の選択」ダイアログ・ボックスは表示されません。

  2. 「操作」リストで実行する操作を選択し、「OK」をクリックします。

    Webサービスの実行パラメータを提供するために使用する「入力パラメータ」ダイアログ・ボックスが表示されます。

  3. 「入力パラメータ」ダイアログ・ボックスで、表示するパラメータの値を入力します。

    リストされるパラメータは、Webサービスが基づくオブジェクトのタイプによって異なります。たとえば、PL/SQLマッピングに基づくWebサービス、プロセス・フローおよびデータ監査にはCUSTOM_PARAMS and SYSTEM_PARAMSがあります。コードCTマッピングに基づくWebサービスにはパラメータOWB_PARAMSが含まれます。

    • CUSTOM_PARAMS: Webサービスで使用するマッピングの入力パラメータの値を表します。

      たとえば、マッピングに基づくWebサービスを作成し、マッピングに入力パラメータが必要な場合、CUSTOM_PARAMSフィールドを使用してこれらの入力パラメータの値を入力します。複数の値はコンマを使用して区切ります。

    • SYSTEM_PARAMS: バルク・サイズ、「監査レベル」、オペレーティング・モード、「エラーの最大数」および「コミット頻度」などのマッピング実行パラメータがある場合に、その値を表します。複数のシステム・パラメータがある場合は、カンマを使用してパラメータの間を区切ります。

      次に例をあげます。OPERATING_MODE=SET_BASED,AUDIT_LEVEL=NONE

    • OWB_PARAMS: Webサービスが基づくCTマッピングのパラメータを表します。

  4. 「OK」をクリックします。

Webサービスが実行され、デザイン・センターの新しいログ・ウィンドウに実行結果が表示されます。表示される詳細には、選択、挿入、更新または削除された行の数と発生したエラーまたは警告の数が含まれます。

ブラウザを使用したWebサービスの実行

任意のブラウザを使用して、Oracle Warehouse Builderの埋込みOC4Jサーバーまたはその他のOC4JサーバーにデプロイされたWebサービスを実行します。

Oracle Warehouse Builderの埋込みOC4Jサーバーを使用してWebサービスにアクセスする場合は、Webサービスのセキュリティに関するすべての前提条件が満たされます。Webサービスを実行するには、基本認証を提供する必要があります。

ブラウザを使用してWebサービスを実行する手順は、次のとおりです。

  1. 「 Webサービスの実行の前提条件」の説明に従って前提条件が満たされていることを確認します。

  2. (オプション) Oracle Warehouse Builderとともにインストールされたもの以外のOC4JサーバーにデプロイされたWebサービスを実行するときには、「外部OC4Jサーバーでのセキュアなアクセスの設定」に記載された手順を実行してください。


    注意:

    Oracle Warehouse Builderの埋込みOC4JサーバーにデプロイされていないWebサービスを実行すると、エラーが発生する場合があります。これらのエラーの解決の詳細は、「セキュアWebサイトからのWebサービス実行時のエラー」を参照してください。

  3. Webブラウザを開き、アドレス・バーに次のURLを指定して、[Enter]キーを押します。

    http://host_name:8888/jndi_name/webservice

    Webサービスを安全に実行するには、次のURLを使用します。

    https://host_name:4443/jndi_name/webservice

    Webサービスのエンドポイント・ページが表示されます。Oracle Warehouse Builderが提供するAGENTWEBSERVICE Webサービスを使用する場合、AgentWebServiceエンドポイント・ページが表示されます。

    ここで、host_nameはWebサービスを格納するコンピュータのホスト名を表し、jndi_nameはWebサービスで生成される.earファイルの名前です。Oracle Warehouse Builderと一緒にインストールされるAGENTWEBSERVICEを使用してWebサービスを実行するには、jndi_nameとしてjrtを使用します。

    Webサービスで使用するデフォルトのポート番号は8888および4443です。別のポート番号を使用できます。

  4. 「ブラウザを使用したWebサービスに対する操作の実行」に示す手順に従ってWebサービスを実行します。

ブラウザを使用したWebサービスに対する操作の実行

グローバル・ナビゲータのAGENT_SERVERノードの下にあるAGENTWEBSERVICE Webサービスは、WebサービスとしてOracle Warehouse BuilderとともにインストールされたAGENTサーバーを公開する埋込みWebサービスです。この項で示される手順は、AGENTWEBSERVICEに対応するインタフェースであるAgentWebServiceエンドポイント・ページを使用して実行します。このWebサービスはコントロール・センター・エージェント(CCA)の起動時に自動的に起動されます。ただし、他のWebサービスのエンドポイントを使用してもWebサービスで定義する操作を実行できます。

  1. Webサービスで実行する操作を選択し、操作の実行に必要な情報を入力します。

    次に、AGENTWEBSERVICEを使用する際に選択できる一部の操作を示します。

  2. トランスポート情報の表示ノードを開き、HTTP認証というラベルの右にある「有効化」を選択します。

  3. トランスポート情報の表示セクションで、次のフィールドの詳細を入力します。

    • ユーザー名: Webサービスの実行に使用される、OWB_J2EE_OPERATORロールを持つJ2EEユーザーの名前。

    • パスワード: 「ユーザー名」で指定したJ2EEユーザーのパスワード

  4. 「呼出し」をクリックします。

    操作の結果を含むテスト結果ページが表示されます。


    注意:

    資格証明を入力して、「呼出し」をクリックした後、資格証明の入力を求められることがあります。トランスポート情報セクションで指定したJ2EEの資格証明を再度入力してください。

WebサービスまたはアプリケーションがOC4Jサーバーにデプロイされているかどうかの特定

isDeployed操作では、WebサービスまたはアプリケーションがOC4Jサーバーにデプロイされているかどうかの特定できます。

WebサービスがOC4Jサーバーにデプロイされているかどうかを特定する手順は、次のとおりです。

  1. AgentWebServiceエンドポイントページで、「操作」フィールドのisDeployedを選択します。

  2. 「jndiName」フィールドで、アプリケーションの名前を入力します。

    jndi_nameまたは完全修飾アプリケーション名を使用します。この名前を特定するには、OWB_HOME/owb/jrt/applicationsディレクトリを確認します。

WebサービスがOC4Jインスタンスにデプロイされた場合、テスト結果ページのXMLコードに「True」が表示されます。

コントロール・センター・ジョブの実行

runCCJob操作により、コントロール・センター・ジョブを実行できます。ジョブにはOracle Warehouse Builderを使用して定義されたWebサービス、マッピングおよびプロセス・フローが含まれます。

コントロール・センター・ジョブを実行する手順は、次のとおりです。

  1. AgentWebServiceエンドポイントページで、「操作」フィールドのrunCCJobを選択します。

  2. 次の各フィールドに情報を入力します。

    • ユーザー名: Webサービスを実行するワークスペースの名前を表します。

    • パスワード: 「ユーザー名」フィールドで指定したユーザーのパスワードを表します。

    • ワークスペース: Webサービスの実行ジョブを実行するワークスペースの名前を表します。Webサービスを実行するユーザーがワークスペース所有者でない場合は、ユーザー名に接頭辞としてワークスペース名を付けます(test_user.my_workspaceなど)。

    • ロケーション: タスクのデプロイ先のロケーションの物理名を表します。

    • task_type: タスクのタイプを表します。次の値を使用します。

      PLSQL - PL/SQLマッピング用

      SQL_LOADER - SQL*Loaderマッピング用

      PROCESS - プロセス・フロー用

      SAP - SAPマッピング用

      DATA_AUDITOR - Oracle Warehouse Builderのデータ監査マッピング用

    • task_name: デプロイ済のオブジェクトの物理名を表します。たとえば、MY_MAPPINGです。プロセス・フローの場合は、プロセス・フローが属しているプロセス・フロー・パッケージの名前でプロセス・フロー名を修飾します(たとえば、MY_PROCESS_FLOW_PACK. MY_PROCESS_FLOW)。

    • connection_string: コントロール・センター・マネージャが含むコンピュータの接続情報を表します。

    • system_params: バルク・サイズ、「コミット頻度」などのマッピング実行パラメータを表します。複数のシステム・パラメータがある場合は、カンマを使用してパラメータの間を区切ります。

      次に例をあげます。OPERATING_MODE=SET_BASED,AUDIT_LEVEL=NONE

    • custom_params: マッピングの入力パラメータを表します。

runCCJob操作では、実行が成功した場合は1を、警告がある場合は2を、実行時にエラーがある場合は3を戻します。

実行ジョブの終了

abortJob操作により、コントロール・センター・マネージャに送信された特定のジョブを終了できます。

特定のジョブを終了する手順は、次のとおりです。

  1. AgentWebServiceエンドポイント・ページで、「操作」フィールドのabortJobを選択します。

  2. jobIDフィールドに終了するコントロール・センター・ジョブのジョブIDを入力します。

  3. 「timeOut」フィールドで、タイム・アウトの値をミリ秒単位で入力します。このフィールドに0を入力すると、タイムアウトがないことを示します。

テスト結果ページのTRUEの戻り値はコントロール・センター・マネージャに終了メッセージが送信されたことを示します。

デプロイ済のアプリケーションの実行

invokeEAR操作では、Webサービス、CTマッピングなどのデプロイ済のアプリケーションを実行できます。

WebサービスまたはCTマッピングを実行する手順は、次のとおりです。

  1. AgentWebServiceエンドポイント・ページで、「操作」フィールドのinvokeEARを選択します。

  2. 「jndiName」フィールドで、WebサービスのJNDI名を入力します。

  3. 「soa_params」フィールドで、マッピング実行パラメータの値を入力します。各値はカンマで区切ります。

  4. 「owb_params」フィールドで、入力パラメータの値を入力します。

テスト結果ページにはWebサービス実行のジョブIDが含まれています。

プロセス・フローでのアクティビティとしてのWebサービスの使用

Webサービスで定義した機能をプロセス・フローの一部として使用できます。Webサービスは、新規に作成するか、またはOracle Warehouse Builderにインポートできます。プロセス・フローでWebサービスを使用するには、Webサービスのアクティビティを使用します。

プロセス・フローでWebサービスを使用する例は、事例: データ統合のためのWebサービスの使用を参照してください。

プロセス・フローでWebサービスを使用するルール

プロセス・フローでは、次のように、特定のルールに準拠しているWebサービスのみがOracle Warehouse Builderでサポートされます。

  • アクセス可能なWSDLファイルで記述されるWebサービスのみがサポートされます。

  • WSDLファイルに複数のサービスが含まれる場合は、1つのサービスを指定する必要があります。

  • 基本認証を含むWebサービスには資格情報を提供するためにURIロケーションが必要です。Webサービス・アクティビティのデプロイ済ロケーションプロパティをこのURIロケーションに設定する必要があります。

  • Webサービスに複数のポートが含まれる場合は、ポートを指定する必要があります。

  • ポートはhttpトランスポートを使用する必要があります。

プロセス・フローでのWebサービスの使用ステップ

プロセス・フローでWebサービスを使用する手順は次のとおりです。

  1. プロジェクト・ナビゲータで、プロセス・フローを作成します。

    プロセス・フローの詳細は、「プロセス・フローを定義する手順」を参照してください。

  2. プロセス・フローの一部であるWebサービスのアクティビティを除きすべてのアクティビティを追加して、アクティビティ間のデータ・フローを確立します。

  3. 外部Webサービスを使用している場合、グローバル・ナビゲータで公開Webサービスを作成することにより、WebサービスをOracle Warehouse Builderにインポートします。


    関連項目:

    Webサービスのインポートの詳細は、「URLに基づくWebサービスの作成」を参照してください。

  4. プロジェクト・ナビゲータまたはグローバル・ナビゲータのいずれかからプロセス・フロー・エディタのキャンバスにWebサービスをドラッグ・アンド・ドロップします。

    または

    「グラフ」メニューから「使用可能なオブジェクト」を選択します。「使用可能なオブジェクトの追加」ダイアログ・ボックスが表示されます。必要なWebサービスを選択して、「OK」をクリックします。

    「Webサービス操作」ダイアログ・ボックスが表示されます。

  5. Webサービスの使用可能な操作から操作を1つ選択して、「OK」をクリックします。選択した操作はプロセス・フローで使用されます。

    Webサービスはプロセス・フロー・エディタに追加され、プロパティが「構造」パネルにリストされます。

    同期Webサービスの操作には入力メッセージおよび出力メッセージの両方が含まれます。これらは、プロセス・フローのWebサービス・アクティビティの入力パラメータまたは出力パラメータにマップされます。

  6. Webサービスのアクティビティの各プロパティに必要な入力値を指定します。「構造」パネルのプロパティを選択し、「プロパティ・インスペクタ」を使用して値を設定します。

    Webサービスに認証が必要な場合は、URIロケーションを作成し、Webサービスのアクティビティのデプロイ済ロケーションプロパティをこのURIロケーションに設定する必要があります。

  7. Webサービス・アクティビティとの間のデータ・フローを確立します。

  8. プロセスを生成し、エラーが発生した場合は解決します。

  9. Webサービスのアクティビティの形式でプロセス・フローに追加したすべてのWebサービスがデプロイされたことを確認します。

  10. 手順1で作成されたプロセス・フローを含むプロセス・フロー・パッケージをデプロイします。コントロール・センター・マネージャを使用するか、プロジェクト・ナビゲータでプロセス・フロー・パッケージを右クリックして「デプロイ」を選択します。

  11. プロセス・フローを実行します。プロジェクト・ナビゲータで、プロセス・フローを右クリックして「開始」を選択します。

Webサービス・アクティビティと参照されているWebサービスとの同期

Webサービスの定義が変更されると、このWebサービスを消費するすべてのプロセス・フローにそれらの変更を伝搬する必要があります。

プロセス・フローで使用するWebサービスを同期する手順は、次のとおりです。

  1. Webサービスを使用するプロセス・フロー・パッケージを右クリックして「開く」を選択します。

    このプロセス・フローのプロセス・フロー・エディタが表示されます。

  2. Webサービスが変更されたことを示しているWebサービスのアクティビティを選択します。「編集」メニューから、「同期化」を選択します。

    「同期化」ダイアログ・ボックスが表示されます。Webサービスを同期する必要のあるオブジェクトが選択されると、変更することはできません。

  3. オブジェクトIDによる一致、オブジェクト位置による一致またはオブジェクト名による一致のいずれかの一致オプションを選択して「一致方針」を指定します。

    これらのオプションの詳細は、「ヘルプ」をクリックします。

  4. 「置換」または「マージ」を選択して「同期化方針」を指定します。

  5. 「OK」をクリックして、Webサービスとベースにするオブジェクトを同期します。

Webサービスに行った変更は、Webサービスに基づいているWebサービスのアクティビティに伝搬されます。

マッピングでのWebサービスの使用

Webサービスは本質的に関数であるため、Oracle Databaseが提供するWebサービスのサポートを活用することで、マッピング内のWebサービス(PL/SQLパッケージ)を使用できます。このため、既存のWebサービスにある機能を活用できます。

次の方法のいずれかを使用して、Webサービスソースまたはターゲットとして使用するマッピングを作成します。

JPublisherを使用してマッピングでWebサービスを消費する手順

JPublisherユーティリティでは、オブジェクト・タイプ(Oracleオブジェクト、可変長配列、ネストした表、REFまたはオブジェクト・タイプである可能性がある)がJavaクラスに変換され、オブジェクトの各属性のアクセッサ・メソッドが生成されます。JPublisherではオブジェクト・タイプとJavaクラスとのマッピング、オブジェクトの属性のタイプと対応するJava型とのマッピングが作成されます。

PL/SQLパッケージでは、JPublisherによりパッケージのサブプログラムごとにラッパー・メソッドを含むクラスが作成されます。オブジェクト・メソッドと同様に、サブプログラムごとに作成されたラッパー・メソッドは、元のメソッドが静的メソッドである場合でも必ずインスタンス・メソッドです。JPublisherが生成したラッパー・メソッドでは、JavaコードからPL/SQLストアド・プロシージャを呼び出したり、クライアントのJavaプログラムからJavaストアド・プロシージャを呼び出す便利な方法を提供します。

  1. JPublisherを使用してWSDLファイルのテーブル・ファンクション・プロキシを生成し、PL/SQLラッパーおよびプロキシ・コードを公開します。

    たとえば、次のコマンドではhttp://99.22.32.21:9762/services/test_ws?wsdlというURLで使用できるWebサービスのプロキシが生成されます。

    jpub -user wh_tgt/wh_tgt_pswd -sysuser system/oracle -dir=test_ws
         -proxywsdl=http://90.22.32.21:9762/services/test_ws?wsdl
         
    

    ここで、wh_tgtおよびwh_tgt_pswdは、マッピングがデプロイされているOracle Warehouse Builderロケーションに対するデータベース資格証明です。

    JPublisherではJavaクラスおよびPL/SQLラッパーを生成し、指定のスキーマ(WH_TGT)にロードします。

  2. (オプション)Webサービスを呼び出すPL/SQLコードを定義します。

    この手順によって、テーブル・ファンクションへのコールアウトがOracle Databaseレベルで動作することが、Oracle Warehouse Builderを介さずに確認されます。

    次の例では、パッケージmy_packの一部であるmy_funcという関数へのコールアウトが正しく機能することを確認します。

    SELECT * FROM TABLE(WH_TGT.MY_PROC.MY_FUNC)
    
  3. テーブル・ファンクション・プロキシを生成したWebサービスのメタデータを、インポート・メタデータ・ウィザードによってOracle Warehouse Builderにインポートします。

    メタデータにはユーザー定義型およびPL/SQLパッケージが含まれます。

  4. Webサービスを消費するOracle Warehouse Builderマッピングを開き、テーブル・ファンクション演算子を追加してWebサービスを呼び出します。次のタスクを実行します。

    • テーブル・ファンクション演算子の「テーブル・ファンクション名」プロパティで、マッピングに追加する(手順1で)生成されたテーブル・ファンクションの名前を入力します。

    • テーブル・ファンクション演算子のINGRP1グループで、入力パラメータの型フィールドを使用してテーブル・ファンクションが許容する入力の型を選択します。

  5. Webサービスへの入力を表すソース行を定義します。

    Webサービスを表す演算子をテーブル・ファンクション演算子の入力グループにマッピングします。

  6. Webサービスの出力をマッピングの表に取得します。

    テーブル・ファンクション演算子ではコレクション型を出力として戻すので、必要に応じて、オブジェクトの拡張演算子を使用してターゲット表に個別に行をマッピングします。

  7. (オプション)企業のファイアウォールの背後で実行する場合など、Webプロキシを設定する場合は、プロシージャINITIALIZE_PROXYを使用するマッピング前プロセス演算子を使用してHTTPプロキシを構成します。

  8. マッピングを生成して実行します。

Secure Sockets Layer(SSL)を使用してのWebサービスへの安全なアクセス

セキュリティが主な問題点である場合、Oracle Warehouse BuilderではSecure Sockets Layer(SSL)を使用してWebサービスにセキュアな方法でアクセスできます。これにより、OC4JサーバーとWebサービスとの間で交換するメッセージが確実に保護されます。

Oracle Warehouse Builderの埋込みOC4Jサーバーとその他の外部OC4JサーバーのどちらにデプロイされたWebサービスにも安全にアクセスできます。

コントロール・センター・エージェントのセキュリティのJ2EEロール

Oracle Warehouse Builderでは、Oracle Warehouse Builderのコントロール・センター・エージェントのセキュリティを促進する次の3つのロールが提供されます。

  • OWB_J2EE_EXECUTOR: 権限受領者がコントロール・センター・エージェント(CCA)でマッピングを実行できます。

  • OWB_J2EE_OPERATOR: OWB_J2EE_EXECUTORロールを含み、権限受領者が監査情報にアクセスし、操作できます。

  • OWB_J2EE_ADMINISTRATOR: OWB_J2EE_EXECUTORロールを含み、権限受領者がOC4Jを管理したり、コントロール・センター・エージェントにOracle Warehouse Builderオブジェクトをデプロイしたりできます。

外部OC4Jサーバーでのセキュアなアクセスの設定

(Oracle Warehouse Builderに埋め込まれていない)その他のOC4JサーバーにあるWebサービスに安全にアクセスできます。実行する前にOC4Jサーバーでのセキュリティを設定する必要があります。

他のOC4Jサーバーへの安全なアクセスを設定する手順は、次のとおりです。

  1. キーツール・ユーティリティを使用してRSAの秘密鍵と公開鍵のペアを持つキー・ストアを作成します。

    次の例では、RSAキー・ペア生成アルゴリズムを使用して、123456というパスワードを持つmykeystore.jksというファイルにあるキー・ストアを生成します。

    %keytool -genkey -keylag RSA -keystore mykeystore.jks -storepass 123456
    

    keystoreオプションでは、キーを格納するファイル名が設定されます。storepassオプションでは、キー・ストアを保護するパスワードを設定します。storepassオプションを省略すると、パスワードを入力するように求められます。

  2. キー・エントリのパスワードを入力するように求められます。OC4J 10.1.3.xの実装では、キー・ストアのパスワードはキー・エントリのパスワードと同じである必要があります。

    現在のディレクトリにmykeystore.jksファイルを作成されます。キーのデフォルトの別名はmykeyです。

  3. secure-web-site.xmlファイルがない場合は、OWB_HOME/j2ee/home/configに作成します。

    開始するには、default-web-site.xmlから必要な内容をすべてコピーします。これには、通常、要素に次のサブ要素が含まれます。

    • <web-app> (保護するWebアプリケーションごと)

    • (ロギング用。これは適切なログ・ファイルを指定することを確認する)

    • <default-web-app>

  4. 次の要素を使用してsecure-web-site.xmlを更新します。

    • Webサイト要素を更新し、secure="true"を追加して、ポート番号を使用可能なポートに設定します。スタンドアロンOC4Jでは、デフォルト設定であるHTTPプロトコルを使用します。デフォルトの443を使用するには、スーパー・ユーザーである必要があります。

      protocol="http"およびsecure="true"を設定する場合は、HTTPSプロトコルが使用されます。

      次は、要素の例です。

      <web-site port="4443" secure="true" protocol="http"
      display-name="Default Oracle OAS Containers for J2EE Web Site">
      ...
      ...
      </web-site>
      
    • 次のようにweb-site要素の下にエントリを追加しキー・ストアとそのパスワードを定義します。

      <ssl-config keystore="your_keystore" keystore-password="your_password" />

      ここで、your_keystoreはキー・ストアへのパス、つまり、OWB_HOME/j2ee/home/config (WebサイトのXMLファイルが格納されている場所)への相対または絶対パスです。また、your_passwordはキー・ストアのパスワードです。

  5. 変更内容をsecure-web-site.xmlに保存します。

  6. セキュアなWebサイトを有効にするには、OWB_HOME/owb/jrt/configディレクトリにあるserver.xmlファイルにセキュアなWebサイトを追加します。

  7. OC4Jサーバーを再起動して、以前の変更が適用されていることを確認します。

  8. まだ作成されていない場合は、OWB_J2EE_EXECUTORロール、OWB_J2EE_OPERATORロールおよびOWB_J2EE_ADMINISTRATORロールを作成します。

    OWB_HOME/owb/jrt/configフォルダにあるfile system-jazn-data.xmlファイルを参照してください。

  9. Webサービスを実行するために使用するJ2EEユーザーを作成して、このユーザーにOWB_J2EE_EXECUTORロールを付与します。

キー・ストア・パスワードの更新

Oracle Warehouse Builderの埋込みOC4Jサーバーの場合は、WebサービスでSSLを使用するための安全なキー・ストアが提供されます。このキー・ストアは、OWB_HOME/owb/jrt/configフォルダにあるserverkeystore.jksファイルで使用できます。

このキー・ストアのデフォルトのパスワードは、welcomeです。パスワードを変更するにはJAVA_HOME/bin/keytoolを使用します。または、JAVA_HOME/bin/keytoolを使用して新しく作成されたキー・ストアにキー・ストアを置き換えます。

事例: データ統合のためのWebサービスの使用

会社Aと会社Bが合併しました。会社Aは米国のサンフランシスコにあり、会社Bは中国の上海にあります。現在、それぞれの会社はまだ別々に独自のビジネス・プロセスに従っています。それらのビジネス・プロセスを統合するためのプランを策定する必要があります。

企業AではOracle Databaseを使用してデータを格納し、データ統合およびETLではOracle Warehouse Builderを使用しています。指定期間の売上合計の決定にはマッピングが使用されています。

企業BはSQL Serverデータベースを使用してデータを格納し、データ統合およびETLではOracle Warehouse Builderを使用しています。ソース表はSQLサーバーであるので、指定期間の売上合計の決定にはCTマッピングを使用しています。

例: Webサービスとしてのマッピングの公開

企業AではORDERSという表に売上詳細を格納しています。PRODUCTS表には製品の詳細が格納されます。マッピングLOAD_TOTAL_SALES_MAPによりソース・データが変換され、売上合計の詳細をターゲット表TOTAL_SALESにロードされます。データ統合要件の一部として、企業Aおよび企業Bのビジネス・プロセスを統合する必要があります。

マッピングLOAD_TOTAL_SALES_MAPをWebサービスとして公開することで、ロケーション、データ形式またはプロバイダのプラットフォームに依存することなくマッピングで定義された機能にリモートにアクセスできます。

企業Aではデータの格納に次の表を使用します。

  • ORDERS: には、order_idorder_dateproduct_idquantityおよびcustomer_idの各列が含まれます。

  • PRODUCTS: には、product_idproduct_nameproduct_descおよびproduct_priceが含まれます。

  • CUSTOMERS: にはcustomer_idfirst_namelast_namecust_addressおよびcust_cityが含まれます。

次の手順を使用して、LOAD_TOTAL_SALES_MAPをWebサービスとして公開します。

  1. プロジェクト・ナビゲータで、作成しているWebサービスが含まれるINTEGRATION_AS_MODというアプリケーション・サーバー・モジュールを作成します。このモジュールのロケーションの詳細がWebサービスのデプロイ先のエージェント・ロケーションに設定されていることを確認します。

  2. LOAD_TOTAL_SALES_MAPマッピングを含むOracleモジュールを開きます。

  3. LOAD_TOTAL_SALES_MAPマッピングを右クリックしてWebサービスとしての公開を選択します。

    アプリケーション・サーバーまたはWebサービス・パッケージの選択ダイアログ・ボックスが表示されます。

  4. INTEGRATION_AS_MODを選択して、「OK」をクリックします。

WS_LOAD_TOTAL_SALES_MAPというWebサービスが作成され、アプリケーション・サーバー・モジュールINTEGRATION_AS_MODに関連付けられているエージェント・ロケーションにデプロイされます。

例: プロセス・フローでのWebサービスの消費

企業BではLOAD_TOT_SALES_CT_MAPというCTマッピングを使用して指定期間の売上の集計をターゲット表TOT_SALESにロードします。このマッピングは企業Aが使用するマッピングに似ています。ただし、ソース表ORDERSPRODUCTSCUSTOMERSはSQL Serverデータベースに格納されているため、CTマッピングを使用しています。

企業Bは中国の上海にあるので、ソース表の売上金額は中国の元で格納されています。ただし、企業Aおよび企業Bは合併されたため、営業管理者は両社の連結売上を共通の通貨である米国ドルで確認する必要があります。今度は、企業Bの売上金額を米国ドルに変換する必要があります。

変換レートの決定には、外部の通貨変換Webサービスを使用できます。このWebサービスでは2つの入力パラメータ変換元通貨および変換先通貨を取ります。その出力は変換元通貨から変換元通貨への変換に使用する必要のある複数の出力です。これは外部のWebサービスであるため、最初にこのWebサービスをOracle Warehouse Builderにインポートする必要があります。

プロセス・フローでWebサービスを消費する手順

  1. LOAD_TOT_SALES_CT_MAPコード・テンプレート(CT)マッピングの変更

  2. 通貨変換Webサービスのインポート

  3. 通貨変換Webサービスを消費するプロセス・フローの作成

LOAD_TOT_SALES_CT_MAPコード・テンプレート(CT)マッピングの変更

CTマッピングLOAD_TOT_SALES_CT_MAPを編集して、マッピング入力演算子および式演算子を追加します。マッピング入力演算子を使用して通貨変換値を指定します。式演算子を使用して、中国元の合計売上に変換値を乗算して、変換された売上金額をTOT_SALES表にロードすることによって、米国ドルの合計売上を求めます。

通貨変換Webサービスのインポート

通貨変換Webサービスは次で入手できる外部のWebサービスです。

http://www.webservicex.net/CurrencyConvertor.asmx?WSDL

プロセス・フローでこのWebサービスを消費するには、次の手順を使用してこのWebサービスをOracle Warehouse Builderにインポートする必要があります。

  1. グローバル・ナビゲータで、PUBLIC_AS_MODというアプリケーション・サーバー・モジュールを作成します。

    URLに基づくWebサービスをインポートするには、グローバル・ナビゲータで公開Webサービスを作成する必要があります。

  2. グローバル・ナビゲータで、PUBLIC_AS_MODを右クリックして、「新規Webサービス」を選択してURLに基づくWebサービスを作成します。このWebサービスはWS_CURR_CONVERTと呼ばれます。

    通貨変換WebサービスへのURLを使用してWSDLファイルのロケーションを指定します。

    URLに基づくWebサービスの作成の詳細は、「URLに基づくWebサービスの作成」を参照してください。

通貨変換Webサービスを消費するプロセス・フローの作成

プロセス・フローを使用して、オブジェクトの実行順序を確立し、オブジェクトの出力を他への入力として使用します。このプロセス・フローでは、企業Bの米国ドルの売上金額がターゲット表にロードされます。

表16-1に、企業Bの米国ドルの売上金額をTOT_SALES表にロードするプロセス・フローを示します。

WebサービスCONVERTSERVICE_CONVERSIONRATEがまず実行され、その出力は、中国元の金額に乗算して米国ドルに変換するため変換値です。この値はマッピング入力パラメータ演算子としてLOAD_TOT_SALES_CT_MAP CTマッピングへの入力として指定され、変換値を表すマッピング・アクティビティCMAP1として表されます。

図16-1 Webサービスを消費するプロセス・フロー

説明は画像の前後のテキストにあります。
「図16-1 Webサービスを消費するプロセス・フロー」の説明

例: Oracle Warehouse Builder WebサービスとOracle BPELプロセス・マネージャの統合

Oracle Warehouse Builderを使用して開発したETL機能をOracle BPELプロセス・マネージャなどの製品と統合できます。これは、Oracle BPELプロセス・マネージャで消費できるETLオブジェクトをWebサービスとして公開することにより実行されます。

Oracle BPELプロセス・マネージャでは、BPELプロセスを設計、デプロイおよび管理するための包括的で使いやすいソリューションを提供します。

シナリオ

企業Aの営業責任者は指定期間の企業Aと企業B両方の売上業績を評価する必要があります。A社およびB社には、指定期間の売上業績を決定するそれぞれ独自のプロセスがあります。合併企業としての一定期間の合計売上を簡単に決定できるようにこれらのプロセスを統合する必要があります。

ETL機能とOracle BPELプロセス・マネージャを統合する前に

A社ではマッピングLOAD_TOTAL_SALES_MAPマッピングを使用しており、これは、WebサービスWS_LOAD_TOTAL_SALES_MAPとして公開されています。企業BではLOAD_TOT_SALES_CT_MAPというコード・テンプレート・マッピングと中国元の売上を米国ドルに変換するプロセス・フローを使用しています。このプロセス・フローをWebサービスとして必ず公開します。また、これらのWebサービスに関連付けられているすべてのオブジェクトも公開します。

BPELとの統合手順

  1. Oracle SOAスイートを起動します。

  2. JDeveloper BPEL Designerを起動します。

  3. BPEL_INTEGというBPELプロセスを作成します。このプロセスではA社とB社が作成するWebサービスを使用します。

    図16-2にプロセスBPEL_INTEGを示します。

    図16-2 Webサービスを使用するBPELプロセス

    図16-2の説明が続きます。
    「図16-2 Webサービスを使用するBPELプロセス」の説明

  4. アプリケーション・ナビゲータでBPELプロセスを右クリックし、「デプロイ」を選択して、デプロイメント・ロケーションを選択することで、BPELプロセスをデプロイします。

    「ログ」パネルを使用してデプロイメント結果を表示できます。

  5. Webブラウザを使用してBPELマネージャにログインします。

  6. 「ダッシュボード」タブで、「デプロイ済BPELプロセス」セクションでBPEL_INTEGを選択します。

  7. 「開始」タブを選択します。

  8. 入力フィールドを使用して入力パラメータSTART_DATE and END_DATEの値を入力し、「XMLメッセージの転送」をクリックしてBPELプロセスを実行します。

    たとえば、入力フィールドにSTART_DATA=2007-01-01,END_DATA=2008-12-31という値を入力します。

  9. ビジネス・プロセス実行の監査証跡を確認します。BPELコンソール「インスタンス」タブを選択して、このフローのリンクをクリックします。