目次


IBM InfoSphere Optim Test Data Management Solution 解説

第 4 回 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 Designer (以下、Designer) を使った抽出サービスと変換サービスの作成手順を説明しました。変換サービスでは、ポリシーを使って個人情報のマスク (置き換え) も行いました。

今回は、抽出ファイルのデータをデータベースに挿入する挿入サービスおよびロード・サービスの使い方について説明します。

挿入サービスとロード・サービス

挿入サービスとロードサービスは、共に抽出ファイルに記録されたデータをデータベースに挿入する作業を行うサービスです。両者の違いは挿入時に INSERT を使うか、データベースベンダーの用意したローダーを使うかです。挿入サービスは扱いが比較的簡単ですが、大量のデータを扱う際にはロード・サービスの方が作業効率が高いなど、それぞれに長所短所があるので用途に応じて使い分けます。挿入サービスの作成方法から説明しますが、その前に準備として表マップと列マップを作成しておきます。

挿入サービス用の表マップと列マップの作成

今回のサンプル・シナリオのストーリーは、本番環境から取得したデータを変換して、開発環境で使用するテスト・データを作るというものでした。変換されたデータが入った抽出ファイルを作成するところまではすでに完了しています。最後にこのデータを開発環境のデータベースに挿入すれば作業は完了です。しかし、レンタル時にポイントがたまる機能をアプリケーションに追加するため、開発環境のデータベースの「顧客一覧」表には「ポイント」列が追加されていて、本番環境の表とは列の構成が異なっています。そこで表マップと列マップを使って挿入先や挿入方法を指定する必要があります。

前回説明したのと同様の手順でまず表マップを先に作成しておきます (図 1)。

図 1. 表マップ名の入力

新しい表マップ (TEST.TM02) のソースには、変換サービスで作成された抽出ファイル (TEST.WORK01.xf) を指定します (図 2)。

図 2. 表マップ・ソースの選択

ターゲット・データ・ストア別名には開発環境の WORK を、ターゲット・スキーマには RENTALBIZ を指定します。Optim はソースとターゲットが異なっていても類似したテーブルを自動で探し出し、対応付けて表示します (図 3)。

図 3. 表マップ・エディター

リスト中の「レンタル記録」の行を選択してから、「列マップの追加」ボタンを押し、表示されたダイアログで「ローカル列マップの作成」を選んで終了をクリックします (図 4)。

図 4. 列マップの選択、またはローカルに作成

列マップ・エディターのリストにはターゲット表の列に対応するソース表の列が並んで表示されます。これらの列ではソースのデータがそのままターゲットに入ります。しかし、「ポイント」は新設された列なので、リストの中のソースの欄は空白になっています (図 5)。そこで、この列には、テスト・データの初期値として 0 を入力することにします。

図 5. 列マップ・エディター

リスト中のポイントの行のソースの欄に初期値 0 を直接タイプして入力します。

作成された列マップと表マップを保存してからそれぞれのエディターを終了します。

レンタル記録表にもポイントの列が新設されていますので、同様の操作でローカル列マップをもう一つ作り、ポイント列に初期値 0 が入力されるように指定しておきます。

挿入サービスの作成

ディレクトリー・エクスプローラーでフォルダーを右クリックし、「新規」-「サービス」を選択して、「新規サービス」ウィザードを表示します (図 6)。

図 6. 新規サービス・ウィザード

名前と説明を入力し、サービス・タイプとして「挿入」を選択して、「次へ」をクリックします。「ソース・ファイルの選択」画面が表示されるので、表マップを作成したときと同様に抽出ファイル TEST.WOKR01xf を指定し、「次へ」をクリックします。「表マップの選択」画面では「表マップの選択」を選択し、先ほど作成した表マップ (TEST.TM02) を選択して「終了」をクリックします (図 7)。

図 7. 表マップの選択

挿入サービス・エディター

挿入サービスが作成されると、ディレクトリー・エクスプローラーのフォルダー内にアイコンと名前が表示され、エディター領域内に挿入サービス・エディターが開きます (図 8、9) 。

図 8. 挿入サービス・エディター(ファイル・タブ)
図 9. 挿入サービス・エディター(処理オプション・タブ)

挿入サービス・エディターの各タブの機能は表 1 の通りです。

表 1. 挿入サービス・エディターのタブとその機能
タブ名機能
ファイル挿入するデータの入ったファイルを指定します。
処理オプション 挿入時の処理のオプションの詳細を指定します。
  • 行処理のオプション: 主キーの処理の仕方を指定します。
    • 挿入: 新たな行データの挿入のみを許可します。挿入しようとした行のデータの主キーが導入先に既存の場合、エラーになります。
    • 更新: 既存の行データの変更のみを許可します。挿入しようとした行のデータの主キーが導入先に存在しない場合、エラーになります。
    • 挿入/更新: 主キーが存在しなければ挿入し、既存ならば変更します。
    • 混合: 表毎に別々のオプションを指定します。
  • 行削除のオプション: 事前に挿入先のデータを削除するか否かの指定を行います。
  • データベース・トリガーを無効にする: データベースへの挿入時のトリガーを無効にします。この機能はデータベース・ベンダーに依存します。
  • 関係保全制約を無効にする: データベースへの挿入時の関係保全制約を無効にします。この機能はデータベース・ベンダーに依存します。
レポート・オプションサービスの実行結果を知らせる処理レポートについての指定を行います。
通知サービスの処理終了時に結果をメールで知らせる先を指定します。

挿入サービスの実行

では、作成した挿入サービスを実行してみましょう。

ツールバーの「Optim Manager」アイコンで、組み込み Manager を表示し、TEST.INS01 を選択して、「実行」ボタンを押します。

「サービス・モニター」タブで作業の終了を確認します。

データベースにアクセスして結果を確認してみましょう。Optim の編集ユーティリティーを使うとデータベースの内容を直接見たり、変更したりすることができます。

編集ユーティリティー

ツールバーの「編集」アイコンで編集ユーティリティーを起動します。

図 10 の「Editor Options」ダイアログが表示されるので「Access」グループで「Table」を選択してから、テキスト入力フィールドの隣のブラウズ・ボタンを押し、表選択ダイアログを表示します (図 11)。

図 10. Editor Options ダイアログ
図 11. 表選択ダイアログ

「DB Alias」から「WORK」を選択し、「Refresh」ボタンを押し、表を表示します。表示された表の中から「レンタル記録」を選択し、「Select」ボタンを押し、「Editor Options」画面に戻ります。選択した表名が表示されていることを確認し、「OK」ボタンを押します。「Table Editor」が表示され、開発環境のレンタル記録の内容が確認できます (図 12)。

図 12. 表エディター

マスクされたデータが開発用データベースの各表に挿入され、顧客一覧表とレンタル記録表のポイントの列には初期値 0 が入っています。

ロード・サービスの作成

挿入サービスでは SQL の INSERT 文を使ってデータベースにアクセスしています。しかし、使用しているデータベース・ベンダーが用意しているロード・コマンドを使用すれば、より効率的にデータを挿入することが可能です。ロード・サービスを使うとロード・コマンドを使って挿入サービスと同じ事ができます。今回のシナリオではロード・サービスを使用する必要はありませんが、大量のデータの処理を限られた時間内で行いたい場合などにはロード・サービスが適しています。

ロード・サービスを作成するためには Optim の構成ユーティリティーを使って、データベース・ベンダーが用意したロード・モジュールを登録しておく必要があります。登録は Optim Configuration プログラムの Personal Options の Load タブで行います。詳細はプログラムのヘルプを参照してください。

ロード・サービスを作成する際のウィザード操作は、挿入サービスとほぼ同じです。最初のダイアログでサービス名とサービスの種類 (ロード) を指定した後、ソースの抽出ファイルと表マップを指定して終了します。

ロード・サービス・エディター

ロード・サービスが作成されると、ディレクトリー・エクスプローラーのフォルダー内にアイコンと名前が表示され、エディター領域内にロード・サービス・エディターが開きます (図 13、14)。

図 13. ロード・サービス・エディター (ファイル・タブ)
図 14. ロード・サービス・エディター (処理オプション・タブ)

ロード・サービス・エディターで「ファイル」、「レポート・オプション」、および「通知」タブの内容は挿入サービスとほぼ同じです。「ロード・オプション」タブの内容は使用するデータベースのベンダー毎に異なります。

ロード・サービスエディターの各タブの機能は以下の通りです。

表 2. ロード・サービス・エディターのタブとその機能
タブ名機能
ファイルロードするデータの入ったファイルを指定します。
処理オプション ロード時の処理のオプションの詳細を指定します。
  • DBMS ローダーの実行モード: ロード先のデータベースが複数あり、ベンダーが異なる場合、それぞれのロードを並列に行うか順番に行うかを指定します。
    • 順序: ロードの処理を順番に行います。
    • 並列: ロードの処理を並列に行います。
  • 停止のオプション: ロード時にエラーが発生した場合の停止処理について指定します。
  • 添付ファイル: 抽出ファイルは、抽出したデータに関連付けられた添付ファイルと呼ばれる外部ファイルを含んでいることがあります。その場合の処理を指定します。
  • ターゲット・データ・ストアのオプション: ターゲットのデータ・ストア別名が複数ある場合、それぞれについてデータベース・トリガーと関係保全性制約のオプションを設定できます
ロード・オプションこのタブの内容は、データベース・ベンダー毎に異なります。各データベース・ベンダーのロード・ユーティリティーのマニュアルを参照してください。
レポート・オプションサービスの実行結果を知らせる処理レポートについての指定を行います。
通知サービスの処理終了時に結果をメールで知らせる先を指定します。

まとめ

今回までの連載で、レンタル業務用のテスト・データを作るというシナリオに沿って一連のサービスを作成してきました。Optim Designer を使用すると、データベースからのデータの抽出や、個人情報のマスクによるテスト・データの作成が簡単に行えるということがご理解いただけたと思います。

次回は Designer 以外のコンポーネントの使い方について説明します。


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


関連トピック


コメント

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

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Information Management
ArticleID=984198
ArticleTitle=IBM InfoSphere Optim Test Data Management Solution 解説: 第 4 回 Optim Designer による挿入およびロード・サービスの作成
publish-date=10072014