BPELプロセス内で実行可能なODI XML変換の開発

このOracle by Example(OBE)チュートリアルでは、XMLファイルをインポート、変換、およびエクスポートするOracle Data Integrator(ODI)シナリオの構築方法を説明します。 構築後は、このシナリオをBPELプロセス内のパートナー・リンクとして実行できます。

約2時間半

トピック

このOBEチュートリアルでは、以下のトピックについて説明します。

 

このアイコンの上にカーソルを置くと、すべてのスクリーンショットがロードし、表示されます。 (警告: すべてのスクリーンショットが同時にロードされるため、ご使用のインターネット接続によってはレスポンス・タイムが遅くなる場合があります。)

注: 各手順に関連したスクリーンショットのみを表示する場合は、それぞれの手順 にある各アイコンの上にカーソルを置いてください。

スクリーンショットは、ご使用の環境を反映したものではありません。 Oracle Data Integratorの特定の機能がどこにあるのかを分かりやすくするために提供されています。

概要

エンタープライズSOAをデプロイする場合、ほぼ常にエン タープライズ・データの抽出、ロード、変換が必要となります。 SOAのXMLレイヤーは、特定のエンタープライズ・データの抽出、ロード、および変換において非効率的であることが実証されています。 Oracle Data Integrator内のネイティブSOAアーキテクチャを活用すれば、Oracle Data Integratorで抽出、ロード、変換(ELT)を実行できます。 内部テストによると、Oracle Data Integratorは非XML ELTのユースケースに比べて優に20倍の処理速度を提供することが示されています。また、変換の種類にもよりますが、Oracle Data IntegratorはXSLT XML ELTのユースケースを大幅に越える処理速度を達成できます。

 

トピック・リスト に戻る

シナリオ

Lindaは、Global Enterpriseのデータベース管理者です。 Global Enterpriseにおいて、Lindaは社内のさまざまなリソースのデータベースの管理や統合業務を担当しています。 とくに、BPELプロセス内で使用できるXML変換に携わっています。 Lindaが構築するのは、XMLファイルをインポートし、変換を実行してからこのファイルを新規XMLファイルへエクスポートするODIシナリオです。 このほかXMLファイルをインポートし、ODI XML Driverを使用して、SQL文によってさらに変換するためのODI XMLプロシージャ作成シナリオも検討しています。 その後、このファイルは新規XMLファイルへエクスポートされます。 このほか、XMLファイルの変換と新規XMLファイルの作成をおこなうODIシナリオを実行するBPELプロセスを作成しなければなりません。

このOBEでは、4つの例を通してシナリオを学習します。

例1: インタフェースを使用したODI XML変換の開発
この例では、XMLファイルをインポートするODIインタフェースの作成に必要な手順を学習します。 このファイルは、インポート後にODIインタフェース内で変換されます。 その後、このファイルは新規XMLファイルへエクスポートされます。

例2: プロシージャを使用したODI XML変換の開発
この例では、XMLファイルをインポートするODIプロシージャの作成に必要な手順を学習します。 このファイルは、ODI XML Driveを使用し、SQL文によって変換されます。 その後、このファイルは新規XMLファイルへエクスポートされます。

例3: SOAからODIシナリオを起動するBPELプロセスの開発
この例では、ファイルをポーリングするBPELプロセスの作成手順を学習します。 ファイルを確認すると、BPELは例1で作成したODIシナリオを実行し、XMLファイルを変換して新規XMLファイルを作成します。

例4: 例3で作成したBPELプロセス修正による2番目のシナリオの起動
この例では、例3で作成したBPELプロセスを修正して追加のODIシナリオを実行する手順を学習します。 ファイルを確認すると、BPELは例1で作成したODIシナリオを実行し、XMLファイルを変換して新規XMLファイルを作成します。そして、例2で作成 した追加のODIシナリオを実行します。

 

トピック・リスト に戻る

前提条件の確認

タスクを開始する前に、システム環境が以下の前提条件を満たしていることを確認してください。

ソフトウェア要件

システムには次のインストール済み製品が含まれている必要があ ります。

システムには次の構成が含まれている必要があります。

トピック・リストに戻る

例1: インタフェースを使用したODI XML変換の開発

この例では、インタフェースを使ってXMLファイルのインポート、変換、およびエクスポートを実施するためのODIプロセス構築手順を説明します。 ODI Webサービスは、PKGXFORMXML上に構築されたSCENXFORMXML_INTシ ナリオを起動します。 PGKXFORMXML_INTはパッケージ内で使用する1つの変数を宣言し、XFORMXMLイ ンタフェースを実行します。 ImportXformExportXML_INTは、ターゲットXMLに対してソー スXMLファイルをマッピングします。 ソースXMLファイルは、LKM SQL to SQLを使用してステージング領域にロードされます。 ソースXMLファイルはその後、.csvファイルと結合されます。 レコードが結合ファイルと一致する場合、CLIENT表のアドレス・フィールドは更新されます。 更新されたXMLは、IKM SQL to SQL Appendを使用してXMLファイルに書き込まれます。 IKM SQL to SQL Appendも、Commitステップ内でExportXMLFileLocに 書き込まれるよう更新されます。

トピック・リスト に戻る

 

ODIの新規プロジェク トの作成


プロジェクトは、ユーザーが作成したODIオブジェクトのコレクションです。 プロジェクトには、単一の機能ドメインが含まれている必要があります。 最良の方法は、ODIで開発する統合プロセス内または統合プロジェクト内で機能ドメインとしてプロジェクトを使用することです。 各プロジェクトには、自身のナレッジ・モジュール、変数、マーカー、およびそのほかの種類のオブジェクトが含まれています。 これらオブジェクトは複製することで、異なるプロジェクト間で共有できます。 また、変数やシーケンスなどのグローバル・オブジェクトを使うことで、全プロジェクトに共通するパラメータを定義できます。

ODI内に新規プロジェクトを作成するには、以下の手順を実行します。

1.

スタート」→「すべてのプログラム」→「Oracle」 →「Oracle Data Integrator」→「Designer」の順にクリックして、ODI Designerを開きます。

 

2.

Oracle Data Integrator Login画面が表示されます。 Login Nameドロップダウン・メニューから「Repo_designer」を選択します。

 

3.

デフォルトでユーザー名とパスワードは、それぞれSUPERVISORSUNOPSISにあらかじめ設 定されています。 「OK」をクリックしてログインします。

 

4.

左下のペインで、「Projects」タブをクリックします。

 

5.

左上端にProjectsペインが表示されていることを確認します。 右クリックして、「Insert Project」 を選択します。

 

6.

Project Newウィンドウが表示されます。 NameにBPELXFormWithODIと入力します。 Codeの値にも同じテキストが入力されていることを確認します。 次に、「OK」をクリックしてProjectsペイン内に入力された新 規プロジェクトを表示します。

 

 

トピック・リストに戻る

XMLファイルの新規モ デルの挿入

ソースXMLファイルの新規モデルを挿入するには、以下の手順を実行します。

1.

ODI Designerで左下ペインまでスクロールし、「Models」タブをク リックします。

 

 

2.

左上端にModelsペインが表示されていることを確認します。 右クリックして、「Insert Model」を選 択します。

 

3.

Model: Newウィンドウで、新規モデルの値を入力します。 このため、次のパラメータを設定して、「Reverse」 タブをクリックします。

パラメータ
Name SRC_GEO_DIM_XML
Technology XML
Logical Schema XML_DEMO_GEO

 

4.

Reverseタブ下のContextドロップダウン・メニューで「Global」を選択したら、下方向にスクロールし て「Reverse」をクリックします。 これでXMLソースが生成されます。

 

 

5.

確認のため、「Yes」をクリックします。 次に、「OK」をクリックします。

 

6.

Modelsペインにて、新規データ・ストアが入力されたことを確認します。 「+」をクリックして開き、SRC_GEO_DIM_XMLモ デルを表示します。

 

トピック・リストに戻る

 

.csv参照ファイルの モデルの挿入

新規.csv参照ファイルのモデルを挿入するには、以下の手順を実行します。

1.

ODI Desinger内の「Models」タブをクリックします。

 

2.

右クリックして「Insert Model」を選択しま す。

 

.

 

3.

Model: Newウィンドウで、新規モデルの値を入力します。 値には、次の表にあるパラメータを入力します。 「Reverse」 タブをクリックします。 「Global」コンテキストを選択します。 決してReverse をクリックしないでください。 「OK」をクリックすると、次の手順で新規データソースが追加されます。

パラメータ
Name SRC_FILE_LOOKUP
Technology FILE
Logical Schema FILE_DEMO_SRC

 

 

4.

.csv参照ファイルの新規データ・ストアを挿入します。 新規作成された「SRC_FILE_LOOKUP」 を右クリックして、「Insert Datastore」を選択します。 Resource Nameに 「DIM_GEO_LOOKUP.csv」 を選択します。 データ・ストア名をDIM_GEO_LOOKUPにします。

 

 

5.

Files」タブを選択し、File Formatとして「Delimited」 を選択します。 Heading (Number of Lines)を1に設定します。File Separatorについては、「Other」を選択してカンマを入力します。

 

6.

Columns」タブをクリックしたら「Reverse」ボ タンをクリックし、逆順になる前に変更を保存するため「Yes」をクリックします。

 

 

7.

次の列が逆順になります。 Client_idタイプをStringに 設定したら、「OK」をクリックして保存します。

 

 

トピック・リストに戻る

 

XMLファイルのロード および統合のためのIKMおよびLKM SQL to SQL KMのインポート

インタフェースを作成する前に、XMLデータをロードおよび統合するLKMおよびIKMをプロジェクト内にインポートする必要があります。 LKM SQL to SQL KMをインポートするには、以下の手順に従います。

1.

ODI Desinger内の「Projects」タブをク リックします。 「Knowledge Modules」を開き、「Loading (LKM)」 ノードを右クリックして、「Import Knowledge Modules 」をクリックします。ODI Install(I:\ODI\oracle\impexp)のIMPEXPフォルダを参照し、「OK」をクリックし ます。 「LKM SQL to SQL」を選択したら、「OK」をクリックしま す。

 

 

2.

Loading (LKM)」ノードを右クリックしたら、「Import Knowledge Modules 」をクリックします。IMPEXPフォルダ(I:\ODI\oracledi\impexp) を参照して「IKM SQL to SQL Append」を選択したら、「OK」 をクリックします。

 

3.

Loading (LKM)」ノードを右クリックしたら、「Import Knowledge Modules 」をクリックします。ODI Install(I:\ODI\oracledi\impexp) のIMPEXPフォルダを参照して「LKM File to SQL」を選択したら、「OK」 をクリックします。

 

4.

Knowledge Modulesノードが次のように表示されることを確認します。

 

 

 

トピック・リストに戻る

 

XML変換および新規 XMLファイルへの書込みにおける新規インタフェースの作成

新規インタフェースのINT_ImportXFormExportXMLを作成するには、以下の手順を実行します。

1.

ODI desinger内の「Projects」タブをク リックして、「First Folder」を開きます。 「Interfaces」 ノードを右クリックして、「Insert Interface」をクリックします。 NameにINT_ImportXFormExportXMLと 入力します。 「Staging Area Different from Target」を選択します。 「Sunopsis_Memory_Engine」 を選択します。

 

2.

Diagram」タブをクリックしたら、「Models」 タブをクリックしてソースとターゲットをODI Designerにドラッグ・アンド・ドロップします。 SRC_GEO_DIM_XMLClient DatastoreTargetコンテナへドラッグ・アンド・ドロップします。 SRC_GEO_DIM_XMLClient DatastoreSourceコンテナへドラッグ・アンド・ドロップします。 ODI Designerに"Do you want to perform and Automatic Mapping?" と表示されたら、「Yes」をクリックします。 Diagramタブは、次のように表示されます。

注:この演習では、IKM内にソース・ファイルの名前と場所を設定しましたが、Commitステッ プは編集していません。 これにより、論理デザインが同一になることから、ソースとターゲットで同じモデルを使用することができます。

 

3.

DIM_GEO_LOOKUP」ソースをSourceコンテナへドラッグします。Clientの 「Client ID」をDIM_GEO_LOOKUPの「Client_ID 」へドラッグして2つの表を結合します。Joinアイコンをクリックして、画面下部に ある結合プロパティ内のClient (CLIENT)のチェック・ボックスをクリックします。 これで、DIM_GEO_LOOKUP (DIM)の行とペアになっていない行も含め、CLIENT (CLIENT)の全行が含まれま す。

 

 

4.

Target Datastore内でADRESSフィールド をクリックし、ADRESSMappingcoalesce(DIM.new_address,CLIENT.ADRESS)に 変更します。

 

 

5.

Flow」タブをクリックします。 「SS_0 (1 - FILE_GENERIC)」をクリックしたら、LKMセクションでDIMLKMを 「LKM File to SQL」に設定します。 「SS_0 (2 - XML_GEO_DIM)」をクリックして、ClientLKMLKM SQL to SQLに設定されていることを確認します。 「Target」ウィンドウをクリック して、Client (target)IKMIKM SQL to SQL Appendに設定されていることを確認します。 スクリーンショットにあるとおり、DELETE_ALLオ プションをYesに設定します。 「OK」をクリックして保存します。 INT_ImportXFormExportXMLイ ンタフェースが設定されました。

 

 

 

トピック・リストに戻る

 

XMLエクスポート・ ファイルの場所設定用プロジェクト変数の作成

XMLエクスポート・ファイルの場所を設定するためのプロジェクト変数を作成するには、次の手順を実行します。

1.

ODI Desinger内の「Projects」タブをク リックします。 「Variables」ノードを右クリックして、「Insert Variable」 をクリックします。

 

 

2.

変数の名前をExportXMLFileLocと入力します。 データ型を 「Text」に設定します。 デフォルト値を..\demo\xml\DIM_GEO_OUT.xmlに 設定します。 「OK」をクリックします。


 

 

トピック・リストに戻る

 

Commit ステップにおけるXMLファイル作成のためのSQL to SQL Appendの編集

CommitステップでXMLファイルを作成するためにSQL to SQL Appendを編集するには、次の手順を実行します。

1.

ODI Desinger内の「Projects」タブをク リックします。 「Knowledge Modules」ノードと「Integration (IKM)」ノードを開きます。 「IKM SQL to SQL Append」ノードを右ク リックして、「Edit」を選択します。 Object Lockingウィン ドウがポップアップしたらチェック・ボックスをオンにして、「No」をクリックします。

 

 

2.

Details」タブをクリックします。 「step 152 - Commit」をダブルクリックします。 コマンドを CREATE XMLFILE #ExportXMLFileLoc FROM SCHEMA GEOに変更します。 「OK」を クリックし、再度「OK」をクリックしてIKMを保存します。

注: この文は、変換されたメモリ内のXMLデータをExportXMLFileLoc変 数の場所に格納します。この変数は、前の手順で設定したものです。


 

 

トピック・リストに戻る

INT_ImportXFormExportXML インタフェース実行のための新規パッケージの作成

INT_ImportXFormExportXMLインタフェース実行のための新規パッケージを作成するには、 次の手順を実行します。

1.

ODI Desinger内の「Projects」タブをク リックします。 「First Folder」ノードを開いて「Packages」 を右クリックしたら、「Insert Packages」をクリックします。 パッケージの名前をPKG_ImportXFormExportXMLと 入力します。

 

 

2.

Variables」ノードを開きます。 「Diagram」 タブをクリックします。 プロジェクト変数からダイアグラムへ「ExportXMLFileLoc」をドラッグしま す。 Typeを「Declare Variable」に設定します。


 

.3.

INT_ImportXFormExportXML」インタフェースをダイアグラムへドラッグし ます。

4.

OK」アイコンをクリックします。 Declare変数の「ExportXMLFileLoc」 をクリックしてINT_ImportXFormExportXMLインタフェースへドラッグすることで、両方を接続し ます。 「OK」をクリックして、パッケージを保存します。 パッケージを実行します。 「PKG_ImportXFormExportXML」 パッケージを右クリックして「Execute」を選択し、「OK」をクリックしま す。


 

5.

ODI Operatorで実行結果を確認します。 ODI Operatorを開始するには、「すべてのプログラム」→「Oracle」→「Oracle Data Integrator」→「Operator」の 順にクリックします。 Repo_designerへ、ユーザー名SUPERVISOR、 パスワードSINOPSISでログインします。 左下のペインで、「Hierarchical Sessions」タブをクリックします。 ペインの上へスクロールして、「+」をクリックして「Date」→「The date of execution」→「Steps」の順に開きます。 PKG_ImportXFormExportXMLパッケージのステップは正常に完了しています。 新規XMLファイルのDIM_GEO_OUT.XML<ODI Home>\demo\xml(I:\ODI\oracledi\demo\xml)ディレクトリ内に作成されたことを確認しま す。


 

 

トピック・リストに戻る

ODIInvoke Webサービスから実行する新規シナリオの作成

ODIInvoke Webサービスから実行する新規シナリオを作成するには、以下の手順を実行します。

1.

ODI DesignerのProjectsペインで「First Folder」を開き、新規作成された「PKG_ImportXFormExportXML」パッ ケージを右クリックして「Generate Scenario」をクリックします。 シナリオの名前をSCEN_IMPORTXFORMEXPORTXMLと 入力します。 バージョンを001に設定します。 「OK」をクリックして、シナ リオを保存します。

 

2.

次の画面が表示されます。 「OK」をクリックして保存します。 これでBPEL内からシナリオを実行する準備が整いました。

 

トピック・リストに戻る

 

例2: プロシージャを使用したODI XML変換の開発

この例では、プロシージャを使ってXMLファイルのインポート、変換、およびエクスポートを実施するためのODIプロセス構築手順を説明します。 ODI Webサービスは、PKGXFORMXML内に構築されたSCENXFORMXML_PROCシ ナリオを起動します。 PGKXFORMXML_PROCはパッケージ内で使用する1つの変数を宣言し、XFORMXML_PROCイ ンタフェースを実行します。 ImportXformExportXML_PROCは、ターゲットXMLに対して ソースXMLファイルをマッピングします。 ソースXMLファイルは、プロシージャのステップとLOAD XML ODI JDBC driver文を使用してステージング領域にロードされます。 その後、ソースXMLファイルはODI XML JDBCドライバによって実行されるUPDATE SQL文によって、プロシージャのステップ内で更新されます。 更新されたXMLファイルは、プロシージャのステップとCreate XML ODI JDBC driver文に よってXMLファイルへ書き込まれます。

 

ODI の新規プロジェクトの作成

(注: プロジェクトは例1で作成されている可能性があります)


プロジェクトは、ユーザーが作成したODIオブジェクトのコレクションです。 プロジェクトには、単一の機能ドメインが含まれている必要があります。 最良の方法は、ODIで開発する統合プロセス内または統合プロジェクト内で機能ドメインとしてプロジェクトを使用することです。 各プロジェクトには、自身のナレッジ・モジュール、変数、マーカー、およびそのほかの種類のオブジェクトが含まれています。 これらオブジェクトは複製することで、異なるプロジェクト間で共有できます。 また、変数やシーケンスなどのグローバル・オブジェクトを使うことで、全プロジェクトに共通するパラメータを定義できます。

ODI内に新規プロジェクトを作成するには、以下の手順を実行します。

1.

スタート」→「すべてのプログラム」→「Oracle」 →「Oracle Data Integrator」→「Designer」の順にクリックして、ODI Designerを開きます。

 

2.

Oracle Data Integrator Login画面が表示されます。 Login Nameドロップダウン・メニューから「Repo_designer」を選択します。

 

3.

デフォルトでユーザー名とパスワードは、それぞれSUPERVISORSUNOPSISにあらかじめ設 定されています。 「OK」をクリックしてログインします。

 

4.

左下のペインで、「Projects」タブをクリックします。

 

5.

左上端にProjectsペインが表示されていることを確認します。 右クリックして、「Insert Project」 を選択します。

 

6.

Project Newウィンドウが表示されます。 NameにBPELXFormWithODIと入力します。 Codeの値にも同じテキストが入力されていることを確認します。 次に、「OK」をクリックしてProjectsペイン内に入力された新 規プロジェクトを表示します。

 

 

トピック・リストに戻る

XML ファイルの新規モデルの挿入

注: XMLモデルは例1で作成されている可能性があります)

ソースXMLファイルの新規モデルを挿入するには、以下の手順を実行します。

1.

ODI Designerで左下ペインまでスクロールし、「Models」タブをク リックします。

 

 

2.

左上端にModelsペインが表示されていることを確認します。 右クリックして、「Insert Model」を選 択します。

 

3.

Model: Newウィンドウで、新規モデルの値を入力します。 このため、次のパラメータを設定して、「Reverse」タブをクリックします。

パラメータ
Name SRC_GEO_DIM_XML
Technology XML
Logical Schema XML_DEMO_GEO

 

4.

Reverseタブ下のContextドロップダウン・メニューで「Global」を選択したら、下方向にスクロールし て「Reverse」をクリックします。 これでXMLソースが生成されます。

 

 

5.

確認のため、「Yes」をクリックします。 「OK」をクリックします。

 

6.

Modelsペインにて、新規データ・ストアが入力されたことを確認します。 「+」をクリックして開き、SRC_GEO_DIM_XMLモ デルを表示します。

 

トピック・リストに戻る

 

新 規プロシージャImportXFormExportXMLの作成


このプロシージャは、ODIプロセスの基盤となります。 プロシージャは、オプションや変数を使用して、できる限り動的であるよう設定します。

新規プロシージャImportXFormExportXMLを作成するに は、次の手順を実行します。

1.

Projectsタブで「BPELXFormWithODI」 プロジェクトを開き、「First Folder」ノードを開きます。「Procedures」 ノードを右クリックして、「Insert Procedure」をクリックします。 プロシージャ名をImportXFormExportXMLと 入力します。 Definitionタブで、Source TechnologyおよびTarget Technologyに「XML」 を選択します。 「OK」をクリックして、プロシージャを保存します。

 

2.

プロシージャ名をImportXFormExportXMLと入力します。 Definitionタブで、Source TechnologyおよびTarget Technologyに「XML」 を選択します。 「OK」をクリックして、プロシージャを保存します。

.

 

 

トピック・リストに戻る

 

ImportXFormExportXML プロシージャのオプションの作成

新規作成したプロシージャのオプションを作成するには、次の手順を実行します。

1.

新規作成した「ImportXFormExportXML」プ ロシージャを右クリックして、「Insert Option」をクリックします。

 

 

2.

オプション名をImportXMLFileLocと入力します。 Typeを 「Text」に設定します。 Description"Import XML File Location"を設定します。 Default Valueに、この演習 がある場所の"..\demo\xml\GEO_DIM.xml"を設定し、「OK」 をクリックします。

 

3.

同様に、別のオプションであるImportDTDFileLocを挿入します。 Typeを 「Text」に設定します。Description"Import DTD File Location"を設定します。 Default Valueに、この演習 がある場所の"..\demo\xml\GEO_DIM.xml" を設定します。次のようにオプションが設定されていることを確認します。 「OK」をクリックします。

 

 

4.

同様に、別のオプションであるExportXMLFileLocを挿入します。 Typeを 「Text」に設定します。Description"Export XML File Location"を設定します。 Default Valueに、この演習 がある場所の"..\demo\xml\GEO_DIM_OUT.xml" を設定します。次のようにオプションが設定されていることを確認します。 「OK」をクリックします。

 

 

トピック・リストに戻る

新 規プロシージャImportXFormExportXMLのDetailステップの作成

新規プロシージャのDetailステップを作成するには、次の手順を実行します。

1.

DetailステップのLoadXMLFileIntoMemoryImportXFormExportXMLプ ロシージャ内に作成します。 「ImportXFormExportXML 」プロシージャを右クリックします。「Edit」 をクリックして、「Details」タブをクリックします。 「Add」アイコンを クリックし、新規Detailステップを追加します。 Detailステップ名をLoadXMLFileIntoMemoryと 入力します。 下の表のとおりにDetailステップを構成したら、「OK」をクリックします。

注:このステップでは、前にODIオプション内に設定したImportXMLFileLocファ イルをメモリ内にロードします。 XMLファイルがメモリ内に挿入されると、追加ステップとしてXMLデータを変換するSQLコマンドを実行できるようになります。 SQLコマンドは、ODI XML JDBCドライバを使用してODIが実行します。

パラメータ
Name LoadXMLFileIntoMemory
Technology XML
Logical Schema XML_DEMO_GEO
Command

LOAD FILE <%=odiRef.getOption("ImportXMLFileLoc")%> WITH DTD <%=odiRef.getOption("ImportDTDFileLoc")%> ON SCHEMA GEO REPLACE AUTO_UNLOCK

 

2.

DetailステップのXFormXMLInMemoryを ImportXFormXMLプロシージャ内に作成します。 「Add」アイコンをクリックし、新規ステップを追加し ます。 Detailステップ名をXFormXMLInMemoryと入力します。 下の表のとおりにDetailステップを構成したら、「OK」をクリックします。

注:このステップは、前のステップでメモリ内にロードした XMLを更新します。 このSQL文は、クライアントの年齢を更新します。 有効なSQL文であれば、データ変換で使用できます。

パラメータ
Name XFormXMLInMemory
Technology XML
Logical Schema XML_DEMO_GEO
Command

Update GEO.Client set age=age+1

 

 

3.

DetailステップのCreateExportXMLFileFromMemoryImportXFormXMLプ ロシージャ内に作成します。 「Add」アイコンをクリックし、新規ステップを追加します。 Detailステップ名をCreateExportXMLFileFromMemoryと 入力します。 下の表のとおりにDetailステップを構成したら、「OK」をクリックします。

注:このステップは、変換されたメモリ内のXMLをXMLファ イルに書き込みます。 XMLファイルの名前と場所は、オプションのExportXMLFileLoc内で指定します。 プロシージャは、次のように表示されます。 「OK」をクリックして、プロシージャを保存します。

パラメータ
Name CreateExportXMLFileFromMemory
Technology XML
Logical Schema XML_DEMO_GEO
Command

CREATE XMLFILE <%=odiRef.getOption("ExportXMLFileLoc")%> FROM SCHEMA GEO

 

 

 

トピック・リストに戻る

 

新 規プロジェクトで使用するプロジェクト変数の作成

新規プロジェクトで使用するプロジェクト変数を作成するには、以下の手順を実行します。

1.

新規パッケージ内で使用するExportXMLFileLoc2プロジェクト変数を作成します。 「Projects」タブをクリックして「Variables」を右クリックした ら、「Insert Variable」をクリックします。 変数名をExportXMLFileLoc2と 入力し、タイプを「text」に、Default Valueを"..\demo\xml\GEO_DIM_OUT.XML" に設定します。「OK」をクリックして、変数を保存します。

 

2.

新規パッケージ内で使用するImportXMLFileLocプロジェクト変数を作成します。 「Variables」ノードを右クリックして、「Insert Variable」 をクリックします。 変数名をImportXMLFileLocと入力し、タイプを「text」 に、Default Valueを"..\demo\file\Source1.xml" に設定します。「OK」 をクリックして、変数を保存します。

 

 

3.

新規パッケージ内で使用するImportDTDLFileLocプロジェクト変数を作成します。 「Variables」ノードを右クリックして、「Insert Variable」 をクリックします。 変数名をImportDTDLFileLocと入力し、タイプを「text」 に、Default Valueを"..\demo\xml\GEO_DIM.DTD" に設定します。「OK」 をクリックして、変数を保存します。

 

トピック・リストに戻る

変 数の宣言およびImportXFormExportXMLプロシージャの実行のための新規パッケージ作成

新規パッケージを作成し、変数を宣言して、ImportXFormExportXMLプロシージャを実行するには、次の手順を実行します。

1.

ODI Desinger内の「Projects」タブをクリックします。 「First Folder」ノードを開きます。 「Packages」を右クリックして、「Insert Packages」を選択します。 パッケージの名前をPKG_ImportXFormExportXML_Procと 入力します。

 

2.

Diagram」タブをクリックします。 プロジェクト変数からダイアグラムへ「ExportXMLFileLoc2」 をドラッグします。 Typeを「Declare Variable」に設定し ます。

 

 

3.

同様に、プロジェクト変数からダイアグラムへ「ImportXMLFileLoc」をドラッグし ます。 Typeを「Declare Variable」に設定します。

 

4.

同様に、プロジェクト変数からダイアグラムへ「ImportDTDFileLoc」をドラッグし ます。 Typeを「Declare Variable」に設定します。

5.

Procedures」ノードを開いたら、Diagramに「ImportXFormExportXML」 プロシージャをドラッグします。 Properties領域で「Options」 タブをクリックします。 次の表にアルとおり、オプションを設定します。

オプション
ImportXMLFileLoc #ImportXMLFileLoc
ImportDTDFileLoc #ImportDTDFileLoc
ExportXMLFileLoc #ExportXMLFileLoc2

6.

Declare変数を順番に接続し、さらにプロシージャと接続します。具体的には、「OK」 アイコンを クリックし、変数から変数へクリックしてからドラッグし、さらにImportDTDFileLocからプロシージャへ ドラッグします。 「OK」をクリックして、パッケージを保存します。

 

7.

パッケージを実行してから、ODI Operatorで実行結果を確認します。ODI Operatorで実行結果を確認します。 ODI Operatorを開始するには(開始していない場合)、「すべ てのプログラム」→「Oracle」→「Oracle Data Integrator」→「Operator」の順にクリックしま す。 Repo_designerへ、ユーザー名SUPERVISOR、パス ワードSINOPSISでログインします。 左下のペインで、「Hierarchical Sessions」 タブをクリックします。 ペインの上へスクロールして、「+」をクリックして「Date」→「The date of execution」→「Steps」の順に開きます。 PKG_ImportXFormExportXML_Procパッ ケージのステップは正常に完了しています。 新規XMLファイルのGEO_DIM_OUT.XML<ODI Home>\demo\xml(I:\ODI\oracledi\demo\xml)ディレクトリ内に作成されたことを確認しま す。

 

 

ODIInvoke Webサービスから実行する新規シナリオの作成

ODIInvoke Webサービスから実行する新規シナリオを作成するには、以下の手順を実行します。

1.

新規作成された「PKG_ImportXFormExportXML_Proc」 パッケージを右クリックして、「Generate Scenario」をクリックします。 シナリオの名前をSCEN_IMPORTXFORMEXPORTXML_PROCと 入力します。 バージョンを001に設定します。 「OK」をクリックして、シナ リオを保存します。

 

2.

次の画面が表示されます。 「OK」をクリックして保存します。 これでBPEL内からシナリオを実行する準備が整いました。

 

トピック・リストに戻る

 

例3: SOAからODIシナリオを起動するBPELプロセスの開発

この例では、ソース・ファイルが到着したかどうかディレクトリ を監視する新規のBPEL(Business Process Execution Language)プロセスを構 築します。 ソース・ファイルが到着すると、プロセスはファイル名と場所を収集し、ODIを起動してファイルを変換およびターゲットへ移動させます。

ここでは、例1例2で構築した ODIシナリオの両方を起動するBPELプロセスを1つ構築します。 BPELプロセスの構築とアプリケーション・サーバーへのデプロイは、ツールのOracle JDeveloperを使用します。

 

BPEL プロセスの新規アプリケーションの作成.

BPELプロセスの新規アプリケーションを作成するには、以下の手順を実行します。

1.

G:\jdevStudio10131内の「jdeveloper.exe」 をクリックして、Oracle JDeveloperを起動します。 または、デスクトップ上のSOA Suite Jdevショートカットを使用します。 左にあるアプリケーション・ナビゲータで「Applications」を右ク リックし、「New Application」を選択します。

 

 

 

2.

アプリケーション名にODI_Exampleと入力して、「OK」 をクリックします。 開いたCreate Projectダイアログ・ボックスで「Cancel」を選択します。 アプリケーション・ナビゲータに新規アプリケーションが表示されます。

 

 

トピック・リストに戻る

 

BPEL プロセスの新規プロジェクトの作成

BPELプロセスの新規プロジェクトを作成するには、以下の手順を実行します。

1.

新規作成されたアプリケーションのODI_Exampleを右 クリックして、「New project」を選択します。 プロジェクト・カテゴリから「BPEL Process Project」を選択します。 「OK」をクリックします。

 

 

2.

BPEL Project Creationウィザードで、BPELプロセス名をSourceFileMonitorと 入力し、ドロップダウン・ボックスから「Empty BPEL Process」を選択したら、「Finish」 をクリックします。 アプリケーション・ナビゲータに新規プロジェクトが表示され、Oracle JDeveloperウィンドウにSourceFileMonitor.bpelファ イルが開きます。

 

トピック・リストに戻る

 

ファ イル・アダプタの定義


BPELプロセスを作成します。 ファイル・アダプタを使用して、ディレクトリに入ってくるソース・ファイルをポーリングします。 ファイルが到着すると、同期Webサービス・コール経由でODIシナリオへファイル名とディレクトリを受け渡します。

ファイル・アダプタを定義するには、以下の手順に従います。

1.

右にあるコンポーネント・パレットで、ドロップダウン・メ ニューの「Services」を選択します。 「File Adapter」を選 択したら、メイン・ダイアグラムの左にあるServicesヘッダー下の灰色のスイムレーンへドラッグ・アンド・ドロップします。 Adapter Configurationウィザードが表示されます。 Welcomeページで「Next」をク リックします。

 

2.

Service NameフィールドにFilePollと 入力して、「Next」をクリックします。

.

 

 

3.

Operation Typeに「Read File」を選択 して、「Next」をクリックします。

.

 

 

4.

Browseボタンを使用して、入ってくるファイルのポーリングをおこなうディレクトリを選択しま す。 スクリーンショットにあるとおり、「<ODI_HOME>\oracledi\demo\file」 を選択します。 Delete files after successful removalの選択を解除して、 「Next」をクリックします。

注:ここではファイル名とディレクトリを取得するためにファイル・アダプタを使用するだけで、 ファイルは削除しません。 Delete filesボックスのチェックをオンにすると、ODIシナリオが実行される前にファイルは削除されます。

.

 

 

5.

Source*.xmlInclude Files with Name Patternフィールドに入力します。 これで、このファイル名と一致するすべてのファイルをアダプタが取得するように構成します。 「Next」をクリック します。

.

6.

Polling frequencyを10秒に設定して、「Next」 をクリックします。

.

7.

ファイルのコンテンツは読み込まないので、「Native format translation is not required (Schema is Opaque)」を選択します。 「Next」 をクリックしてから、「Finish」をクリックします。

.

8.

開いたPartner Linkウィザードのデフォルト値はそ のままにして、「OK」をクリックします。 メイン・ダイアグラムのウィンドウの左に、Servicesス イムレーンに定義されたFilePollというパートナー・リンクが表示されます。 これで、ディレクトリに入ってくる新規ファイルをポーリングするファイル・アダプタが外部サービス(パートナー・リンク)として定義されました。

.

 

トピック・リストに戻る

 

FilePoll サービスからメッセージを受信するReceiveサービスの挿入

メッセージを受信するReceiveサービスを作成するには、以下の手順に従います。

1.

左にあるコンポーネント・パレットで、ドロップダウン・メ ニューから「Process Activities」を選択します。 「Receive」 アクティビティを、ダイアグラムの中央にあるDrop Activity Hereスペースへドラッグします。

 

 

2.

Receiveアクティビティの左にある矢印をFilePollパートナー・リンクへドラッグ・ アンド・ドロップします。 Edit Receiveウィンドウが表示されます。 NameフィールドにReceive_FileDetailと 入力します。 「Create Instance」の横のチェック・ボックスをオンにします。 Variableフィー ルドの横にある魔法の杖型ボタンを選択します。 ポップアップ・ウィンドウが表示されます。 詳細はそのままにして、「OK」をクリックして新規BPEL変数を作成します。

 

3.

Edit Receiveウィンドウで、「Adapters」 タブを選択します。 Header Variableの横にある懐中電灯型ボタンを選択します。 ポップアップしたVariable Chooserウィンドウでツリー内の「Variables」を選択し、ウィンドウの右上にある魔 法の杖型ボタンを選択します。 Create Variableウィンドウが表示されます。

 

 

4.

変数名をFileHeadersと入力して、オプションから「Message Type」を選択します。 次にMessage Typeの横にある懐中電灯型ボ タンを選択します。 Type Explorerで、次にあるようにInboundHeader_msgが 表示されるまでツリーを展開したら、「OK」をクリックします。

 

 

5.

Create Variableウィンドウで「OK」をクリッ クします。 FileHeadersVariable Chooserウィン ドウ内でハイライトされていることを確認したら、「OK」をクリックします。 これで、Header Variableフィールド内にFileHeadersが表示されます。 Edit Receiveウィンドウで「OK」をクリックします。

 

 

6.

FilePollパートナー・リンクがReceive_FileDetailア クティビティと接続されたことを確認します。

 

 

 

 

 

トピック・リストに戻る

ファ イルのコンテンツではなくファイル名および場所の収集のみを実行するファイル・アダプタの更新

ファイルのコンテンツではなくファイル名および場所の収集のみを実行するファイル・アダプタを更新するには、次 の手順を実行します。

1.

Applicationsパネルで、「SourceFileMonitor」 プロジェクトを開きます。 「Integration content」ディレクトリを開きます。 「FilePoll」 オブジェクトを開きます。 「FilePoll.wsdl」ファイルをダブルクリックして、メイン・ウィンドウで開き ます。 メイン・ウィンドウの下部で、FilePoll.wsdlが開いた状態で「Source」タブを選択します。

 

2.

次のタグが表示されるまで、FilePoll.wsdlファイルの下方向へスクロールします。

<jca:operation
PhysicalDirectory="I:\ODI\oracledi\demo\file"
ActivationSpec="oracle.tip.adapter.file.inbound.FileActivationSpec"
DeleteFile="false"
IncludeFiles="Source.*\.xml"
PollingFrequency="10"
MinimumAge="0"
OpaqueSchema="true" >

このタグを編集します。

<jca:operation
PhysicalDirectory="I:\ODI\oracledi\demo\file"
ActivationSpec="oracle.tip.adapter.file.inbound.FileActivationSpec"
DeleteFile="false"
IncludeFiles="Source.*\.xml"
PollingFrequency="10"
MinimumAge="0"
OpaqueSchema="false"
UseHeaders="true" >

メイン・メニューで、 「File」→「Save All」の 順に選択して、FilePoll.wsdlファイルを保存します。

 

 

トピック・リストに戻る

 

ODI を起動するパートナー・リンクの作成

ODIを起動するパートナー・リンクを作成するには、以下の手順を実行します。

1.

メイン・ウィンドウの上部にある「SourceFileMonitor.bpel」タブをクリック します。 ダイアグラムの右にある灰色の「Services」スイムレーンを右クリックし て、「Create Partner Link」を選択します。

 

 

 

2.

ポップアップしたCreate Partner linkウィザードで、パートナー・リンク名にInvokeODIと 入力します。 WSDL Fileボックスには http://localhost:8888/axis2/services/OdiInvoke?wsdlと 入力して、スクリーンショットにあるとおり、「Parse WSDL File 」 ボタンをクリックします。 Partnerlink Typeポップアップ・ウィンドウで、「Yes」 をクリックします。

 

 

3.

Partner Roleフィールドで、ドロップダウン・メニューから「ODIInvokePortType_Role」 を選択して「OK」をクリックします。 InvokeODIパートナー・リンクがサービスのスイムレーンに表示されます。

 

トピック・リストに戻る

InvokeODI パートナー・リンクのInvokeアクティビティの作成

InvokeODIパートナー・リンクのInvokeアクティビティを作成するには、以下の手順を実行します。

1.

右にあるコンポーネント・パレットで、ドロップダウン・リストから「Process Activities」 を選択します。 「Invoke」アクティビティを、メイン・ダイアグラム・ウィンドウのReceiveアクティビ ティの下までドラッグします。

 

2.

ダイアグラム内の「Invoke_1」アクティビティから矢印をInvokeODIパー トナー・リンクへドラッグします。 Invokeウィザードが表示されます。 Invokeアクティビティ名に IMPORTXFORMEXPORTXML_PROCと入力します。 Operationドロッ プダウン・ボックスで「invokeScenario」を選択したら、Input Variableフィールドの横にある魔法の杖型アイコンを選択します。 Create Variableポップアップ・ボックスで、変数名を InvokeODI_PROC_InputVariableに変更したら、「OK」をクリックしま す。

注: BPELプロセスは、まず例2で構築したSCEN_IMPORTXFORMEXPORTXML_PROCを 起動します。このシナリオでは、定義された3つの変数のうち2つを送信します。 ExportXMLFileLoc変 数とImportXMLFileLoc変数は、BPELプロセスによって設定されます。 ImportDTDFileLoc変 数は、ODIに設定されたデフォルト値を使用します。

 

3.

同様に、Output Variableフィールドの横にある魔法の杖型アイコンを選択します。 Create Variableポップアップ・ボックスで、変数名を InvokeODI_PROC_OutputVariableと 入力します。 「OK」をクリックし、再度「OK」をクリックします。

 

 

 

4.

ダイアグラムが次に示すとおり表示されていることを確認します。

 

トピック・リストに戻る

ODI シナリオ起動に必要な変数の初期化

ODIシナリオを起動するために必要な変数を初期化するには、次の手順を実行します。

1.

右にあるコンポーネント・パレットから「Transform」 アクティビティをReceive_FileDetailIMPORTXFORMEXPORTXML_PROCの 中間にドラッグ・アンド・ドロップします。

 

2.

Transform_1」アクティビティをダブルクリックします。 Transformウィザードで、Source Variableの下で「FileHeaders」を選択し、 Target Variableの下で「InvokeODI_PROC_InputVariable」を選択します。 Mapper Fileフィールドの横にある魔法の杖型アイコンを選択します。

 

トピック・リストに戻る

 

 

予 定フィールドへの値のマッピングを実施するためのXSL変換の作成

次の手順では、予定フィールドに値をマッピングするためのXSL変換を構築します。 以下の手順を実行します。

1.

右にあるTarget: OdiInvoke?wsdlスキーマで「<target>」 ノードを右クリックし、「Expand All」を選択します。

2.

ターゲット・スキーマで「JdbcDriver」ノードを選択します。 「JdbcDriver」 ノードを右クリックし、「Set Text」を選択します。 Textフィールドに oracle.jdbc.driver.OracleDriverと 入力して、「OK」をクリックします。

: Jdbc Driver名の前後には絶対にスペースを入れないでくださ い。 スペースを入れることで、シナリオ起動のプロセスでシステム・エラーが発生する可能性があります。 また、ここではODIのマスター・リポジトリとしてOracle Databaseを使用していると想定していますが、そうではない場合、データベースにおける正しいJDBC接続詳細を入力する必要があります。

3.

これでJdbcDriverノードは静的な値に設定されました。ターゲット・スキーマの下の フィールドのほとんどは、静的フィールドとして設定されます。 ノードを静的テキストで設定する場合は、JdbcDriverノー ドでの作業と同様に、ノードを右クリックして「Set Text」を選択します。 次の表内のノードすべてに対して、静的に値を設定します。

リポジトリ接続
JdbcDriver oracle.jdbc.driver.OracleDriver

マスター・リポジトリのJDBCドライバ。

JdbcUrl jdbc:oracle:thin:@localhost:1521:XE

マスター・リポジトリのJDBC接続URL。

JdbcUser snpm マスター・リポジトリのスキーマ/ユーザー
JdbcPassword oracle1

oracle1 マスター・リポジトリのスキーマ・パスワード

OdiUser SUPERVISOR

Odiユーザー

OdiPassword SUNOPSIS Odiユーザー・パスワード
WorkRepository WORKREP

ODI内の作業リポジトリ名(スキーマ名ではない)

コマンド
ScenName

SCEN_IMPORTXFORMEXPORTXML_PROC

ScenVersion

001

Context GLOBAL
LogLevel 5
SyncMode

1

SessionName SCEN_IMPORTXFORMEXPORTXML_PROC
Agent
Host

localhost

Port

20910

すべての静的マッピングが完了したことを確認します。 Transformation_1.xslファ イルは、次のようになります。

 

トピック・リストに戻る

 

ImportXMLFileLoc ODI変数の設定

ImportXMLFileLoc ODI変数を設定するには、次の手順を実行します。

1.

最初の動的な値を設定します。 ターゲット・スキーマのコマンドと変数にて「Name」ノードを選 択し、右クリックして「Set text」を選択します。 BPELXFormWithODI.ImportXMLFileLocを 入力して、「OK」をクリックします。

注:ODI変数名は、ODIプロジェクト名を先頭に付ける必要があります。 これは、SCEN_IMPORTXFORMEXPORTXML_PROCシ ナリオで作成したODIの変数の1つと対応します。

 

 

 

2.

ImportXMLFileLoc変数と対応する値を設定するには、 右にあるコンポーネント・パレットへ移動して、ドロップダウン・メニューから「String Functions」を 選択します。 「concat」ファンクションをTransform_1.xslダイアグラムの中間地点にドラッグし ます。

 

 

3.

左にあるfileAdapterInboundHeader.wsdlソース・スキーマで「directory」 ノードを選択、ホールドし、ドラッグしながら、concatファンクションの左インタフェースまで線を引きます。 fileNameノー ドでも、同じ手順を実行します。

 

4.

concat」ファンクションをダブルクリックして、連結ファンクション内の値を表示します。 最初の要素にカーソルを置き、右の「Add」ボタンをクリックします。 元の2つの間に新規フィールドが追加されます。 ‘\’ を新規フィールドに入力します(一重 引用符も含む)。

注:引用符が正しく貼り付けられないことから、値によってはこのドキュメントより切取り、貼付 けができないことがあります。

 

5.

最初の要素にカーソルを置き、右の「Add」ボタンをクリックします。 新規フィールドが追加されます。 Move Upボタンを使用して、このフィールドをリストのトップに配置します。

 

6.

’"'を新規フィールドに入力します(一重引用符も含む)。 最後の要素にカーソルを置き、右の「Add」ボタンをクリックします。 新規フィールドが一番下に挿入されます。 ‘"'を新規フィールドに入力します(一重引用符も含む)。 連結ファンクションが次の画像と一致していることを確認したら、「OK」 をクリックします。

 

7.

次に、「concat」ファンクションの右インタフェースを選択、ホールドし、ターゲット・ス キーマ(invokeScenarioRequestの下で、コマンドと変数の下)にあるvalue ノードへドラッグします。 メイン・メニューの「File」→「Save All」を選択します。

 

 

トピック・リストに戻る

 

シ ナリオ変数値の設定

これで、SCEN_IMPORTXFORMEXPORTXML_PROCシナリオを起動するための値をほぼす べて設定できました。 残るは、ExportXMLFileLoc2変数の設定です。 この変数を設定するには、次の手順を実行します。

1.

メイン・ウィンドウの「SourceFileMonitor.bpel」タブをクリックします。 左にあるコンポーネント・パレットから、「assign」アクティビティをダイアグラムのTransform_1アク ティビティの後ろへドラッグします。 Copy Operationタブで、Createド ロップダウン・メニューの「Append Operation」を選択します。 Create Append Operationウィザードが表示されます。

 

 

2.

Assign」アクティビティをダブルクリックして、Assignウィザードを開きます。 XMLフラグメントを追加して、ExportXMLFileLocを作成します。 左にあるFrom欄で、Typeド ロップダウン・メニューから「XML Fragment」を選択します。 XML Fragmentテキスト・ボックスが表示されるので、次を入力します。
<Variables xmlns="xmlns.oracle.com/odi/OdiInvoke/">
<Name> BPELXFormWithODI.ExportXMLFileLoc2</Name>
<Value>”..\demo\xml\GEO_DIM_OUT_BPEL_PROC.xml”</Value>
</Variables>

 

 

3.

右にあるTo欄にて、 「Process」→「Variables」 →「InvokeODI_PROC_InputVariable」→「part1」 →「invokeScenarioRequest」の順に開き、「Command」 ノードを選択します。 To欄の一番下にあるxpathフィールドには、“/ns3:invokeScenarioRequest/ns3:Command” が含まれている必要があります。Edit Append Operationで「OK」 をクリックしたら、Assignアクティビティで「OK」をクリックします。

 

4.

BPELプロセスが次のスクリーンショットのように表示されていることを確認します。

 

トピック・リストに戻る

BPEL プロセスのデプロイ

SourceFileMonitor BPELプロセスをデプロイする準備が整いました。 現在の状態では、<ODI_Home>/oracledi/demo/fileディレクトリにて、Source*.xmlと 一致する名前のファイルをポーリングします。 その後、 SCEN_ImportXFormExportXML_Procシ ナリオを起動して、取得したファイルと静的な値をODIから受け渡します。 GEO_DIM.dtdファイルはすで にImportDTDFileLoc内に存在するものと想定します。

注: ここでは、WebサービスをサポートするようAxis 2 FrameworkとODIを事前に構成しているものと想定しています。 ODI agentが実行されていること を確認してください。 実行されていない場合は、「スタート」→「すべてのプログラム」 →「Oracle_Oracle Data Integrator」→「Agent」 経由で起動します。

BPELプロセスをデプロイするには、以下の手順を実行します。

1.

右にあるアプリケーション・ナビゲータで、プロジェクト(SourceFileMonitor)を右クリックして、「Deploy」 →「SoademointegConnection」→「Deploy to Default Domain」の順に選択します。

 

 

2.

ページ下部にあるログ・ウィンドウで、「Apache Ant」タブを選択します。 デプロイのプロセスが完了したとき、緑色で書かれたBuild Successfulが表示されることを確認します。

注: エラーが発生したり、デプロイ・プロセスが失敗したりした場合、上記の手順を再度実施して エラーを修正してください。

 

 

 

 

トピック・リストに戻る

BPELプロセスを実行するには、以下の手順を実行します。

1.

ブラウザを開き、URLにhttp://localhost:8888/BPELConsoleと 入力します。 ログイン・ページが表示されます。 アプリケーション・サーバーの資格証明を入力します。 userフィー ルドにoc4jadminと入力し、passwordフィール ドにwelcome1 と入力します。 「Login」を選 択します。 メインのBPEL Dashboardが表示されます。 SourceFileMonitor BPELプロジェクトが左のDeployed BPEL Processes列に表示されていることを確認します。

2.

プロセスを開始するために、GEO_DIM.xmlファイルをコピーし て、プロセスがポーリングする場所に貼り付けます。 <ODI_Home>/oracledi/demo/xml/ディレクトリの「GEO_DIM.xml」 をコピーして、 <ODI_Home>/oracledi/demo/fileディレクトリへ貼り付けま す。

 

3.

GEO_DIM.xmlの名前をSource1.xmlに 変更します。 ファイル・アダプタがファイルを取得するまで、10秒待ちます。 BPELコンソールに戻り、Dashboardページの下部を見ると、Recently Completed BPEL Process Instancesという名前の領域があります。 SourceFileMonitorの新規インスタンスは、ここに表示されます。

 

 

4.

インスタンス・リンクを選択して、Flowビューで表示します。 プロセスの最後のアクティビティである IMPORTXFORMEXPORTXML_PROCをクリックします。 ポップアップには、ODI Webサービスに送信した変数の値が表示されます。 リポジトリ接続情報と、前に設定した3つの変数を確認します。 ImportXMLFileLoc変数の値が、プロセスを開始するためにディレクトリへ配置したSource1.xmlファ イルを正しく取得しているか確認します。

注:これは、前に構築したステップの実行をプロセスが終了したことを示しています。 最初のステップでは、ファイルを取得してヘッダー詳細を取り出しました。 次に変換ステップにより、ODIに送信する詳細を準備しました。 最後に、変数を更新するために実行したAssignアクティビティを送信し、ODI Webサービスを起動しました。

 

5.

ポップアップの下には、ODIから返された値も表示されてます。 WebサービスがSCEN_IMPORTXFORMEXPORTXML_PROCシ ナリオの実行に成功した場合は、OkフィールドにTrueが返されているはずです。 プロセスが正常に完了したことを確認するには、<ODI_HOME>/oracledi/demo/xmlディレクトリでGEO_DIM_OUT_BPEL_PROC.xml というファイルを探します(もしくは、ExportXMLFileLoc変数内に設定したディレクトリとファイルを検索します)。 ファイルが存在する場合は、シナリオがBPELによって起動され、統合と変換を完了したことになります。

これで、Webサービスを通じてODIシナリオの起動に成功しました。

注:ほかにも、ODI OperatorからODIシナリオの実行を確認する方法があります。 ODI Operatorは、エラーが発生したときにデバッグする最適な場所でもあります。 プロセスを再度開始したい場合は、ポーリングするディレクトリ(Suorce1.xml)内に配置するファイルの更新日時タイムスタンプが、前回取得したファイルよりも新しい必要があります。 これは、ファイル・アダプタで監視するファイルを削除またはアーカイブしないようにしたためです。 タイムスタンプを変更するには、テキスト・エディタでファイルを開き、修正を加えずに保存してから、ファイルを閉じます。 テキスト・エディタによっては制御文字を挿入するため、ファイルが使用できなくなることがあります。 ファイルはOracle JDeveloperで開き、スペースを追加してから削除して、そのほかの修正を加えないで保存することを推奨します。

 

トピック・リストに戻る

例4: 例3で作成したBPELプロセス修正による2番目のシナリオの起動

この例では、BPELプロセスから2つ目の ODIシナリオを起動します。 BPELプロセスを拡張して、例1で作成したSCEN_IMPORTXFORMEXPORTXMLシ ナリオを起動するようにします。 このシナリオでは、ImportXMLFileの場所が静的であるものと想定しているので、ExportXMLFileLoc変数のみを使用します。 これにより、この例はより簡単です。 次の手順を参考に、この例を自分自身で実施してみてください。

 

ODI Webサービスの起動

ODI Webサービスを起動するには、次の手順に従います。

1.

Oracle Jdeveloperを起動して、メイン・ウィンドウの「SourceFileMonitor.bpel」 タブを選択します。 右にあるコンポーネント・パレットから「Invoke」アクティビティをドラッグし、ダイアグラム内のIMPORTXFORMEXPORTXML_PROCアクティビティの下へドロップします。 Invokeアクティビティの左にある矢印を、右にあるInvokeODIパートナー・リンクへドラッグ・アンド・ドロップします。 Edit Invokeウィザードが表示されます。

 

 

 

2.

NameフィールドにIMPORTXFORMEXPORTXMLと入力します。 Operationドロップダウン・メニュー・ボックスで、「invokeScenario」 を選択します。 Input Variableフィールドの横にある魔法の杖型アイコンを選択します。 Create variableボックスで、変数名をInvokeODI _InputVariableに変更します。 「OK」をクリックします。

 

 

3.

同様に、Output Variableフィールドの横にある魔法の杖型アイコンを選択します。 Create variableボックスで、変数名をInvokeODI _OutputVariableに変更します。 「OK」を選択します。 Edit Invokeダイアログ・ボックスで、再度「OK」をクリックします。 ダイアグラムは、次のように表示されます。

 

 

トピック・リストに戻る

ODI シナリオの起動における変数値の設定と予定フィールドに値をマッピングするためのXSL変換の構築

正しいODIシナリオを起動するために必要な入力変数を初期化および設定するには、次の手順を実行します。

1.

ここでは、例3Trasnformアクティビティを使用して、これら値を設定します。 右にあるコンポーネント・パレットから「Transform」アクティビティをダイアグラムへドラッグし、最後のステップで追加した「IMPORTXFORMEXPORTXML_PROC」Invokeアクティビティの上へドロップします。 「Transform_2」アクティビティをダブルクリックします。 Transformウィザードが表示されます。 Source Variableの下で「InvokeODI_POC_InputVariable」 を選択し、Target Variableの下で「InvokeODi _InputVariable」を選択します。 Mapper fileフィールドの横の魔法の杖型アイコンを選択して、マッピングを作成します。 Transformation_2.xslがメイン・ウィンドウに開きます。

注: この例では、ExportXMLFileLocを静的に設定します(

設定する変数は1つです)。

2.

Source:OdiInvoke?wsdlスキーマで、「<source>」 ノードを右クリックして「Expand All」を選択します。 同様に、Target:OdiInvoke?wsdlス キーマで、「<target>」ノードを右クリックして「Expand All」 を選択します。 ターゲット・スキーマで「JdbcDriver」ノードを設定します。 これはすでにソース内で正しく設定されているので、「JdbcDriver」ノードをsourceか らドラッグして、target内のJdbcDriverにドロップします。

 

3.

ターゲット内のScenNameフィールドの値において、ソース・スキーマの値は間違っています。 これらの値を静的に設定します。 右にあるtargetスキーマ内の「ScenName」 を右クリックして、「Set Text」を選択します。 Set Textポップアップが表示されます。 TextフィールドにSCEN_IMPORTXFORMEXPORTXMLと入力し、「OK」をクリックします。

 

4.

次の表内のノードすべてに対して、値を設定します。 値によっては、Set Textファンクションを使用する必要がありますが(Scen Nameで実施したとおり)、そのほかに関してはソース・スキーマから同じノードをマッピングできます(JdbcDriverノードで実施したとおり)。 以下の表を参照してください。 マッピングがすべて完了すると、Transformation_2.xslファイルは次のスクリーンショットのように表示されます。

RepositoryConnection
JdbcDriver ソースからマッピング

マスター・リポジトリのJDBCドライバ

JdbcUrl ソースからマッピング

マスター・リポジトリのJDBC接続URL

JdbcUser ソースからマッピング マスター・リポジトリのスキーマ/ユーザー
JdbcPassword ソースからマッピング

oracle1 マスター・リポジトリのスキーマ・パスワード

OdiUser ソースからマッピング

Odiユーザー

OdiPassword ソースからマッピング Odiユーザー・パスワード
WorkRepository ソースからマッピング

ODI内の作業リポジトリ名(スキーマ名ではない)

コマンド
ScenName

SCEN_IMPORTXFORMEXPORTXML

ScenVersion

ソースからマッピング

Context ソースからマッピング
LogLevel ソースからマッピング
SyncMode

ソースからマッピング

SessionName SCEN_IMPORTXFORMEXPORTXML
Variables →Name BPELXFormWithODI.ExportXMLFileLoc

Variables →Value
(引用符を含む)

“..\demo\xml\GEO_DIM_OUT_BPEL.xml”
Agent
Host

ソースからマッピング

Port

ソースからマッピング

 

 

トピック・リストに戻る

更新済みのBPELプロセスのデプロイ

これで、更新したBPELプロセスのデプロイとテストを実行する準備が整いました
注:現在の状態では、<ODI_Home> /oracledi/demo/fileディレクトリにて、Source*.xmlと一致する名前のファイルをポーリングします。 その後、 SCEN_ImportXFormExportXML_Procシナリオを起動して、取得したファイルと静的な値をODIから受け渡します。 その後、ODIシナリオのSCEN_ImportXFormExportXMLを 起動します。 GEO_DIM.dtdGEO_DIM.xml、およびDIM_GEO_LOOKUP.csvファイルが正しい場所にすでに存在するものと想定します

注:ODI agentが実行されていることを確認してください。 実行されていない場合は、「スタート」→「すべてのプログラム」→「Oracle_Oracle Data Integrator」→「Agent」経由で起動します。

更新されたBPELプロセスをデプロイするには、以下の手順を実行します。

1.

右にあるアプリケーション・ナビゲータで、プロジェクト(SourceFileMonitor)を右クリックして、「Deploy」 →「SoademointegConnection」→「Deploy to Default Domain」の順に選択します。 バージョン番号を要求された場合、1.0のままにして「OK」 をクリックしてください。

 

 

2.

ページ下部にあるログ・ウィンドウで、「Apache Ant」タブを選択します。 デプロイのプロセスが完了したとき、緑色で書かれたBuild Successfulが表示されることを確認します。

注: エラーが発生したり、デプロイ・プロセスが失敗したりした場合、上記の手順を再度実施してエラーを修正してください。

 

 

 

 

トピック・リストに戻る

BPELプロセスを実行するには、以下の手順を実行します。

1.

ブラウザを開き、URLにhttp://localhost:8888/BPELConsoleと入力します。 ログイン・ページが表示されます。 アプリケーション・サーバーの資格証明を入力します。 userフィールドにoc4jadminと入力し、passwordフィールドにwelcome1 と入力します。 「Login」を選択します。 メインのBPEL Dashboardが表示されます。 SourceFileMonitor BPELプロジェクトが左のDeployed BPEL Processes列に表示されていることを確認します。

2.

SourceFileMonitor BPELプロセスを開始するには、前に例 3で作成した<ODI_Home>/oracledi/demo/file内のSource1.xmlファ イルをテキスト・エディタで開きます。 ファイルの更新日時が書き換わるように、ファイルを保存し ます。

注:ファイル・アダプタのポーリング・プロセスが再度ファイルを取得するように、ファイルの更新日時を書き換える必要があります。これは、ファイル・アダプタで一度読み込んだファイルを削除またはアーカイブしないように設定したためです。 使用するテキスト・エディタが制御文字(改行文字など)を含めて保存しないよう、確認してください。XMLはこうした文字に対して敏感です。

 

3.

ファイル・アダプタがファイルを取得するまで、10秒待ちます。 BPEL Consoleに 戻り、Dashboardページの下部を見ると、Recently Completed BPEL Process Instancesという名前の領域があります。 SourceFileMonitorの新規インスタンスは、ここに表示されます。

4.

SourceFileMonitorのインスタンス・リンクを選択して、Flowビューで表示します。 プロセスの実行を表示して、予想どおりに実行されていることを確認します。 プロセスの最後のアクティビティの「IMPORTXFORMEXPORTXML」 Invokeステップをダブルクリックします。 ポップアップにはSCEN_IMPORTXFORMEXPORTXMLシナリオへ送信された値が表示されます。

 

5.

ポップアップの下には、ODIから返された値も表示されています。 WebサービスがSCEN_IMPORTXFORMEXPORTXMLシ ナリオの実行に成功した場合は、OkフィールドにTrueが返 されているはずです。 プロセスが正常に完了したことを確認するには、<ODI_HOME>/oracledi/demo/xmlディ レクトリでGEO_DIM_OUT_BPEL.xmlというファイルを探します(もしくは、ExportXMLFileLoc変 数内に設定したディレクトリとファイルを検索します)。 ファイルが存在する場合は、シナリオがBPELによって起動され、統合と変換を完了したことになります。

注:ほかにも、ODI OperatorからODIシナリオの実行を確認する方法があります。 ODI Operatorは、エラーが発生したときにデバッグする最適な場所でもあります。 プロセスを再度開始したい場合は、ポーリングするディレクトリ内に配置するファイルの更新日時タイムスタンプが、前回取得したファイルよりも新しい必要があります。 これは、ファイル・アダプタで監視するファイルを削除またはアーカイブしないよう構成したからです。

 

 

トピック・リストに戻る

 

このレッスンで学習した内容は次のとおりです。

ODI の新規プロジェクトの作成
XMLファイルの新規モデルの挿入
.csv参照ファイルのモデルの挿入
XMLファイルのロードおよび統合のためのIKMおよびLKM SQL to SQL KMのインポート
XML変換および新規XMLファイルへの書込みにおける新規インタフェースの作成
XMLエクスポート・ファイルの場所設定用プロジェクト変数の作成
CommitステップにおけるXMLファイル作成のためのSQL to SQL Appendの編集
INT_ImportXFormExportXMLインタフェース実行のための新規パッケージの作成
ODIInvoke Webサービスから実行する新規シナリオの作成
新規プロシージャImportXFormExportXMLの作成
ImportXFormExportXML プロシージャのオプションの作成
新規プロシージャIMPORTXFormExportXMLのDetailステップの作成
新規プロジェクトのプロジェクト変数の作成
変数の宣言およびImportXFormExportXMLプロシージャの実行のための新規パッケージ作成
ODIInvoke Webサービスから実行する新規シナリオの作成
BPEL プロセスの新規プロジェクトの作成
ファイル・アダプタの定義
FilePoll サービスからメッセージを受信するReceiveサービスの挿入
ファ イルのコンテンツではなくファイル名および場所の収集のみを実行するファイル・アダプタの更新
ODI を起動するパートナー・リンクの作成
InvokeODI パートナー・リンクのInvokeアクティビティの作成
ODI シナリオ起動に必要な変数の初期化
予定フィールドへの変数のマッピングを実施するためのXSL変換の構築
ImportXMLFileLoc ODI変数の設定
シナリオ変数値の設定
BPEL プロセスのデプロイ
BPEL プロセスのテスト
ODI Webサービスの起動
ODI シナリオ起動に必要な変数の値の設定
予定フィールドへの変数のマッピングを実施するためのXSL変換の構築
BPEL プロセスのデプロイとテスト

トピック・リストに戻る

このアイコンの上にカーソルを置くと、すべてのスクリーンショットが 非表示になります。