目次


IBM InfoSphere Optim Test Data Management Solution 解説

第 2 回 Optim Designerによる抽出サービスの作成

Comments

コンテンツシリーズ

このコンテンツは全#シリーズのパート#です: IBM InfoSphere Optim Test Data Management Solution 解説

このシリーズの続きに乞うご期待。

このコンテンツはシリーズの一部分です:IBM InfoSphere Optim Test Data Management Solution 解説

このシリーズの続きに乞うご期待。

はじめに

IBM InfoSphere Optim Test Data Management Solution(以下、Optim TDM)はアプリケーション開発において、効果的なテスト・データ管理を実現するソリューションです。本連載では、Optim TDMの機能や具体的な使い方について解説しています。
第1回では製品全体の構成、各コンポーネントの機能や役割の概要について説明しました。これからは各コンポーネントの具体的な使用法について述べます。今回から3回に分けて、サービスの開発を行うOptim Designerの使用法について解説していきます。今回は、基本的な使用方法と抽出サービスの作成について説明します。

Optim Designerの画面構成と基本的な使用方法

図 1. Optim Designerの画面構成

Optim Designer(以下、Designer)はデータ管理サービス(以下、サービス)を開発するためのコンポーネントです。図1にDesignerのデフォルトでの画面構成を示します。画面の左側にはディレクトリー・エクスプローラーと呼ばれるビューがあります。ここには、使用されるデータベースや作成されたオブジェクト(サービスやサービスに必要な部品)がツリー構造で表示されます。

画面右上の領域には、オブジェクトを編集するためのエディターなどが表示されます。
また、画面右下の領域には、ディレクトリー・エクスプローラーで選択されたオブジェクトの基本情報(プロパティー)などが表示されます。

準備作業

Designerをはじめて起動した場合にはサービスを作成する前に次の2つの構成作業を行っておく必要があります。

  • Optimディレクトリーへの接続
  • データ・ストア別名への接続

Optimディレクトリーはシステムの管理情報が保存されたデータベースです。データ・ストア別名はサービスで使用するデータベースへの接続情報です。ここでは、Optim TDMの導入時の構成作業でOptimディレクトリーとデータ・ストア別名がすでに作成されているいう前提で説明していきます。これらの作業については導入マニュアルを参照してください。

図 2. Optimディレクトリーへの接続プロパティーの入力ダイアログ

Optimディレクトリーへの接続を行うためには、ディレクトリー・エクスプローラー内の「既存のOptimディレクトリーにアクセスする場合にクリックします」と表示された部分をクリックします。
図2のOptimディレクトリーへの接続プロパティーの入力ダイアログが表示されるので、「DBMS」と「バージョン」のリストからOptimディレクトリーのデータベースのベンダー名とバージョンを選択し、その他接続に必要な情報を入力してから、「次へ」をクリックします。次の画面でJDBC接続プロパティーを入力し、接続のテストを行います。ダイアログのタイトルに「接続が成功しました」と表示されたら「終了」を選択しOptimディレクトリーへの接続は完了です(図3)。

図 3. JDBC接続プロパティーの入力ダイアログ

接続が完了すると、ディレクトリー・エクスプローラーにはOptimディレクトリーのノードが表示されます。さらにその下のツリーには構成済みのデータ・ストア別名が表示されます。しかし、まだ接続状態にはなっていませんので、アイコンをダブルクリックしてダイアログを開き、Optim ディレクトリーのときと同様に接続に必要な情報を入力します。すべてのデータ・ストア別名が接続状態になったら、サービスを作成する準備は完了です。

サービスの作成

サンプル・シナリオ

サービスを作成していく前に、前回の記事でも紹介したテスト・データ作成のサンプル・シナリオについてより詳細に説明します。
扱うのはレンタルDVDチェーン店の顧客情報とレンタル記録に関するデータです。このチェーン店ではレンタル時にポイントが加算されるサービスを新たに始めることになり、顧客管理システムのアプリケーションとデータベースを修正する必要が生じました。開発作業のためにOptim TDMを使ってテスト用のデータを作成するというのが今回のシナリオです。
現在稼働中の本番環境のデータベース(MASTER)には5つの表が存在し、これらによってレンタルの記録を管理しています(図4)。(説明のために表や列の構成は簡単なものにしてあります。)

図 4. サンプル・シナリオで使用するデータベースの構成

開発環境のデータベース(WORK)にも同様の表が用意してありますが、新サービスのために、「顧客一覧」と「レンタル記録」の各表にはポイントの列が追加されています。

図 5. テスト・データ作成の手順

処理の流れは図5のようになります。抽出、変換、挿入の3つのサービスを作成してテスト・データを作成します。

オブジェクトの種類と関係

今回のシナリオで作成するオブジェクトは4種類のサービスと、3種類の関連部品です(図6)。

図 6. オブジェクトの種類と関係

抽出サービスは、データベースの中のデータを外部ファイル(抽出ファイル)に出力します。抽出ファイルには、データと共に表や列の情報も記録されます。抽出サービスで、どのデータベースのどの表からデータを取り出すかを指定するオブジェクトが「アクセス定義」です。

変換サービスは、抽出ファイル内に記録されたデータを変換して別の抽出ファイルに出力します。挿入サービスとロードサービスは抽出ファイル内のデータをデータベースに挿入します。この3種類のサービスはどれも、ソース(抽出ファイル)のデータをターゲット(抽出ファイル/データベース)に出力します。このとき、表や列の構成がソースと異なるターゲットに出力することもできます。ソースのどの表をターゲットのどの表に対応付けるかを指定するオブジェクトが「表マップ」です。さらに、ソースの表のどの列をターゲットの表のどの列に対応付けるかを指定するオブジェクトが「列マップ」です。データをどのように変換するかの指定も列マップで行います。

アクセス定義、表マップおよび列マップは独立したオブジェクトとして作ることもできますし、それを使用するオブジェクトの一部として作ることもできます。前者を「名前付きオブジェクト」、後者を「ローカル・オブジェクト」と呼びます。
例えば、アクセス定義を抽出サービスで使うには以下の2種類の方法があります。

  • 名前付きアクセス定義を事前に作っておき、抽出サービスから参照する
  • 抽出サービスを作成する際に、その一部としてローカルアクセス定義を作成する

名前付きアクセス定義は、共通部品として他の抽出サービスからも参照して使うことができます。一方ローカルアクセス定義はひとつの抽出サービスからしか使えませんが、その抽出サービスの一部として一緒に保存されるので扱いが簡単で便利です。

フォルダーの作成

まず最初に、作成する各種オブジェクトをグループ化するためにディレクトリー・エクスプローラー内にフォルダーを作成します。
Optimディレクトリーのノードを右クリックし、ポップアップ・メニューの「新規」-「フォルダー」を選択します。フォルダ作成のウィザードが表示されるので、フォルダー名(ここでは「レンタル業務用テストデータ」)を入力し、「OK」ボタンをクリックします。Optim ディレクトリーのノードの下に新しいフォルダーが作成されます。これから作業を行うオブジェクトはすべてこのフォルダーの下に作成します。

オブジェクト作成の基本操作

オブジェクトを作成する際の基本操作はすべて共通です。まずフォルダー・アイコンを右クリックしてメニューから「新規」を選び、サブメニューから作成したいオブジェクトの種類を選択します。表示されるウィザードに必要な情報を入力してゆき、最後に「終了」をクリックすると新しいオブジェクトがフォルダーの下のツリー内に追加されます。
オブジェクトのノードをクリックして選択するとそのオブジェクトの基本情報が右下の「プロパティー」ビューに表示されます。
オブジェクトの詳細を見たり、修正する場合はオブジェクト・エディターを使用します。オブジェクトのアイコンをダブル・クリック(または右クリック・メニューで「開く」を選択)すると、オブジェクトの種類に対応したエディターが開きます。修正を行った場合は、ツールバーの「保存」アイコンをクリックして更新しておきます。
それでは、いよいよ作業をはじめることにしましょう。最初のサービスを作る前に、アクセス定義オブジェクトを先に作っておきます。

アクセス定義の作成

アクセス定義は、データ・ストア別名で定義されたデータベースのどの表からどのようにデータを取り出すかを指定するオブジェクトです。

図 7. アクセス定義名の入力

フォルダーを右クリックし、「新規」-「アクセス定義」を選択して、「新規アクセス定義」ウィザードを表示します(図7)。
まず、オブジェクトの名前を入力します。Designerでオブジェクト名をつける際には一部のオブジェクトを除き “IDENTIFIER.NAME” の形で指定します。IDENTIFIER の部分は最大8文字、NAMEの部分は最大12文字のアルファベットと記号(_、@、#)が使用できます。 2文字目以降は数字も使用できます。 詳細はマニュアルを参照してください。
必要に応じて「説明」を入力してから、「次へ」をクリックします。

図 8. データ・ストア別名の選択

「データ・ストア別名の選択」(図8)が表示されるので、データの抽出元のデータベースへの接続情報を定義したデータ・ストア別名(ここではMASTER)を選択し、「次へ」をクリックします。

図 9. 開始表の選択

「開始表の選択」(図9)では、抽出対象となる表を選択する際に起点となる表(開始表)を指定します。「表の検索パターン」に開始表を検索する文字列を”スキーマ名.表名”のフォーマットで入力し、「表の表示」ボタンをクリックします。検索パターンに % をワイルドカードとして使用することができます。今回は"%.%"を指定してデータベース内のすべての表を表示させます。表示されたリストの中から開始表を選択し、「次へ」をクリックします。今回のシナリオでは開始表として「レンタル記録」を選択します。

図 10. 表選択メソッドの指定

「表選択メソッドの指定」画面が表示されるので、前のパネルで指定した表と関連のある表を自動で検索するために「関連表の検索」を選択して、「次へ」をクリックします(図10)。
Optimには開始表から表間の参照関係を解析して、関連する表を選び出してくれる機能があります。

図 11. 関連表の表示および選択

「関連表の表示および選択」画面で「表の表示」をクリックすると、開始表である「レンタル記録」と親子関係のあるすべての表がテーブルに表示されます(図11)。

図 12. データの参照関係

サンプル・シナリオで使用されている表では、図12に示すようにデータが参照されています。「すべてのレベルを検索」オプションをつけたので、「レンタル記録」表の「親」の「親」に当たる、「メーカー一覧」表も選び出されます。
「すべて選択」をクリックして関連するすべての表を抽出の対象とし、「終了」をクリックします。

アクセス定義エディター

図 13. アクセス定義エディター

アクセス定義が作成されると、ディレクトリー・エクスプローラーのフォルダ内にアイコンと名前が表示され、アクセス定義エディターが開きます(図13)。
このアクセス定義エディターをはじめとして、オブジェクト・エディターには各種情報がタブで分けられて表示されており、必要に応じて編集することができます。アクセス定義エディターの各タブの機能は以下の通りです。

表 1. アクセス定義エディターのタブとその機能
タブ名機能
サービスがアクセスする表の一覧が表示されます。たとえば、このアクセス定義が「抽出サービス」で使用されれば、これらの表からデータが抽出されることになります。この一覧ではさらに、表に対して「選択基準」と呼ばれる条件を指定して特定の列だけが抽出されるように設定できます。選択基準はSQL文で指定します。
関係表の親子関係を表示します。
データ・グループ・ プロパティー表から抽出するデータ量を制限するときに使用します。
変数上記「選択基準」のSQL文内で使用する変数を定義して、抽出の条件がサービスの実行時にダイナミックに変更されるようにできます。
ポイント・アンド・ シュート開始表の特定の行だけを選択するために使用する主キーのリストを、Optimでは「ポイント・アンド・シュート・リスト」と呼びます。このタブではポイント・アンド・シュート・リストの指定を行います。

さて、サンプル・シナリオでは本番環境にあるデータはテスト・データとして大きすぎるので、抽出する際に適度な大きさになるように、行(レコード)数を制限する事にします。
「データ・グループ・プロパティー」タブを使うと、特定の列の値に基づいて行をグループ化して抽出できます(図14)。

図 14. データ・グループ・プロパティー

「データ・グループ・プロパティー」タブをクリックし、対象とする列として「顧客ID」を選択し、「固有グループの数」と「グループごとの行数」にそれぞれ5と3を指定します。これにより、「レンタル記録」表の「顧客ID」列の内容が5種類までに制限され、それぞれの顧客IDのグループにおいて行の数が最大で3個までに制限されます。つまり、レンタル記録の表からは最大でも15個までしか行が抽出されないことになります。これに関連付けられている他の表からもこの制限された行に関連したデータのみが抽出されます。
設定を終えたら変更を完了し、アクセス定義エディターを閉じます。

抽出サービスの作成

図 15. サービス名の入力とサービス・タイプの選択

次に抽出サービスを作成します。フォルダーを右クリックし、「新規」-「サービス」を選択して、「新規サービス」ウィザードを表示します(図15)。

アクセス定義のときと同様に名前と説明を入力し、サービス・タイプとして「抽出」を選択して、「次へ」をクリックします。

図 16. アクセス定義の選択

「アクセス定義の選択」が表示されるので、「アクセス定義の選択」ラジオボタンを選択してから先ほど作成したアクセス定義TEST.AD01を指定し、「次へ」をクリックします(図16)。

図 17. ターゲット・ファイル名の入力

次の画面(図17)で抽出ファイル名を入力し(ここではTEST.MASTER01)、「終了」をクリックします。なお、図16の「アクセス定義の選択」画面で「ローカル・アクセス定義の作成」ラジオボタンを選択した場合は、このサービスだけで使用するアクセス定義を作成することになります。この場合は、以後の画面でアクセス定義作成ウィザードが開きますので、必要事項を入力します。

抽出サービス・エディター

図 18. 抽出サービス・エディター

抽出サービスが作成されると、ディレクトリー・エクスプローラーのフォルダ内にアイコンと名前が表示され、抽出サービス・エディターが開きます(図18)。
抽出サービス・エディターの各タブの機能は以下の通りです。

表 2. 抽出サービス・エディターのタブの役割
タブ機能
ファイル抽出先ファイルを指定します。
処理オプションサービス実行時のデータベースへの接続数などを指定します。
データおよびオブジェクト抽出ファイルに書き出すデータベース・オブジェクト(データや索引など、各種の情報)を指定します。
変換変換サービスを指定します。
変数アクセス定義の同名タブと同じ機能です。両方で指定された場合は、こちらの内容が優先されます。
ポイント・アンド・ シュートアクセス定義の同名タブと同じ機能です。両方で指定された場合は、こちらの内容が優先されます。
通知サービスの処理終了時に結果をメールで知らせる先を指定します。
ファイル圧縮オプション抽出ファイルに対する圧縮方法を指定します。

「変換」タブを使うと、データの抽出と同時にマスク(データの置き換え)も行うことができます。しかし、今回のシナリオではマスクは変換サービスで行うのでここでは何も指定しません。内容を確認したら、抽出サービス・エディタを閉じて作業を完了します。

抽出サービスの実行

では、作成した抽出サービスを実行してみましょう。本来サービスの実行には、実行要求の発行と監視を行うOptim Managerと、実際にサービスを実行するOptim Serverが必要です。しかしOptimにはこれとは別に、簡易版のIBM Optim ManagerとOptim Serverが用意されています。前者はDesignerに組み込まれた機能なので「組み込みManager」と呼ばれ、後者はDesignerと同じマシン上で動作しているので「ローカル・サーバー」と呼ばれています。作成したサービスの動作を確認したり、一度しか使わないサービスを実行するときには、この二つを使うのが簡単で便利です。

図 19. 組み込みManager

ツールバーの「Optim Manager」アイコンをクリックすると、組み込みManagerが表示されます(図19)。「サービス管理」タブでTEST.EXT01を選択し「実行」ボタンをクリックすれば、抽出サービスが開始されます。

図 20. 「サービス・モニター」タブ

サービスの実行状況は「サービス・モニター」タブで見ることができます(図20)。「状況」列に「終了済み」と表示されれば抽出作業は完了です。

それでは、抽出された内容を確認してみましょう。 Designer のメイン・メニューの「ユーティリティー」-「参照」を選択して、Browseユーティリティーを起動します(図21)。

図 21. Browseユーティリティー

「File」-「Open」メニューを選んで、抽出ファイル(TEST.MASTER01.xf)を指定します。表示されたリストの中から各表を右クリックし、「Display Rows」を選択すると、抽出されたデータを確認することができます。

図 22:抽出されたデータの確認

レンタル記録のデータが15個に制限されていることが確認できます(図22)。

まとめ

今回は、データベース内のデータを外部ファイルに書き出す抽出サービスの作成を説明しました。Optimには参照関係を解析して必要なデータを自動で選び出す機能があります。DesignerではGUIの操作で、これらの機能を使ったサービスを簡単に作成することができます。
次回は、抽出したデータ内の個人情報をマスクする、変換サービスの作成について説明します。


ダウンロード可能なリソース


関連トピック


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Information Management
ArticleID=978567
ArticleTitle=IBM InfoSphere Optim Test Data Management Solution 解説: 第 2 回 Optim Designerによる抽出サービスの作成
publish-date=07312014