この章では、統合プロジェクトに関係する様々なコンポーネントについて説明し、プロジェクトの開始方法についても説明します。
この章には次の項が含まれます:
1つの統合プロジェクトに複数のタイプのコンポーネントが含まれることがあります。これらのコンポーネントには、フォルダなどの編成用オブジェクト、マッピングや変数などの開発オブジェクトがあります。統合プロジェクトに関係する様々なコンポーネントの詳細は、「Oracle Data Integratorプロジェクトのコンポーネント」を参照してください。
プロジェクトには、ユーザーの作業に適応するライフ・サイクルも定義されています。プロジェクトの一般的なライフ・サイクルについては、「プロジェクトのライフ・サイクル」を参照してください。
プロジェクトに関係するコンポーネントには、プロジェクトに保持するコンポーネントと、プロジェクトで参照するグローバル・コンポーネントがあります。さらに、プロジェクトでは、モデルやトポロジで定義されているコンポーネントも使用します。
次のコンポーネントはプロジェクト内に格納されます。これらは、デザイナ・ナビゲータの「プロジェクト」アコーディオンにある、そのプロジェクトのノードに表示されます。
フォルダ
フォルダは、プロジェクトの作業を編成する際に役立つコンポーネントです。フォルダには、パッケージ、マッピング、プロシージャおよびサブフォルダが含まれます。
パッケージ
パッケージは、実行ダイアグラム内に編成された一連のステップで構成されるワークフローです。パッケージによって、プロジェクトの他のコンポーネント(マッピング、プロシージャ、変数など)が整理され、参照されます。パッケージの詳細は、第7章「パッケージの作成および使用」を参照してください。
マッピング
マッピングは、再使用可能なデータ・フローです。1つ以上のソース・データストアからの1つ以上のターゲット・データストアのロードを記述した宣言的ルールのセットです。マッピングおよび再使用可能マッピングの詳細は、第8章「マッピングの作成および使用」を参照してください。
プロシージャ
プロシージャは、マッピングの概念に適合しない一連の操作をグループ化した、再使用可能なコンポーネントです。
プロシージャの例:
待機してファイルを解凍する
FTPを介してファイルを一括送信する
電子メールを受信する
データベースをパージする
変数
変数の値はOracle Data Integratorに格納されます。この値は、実行中に変化する可能性があります。
順序
順序は、使用時に自動的に増分される変数です。その値は、前に使用されてから次に使用されるまで持続します。
ユーザー関数
ユーザー関数を使用すると、テクノロジ依存の実装を定義する場合に、カスタマイズされた関数や関数の別名を定義できます。マッピングおよびプロシージャで使用できます。
前述のコンポーネントの詳細は、第11章「プロシージャ、変数、順序およびユーザー関数の作成および使用」を参照してください。
ナレッジ・モジュール
Oracle Data Integratorでは、プロジェクト設計の様々な局面でナレッジ・モジュールを使用します。ナレッジ・モジュールは、特定のテクノロジに関連するコード・テンプレートであり、特定の機能(データのロード、リバースエンジニアリング、ジャーナル化)を提供します。
マーカー
プロジェクトのコンポーネントには、その概要説明や編成を反映するためにフラグを指定できます。フラグは、マーカーを使用して定義します。これらのマーカーは、グループに編成し、プロジェクト内のほとんどのオブジェクトに適用できます。詳細は、第18章「統合プロジェクトの編成およびドキュメント化」を参照してください。
シナリオ
開発が完了したパッケージ、マッピング、プロシージャまたは変数コンポーネントはシナリオにコンパイルされます。シナリオは、本番用の実行単位で、自動的に実行されるようにスケジュールできます。シナリオの詳細は、第12章「シナリオの使用」を参照してください。
プロジェクトのライフ・サイクルは、開発チームの方法論や組織によって異なります。統合オブジェクトを作成、使用および保守する際は、次の手順をガイドラインとして考慮してください。
新規プロジェクトを作成し、そのプロジェクトに適したナレッジ・モジュールをインポートします。
フォルダ、マーカーおよびドキュメントを使用してプロジェクトの組織と作業を定義します。
再使用可能なコンポーネント(マッピング、プロシージャ、変数、順序)を作成します。単位テストを実行します。
これらのコンポーネントをパッケージにまとめます。統合テストを実行します。
作業をシナリオにリリースします。
オプションで、シナリオをロード計画に編成します。第13章「ロード計画の使用」を参照してください。
プロジェクトを作成するには:
デザイナ・ナビゲータで、「プロジェクト」アコーディオンのツールバーにある「新規プロジェクト」をクリックします。
プロジェクトの「名前」を入力します。
自動的に生成されたプロジェクト・コードをそのまま使用するか変更します。このコードはこのプロジェクト内のオブジェクトの識別に使用されるため、簡潔な文字列を使用することをお薦めします。たとえば、プロジェクト名がCorporate Datawarehouseの場合は、簡潔なコードとしてCORP_DWHを使用できます。
「ファイル」メニューから「保存」をクリックします。
「プロジェクト」ツリーに、空のフォルダが1つある新規プロジェクトが表示されます。
ナレッジ・モジュール(KM)は、Oracle Data Integratorの統合テクノロジのコンポーネントです。KMには、ODIが特定のテクノロジまたはテクノロジのセットに対する特定の組合せのタスクを実行するために必要な知識が含まれています。
Oracle Data Integratorでは、6つの異なるタイプのナレッジ・モジュールを使用します。
RKM(リバース・ナレッジ・モジュール)は、特定のテクノロジのデータ・モデルについて、カスタマイズされたリバースエンジニアリングを実行するために使用します。このKMはデータ・モデルで使用します。第3章「データ・モデルおよびデータストアの作成および使用」を参照してください。
LKM(ロード・ナレッジ・モジュール)は、ソース・システム(ファイル、ミドルウェア、データベースなど)からデータを抽出するために使用します。これらのKMはマッピングで使用されます。第8章「マッピングの作成および使用」を参照してください。
JKM(ジャーナル化ナレッジ・モジュール)は、変更追跡用にソース・データベースのデータ変更(挿入、更新および削除)のジャーナルを作成するために使用します。このKMは、データ・モデルでチェンジ・データ・キャプチャに対して使用します。第4章「ジャーナル化の使用」を参照してください。
IKM(統合ナレッジ・モジュール)は、ターゲット表にデータを統合(ロード)するために使用します。これらのKMはマッピングで使用されます。第8章「マッピングの作成および使用」を参照してください。
CKM(チェック・ナレッジ・モジュール)は、ソースおよびターゲットの制約違反がないことをチェックするために使用します。これらのKMは、データ・モデルの静的チェックおよびマッピングのフロー・チェックで使用します。第3章「データ・モデルおよびデータストアの作成および使用」と第8章「マッピングの作成および使用」を参照してください。
SKM(サービス・ナレッジ・モジュール)は、データ・サービスの作成に必要なコードを生成するために使用します。このKMはデータ・モデルで使用します。詳細は、『Oracle Data Integratorの管理』のデータ・サービスの生成およびデプロイに関する項を参照してください。
ナレッジ・モジュールは、プロジェクト・ナレッジ・モジュールまたはグローバル・ナレッジ・モジュールとして作成して使用できます。グローバル・ナレッジ・モジュールはすべてのプロジェクトで使用できますが、プロジェクト・ナレッジ・モジュールはそのプロジェクト・ナレッジ・モジュールをインポートしたプロジェクトでのみ使用できます。
グローバルKMは「グローバル・オブジェクト」アコーディオンのデザイナ・ナビゲータにリストされ、プロジェクトKMはインポートしたプロジェクトの下に表示されます。ナレッジ・モジュールのインポート方法の詳細は、「オブジェクトのインポート」を参照してください。
ODIには、常に存在し、インポートする必要がない組込みKMも用意されています。すべての組込みKMはLKMまたはIKMタイプで、Oracleテクノロジ、ファイル・テクノロジおよび汎用テクノロジに対応しています。組込みKMの詳細は、『Oracle Data Integrator接続およびナレッジ・モジュール・ガイド』を参照してください。
グローバルKMを使用する場合は、次のことに注意してください:
グローバルKMは、グローバル・オブジェクトのみを参照する必要があります。プロジェクト・オブジェクトは許可されていません。
グローバルKMにタグを付ける場合、使用できるのはグローバル・マーカーのみです。
プロジェクトKMからグローバルKMへの変換、またはその逆への変換は許可されません。
グローバルKMを変更すると、その変更内容はナレッジ・モジュールを使用しているすべてのODIオブジェクトに表示されます。
グローバルKMを削除するときは注意してください。KMが存在しないと実行エラーが発生します。
グローバルKMとプロジェクトKMが一緒にリストされる場合は、グローバルKMとプロジェクトKMを区別するために、グローバルKMの名前に接頭辞GLOBALが使用されます。
グローバルKMとプロジェクトKMが表示される順序は、コンテキストによって変わります:
マッピング・エディタのKMセレクタのリストには、最初にプロジェクトKM、次にグローバルKMが表示されます。GLOBALまたはPROJECT_CODE接頭辞が使用されます。
モデル・エディタのKMセレクタのリストには、最初にグローバルKM、次にプロジェクトKMが表示されます。GLOBALまたはPROJECT_CODE接頭辞が使用されます。
Oracle Data IntegratorのKMは、KMの選択を容易にするための規則に従って命名されています。この命名規則は、次のとおりです:
ロード・ナレッジ・モジュール
ロード・ナレッジ・モジュールの命名規則は次のとおりです。LKM <ソース・テクノロジ> to <ターゲット・テクノロジ> [(ロード・メソッド)]。
この命名規則で、ソース・テクノロジとターゲット・テクノロジは、このLKMで管理できるデータ移動のソースとターゲットを示します。テクノロジがSQLの場合、このテクノロジはJDBCおよびSQLをサポートする任意のテクノロジです。テクノロジがJMSの場合、このテクノロジはJMS接続をサポートする任意のテクノロジです。
ロード・メソッドは、データを移動する際に使用する技術的なメソッドです。このメソッドは、関係するテクノロジに固有のものです。メソッドが指定されていない場合は、標準のJava接続(JDBCやJMSなど)が技術的なメソッドとして使用され、データはランタイム・エージェントを介してロードされます。ソースまたはターゲット(あるいはその両方)のテクノロジに固有のロード・メソッドが指定されたKMを使用すると、通常はパフォーマンスが向上します。
LKMの例を次に示します。
LKM Oracle to Oracle (DBLink): Oracle DBLinkを使用して、Oracleデータ・サーバーから別のOracleデータ・サーバーにデータをロードします。
LKM File to Oracle (SQLLDR): SQLLoaderを使用して、ファイルからOracleデータ・サーバーにデータをロードします。
LKM SQL to SQL (Built-In): SQLをサポートする異なるデータ・サーバー間でデータをロードします。これは最も汎用的なロード・ナレッジ・モジュールで、ほとんどのデータ・サーバーに対して使用できます。
統合ナレッジ・モジュール
命名規則は次のとおりです。IKM [<staging technology>] to <target technology> [<integration mode>] [(<integration method>)]。
この命名規則で、ターゲット・テクノロジは、データの統合先となるターゲットのテクノロジを示します。IKMでは、ターゲットとステージング領域のサーバーが異なる場合に、ステージング・テクノロジを指定できます。このようなKMを複数テクノロジIKMと呼びます。それらは、ターゲットをステージング領域として使用できない場合に使用します。たとえば、ファイル・テクノロジの場合がこれに該当します。
統合モードは、データ・フローからターゲットにレコードを統合する際に使用するモードです。一般的なモードは次のとおりです。
追加(Append): フローからターゲットにレコードを挿入します。挿入する前に、必要に応じてターゲットのすべてのレコードを削除することも可能です。既存のレコードは更新されません。
制御付き追加(Control Append): 前述のモードと同じですが、プロセスでデータ・フローがチェックされます。
増分更新(Incremental Update): 前述のモードと同じですが、既存のレコードをフローのデータで更新することが可能です。
緩やかに変化するディメンション(Slowly Changing Dimension): タイプ2の緩やかに変化するディメンション(SCD)を使用してデータを表に統合します。
統合メソッドは、データをターゲットに統合する際に使用する技術的なメソッドです。このメソッドは、関係するテクノロジに固有のものです。メソッドが指定されていない場合は、標準のJava接続(JDBCやJMSなど)およびSQL言語が技術的なメソッドとして使用されます。特定のテクノロジに固有の統合メソッドが指定されたKMを使用すると、通常はパフォーマンスが向上します。
IKMの例を次に示します。
IKM Oracle Merge: 増分更新モードを使用して、Oracleステージング領域から同じデータ・サーバーにあるOracleターゲットにデータを統合します。このKMではOracleの表のマージ機能を使用します。
IKM SQL to File Append: SQL対応のステージング領域からファイルにデータを統合します。追加モードを使用します。
IKM SQL Incremental Update: SQL対応のステージング領域から同じデータ・サーバーにあるターゲットにデータを統合します。このIKMは、ステージング領域がターゲットと同じデータ・サーバーに存在するすべてのケースに適しており、ほとんどのテクノロジに対して使用できます。
IKM SQL to SQL Append: SQL対応のステージング領域から別のSQL対応のデータ・サーバーにあるターゲットにデータを統合します。このIKMは、ステージング領域がターゲットと異なるサーバーに存在するケースに適しており、ほとんどのテクノロジに対して使用できます。
チェック・ナレッジ・モジュール
チェック・ナレッジ・モジュールの命名規則は次のとおりです。CKM <ステージング・テクノロジ>。
この命名規則で、ステージング・テクノロジは、チェック対象のデータが存在するステージング領域のテクノロジです。
CKMの例を次に示します。
CKM SQL: ステージング領域がSQL対応のデータ・サーバーにある場合に統合フローの品質をチェックします。これは最も汎用的なチェック・ナレッジ・モジュールで、ほとんどのテクノロジに対して使用できます。
CKM Oracle: ステージング領域がOracleデータ・サーバーにある場合に統合フローの品質をチェックします。
リバースエンジニアリング・ナレッジ・モジュール
リバースエンジニアリング・ナレッジ・モジュールの命名規則は次のとおりです。RKM <リバース対象テクノロジ> [(リバース・メソッド)]。
この命名規則で、リバース対象テクノロジは、リバースエンジニアリングするデータ・モデルのテクノロジです。リバース・メソッドは、リバースエンジニアリング・プロセスを実行する際に使用する技術的なメソッドです。
RKMの例を次に示します。
RKM Oracle: Oracleデータ・モデルをリバースエンジニアリングします。
RKM Netezza: Netezzaデータ・モデルをリバースエンジニアリングします。
ジャーナル化ナレッジ・モジュール
ジャーナル化ナレッジ・モジュールの命名規則は次のとおりです。JKM <ジャーナル化対象テクノロジ> <ジャーナル化モード> (<ジャーナル化メソッド>)。
この命名規則で、ジャーナル化対象テクノロジは、チェンジ・データ・キャプチャをアクティブ化する対象のテクノロジです。ジャーナル化モードは、一貫性(Consistent)または簡易(Simple)です。これらのモードの詳細は、第4章「ジャーナル化の使用」を参照してください。
ジャーナル化メソッドは、変更を取得するための技術的なメソッドです。指定されていない場合は、取得プロセスを実行するメソッドとしてトリガーが使用されます。
JKMの例を次に示します。
JKM Oracle to Oracle Consistent (OGG Online): Oracleステージング・サーバーで一貫性セット・ジャーナル化のインフラストラクチャを作成し、Oracleソースからこのステージング・サーバーへデータをレプリケートするためのOracle GoldenGateの構成を生成します。
JKM Oracle Simple: トリガーを使用して、CDCをOracleに対して簡易モードで有効化します。
JKM MSSQL Simple: トリガーを使用して、Microsoft SQL Server表の簡易ジャーナル化用のジャーナル化インフラストラクチャを作成します。
サービス・ナレッジ・モジュール
サービス・ナレッジ・モジュールの命名規則は次のとおりです。SKM <データ・サーバー・テクノロジ>。
この命名規則で、データ・サーバー・テクノロジは、Webサービスを使用してアクセスするデータが格納されているテクノロジです。
Oracle Data Integratorには、多岐にわたる即時利用可能なナレッジ・モジュールが用意されています。統合プロジェクトを開始する際は、まずODI 12cで導入された組込みKMを使用し、プロジェクトの必要に応じて追加のナレッジ・モジュールをインポートできます。
プロジェクトの設定後に追加のKMをインポートしたり、使用するKMを後で変更することも可能です。次のガイドラインを使用すると、新規プロジェクトの開始時に適切なKMを選択できます。
汎用KMを使用してプロジェクトを開始します。SQL KMはほとんどすべてのテクノロジに対して使用できます。使用するソース/ターゲット・テクノロジに慣れていない場合は、標準のSQLを使用する汎用SQL KMでプロジェクトを開始できます。単純なプロジェクトは、汎用KM (LKM File to SQL、LKM SQL to SQL (Built-In)、IKM SQL to SQL Append、IKM SQL Insert、CKM SQL)を使用して開始できます。
単純なKMを使用してプロジェクトを開始します。統合対象のテクノロジに慣れていない場合は、複雑な統合メソッドやモードを使用するKMでプロジェクトを開始しないでください。
パフォーマンス向上のために、ソース/ターゲットの組合せに適したKMを選択します。選択したKMがテクノロジの組合せに固有であればあるほど、パフォーマンスが向上します。最適なパフォーマンスを得るには、ソース/ターゲットの組合せに適合したKMに切り替えて、そのソース/ターゲットの機能を活用してください。
インフラストラクチャの制限に応じたKMを選択します。セキュリティ上の理由でターゲット・データ・サーバーをステージング領域として使用できない場合は、複数テクノロジIKMをプロジェクトで使用可能にしてください。
JKMとSKMは必要な場合のみ選択します。チェンジ・データ・キャプチャやデータ・サービスを使用する予定がない場合は、JKMやSKMをインポートしないでください。必要な場合は後でインポートできます。
KMのドキュメントとオプションを確認します。KMには、有用な情報が記載された説明フィールドがあります。KMの各オプションについても説明されています。すべてのKMの詳細は、『Oracle Data Integrator接続およびナレッジ・モジュール・ガイド』を参照してください。
2つの主要な操作を使用して、プロジェクト内のKMを管理できます:
新規のプロジェクトを作成する場合、組込みKMを使用できます。新規のKMを使用する場合、プロジェクトKMまたはグローバルKMをインポートする必要があります。ナレッジ・モジュールの有効範囲の詳細は、「プロジェクトおよびグローバル・ナレッジ・モジュール」を参照してください。
既存のグローバルKMまたはプロジェクトKMの新規バージョンを使用する場合や、既存のKMを別のKMで置換する必要がある場合は、このKMを置換できます。
この項には次のトピックが含まれます:
プロジェクト・ナレッジ・モジュールのインポート
プロジェクト・ナレッジ・モジュールをプロジェクトにインポートするには:
デザイナ・ナビゲータの「プロジェクト」アコーディオンで、KMをインポートするプロジェクトを選択します。
右クリックして「インポート」→「ナレッジ・モジュールのインポート」の順に選択します。
「ファイル・インポート・ディレクトリ」を指定します。このディレクトリにある使用可能なKMエクスポート・ファイルのリストが表示されます。ODIインストールに含まれるKMの場所は次のとおりです。
<Oracle_Home>/odi/sdk/xml-reference
リストから複数のKMを選択し、「OK」をクリックします。
選択したKMがインポートされ、インポート・レポートに表示されます。
「閉じる」をクリックしてこのレポートを閉じます。
ナレッジ・モジュールがプロジェクトにインポートされます。インポートされたナレッジ・モジュールは、プロジェクトの「ナレッジ・モジュール」ノードの下に、KMタイプ別にグループ化されて表示されます。
注意: ナレッジ・モジュールは「複製」モードでのみインポートできます。既存のナレッジ・モジュールを置換する場合は、次に説明する「置換のインポート」メソッドを使用します。KMを「複製」モードでインポートし、そのKMがすでにプロジェクトに存在している場合、ODIは接頭辞copy_of が付いた新しいKMを作成します。 |
ナレッジ・モジュールの置換
グローバルKMまたはプロジェクトのKMを別のKMで置換し、その新しいKMをすべてのマッピングで自動的に使用する場合は、「置換のインポート」モードを使用する必要があります。詳細は、「インポート・モード」を参照してください。
ナレッジ・モジュールを置換モードでインポートするには:
デザイナ・ナビゲータで、置換するナレッジ・モジュールを選択します。
右クリックして「置換のインポート」を選択します。
「オブジェクトの置換」ダイアログで、置換に使用するKMのエクスポート・ファイルを選択します。ODIインストールに含まれるKMの場所は次のとおりです。
<Oracle_Home>/odi/sdk/xml-reference
「OK」をクリックします。
現在のナレッジ・モジュールが新規ナレッジ・モジュールで置換されます。
注意: ナレッジ・モジュールを別のナレッジ・モジュールで置換する場合、Oracle Data Integratorでは、古いモジュールのオプションと名前が一致するオプションを使用して、新規モジュールのマッピングのオプションが設定されます。ユーザーがマッピングでKMオプションを設定していた場合は、新しいKMに同じ名前のオプションがあればその値が保持されます。新規オプションは、デフォルト値に設定されます。マッピングでこれらのオプションの値を確認することをお薦めします。構造や動作が異なるKMで現在のKMを置換(たとえば、IKMをRKMで置換)すると、問題が発生する可能性があります。新規KMを使用してマッピングの設計と実行を確認することをお薦めします。 |
グローバル・ナレッジ・モジュールのインポート
Oracle Data Integratorにグローバル・ナレッジ・モジュールをインポートするには:
ナビゲータの「グローバル・オブジェクト」アコーディオンで「グローバル・ナレッジ・モジュール」ノードを選択します。
右クリックして「ナレッジ・モジュールのインポート」を選択します。
「インポート」ダイアログで、次の手順を実行します。
「インポート・タイプ」の値を選択します。詳細は、「インポート・モード」を参照してください。
「ファイル・インポート・ディレクトリ」を指定します。このディレクトリにある使用可能なKMエクスポート・ファイルのリストが表示されます。ODIインストールに含まれるKMの場所は次のとおりです。
<Oracle_Home>/odi/sdk/xml-reference
インポートするファイル(1つまたは複数)をリストから選択します。
「OK」をクリックします。
すべてのプロジェクトにグローバルKMが表示されます。
ナレッジ・モジュール(KM)またはプロシージャを暗号化すると、重要なコードを保護できます。暗号化されたKMまたはプロシージャは、復号化しないかぎり、読み取ったり変更することはできません。暗号化されたKMまたはプロシージャによってログに生成されるコマンドも読み取ることはできません。
Oracle Data Integratorでは、個人暗号化鍵に基づいたAES暗号化アルゴリズムが使用されます。この鍵は、ファイルに保存して、暗号化または復号化操作を実行する際に再利用できます。
警告: 暗号化されたKMまたはプロシージャを暗号化鍵なしで復号化する方法はありません。したがって、この鍵は安全な場所に保管しておくことをお薦めします。また、各デプロイメントで一意の鍵を使用することをお薦めします。 |
KMまたはプロシージャを暗号化するには:
デザイナ・ナビゲータの「プロジェクト」ツリーでプロジェクトを展開し、暗号化するKMまたはプロシージャを選択します。
右クリックして「暗号化」を選択します。
「暗号化オプション」ウィンドウで、次のいずれかのオプションを選択します。
個人キーで暗号化します: 個人キー・ファイルの場所を指定するか、個人キーの値を入力して、すでに存在している個人キーで暗号化します。
新規暗号化鍵を取得します: ODIで新しい鍵を生成します。
「OK」をクリックしてKMまたはプロシージャを暗号化します。新しい鍵の生成を選択した場合は、ウィンドウに新しい鍵も表示されます。このウィンドウで鍵をファイルに保存できます。
KMまたはプロシージャを復号化するには:
デザイナ・ナビゲータの「プロジェクト」ツリーでプロジェクトを展開し、復号化するKMまたはプロシージャを選択します。
右クリックして「復号化」を選択します。
「KM復号化」または「プロシージャ復号化」ウィンドウで、次のいずれかの操作を実行します。
既存の暗号化鍵ファイルを選択します。
個人キーに対応する文字列を入力(または貼付け)します。
「OK」をクリックして復号化します。
プロジェクト内のマッピング、プロシージャおよびパッケージは、フォルダとサブフォルダに編成されます。フォルダを使用して、プロジェクトの適切な編成を維持することをお薦めします。フォルダを使用することで、プロジェクトで開発したオブジェクトの検索やメンテナンス・タスクが容易になります。編成の詳細は、第18章「統合プロジェクトの編成およびドキュメント化」を参照してください。