プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Data Integratorでの統合プロジェクトの開発
12c (12.2.1.1)
E77237-01
  目次へ移動
目次

前
 
次
 

2 Oracle Data Integratorトポロジの概要

この章では、Oracle Data Integratorトポロジの概念およびODI開発者に関連するコンポーネントの概要を示します。

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


関連項目:

『Oracle Data Integratorの管理』のトポロジの設定に関する項

Oracle Data Integratorトポロジの概要

Oracle Data Integratorトポロジは、Oracle Data Integratorアーキテクチャおよびコンポーネントの物理および論理表現です。


注意:

Oracle Data Integratorインストレーション・ガイドでは、一部の項で、物理サーバー上のサーバー、フォルダおよびファイルの編成を指してトポロジという用語が使用されています。この章では、ODI Studioのトポロジ・ナビゲータを使用して構成されたトポロジを指します。

この項には次のトピックが含まれます:

物理アーキテクチャ

物理アーキテクチャでは、情報システムの様々な要素が、Oracle Data Integratorで考慮される特性とともに定義されます。各タイプのデータベース(Oracle、DB2など)、Big Dataソース(Hive、HBase)、ファイル形式(XML、フラット・ファイル)またはアプリケーション・ソフトウェアが、Oracle Data Integratorでテクノロジによって表現されます。

テクノロジは書式設定済データを処理します。したがって、各テクノロジは1つ以上のデータ型と関連付けられており、Oracle Data Integratorによるデータ処理スクリプトの生成が可能です。

構造化データを格納および公開する物理コンポーネントは、データ・サーバーとして定義されています。データ・サーバーは常に単一テクノロジにリンクしています。データ・サーバーには、このデータ・サーバーに関連付けられた物理スキーマに宣言されている特定の技術ロジックに従って情報が格納されます。Oracle Data Integratorで使用されるデータベース・サーバー、JMSメッセージ・ファイル、フラット・ファイルのグループなどはすべて、データ・サーバーとして宣言される必要があります。Oracle Data Integratorで使用されるスキーマ、データベース、JMSトピックなどはすべて、物理スキーマとして宣言される必要があります。

最終的に、物理アーキテクチャには物理エージェントの定義が含められます。これらはOracle Data Integratorジョブを実行するJavaソフトウェア・コンポーネントです。

コンテキスト

コンテキストでは、情報システムの物理アーキテクチャ(実際のアーキテクチャ)のコンポーネントと、Oracle Data Integrator論理アーキテクチャ(ユーザーが作業するアーキテクチャ)のコンポーネントが関連付けられます。

たとえば、コンテキストは、類似した物理リソースが存在する様々な実行環境(開発テストおよび本番)または様々な実行場所(ボストン・サイトニューヨーク・サイトなど)に対応している場合があります。

インストール時には、デフォルトのGLOBALコンテキストが作成される点に注意してください。

論理アーキテクチャ

論理アーキテクチャによって、別々の物理的な場所に置かれているが(構造的には同一である)類似の物理スキーマのグループを単一の論理スキーマとして識別できます。論理スキーマは、その物理スキーマと同様に、テクノロジに関連付けられています。

コンテキストにより、論理スキーマを物理スキーマに解決できます。特定のコンテキストにおいて、単一の論理スキーマが単一の物理スキーマに解決されます。

たとえば、Oracle論理スキーマの会計は、次の2つのOracle物理スキーマに対応する場合があります。

  • 開発コンテキストで使用される会計サンプル

  • 本番コンテキストで使用される会計企業

これらの2つの物理スキーマは、構造的には同一(会計データが含まれる)ですが、別々の物理的な場所に置かれています。これらの場所は2つの異なるOracleスキーマ(物理スキーマ)であり、2つの異なるOracleインスタンス(データ・サーバー)に置かれている可能性があります。

Oracle Data Integratorで開発されたコンポーネントはすべて、論理アーキテクチャの上に設計されています。たとえば、データ・モデルは常に論理スキーマに関連付けられており、データ・フローはこのモデルとともに定義されています。実行時にコンテキスト(DevelopmentまたはProduction)を指定することにより、モデルの論理スキーマ(Accounting)は単一の物理スキーマ(Accounting SampleまたはAccounting Corporate)に解決され、データ・サーバーでこのスキーマに含まれているデータには統合プロセスによってアクセスできます。

エージェント

Oracle Data Integratorランタイム・エージェントにより、ジョブの実行が編成されます。これらのエージェントはJavaコンポーネントです。

ランタイム・エージェントは、リスナーおよびスケジューラ・エージェントとして機能します。たとえば、ジョブがユーザー・インタフェースまたはコマンド行から手動で開始された場合、エージェントはオンデマンドでジョブを実行します(モデル・リバース、パッケージ、シナリオ、マッピングなど)。また、エージェントは、Oracle Data Integratorで定義されたスケジュールに従ってシナリオの実行を開始する場合にも使用されます。

サード・パーティのスケジューリング・システムによってエージェントでの実行をトリガーすることもできます。詳細は、『Oracle Data Integratorの管理』の外部スケジューラを使用したシナリオまたはロード計画のスケジューリングに関する項を参照してください。

一般的なプロジェクトに必要なのは本番のエージェント1つですが、『Oracle Data Integratorの管理』のエージェントのロード・バランシングに関する項には、ロード・バランシングされた複数のエージェントを設定する方法が記載されています。

ODI Studioでもオンデマンドでジョブを直接実行できます。この内部エージェントを使用して開発および初期テストを行うことができます。ただし、外部エージェントの完全な本番機能を備えているわけではないため、本番データの統合には適していません。ジョブの実行時に、「実行」ダイアログで、「論理エージェント」「ローカル(エージェントなし)」を選択すると、ODI Studioを使用してジョブを直接実行します。ジョブをローカルで実行する場合、次の機能が利用できないことに注意してください。

  • 失効したセッションのクリーンアップ

  • 実行中のセッションを停止する機能

  • ロード・バランシング

これらのいずれかの機能が必要な場合は、外部エージェントを使用する必要があります。

エージェントのライフサイクル

エージェントのライフサイクルは次のとおりです。

  1. エージェントは、開始時にマスター・リポジトリに接続します。

  2. エージェントは、マスター・リポジトリに関連付けられた作業リポジトリに接続し、開始時に次のタスクを実行します。

    • すべての作業リポジトリで、このエージェントの起動時に実行する必要がある未処理のタスクを実行します。

    • 各作業リポジトリ内の失効したセッションを除去します。これらのセッションは、エージェントまたはリポジトリのクラッシュ後に不正に実行状態で残されたセッションです。

    • 各作業リポジトリ内のスケジュール済シナリオのリストを取得し、そのスケジュールを計算します。

  3. エージェントはポート上でリスニングを開始します。

    • エージェントは、実行リクエストを受信すると、このリクエストを確認してセッションを開始します。

    • エージェントはスケジュールに従ってセッションを開始します。

    • またエージェントは、スケジュールの更新、セッションの停止、pingへの応答または失効したセッションの除去を要求するその他の管理リクエストを処理できます。スタンドアロン・エージェントでも、ライフサイクルを終了する停止シグナルを処理できます。

セッションのライフサイクルの詳細は、『Oracle Data Integratorの管理』の統合プロセスの実行に関する項を参照してください。

エージェントの機能

エージェントはデータ変換サーバーではありません。エージェントはデータ変換は実行せず、かわりに統合プロセスの編成のみを行います。データベース・サーバー、オペレーティング・システムおよびスクリプト・エンジンにデータ変換を委任します。

エージェントは、マルチスレッドの軽量コンポーネントです。エージェントは複数のセッションを並列して実行できます。物理エージェントを宣言する際には、作業リポジトリからの同時実行が可能になるように、許可される同時セッションの最大数を調整することをお薦めします。この最大数に到達すると、新規着信セッションはエージェントによってキューされ、他のセッションの終了時に後から実行されます。複数のパラレル・セッションを実行する場合は、『Oracle Data Integratorの管理』のエージェントのロード・バランシングに関する項に説明されているように、ロード・バランシング実行を考慮できます。

エージェント・タイプ

Oracle Data Integratorエージェントには、スタンドアロン・エージェント、スタンドアロン・コロケート・エージェントおよびJava EEエージェントの3つのタイプがあります。

エージェント・タイプの詳細は、『Oracle Data Integratorの理解』のランタイム・エージェントに関する項を参照してください。

物理エージェントと論理エージェント

物理エージェントは、単一のスタンドアロン・エージェントまたはJava EEエージェントに対応します。物理エージェントは、トポロジに一意の名前が必要です。

スキーマと同様に、異なる環境で同一の役割を持つ物理エージェントは、同じ論理エージェントにグループ化できます。論理エージェントは、コンテキストによって物理エージェントに関連付けられています。実行の開始時、論理エージェントおよびコンテキストを指定します。Oracle Data Integratorはこの情報を単一の物理エージェントに変換し、物理エージェントが実行リクエストを受信します。

エージェントURL

エージェントはホストおよびポート上で動作し、このポート上でアプリケーション名によって識別されます。また、エージェントURLはエージェント接続に使用するプロトコルを示します。プロトコルに使用できる値は、httpまたはhttpsです。これらの4つのコンポーネントがエージェントURLを構成します。エージェントにはこのURLを使用してアクセスします。

例:

  • odi_productionマシンのポート8080で開始したスタンドアロン・エージェントは、次のURLでアクセスできます。

    http://odi_production:8080/oraclediagent


    注意:

    スタンドアロン・エージェントのアプリケーション名は常にoraclediagentであり、変更できません。

  • odi_wlsホストにデプロイされたWLSサーバーのポート8000で、oraclediというアプリケーションとして開始されたJava EEエージェントは、次のURLでアクセスできます。

    http://odi_wls:8000/oracledi

Apache Oozie

Apache Oozieは、Apache Hadoopジョブの管理に役立つワークフロー・スケジューラです。Hardoop MapReduceジョブを実行するアクションによるワークフロー・ジョブの実行に特化したサーバーベースのワークフロー・エンジンです。詳細は、Oracle Data Integratorによるビッグ・データの統合に関する項を参照してください。

言語

言語は、統合開発中に式を作成および編集する際に使用可能なプログラミング言語とスクリプト言語、および言語要素を定義します。デフォルトでOracle Data Integratorに用意されている言語には、ユーザーの変更は必要ありません。

リポジトリ

トポロジには、Oracle Data Integratorリポジトリに関する情報が含まれます。リポジトリ定義、構成およびインストールの詳細は、『Oracle Data Integratorのインストールと構成』のOracle Data Integratorマスター・リポジトリおよび作業リポジトリ・スキーマの作成に関する項を参照してください。