データウェアハウスセンター アプリケーション統合の手引き

データウェアハウスセンターにメタデータをインポートする

メタデータをデータウェアハウスセンターにインポートすると、データウェアハウスセンターはウェアハウス用にデータを抽出および変換したり、データを抽出および変換するパートナー・アプリケーションを実行することができます。

メタデータをデータウェアハウスセンターにインポートすることには、以下のタスクが関係します。

  1. タグ言語ファイル (インポートするオブジェクトのメタデータを含むファイル) の作成。
  2. タグ言語ファイルのインポート。
  3. データウェアハウスを実行するステップの準備。

タグ言語ファイルの構築

タグ言語ファイルを構築するには、以下のように行います。

  1. メタデータをインポートするオブジェクトを選択します。
  2. データウェアハウスセンター メタデータ・テンプレートを使用して、各オブジェクトのメタデータを定義します。 データウェアハウスセンター メタデータ・テンプレート は、パートナー・メタデータ値を表すトークンを含むタグ言語ファイルのサブセットです。ご使用のプログラムは、タグ言語ファイルの構文を参照することなく、トークンを検索して値を置換することができます。

メタデータをインポートするオブジェクトの選択

以下のタイプのオブジェクトについて、メタデータをデータウェアハウスセンターにインポートできます。

エージェント・サイト

ウェアハウス・エージェント は、ソース・データベースまたはファイル (ウェアハウス・ソース) と、ターゲット・データベース (ウェアハウス・ターゲット) との間の実際のデータ転送を実行します。さらに、そのデータの変換も実行します。ウェアハウス・エージェントは、ウェアハウス・サーバーからコマンドを受け取ります。その後、エージェントは SQL コマンドを発行し、パートナー・アプリケーションを開始するか、またはパートナー・アプリケーションを開始するデータウェアハウスセンター プログラムを開始します。さらに、ウェアハウス・エージェントは、表定義をインポートします。

エージェント・サイト は、エージェントが実行するマシンです。エージェント・サイトには、ソース・データベースおよびターゲット・データベースを含むマシンにアクセス可能でなければなりません。

ウェアハウス・ソースおよびウェアハウス・ターゲット
ソース・データベース またはソース・ファイル は、データウェアハウスセンターまたはパートナー・アプリケーションがデータを抽出して処理を続けるための、データベースまたはファイルです。一般用語のソース は、データベースまたは 1 つ以上のファイルのグループを意味します。ソースは、1 つ以上の表、ファイル、またはセグメントに関連しています。表、ファイル、またはセグメントは、 1 つ以上の列またはフィールドに関連しています。ウェアハウス・ソースは、データウェアハウスセンターに定義されている単一のデータベース、またはファイルのセットからの、表およびビューのサブセットです。

ウェアハウス・ターゲット またはターゲット・ファイル は、データウェアハウスセンターまたはパートナー・アプリケーションが処理した後にデータを書き込むデータベースまたはファイルです。一般用語のターゲット は、データベースまたは 1 つ以上のファイルのグループを意味します。ターゲットは、1 つ以上の表またはファイルと関連しています。表またはファイルは、 1 つ以上の列またはフィールドと関連しています。ウェアハウス・ターゲットは、データウェアハウスセンターによって管理される表またはファイルのセットのサブセットです。

ウェアハウス・ターゲットは、ユーザーが照会およびレポート作成を実行するために使用するウェアハウスを含むデータベースです。

データウェアハウスセンター プログラム
データウェアハウスセンター プログラム は、ある種のデータ形式変更を実行するユーザー作成またはパートナー・アプリケーションです。プログラムをデータウェアハウスセンターに定義して、その実行をスケジューリングし、ステップの一部としてその操作をモニターすることができます。データウェアハウスセンター プログラムは、通常 1 つ以上のパラメーターに関連しています。関連したデータウェアハウスセンター プログラムをデータウェアハウスセンター プログラム・グループに関連付けることにより、それらをグループ化することができます。

サブジェクト・エリア
サブジェクト・エリア を使用して、特定のトピックまたは機能に関連しプロセス (およびプロセス内のステップ、ウェアハウス・ソース、そしてウェアハウス・ターゲット) を論理的にグループ化することができます。たとえば、販売データを移動および変換する一連のプロセスがある場合、 Sales サブジェクト・エリアを作成して、それらのプロセスをそのサブジェクト・エリア内に作成することができます。同様に、複数の Marketing プロセスは Marketing サブジェクト・エリアの下にグループ化できます。

プロセス
プロセスは、通常ソース・データに対して操作を行う一連のステップで、データを元の形式から意思決定に役立つ形式に変換します。データウェアハウスセンターのプロセスは、通常 1 つ以上のウェアハウス・ソース、1 つ以上のステップ、および 1 つ以上のウェアハウス・ターゲットから構成されます。

ステップ
ステップとは、データウェアハウスセンターのプロセスでデータに対する単一の操作のことです。プロセスは、通常 1 つ以上のウェアハウス・ソース、1 つ以上のステップ、および 1 つ以上のウェアハウス・ターゲットから構成されます。ほとんどの場合、ステップにはウェアハウス・ソース、データの変換または移動に関する記述、およびウェアハウス・ターゲットが含まれます。ステップを使用して、データの抽出、変換、および書き込みにおける各ステップを定義およびスケジューリングします。ステップのメタデータには、データウェアハウスセンターまたはパートナー・アプリケーションが操作を行うソースおよびターゲット表が含まれます。さらに、発行する SQL ステートメント、または変換の実行を開始するプログラムも含まれます。

ステップ間の連鎖関係
連鎖関係 は、他のステップの処理状況に基づくステップのスケジュールです。ステップが、別のステップの実行の終了後に実行するようにスケジューリングすることができます。

データウェアハウスセンター オブジェクト間の関係
データウェアハウスセンター オブジェクトのメタデータは、他のオブジェクトとの関係を記述しています。たとえば、ステップのメタデータは、ステップが使用するウェアハウス・ソースおよびウェアハウス・ターゲット表との関係を記述しています。

データウェアハウスセンター メタデータのテンプレートを使用してオブジェクトの定義する

データウェアハウスセンターにインポートしたいオブジェクトを定義するためには、 1 つ以上のデータウェアハウスセンター メタデータ・テンプレートからタグ言語ファイルを構築します。

各テンプレートは、表などのオブジェクト、または列などのオブジェクトのサブセットに対応します。複数のテンプレートを結合して、オブジェクトに関するすべての詳細を定義します。たとえば、ソース・データベースを定義したい場合、データベース、表、および列のテンプレートを結合します。

パートナー・メタデータ・ストアから値を取得するプログラムを作成して、それらの値によってテンプレート内のトークンを置換します。本書では、この種類のプログラムを交換プログラム と呼びます。

各テンプレートには、交換プログラムが値を指定しなければならないトークンが含まれます。たとえば、トークン *TableDescription は表の記述を表します。交換プログラムは *TableDescription を検索して、それをリレーショナル・カタログで指定された表の記述を含むストリングに置き換えます。 DB2(TM) ユニバーサル・データベースの表では、システム・カタログの syscat.tables 表の REMARKS フィールド内にその記述があります。交換プログラムがトークンを値で置き換えるので、ファイル内のメタデータを識別する基礎となるタグ言語の構文を知る必要はありません。

メタデータ・テンプレートのインストール

アプリケーション開発クライアントのインストール時に、テンプレートのインストールを選択できます。

テンプレートをインストールするには、以下のように行います。

  1. 「セットアップのタイプ (Setup Type)」ウィンドウで、「カスタム (Custom)」を選択します。
  2. 「データウェアハウス ISV ツールキット (Data Warehouse ISV Toolkit)」をクリックします。
  3. テンプレートのためのディレクトリーを選択します。

    ISV ツールキットのデフォルトのディレクトリーは、x:\sqllib\templates です。データウェアハウスセンターは、VWS_TEMPLATES 環境変数を ISV ツールキットの位置に設定します。ご使用のプログラムは、VWS_TEMPLATES の値を照会して、テンプレートの位置を見つけることができます。

データウェアハウスセンターは、VWS_TEMPLATES が設定したディレクトリーのサブディレクトリーにファイルをインストールします。 表 2 は、インストールされるファイルのタイプ、およびそれらのファイルがインストールされるサブディレクトリーをリストしています。


表 2. テンプレートのファイル・タイプおよびサブディレクトリー
ファイルのタイプ サブディレクトリー
テンプレート ISV
サンプル Samples
ヘッダー・ファイル Include

交換プログラムの作成

交換プログラムを作成するとき、以下を行う必要があります。

さらに、データウェアハウスセンターが処理メッセージのログに使用するディレクトリーと同じディレクトリーに処理メッセージのログを記録することができます。

ISV_defines.h ヘッダー・ファイルを組み込む

ISV_Defines.h ヘッダー・ファイルを使用すると、テンプレートのトークンが変更してもプログラム・ロジックを同じに保つことができます。その場合に必要なのは、プログラムを再コンパイルすることだけです。

テンプレートをコピーして変更する

テンプレートを使用して作業するために、作成するプログラムは以下の手順を使用しなければなりません。

  1. VWS_TEMPLATES 環境変数を使用して、テンプレートが保管されているディレクトリーを取得します。その値に \ISV\ を追加して、テンプレートの完全パスを取得します。
  2. テンプレートのコピーをプログラム内にローカルに読み取ります。
  3. テンプレートを検索してテンプレート内のトークンを見つけ、それらのトークンをパートナー・アプリケーションからのメタデータで置き換えます。

    タグ言語ファイルの形式にプログラミングする代わりに、検索と置換の手法を使用します。トークンを使用することにより、テンプレート・ファイル内で使用されているタグ言語の変更からプログラムが独立していることになります。

    テンプレート内では、各トークンは括弧で囲まれています。右小括弧は値の終了を示します。作成するプログラムがトークンだけを値に置換して、括弧を除去しないようにしてください。

    トークンの値を置換するストリングは、以下の規則に従っていなければなりません。

    交換プログラムにトークンの値がない場合、そのトークンを定数 ISV_DEFAULTVALUE (ISV_defines.h 内で定義されている) に置き換えるようにします。ただし、必須のトークンには ISV_DEFAULTVALUE 以外の値を指定しなければなりません。

    セキュリティー・グループのテンプレートは存在しないので、作成するプログラムでは値 ISV_DEFAULTSECURITYGROUP を *SecurityGroup トークンのインスタンスに指定しなければなりません。

    テンプレートは、データウェアハウスセンターに特定のメタデータについてはデフォルト値を使用します。たとえば、ウェアハウス・ソースおよびウェアハウス・ターゲットの再試行回数および再試行間隔は、データウェアハウスセンターのデフォルト値に設定されます。

チェックポイントを設定する

各テンプレートには、タグ言語ファイルをインポートするときの処理の追跡に使用できる *CurrentCheckPointID++ トークンを含んでいます。作成するプログラムがトークンの値を設定するとき、 *CurrentCheckPointID++ の最初の出現を 0 に設定するようにしてください。プログラムは、*CurrentCheckPointID++ が出現するたびにその値を 1 ずつ増加させるようにします。データウェアハウスセンターはタグ言語ファイルのインポート時にこれらのチェックポイントをログ・ファイルに書き込みます。

テンプレートをタグ言語ファイルに追加する

表 3表 4、および表 5 は、プログラムがテンプレートをタグ言語ファイルに追加しなければならない順序をリストしています。それらの表には、テンプレートが必須または任意選択となるときの条件が示されています。

ヘッダーを除き、それぞれのテンプレートについて必要な数のコピーを定義することができます。各タグ言語ファイルで定義するヘッダーのコピーは 1 つだけです。


表 3. テンプレートの相互関係および条件
順序 テンプレート 必須または任意選択
1 HeaderInfo.tag 常に必須
2 AgentSite.tag デフォルトのエージェント・サイトを使用しない場合は必須
3 VWPGroup.tag データウェアハウスセンター プログラムを定義している場合は必須
4 VWPProgramTemplate.tag データウェアハウスセンター プログラムを定義している場合は必須
5 VWPProgramTemplateParameter.tag データウェアハウスセンター プログラムを定義している場合は必須
6 SourceDataBase.tag

WarehouseDataBase.tag

ウェアハウス・ソースまたはウェアハウス・ターゲットを定義している場合は必須
7 Table.tag ウェアハウス・ソースまたはウェアハウス・ターゲットを定義している場合は必須
8 Column.tag ウェアハウス・ソースまたはウェアハウス・ターゲットを定義している場合は必須

Column.tag テンプレートをタグ言語ファイルに追加した後、一連のテンプレート、およびテンプレートをタグ言語ファイルに追加する順序は、ステップまたはスタースキーマのどちらを定義したいかに依存します。

ステップを定義している場合、表 4 に示されている順序で以下のテンプレートをタグ言語ファイルに追加します。


表 4. ステップを定義するときのテンプレートの相互関係および条件
順序 テンプレート 必須または任意選択
9 SubjectArea.tag ステップを定義している場合は必須
10 Process.tag ステップを定義している場合は必須
11 Step.tag ソースおよびターゲット・データとの間での SQL 変換を生成している場合、またはデータウェアハウスセンターが実行するプログラムを定義している場合は必須。
12 StepInputTable.tag 以下のタイプのステップを定義している場合は必須。

ISV_StepType_Editioned_Append

ISV_StepType_Full_Replace

ISV_StepType_Uneditioned_Append

以下のタイプのステップを定義している場合は任意選択。

ISV_StepType_VWP_Population

13 StepOutputTable.tag 以下のタイプのステップを定義している場合は必須。

ISV_StepType_Editioned_Append

ISV_StepType_Full_Replace

ISV_StepType_Uneditioned_Append

以下のタイプのステップには、StepOutputTable を使用できません。

ISV_StepType_VWP_Population

14 StepVWPOutputTable.tag

以下のタイプのステップを定義している場合は任意選択。

ISV_StepType_VWP_Population

15 StepCascade.tag ステップを連鎖関係にリンクするために必須
16 StepVWPProgramInstance.tag ステップがデータウェアハウスセンター プログラムを使用する場合に必須
17 VWPProgramInstanceParameter.tag ステップが、パラメーターが渡されることを期待し、パラメーターを持っているデータウェアハウスセンター プログラムを使用する場合に必須。

スタースキーマを定義している場合、表 5 に示されている順序で以下のテンプレートをタグ言語ファイルに追加します。


表 5. スタースキーマを定義するときのテンプレートの相互関係および条件
順序 テンプレート 必須または任意選択
9 StarSchema.tag 以下のタイプのスタースキーマを定義している場合は必須。
10 StarSchemaInputTable.tag 以下のタイプのスタースキーマを定義している場合は必須。

これらのテンプレートに関する詳細は、メタデータ・テンプレートを参照してください。

処理メッセージのログ記録

交換プログラムは、ログ処理メッセージまたはトレース・ファイルを VWS_LOGGING 環境変数が指定するディレクトリーに書き込みます。データウェアハウスセンターはこのディレクトリーを、ログ・ファイルおよびトレース・ファイルのために使用します。

タグ言語ファイルのためのヘッダーを定義する

タグ言語ファイルに含めることのできるオブジェクトを定義するため、ヘッダーを定義しなければなりません。

ヘッダーを定義するには、以下のように行います。

  1. 適当なテンプレートをコピーします。
  2. トークンを実際の値に置換します。

テンプレートをコピーする

プログラムは、HeaderInfo.tag テンプレート・ファイルをコピーして変更しなければなりません。

値を置換する

プログラムは、以下の値を提供しなければなりません。

テンプレート内のトークンに関する情報については、HeaderInfo.tag を参照してください。

プログラム・ロジック

図 3 は、タグ言語ファイルのヘッダー部分を構築するためにプログラムで使用できるロジックの疑似コードです。

図 3. ヘッダーをタグ言語ファイルに追加するための疑似コード

Initialize native metadata environment (need to include ISV_defines.h)
Read a copy of the HeaderInfo.tag template (from the templates directory)
Search for and replace tokens with the metadata from your native metadata 
   store (or defaults)
Write the output to a target file

ISV_Sample プログラムは、タグ言語ファイルのヘッダー部分の例を示しています。プログラムのソース・コードは、VWS_TEMPLATES 環境変数によって設定されたディレクトリーの Samples サブディレクトリーにあります。

エージェント・サイトの定義

以下のエージェント・サイト・タイプの 1 つを使用できます。

新規のエージェント・サイトを定義するには、以下のように行います。

  1. 適当なテンプレートをコピーします。
  2. トークンを実際の値に置換します。

テンプレートをコピーする

プログラムは、AgentSite.tag テンプレート・ファイルをコピーして変更しなければなりません。 AgentSite.tag テンプレートには、前提条件として HeaderInfo.tag テンプレートが必要です。

値を置換する

新規のエージェント・サイトを定義するために、プログラムはウェアハウス・エージェントがインストールされているワークステーションについてのメタデータを取得しなければなりません。プログラムは取得した値でテンプレート内の適切なトークンを置換しなければなりません。

プログラム・ロジック

図 4 は、タグ言語ファイルに新規のエージェント・サイトを追加するためにプログラムで使用できるロジックの疑似コードを示しています。

図 4. AgentSite.tag テンプレートを変更する疑似コードの例

If the ISV wants to create an AgentSite specific to the ISV:
     Read a copy of the AgentSite.tag template from the template directory
     Search for and replace tokens with the metadata from your native 
       metadata store (or defaults)
     Append the output to a target file
Else 
     Set AgentSite token to default agentsite value

ISV_Sample プログラムは、パートナー・ツールに特定のエージェント・サイトをタグ言語ファイルに追加する例を示しています。プログラムのソース・コードは、VWS_TEMPLATES 環境変数によって設定されたディレクトリーの Samples サブディレクトリーにあります。

ソースおよびターゲットの定義

データウェアハウスセンターまたはパートナー・アプリケーションがソースから読み取るようにしたい場合、それらのソースを定義します。同様に、データウェアハウスセンターまたはパートナー・アプリケーションがデータをターゲットに書き込むようにしたい場合、それらのターゲットを定義します。以下の条件に適合する場合を除き、使用するすべてのソースおよびターゲットを定義しなければなりません。

ソースおよびターゲットを定義するには、以下のように行います。

  1. 適当なテンプレートをコピーします。
  2. トークンを実際の値に置換します。

テンプレートをコピーする

以下のタイプのソース・オブジェクトを定義できます。

リレーショナル・データベースをターゲット・オブジェクトとして定義することができます。

表 6 および表 7 は、ソースおよびターゲット・オブジェクトの各タイプを定義するために、プログラムがコピーして変更しなければならないテンプレートをリストしています。

リレーショナル表

表 6 は、リレーショナル・データベースを定義するために、プログラムがコピーしなければならないテンプレートを示しています。

表 6. リレーショナル・ソースおよびターゲット定義のためのテンプレート
ソースまたはターゲットの定義 テンプレートのコピー数 コピーするテンプレート 前提条件となるテンプレート
データベース 使用したいデータベースごとに 1 コピー SourceDataBase.tag

WarehouseDataBase.tag

HeaderInfo.tag

デフォルト・エージェントを使用していない場合、AgentSite.tag

データベースに定義したい表ごとに 1 コピー Table.tag SourceDataBase.tag

WarehouseDataBase.tag

各表に定義したい列ごとに 1 コピー Column.tag Table.tag

テンプレート内に共通の値を指定することによって、表のテンプレートとデータベースのテンプレートとを関連付けます。同様に、テンプレート内に共通の値を指定することによって、列のテンプレートと表のテンプレートとを関連付けます。

図 5 は、データベース、表、および列のテンプレートの関係を示しています。 1 から m の表記は、1 対多の関係を示します。ここで、多には O も含まれます。

図 5. DataBase.tag、Table.tag、および Column.tag のテンプレートの関係


Figure IWHT1035 not displayed.

IMS データベース

表 7 は、IMS データベースを定義するために、プログラムがコピーしなければならないテンプレートを示しています。これらの IMS オブジェクトにアクセスするためには、データウェアハウスセンター ODBC ドライバーを使用しなければなりません。

表 7. IMS ソース定義のテンプレート
ソースまたはターゲットの定義 テンプレートのコピー数 コピーするテンプレート 前提条件となるテンプレート
データベース 使用したいデータベースごとに 1 コピー SourceDataBase.tag HeaderInfo.tag

デフォルト・エージェントを使用していない場合、AgentSite.tag

セグメント データベースで使用したいセグメントごとに 1 コピー Table.tag SourceDataBase.tag
フィールド 各セグメントで使用したいフィールドごとに 1 コピー Column.tag Table.tag

表の関係を定義したときと同様の方法で、データベース、セグメント、およびフィールドの各テンプレート間の関係を定義します。 (図 5 を参照)

ファイル

表 7 は、ファイル・システムおよび関連ファイル、または単一のファイルのどちらかを定義するために、プログラムがコピーしなければならないテンプレートを示しています。

表 8. ファイル・システムまたは単一のファイルのためのテンプレート
ソースまたはターゲットの定義 テンプレートのコピー数 コピーするテンプレート 前提条件となるテンプレート
ファイル・システム ファイル・システムごとに 1 コピー SourceDataBase.tag HeaderInfo.tag

デフォルト・エージェントを使用していない場合、AgentSite.tag

ファイル ファイル・システムで使用したいファイルごとに 1 コピー Table.tag SourceDataBase.tag
フィールド 各ファイルで使用したいフィールドごとに 1 コピー Column.tag Table.tag

表の関係を定義したときと同様の方法で、ファイル・システム、ファイル、およびフィールドの各テンプレート間の関係を定義します。 (図 5 を参照)

値を置換する

プログラムは、パートナー・メタデータ・ストアからデータベースまたはファイルを説明する値を取得しなければなりません。プログラムは取得した値でテンプレート内の適切なトークンを置換しなければなりません。

データベース

プログラムは、ソース・データベースまたはターゲット・データベースについての以下のメタデータを提供しなければなりません。

ファイル

プログラムは、ソース・ファイルについての以下のメタデータを提供しなければなりません。

プログラム・ロジック

図 6 は、ソースまたはターゲットを定義するデータ・リソースを作成または更新するために、プログラムで使用できるロジックの疑似コードを示しています。

図 6. ソースまたはターゲットを定義するデータ・リソースを作成または更新するための疑似コード. このロジックを作成または更新したいソースまたはターゲット定義ごとに使用します。

For each source or target to be defined:
   Read a copy of the SourceDatabase.tag or WarehouseDatabase.tag template
   Search for and replace tokens with the metadata from your native metadata source
      (or defaults)
   Append the output to a target file
   For each table, file, or segment that is to be defined:
      Read a copy of the Table.tag template
      Search for and replace tokens with the metadata from your native metadata source
         (or defaults)
      Append the output to a target file
      For each column or field that the table contains:
         Read a copy of the Column.tag template
         Search for and replace tokens with the metadata from your native metadata source
            (or defaults)
         Append the output to a target file
      End (for each column)
   End (for each table)
End (for each source or target data source)

ISV_Sample プログラムは、ソースまたはターゲット定義のためのデータ・ソースを作成または更新する例を示しています。プログラムのソース・コードは、VWS_TEMPLATES 環境変数によって設定されたディレクトリーの Samples サブディレクトリーにあります。

データウェアハウスセンター プログラムを定義する

データウェアハウスセンターがパートナー・アプリケーションをスケジューリングして実行するようにしたい場合、最初にそのアプリケーションをデータウェアハウスセンター プログラムとして定義しなければなりません。その後、それを 1 つ以上のステップで使用して、プログラムをスケジューリングおよび実行することができます。

タグ言語ファイルがデータウェアハウスセンター プログラムを含める場合、以下のオブジェクトを順序どおりに定義しなければなりません。

  1. データウェアハウスセンター プログラムを含める 1 つ以上のプログラム・グループ。
  2. データウェアハウスセンターにプログラムの基本定義を示す 1 つ以上のデータウェアハウスセンター プログラム・テンプレート。
  3. データウェアハウスセンターがプログラムに渡すデフォルトのパラメーターを提供する、 1 つ以上のデータウェアハウスセンター プログラム・テンプレートのパラメーター。

    ステップのためにプログラム・パラメーターのインスタンスを定義することによって、特定のステップで使用されるパラメーターを変更できます。データウェアハウスセンター プログラムをステップで使用することについての詳細は、 ステップを定義するを参照してください。

データウェアハウスセンターと共に使用するプログラムを作成することについての詳細は、 付録 C, データウェアハウスセンターで使用するプログラムを独自に作成するを参照してください。

データウェアハウスセンター プログラムを定義するには、以下のように行います。

  1. 適当なテンプレートをコピーします。
  2. トークンを実際の値に置換します。

テンプレートをコピーする

表 9 は、データウェアハウスセンター プログラムを定義するために、プログラムがコピーして変更しなければならないテンプレートを示しています。

表 9. データウェアハウスセンター プログラムのテンプレート
定義 テンプレートのコピー数 コピーするテンプレート 前提条件となるテンプレート
データウェアハウスセンター プログラム・グループ 定義するプログラム・グループごとに 1 コピー VWPGroup.tag HeaderInfo.tag
データウェアハウスセンター プログラム・テンプレート プログラム・グループ内のデータウェアハウスセンター プログラムごとに 1 コピー VWPProgramTemplate.tag VWPGroup.tag
データウェアハウスセンター プログラム・テンプレートのパラメーター データウェアハウスセンター プログラムに渡されるパラメーターごとに 1 コピー VWPProgramTemplateParameter.tag VWPProgramTemplate.tag

テンプレート内に共通の値を指定することによって、データウェアハウスセンター プログラム・グループのテンプレートとデータウェアハウスセンター プログラムのテンプレートとを関連付けます。同様に、テンプレート内に共通の値を指定することによって、パラメーターのテンプレートとデータウェアハウスセンター プログラムのテンプレートとを関連付けます。

図 7 は、データウェアハウスセンター プログラム・グループ、データウェアハウスセンター プログラム、およびデータウェアハウスセンター プログラム・パラメーターの間の関係を示しています。

図 7. VWPGroup.tag、VWPProgramTemplate.tag、および VWPProgramTemplateParameter.tag の各テンプレート間の関係


Figure IWHT1034 not displayed.

データウェアハウスセンター プログラムをステップに関連付けることについての詳細は、ステップを定義するを参照してください。

値を置換する

プログラムは、パートナー・メタデータ・ストアからデータウェアハウスセンター プログラムを説明する値を取得しなければなりません。

プログラムは取得した値でテンプレート内の適切なトークンを置換しなければなりません。

プログラム・ロジック

図 8 は、データウェアハウスセンターによって管理および実行されるアプリケーションを定義するため、プログラムで使用できるロジックの疑似コードを示しています。

図 8. データウェアハウスセンター プログラムを定義するための疑似コード

Read a copy of the VWPGroup.tag template
Search for and replace tokens with the metadata from your native metadata store 
     (or defaults)
Append the output to a target file
For each application that is to be managed by the Data Warehouse Center:
     Read a copy of the VWPProgramTemplate.tag template
     Search for and replace tokens with the metadata from your native metadata store 
          (or defaults)
     Append the output to a target file
 
     For each parameter the application needs passed:
          Read a copy of the VWPProgramTemplateParameter.tag template
          Search for and replace tokens with the metadata from your native metadata store 
               (or defaults)
          Append the output to a target file
     End (for each parameter)
End (for each application)

ISV_Sample プログラムは、データウェアハウスセンター プログラムをタグ言語ファイルに追加する例を示しています。プログラムのソース・コードは、VWS_TEMPLATES 環境変数によって設定されたディレクトリーの Samples サブディレクトリーにあります。

ステップを定義する

ステップとは、ウェアハウス・プロセスでデータに対する単一の操作のことです。ほとんどの場合、ステップにはウェアハウス・ソース、データの変換または移動、およびウェアハウス・ターゲットが含まれます。ステップはスケジュールに従って実行したり、他のステップからの連鎖で実行することができます。ステップを使用して、データの抽出、変換、および書き込みにおける各ステップを定義およびスケジューリングします。データウェアハウスセンターが管理するようにしたい変換プロセスの部分ごとに、ステップを定義しなければなりません。データウェアハウスセンター オンライン・ヘルプの情報を使用するよりも、この節の情報を使用してステップを定義する方法を決めてください。ユーザー・インターフェースを使用してステップを定義すると、テンプレートには複数の異なる関係が必要となります。

ステップのためのサブジェクト・エリアを定義しなければなりません。特定のパートナー・アプリケーションを使用するステップのために、サブジェクト・エリアを定義することができます。

タグ言語ファイルにステップが含まれる場合、以下のオブジェクトを順序どおりに定義しなければなりません。

  1. プロセスを含めるための 1 つ以上のサブジェクト・エリア。
  2. ステップを含めるための 1 つ以上のプロセス。
  3. 1 つ以上のステップ。
  4. ステップが SQL を使用してソース・ターゲット・マッピングを行う場合、ステップごとに 1 つ以上のソース表および 1 つのターゲット表との関係。ステップがデータウェアハウスセンター プログラムを使用する場合、ソース表およびターゲット表は任意指定です。
  5. ステップがデータウェアハウスセンター プログラムを使用する場合、

    1. データウェアハウスセンター プログラムのインスタンス。
    2. データウェアハウスセンター プログラムに関連したパラメーター。
    3. 任意指定で、データウェアハウスセンター プログラムの出力表。

ステップを定義するには、以下のように行います。

  1. 適当なテンプレートをコピーします。
  2. トークンを実際の値に置換します。

テンプレートをコピーする

表 10 は、ステップを定義するために、プログラムがコピーして変更しなければならないテンプレートを示しています。

表 10. ステップのテンプレート
定義 テンプレートのコピー数 コピーするテンプレート 前提条件となるテンプレート
サブジェクト・エリア サブジェクト・エリアごとに 1 コピー SubjectArea.tag HeaderInfo.tag

デフォルト・エージェントを使用していない場合、AgentSite.tag

プロセス プロセスごとに 1 コピー Process.tag SubjectArea.tag
ステップ ステップごとに 1 コピー Step.tag SubjectArea.tag

Process.tag

ステップのソース表 ステップのソース表ごとに 1 コピー StepInputTable.tag Table.tag

Step.tag

Process.tag

ステップのターゲット表 ステップにターゲット表がある場合、1 コピー StepOutputTable.tag Table.tag

Step.tag

Process.tag

データウェアハウスセンター プログラムを使用するステップのターゲット表 プログラムによって更新される各ターゲット表を記述するために 1 コピー StepOutputTable.tag Table.tag

Step.tag

データウェアハウスセンター プログラム・インスタンス ステップがデータウェアハウスセンター プログラムを使用する場合、1 コピー StepVWPProgramInstance.tag VWPProgramTemplate.tag

Step.tag

データウェアハウスセンター プログラム・インスタンスのパラメーター ステップで使用されるパラメーターごとに 1 コピー VWPProgramInstanceParameter.tag StepVWPProgramInstance.tag

テンプレート内に共通の値を指定することによって、サブジェクト・エリアのテンプレートとプロセスのテンプレートとを関連付けます。同様に、テンプレート内に共通の値を指定することによって、ステップのテンプレートと入力表および出力表のテンプレートとを関連付けます。さらに、テンプレート内に共通の値を指定することによって、ステップのテンプレートとプログラム・インスタンスのテンプレートとを関連付けることができます。

図 9 は、サブジェクト・エリア、ステップ、ステップ入力表、ステップ出力表、ステップ VWP プログラム・インスタンス、および VWP プログラム・インスタンス・パラメーター・タグの間の関係を示しています。

図 9. SubjectArea.tag、Process.tag、Step.tag、StepInputTable.tag、StepOutputTable.tag、 StepVWPOutputTable.tag、StepVWPProgramInstance.tag、および VWPProgramInstanceParameter.tag の各テンプレートの間の関係. データウェアハウスセンター プログラム・テンプレートのテンプレートと他のデータウェアハウスセンター プログラムのテンプレートとがどのように関連するかは、 図 7 をご覧ください。


Figure IWHT1033 not displayed.

値を置換する

プログラムは、パートナー・メタデータ・ストアからサブジェクト・エリアまたはステップを説明する値を取得しなければなりません。

プログラムは取得した値でテンプレート内の適切なトークンを置換しなければなりません。

プログラム・ロジック

図 10 は、タグ言語ファイル内にステップを定義するためにプログラムで使用できる、ロジックの疑似コードを示しています。

図 10. タグ言語ファイルにステップを定義するための疑似コード

Read a copy of the SubjectArea.tag template
Search for and replace tokens with the metadata from your native metadata store (or defaults)
Append the output to a target file	
Read a copy of the process
 
For each step to be defined:
     Read a copy of the Step.tag template
     Search for and replace tokens with the metadata from your native metadata store
      (or defaults)
     Append the output to a target file
     If the step is to execute your application:
          Read a copy of the StepVWPProgramInstance.tag template
          Search for and replace tokens with the metadata from your native metadata store
               (or defaults)
          Append the output to a target file
          For each parameter that your application needs:
               Read a copy of the VWPProgramInstanceParameter.tag template
               Search for and replace tokens with the metadata from your native metadata store
                    (or defaults)
               Append the output to a target file
          End (for each parameter)
 
          If the step is to be related to its VWP output target data:
               Read a copy of the StepVWPOutputTable.tag template
               Search for and replace tokens with the metadata from your native metadata store
                    (or defaults)
               Append the output to a target file
          End (step relation to its output)
     End (if step to execute your application)
 
     If the step is to be related to its input source data:
          Read a copy of the StepInputTable.tag template
          Search for and replace tokens with the metadata from your native metadata store
           (or defaults)
          Append the output to a target file
     End (step relation to its source)
 
     If the step is to be related to its output target data:
          Read a copy of the StepOutputTable.tag template
          Search for and replace tokens with the metadata from your native metadata store
           (or defaults)
          Append the output to a target file
     End (step relation to its target)
End (for each step)

ISV_Sample プログラムは、ステップをタグ言語ファイルに追加する例を示しています。プログラムのソース・コードは、VWS_TEMPLATES 環境変数によって設定されたディレクトリーの Samples サブディレクトリーにあります。

連鎖ステップを定義する

タグ言語ファイル内で、ステップが他のステップを開始するように指定できます。

連鎖ステップを定義するには、以下のように行います。

  1. 適当なテンプレートをコピーします。
  2. トークンを実際の値に置換します。

テンプレートをコピーする

表 11 は、連鎖関係を定義するために、プログラムがコピーして変更しなければならないテンプレートを示しています。

表 11. 連鎖関係のテンプレート
定義 テンプレートのコピー数 コピーするテンプレート 前提条件となるテンプレート
ステップの連鎖関係 関係ごとに 1 コピー StepCascade.tag StepCascade.tag

値を置換する

以下を行うために、プログラムはステップの名前および別のステップの名前を指定しなければなりません。

プログラムは取得した値でテンプレート内の適切なトークンを置換しなければなりません。

プログラム・ロジック

図 11 は、アプリケーションが 2 つのステップを関連付けて、 1 つのステップが別のステップの完了時に開始するようにするためにプログラムで使用できる、ロジックの疑似コードを示しています。

図 11. 連鎖処理のためにステップを関連付ける疑似コード

Read a copy of the StepCascade.tag template
Search for and replace tokens with the metadata from your native metadata store
     (or defaults)
Append the output to a target file
End (relate steps for cascaded processing)

ISV_Sample プログラムは、タグ言語ファイル内でステップを関連付けて連鎖処理を行う方法の例を示しています。プログラムのソース・コードは、VWS_TEMPLATES 環境変数によって設定されたディレクトリーの Samples サブディレクトリーにあります。

タグ言語ファイルからメタデータをインポートする

コマンド・ウィンドウまたはユーザー・インターフェースを使用して、メタデータをタグ言語ファイルからインポートすることができます。この節では、コマンド・ウィンドウの使用方法を解説します。ユーザー・インターフェースの使用方法については、データウェアハウスセンターのオンライン・ヘルプを参照してください。

タグ言語ファイルをインポートするためには、DOS コマンド・プロンプトから以下のコマンドを入力します。

iwh2imp2 tag-filename log-pathname target-control-db userid password
   [PREFIX = schema]

tag-filename
タグ言語ファイルの全パスおよびファイル名。

log-pathname
ログ・ファイルの完全修飾パス名。

target-control-db
インポートのターゲット・データベースであるウェアハウス・コントロール・データベースの名前。

userid
ウェアハウス・コントロール・データベースにアクセスするためのユーザー ID。

password
ウェアハウス・コントロール・データベースにアクセスするためのパスワード。

[PREFIX = schema]
メタデータ表の表修飾子。

接頭部が指定されない場合、デフォルト値は IWH です。

インポート・コマンドのパラメーターに関するヘルプを表示するには、コマンドだけを入力します。

インポート・ユーティリティーはメタデータをタグ言語ファイルからインポートするときに、以下のファイル名とファイル拡張子を持つログ・ファイルを作成します。

インポート・プロセスは、戻りコードおよび最後に完了したチェックポイントをログ・ファイルの末尾に記録します。

system() 呼び出しまたは rexec() 呼び出しを使用して、戻りコードを交換プログラムにコーディングすることもできます。使用する呼び出しは、プログラムを実行しているオペレーティング・システムに依存します。

メタデータをデータウェアハウスセンターにインポートすることについての詳細は、 データウェアハウスセンター 管理の手引き を参照してください。

ステップを実行に備えて準備する

メタデータをデータウェアハウスセンターにインポートした後、以下の手順を完了して、ウェアハウスのための自動処理をセットアップしなければなりません。

  1. 以下のオブジェクトのためのパスワードを指定します。
  2. SQL ステップでは、ソース表またはファイルをターゲット表に直接マップする場合、ソース列をターゲット列にマップしてください。
  3. データウェアハウスセンターでオブジェクトが作成された後、データウェアハウスセンターを使用して特定の日および時刻のスケジュールをステップに定義します。さらに、タグ言語ファイル内で定義していない場合、連鎖関係を定義することもできます。
  4. ステップをテスト・モードに昇格します。
  5. ステップをテストするには、「新規ステップの実行 (Run New Step)」ウィンドウでそれらを選択して実行します。

    変更を加える必要がある場合、以下のように行います。

    1. 必要であれば、ステップを開発モードに降格します。
    2. 変更を加えます。
    3. 再び、ステップをテスト・モードに昇格させます。

    プログラムを更新して、これらの変更が反映されるようにします。

  6. ステップを実働モードに昇格して、それらのスケジュールを活動化します。

    これで、ステップは自動スケジュールによって実行するようになりました。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]