6 モデル

Oracle Data Integratorのデータ・モデルおよびリバースエンジニアリングと、モデルの作成方法またはリバースエンジニアリングの定義方法について学習します。

モデルとは

Oracle Data Integratorのモデルについて学習します。

Oracle Data Integrator (ODI)のモデルは、リレーショナル・データ・モデルの記述です。これは、特定のテクノロジで単一スキーマに格納されている多くの相互接続データストアの構造の表現です。ただし、ODIのモデルには、銀行の図や顧客の名前などのデータは格納されません。かわりに、列の名前および表間に存在する制約のメタデータのみが保持されます。このメタデータは、リバースエンジニアリングと呼ばれるプロセスによってODIに自動的にインポートできます。メタデータを手動で定義し、ODIで列または制約を直接作成することもできます。これらの追加は、必ずしも物理データベース表に存在しているわけではありません。

『Oracle Data Integratorでの統合プロジェクトの開発』モデルの概要に関する項を参照してください。

リバースエンジニアリングとは

Oracle Data Integratorにおけるリバースエンジニアリング、その内容およびその使用タイミングについて学習します。

リバースエンジニアリングは、ODIでデータベースからメタデータを取得するための完全に自動化されたプロセスです。新規モデルを作成したり、既存のモデルのギャップを埋めるために使用できます。ODIでは、標準とカスタマイズの2つの方法でリバースエンジニアリングを実行できます。標準リバースエンジニアリングでは、JDBC APIの標準機能が使用されます。ODIは、表構造、外部キーなどの情報をJDBCドライバに問い合せます。次に、これらをODIリポジトリに書き込み、すべてのメタデータを格納します。使用中のテクノロジとは技術的に独立していますが、標準のリバースエンジニアリングでは、十分に対応できるJDBCドライバが必要です。カスタマイズしたリバースエンジニアリングは大きく異なります。この場合、ODIはJDBCドライバの基本機能を使用してデータベースに接続し、システム表を直接問い合せてメタデータを取得します。次に、このメタデータを変換してODIリポジトリに書き込みます。当然ながら、この方法は、リバースエンジニアリング対象のテクノロジによって大きく異なります。そのため、テクノロジごとに、特定のリバースエンジニアリング・ナレッジ・モジュール(RKM)があります。このRKMは、指定されたテクノロジのメタデータを抽出する方法をODIに指示します。

データベースの標準リバースエンジニアリングおよびカスタマイズしたリバースエンジニアリングに加えて、ファイルをリバースエンジニアリングできます。

  • デリミタ付きファイルには、カンマやタブ文字などのデリミタで区切られたデータが含まれます。ODIでは、ファイルのコンテンツを直接解析し、ファイル・ヘッダーに応じて列の数とその名前を決定できます。
  • 固定形式ファイルでは、フィールド間で定義されたデリミタを使用するのではなく、各フィールドに特定の長さを割り当てます。これらは、別のメソッドによってリバースエンジニアリングされます。

これらのフィールドのメタデータを収集するには、COBOLコピーブック形式のフィールドの説明が必要です。ODIはこのタイプのファイルをネイティブに解析できます。ODIでは、標準リバースエンジニアリングを使用してXMLファイルのメタデータをリバースエンジニアリングすることもできます。ODIは、XML用のODI JDBCドライバを使用して、他のデータ・ソースと同様にそれらにアクセスします。同様に、軽量のディレクトリ・アクセス・プロトコル(LDAP)ディレクトリは、標準の方法を使用してリバースエンジニアリングできます。ここで、ODIはLDAPにODI JDBCドライバを使用します。そのため、リバースエンジニアリングの目的で、XMLファイルおよびLDAPディレクトリを通常のデータベースとみなす必要があります。

『Oracle Data Integratorでの統合プロジェクトの開発』リバースエンジニアリングに関する項を参照してください。

モデルの作成

Oracle Data Integratorでデータ・モデルを作成するには、次の手順を実行します。

ODIでモデルを作成する基本的な手順は次のとおりです。
  1. 空のモデルを作成および設定します。
  2. ODIが従うリバースエンジニアリング戦略を定義します。これには、ナレッジ・モジュールの選択および他のパラメータの設定が含まれます。特に、標準またはカスタマイズされたリバースエンジニアリングから選択する必要があります。
  3. 定義した戦略を使用してリバースエンジニアリング・プロセスを実行するようにODIに指示します。

    標準リバースエンジニアリングを使用する場合、特定のメタデータのみをインポートするように選択できます。これは、選択的リバースの実行と呼ばれます。

  4. リバースエンジニアリングしたモデルを具体化します。

    つまり、リバースエンジニアリング・プロセスで取得されなかった情報を追加します。たとえば、データストア、列、制約またはODI固有のメタデータを追加します。

モデルの作成および名前付けの基本的な手順は次のとおりです。
  1. 「モデル」ビューを選択します。

    選択したモデル・フォルダにモデルを作成することを選択するか、最上位モデルを作成できます。

  2. 「新規メソッド」アイコンをクリックします。

    新規モデルのウィンドウが表示されます。

  3. モデルの名前を入力します。

    ODIのほとんどのオブジェクトと同様に、入力するコードもあります。デフォルトでは、これは名前と同じですが、空白ではなくアンダースコアと大文字を使用します。

  4. このフィールドに基礎となるデータベースのテクノロジを指定します。

    モデルは、特定のテクノロジにリンクする必要があります。

  5. ドロップダウン・リストから、モデルが属する論理スキーマを指定します。

    後で、メタデータのソースとして使用される物理スキーマを決定するコンテキストを指定します。

  6. モデルの説明を入力します。

『Oracle Data Integratorでの統合プロジェクトの開発』モデルの作成に関する項を参照してください。

リバースエンジニアリング戦略の定義

Oracle Data Integratorで標準リバースエンジニアリングまたはカスタム・リバースエンジニアリングの手順について学習します。

ODIでリバースエンジニアリング戦略を定義するには、次の手順を実行します。
  1. モデル・ウィンドウの「リバース・エンジニアリング」タブをクリックします。
  2. 使用するリバースエンジニアリング・タイプを選択します。

    標準モードには、特定のテクノロジ用のメタデータを提供するJDBCドライバが必要です。カスタマイズ・モードでは、システム表に直接アクセスするために特定のODIナレッジ・モジュールが必要です。これを選択すると、リバースエンジニアリング・プロセスにいくつかの違いが生じます(説明を参照)。

  3. リバースエンジニアリング・コンテキストを選択します。

    モデルが論理アーキテクチャのどこに適合するかを記述する論理スキーマのみをすでに定義していることに注意してください。ただし、この論理スキーマは、開発、テスト、本番など、様々な物理コンテキストにおける複数の物理スキーマに対応している場合があります。

    コンテキストを選択することで、モデルのメタデータの提供に使用する物理スキーマのいずれかを指定します。そのため、作成するモデルの構造に最も適合するコンテキストを選択する必要があります。

  4. リバースエンジニアリング・プロセスを開始するには、モデルを右クリックし、「リバース・エンジニアリング」を選択します。

    リバースエンジニアリング・ナレッジ・モジュール(RKM)は、特定のテクノロジのデータ・モデルについて、カスタマイズしたリバースエンジニアリングを実行するために使用します。カスタマイズしたリバースエンジニアリングは、より完全で全体的にカスタマイズが可能ですが、実行方法も複雑になります。RKMは、特定のテクノロジに対してのみ提供されます。

RKMを使用してカスタマイズしたリバースエンジニアリングを実行するには、次の手順を実行します。
  1. モデルの「リバース・エンジニアリング」タブをクリックします。
  2. 「カスタマイズ済」オプション・ボタンを選択し、次のフィールドに入力します。
    • コンテキスト: リバースエンジニアリング・プロセスで使用されるコンテキスト
    • オブジェクト・タイプ: リバースエンジニアリングするオブジェクトのタイプ(表、ビューなど)
    • マスク: %
    • ナレッジ・モジュールの選択: <Project_Name>.<Project_Folder>。たとえば、ナレッジ・モジュール: HandsOnLabs.HandsOnLoadsです
  3. 「リバース」ボタンをクリックし、「はい」をクリックして変更内容を検証します。「OK」をクリックします。
  4. 「セッションを開始しました」ダイアログ・ボックスで「OK」をクリックします。
標準リバースエンジニアリングを使用する場合、リバースエンジニアリングする表を個別に選択できます。これを行うには、次の手順を実行します。
  1. 「選択的リバースエンジニアリング」タブをクリックします。
  2. 「選択的リバースエンジニアリング」チェック・ボックスを選択します。これにより、いくつかのオプションが有効になります。
  3. モデルに存在しないデータストアをリバースエンジニアリングするには、「新規データストア」チェック・ボックスを選択します。

    モデルに存在するデータストアを選択するには、「既存のデータストア」チェック・ボックスを選択します。両方のオプションを選択すると、リバースエンジニアリング対象のすべてのデータストアが選択されます。

  4. 「リバース・エンジニアリングするオブジェクト」チェック・ボックスを選択して、含める個別のデータストアを選択します。

    表示されるデータストアは、選択した「新規データストア」および「既存のデータストア」オプションによって異なります。

  5. リバースエンジニアリング・プロセスに含めるデータストアを(チェック・マークを付けて)選択します。
  6. 「リバース」ボタンをクリックし、プロセスを起動します。

ODIマッピングを使用して、モデルの任意の要素を手動で追加、削除または編集できます。これには、データストア、列、キーなどの作成が含まれます。これは、デザイナ・ナビゲータを使用して実行できます。これらの変更はODIのモデルにのみ適用されるため、データベースの基礎となるモデルは更新されません。モデルをグラフィカルに編集する場合、モデルのダイアグラム、モデルのグラフィカル表示およびその要素間の関係を編集できます。要素をドラッグ・アンド・ドロップして、新しい関係を定義できます。このコンポーネントを使用して、ODIで元のデータベースのモデルを変更することもできます。したがって、ODIでモデルを作成してから、これをデータベース・サーバーに実装するためのコードを生成できます。

『Oracle Data Integratorでの統合プロジェクトの開発』モデルのリバースエンジニアリングに関する項を参照してください。

OBE (Oracle Data Integrator 12c - ODIプロジェクトの作成およびフラット・ファイルから表へのマッピング)の手順1.5および2.4に、モデルを作成およびリバースエンジニアリングする方法が記載されています。