
企業内では販売、在庫、人事などそれぞれのシステムごとにデータが蓄積されていたり、Excel、メール、Webポータルなどに情報が散在していることが数多くあります。データのやり取りが社内だけではなく関連企業や取引先とも発生するケースも多いでしょう。これらのデータを活用するためにシステム間のデータ連携処理はプログラム開発したり、ファイルで連携したり、場合によってはデータを手入力することもあります。データ連携処理を自動化するためには、種類の異なる「データの読み書き」と「データの変換」、そして「フロー定義」が必要となります。
DataSpiderの「隠す技術」で種類の異なる「データの読み書き」や「データの変換」の煩雑さを解消し、「つなぐ技術」で多種多様なデータソースを連携する「フローの定義」を、プログラムを作成することなく簡単に実現することができます。
1.1.1 データの読み書き
データにアクセスするための方法は、データが格納されているデータソース(アプリケーションやデータベース)によって大きく異なります。たとえばデータを読み取る処理だけ考えてみても、データソースの種類によってさまざまな技術を習得しなければなりません。
SAPとデータのやり取りをしたいのであればBAPIやIDOCを使ったプログラムを書かなければなりませんし、Lotus Notesからデータを取得したいのであればNotesのAPIを使用する必要があります。XMLデータベースに接続する際にも同様に、専用のAPIを使用する必要があるでしょう。メールを受信するのであれば、POP3やIMAP4のプロトコルをハンドリングするプログラムを書いたり、それらを実装しているライブラリを探し、必要な操作を問題なく行なえるかどうかを一つ一つ確認していく必要があります。EDIで送られてくるファイルをハンドリングするのであれば、複雑なフォーマットを解析するためのプログラムを書かなければなりません。
これだけでもかなりの労力がかかりますが、より大きな問題は、網羅的にテストしていかないと気づかない、接続先やバージョンごとのちょっとした違いがシステムの不具合としてレポートされるリスクがあることです。
取得したいデータがデータベースに格納されており、そのテーブルの互換性が保証されているのであれば、データベースに接続してSQL文でデータを抽出するプログラムを書くことになるでしょう。この作業自体は極めて簡単です。しかしここでひとつやっかいなことがあります。ODBCやJDBCのように標準化されたAPIが存在しても、実際にそれらのAPIを呼び出したときのデータベースの動作は、接続先のデータベースの種類やバージョンによって異なる部分があるということです。この動作の差異の中には、たとえば文字化け回避の方法のほか、パフォーマンスを最大限に引き出すためのAPIの呼び出し手順やパラメータの調整値なども含まれます。そしてこれらの差異は「はまるポイント」に直結し、システム開発のペースとスケジュールを大幅に狂わせる原因となり得ます。もちろん、ある特定のデータベースに精通した技術者ならば、これらの特性を事前に見抜き、適切な対処を行なうでしょう。しかし連携すべきシステムが多岐に渡る場合、さまざまな種類、バージョンのデータソースに対するノウハウをすべて身につけるのは非常に困難です。
この課題に対してDataSpiderでは、「隠す技術」によるアプローチを行なっています。各データソースごとに、必要最低限のプロパティを設定することでデータの入出力を行なうことができるアダプタ(図1.1)を用意し、データソースとのデータのやり取りにおける複雑さを隠してしまおうというわけです。
図1.1:DataSpiderで提供されるアダプタ群(2007年6月現在)
1.1.2 データの変換
データの読み書きの次に問題になるのは、データの変換です。
たとえば、ここに2つのデータベースがあり、それぞれのデータベースに社員の情報が格納されていたとします。社員を識別するために、社員にはIDが割り振られており、一方のデータベースでは社員IDは「EMPLOYEE_ID」という列に、もう一方のデータベースでは「社員番号」という列に格納されています。また、社員の氏名については、一方のデータベースでは「NAME」という列にフルネームで格納されていますが、もう一方のデータベースでは姓と名がそれぞれ別の列に格納されています。さらに連絡先として使われている電話番号については、一方のデータベースでは「03-4321-1111」のようにハイフン付きで、もう一方のデータベースでは「0343211111」というようにハイフンなしで格納されています。
ここで例に挙げたのは簡単なケースですが、実際に複数のシステムにまたがるデータ連携を行なおうとすると、コード体系の差異を吸収したり、各データベースの情報をマージしながらデータを作成する必要があったり、ファイルから取り出した情報とデータベースから取り出した情報を比較しながら書き込む値を判定したりと、より複雑な要求が発生します。
そしてここで重要な課題となるのは、どのようにすれば、異なる種類のデータを、同じ方法で、しかも簡単に扱うことができるかということです。
この課題に対してDataSpiderでは、「つなぐ技術」によるアプローチを行なっています。DataSpiderでは、データベースのデータとExcelのデータ、ERPシステムから取り出したデータとXMLデータベースから取り出したデータなど、異なる種類のデータ同士をつなぎ合わせたい場合、アダプタがデータを共通の形式に変換し、GUIで提供されるマッピングツールによって、あたかも同種のデータであるかのように扱うことができます。
1.1.3 フローの定義
最後の課題は、データ連携のフローをどのように定義するか、ということです。
もし実現したいデータ連携の内容が、データベースの内容を単純にファイルに書き出す程度の極めてシンプルなものであればフローの定義は必要ないかもしれません。しかし実際には、データ連携の多くのシーンで、条件分岐や繰り返し、エラー処理や値の付き合わせなどの各種処理が必要となります。
これらのフローをプログラミングによって定義していくことも可能ですが、フローチャートのようなイメージでノンプログラミングで設計から実装を一気通貫で行なうことができればそれに越したことはありません。
DataSpiderでは、このようなフローの定義を行なうため、「デザイナ」というツールを提供しています。このツールを使うことで、行ないたい処理をアイコンのドラッグ&ドロップやプロパティの設定といった簡単な操作で定義することができます。このようなフローの可視化は、開発時の負荷や工数を短縮させるだけでなく、過去にどのような処理を定義したかといった確認や、後任担当者への業務引き継ぎなどのメンテナンスのフェーズにおいて、より重要になってくるでしょう。
DataSpiderは、種類の異なるシステムやアプリケーション間でデータのやり取りをする際に、通常はプログラム開発、もしくは手作業でデータの移行や入力作業を行なう処理をGUIベースで作成することができるデータ連携ツールです。データ連携だけでなく、ログ出力やトリガーなど、運用に関する機能も提供しています。
1.2.1 DataSpiderのシステム構成
DataSpiderは、クライアントサーバモデルです(図1.2)。クライアントツールである統合開発環境StudioからサーバプロセスとなるDataSpiderサーバに接続して処理を開発します。
図1.2:DataSpiderシステム構成図
1.2.2 DataSpiderの概念
DataSpiderの開発ツールDataSpider Studioでは、「アダプタ」や「コンバータ」と呼ばれる部品(アイコン)をドラッグ&ドロップの操作で配置するだけで、プログラミングをせずに、データ連携処理を作成することができます(図1.3)。
アダプタ
各種データソースに対する接続機能とデータ入出力機能を持つ部品です。現在では35種類のアダプタが提供されており、SDK(Software Development Kit)を使用して独自のアダプタを開発することもできます。
コンバータ
データを加工するための部品です。数値の演算、文字列の全角半角変換など、120種類を超える変換機能が提供されています。
NOTE
Chapter5「付録リファレンス」に、アダプタと変換機能の一覧を掲載しています。
図1.3:DataSpiderの概念図

種類の異なるシステムやアプリケーション間でデータのやり取りをする際には、通常、それぞれの接続方式に合わせたインターフェイスを開発する必要があります。DataSpiderは、企業がビジネスを行なうために必要とされる、部門あるいは支店、取引先との間で必ず生じるデータのやり取りを簡便化し、自動化するデータ連携ツールとして、さまざまな場面で活躍します。
1.3.1 利用イメージ
2種類のシステムを接続する必要があるシンプルなデータ連携のニーズから、図1.4のように、数多くのシステムが散在するシステム環境におけるデータ連携のニーズまで、DataSpiderはデータ連携が発生するあらゆる場面でその効果を発揮します。
図1.4:複雑なデータ連携もDataSpiderを使えば容易に実現できる
1.3.2 適用例
DataSpiderの具体的な適用例を見てみましょう。ここでは、DataSpiderを使用してEAIシステムとBIシステムのデータ連携を行なう事例を紹介します。
基幹システムとのデータ連携
課題
ERPパッケージを導入したいが、サブシステムとの連携が必要
このようなケースでは、システム統合を行なう上での連携先システムとの接続およびデータの抽出/格納をDataSpiderが行ない、システム連携を一本化することができます(図1.5)。
図1.5:ERPパッケージとサブシステムのデータ連携
BIシステムとのデータ連携
課題
データ分析用のデータウェアハウスを構築しBIツールを活用したい
このようなケースでは、DWHの入出力の箇所にDataSpiderを適用することで、DWHの作成や、帳票やBIツールとのデータ連携の自動化を実現することができます(図1.6)。
図1.6:ERPパッケージとサブシステムのデータ連携
DataSpiderの操作は、統合開発環境「Studio」から行ないます。Studioには、処理を作成するツール「デザイナ」、サーバを管理する設定ツール「コントロールパネル」、運用設定ツール「マイトリガー」、ログを参照するツール「マイログ」があります。Studioから連携処理の開発と運用の設定を行なうことができます。
1.4.1 統合開発環境「Studio」
このStudioから、開発ツール「デザイナ」、運用設定ツール「コントロールパネル」、ファイル参照用の「エクスプローラ」など、DataSpiderを利用するための各種ツールを呼び出すことができます。
1.4.2 開発設計ツール「デザイナ」と「Mapper」
DataSpiderの連携処理フローを作成するツールを「デザイナ」と呼び、入力したデータに対して文字加工やコード変換を定義するツールを「Mapper」と呼びます(図1.7)。
図1.7:デザイナで処理フローを作成し、Mapperで処理をデータにマッピングする
デザイナとは?
DataSpiderでデータ連携処理のフローを作成する際には、デザイナを使用します。デザイナから、接続先の設定や連携処理の詳細な設定を行なうことができるようになっています。
デザイナでは、アイコンから別のアイコンにマウスをドラッグ&ドロップすることで、図1.8のように、処理の流れをフローとして定義していくことができます。アイコンの動作設定については、各アイコンのプロパティを設定することで詳細な制御を行なうことができるようになっています。
また、デザイナでは作成したスクリプトを実行し、デバッグやパフォーマンス計測を行なうことも可能です。
図1.8:処理の流れをフローとして定義する
デザイナでは、データソースからのデータの入出力を行なうアダプタや変換を行なうMapperの他、条件分岐や繰り返し処理、例外処理などのプログラミングで必要とされる各種機能を持つ、数多くのアイコンが提供されています。
Mapperとは?
DataSpiderでデータ連携処理を作成する際にMapperを使います。Mapperでは、入力されたデータに対してさまざまな変換や加工の設定を行なうことができます。
● Mapperの主な機能
- 演算/計算
- 文字の加工
- 条件抽出
- ソート
- コード変換
- マージ
Mapperの画面左右に表示された項目を線でつないで入出力のマッピングを指定します。また、マッピングの間に関数アイコンを挟むと関数の機能に従ってさまざまな演算や加工を行なうことができます。関数は約120個あり、組み合わせて使うこともできます。
ロジックアイコン
Mapperでは、120種類を超える変換や加工を行なうための関数を用意しています(図1.9)。
図1.9:主なアイコン
1.4.3 運用管理ツール「コントロールパネル」
DataSpiderサーバの設定や実行状況をモニタする機能が用意されています。
コントロールパネルの機能
コントロールパネルでは、以下の機能が提供されています。
● DataSpiderログ設定
DataSpiderサーバ上で処理が実行されると、実行ログが出力されます。DataSpiderログ設定で、出力されるログの保存期間や最大サイズ、圧縮のタイミングなどを設定することができます。
● アプリケーションログ出力先設定
ログの出力やログレベルを設定します。ログの書式レイアウトは、パターン文字列を使って指定することができます。
● DataSpiderサーバの設定
DataSpiderサーバの再起動やシャットダウン、DataSpiderライセンス情報の参照など、システムの全般の設定や参照を行なうことができます。DataSpiderサーバに格納された開発環境をファイル圧縮し、エクスポート/インポートする機能も実装されています。
● タスクマネージャ
DataSpiderサーバのシステムリソースの参照や、実行中のタスクのモニタ、タスクの停止などを行なうことができます。
● バージョン情報
DataSpider本体やモジュールのバージョンの参照を行なうことができます。
● マウント設定
DataSpiderファイルシステムとローカルファイルシステムの関連づけの設定を行なうことができます。
● 環境変数管理
DataSpiderサーバの環境変数の参照や変更を行なうことができます。
● ユーザアカウント
複数の開発者が並行して処理を開発する場合に、各ユーザーごとのログイン情報を作成してユーザー管理やアクセス権限の設定を行なうための機能です。
● 休日設定
DataSpiderの処理をDataSpiderのスケジュールトリガーで運用する際に任意の日付を休日(平日)に設定して利用することができます。
● グローバルリソースの設定
DataSpiderサーバが外部のアプリケーションやデータベースと接続するために必要な設定を行なうことができます。ここで定義したものは、グローバルリソースとしてすべての処理に有効です。
● リポジトリDB管理
リポジトリDBの設定を行なうための機能です。リポジトリDBは、ユーザー管理情報やDataSpiderのメタ情報および連携対象のデータを保持するエリアとして利用します。
NOTE
リポジトリDBを使うかどうかは、DataSpiderのインストール時に選択することができます。詳細は、P.20の1.4.7を参照してください。
1.4.4 ファイル操作ツール「エクスプローラ」
DataSpiderは、OSのファイルシステムとは別の独自のファイルシステムを参照するための機能「DataSpiderファイルシステム」を持っています。これはDataSpiderからOSのファイルシステムを論理的な名称で参照するためのビューにあたる機能です。DataSpiderの設定をOSの物理ファイルシステムの名称に依存させないことで、ファイルの物理的な配置先が変更になった場合でも処理をそのまま利用することができます。DataSpiderのエクスプローラからは、このDataSpiderファイルシステムが参照されます。
1.4.5 運用設定ツール「マイトリガー」
システムを本番運用する際には、DataSpiderで作成した処理をデザイナから起動するのではなく、トリガー機能を利用して処理の起動を自動化したほうが便利です。トリガー(図1.10)により、さまざまなタイミングで処理を自動起動することができます。
図1.10:トリガーによる処理の起動
トリガー機能の種類
DataSpiderでは、以下の6種類のトリガーを指定することができます。
①スケジュールトリガー
日/週/月/年/インターバルのタイミングで、指定した日時にスクリプトを実行させるトリガー機能です。
②ファイルトリガー
監視対象ファイルの新規作成/更新/削除イベント発生時にスクリプトを実行させるトリガー機能です。
③HTTPトリガー
指定したURLに対しHTTPクライアントからリクエストを送ることで、スクリプトを実行させるトリガー機能です。
④Webサービストリガー
Webサービスクライアントから指定したメソッドを呼び出すことで、スクリプトを実行させるトリガー機能です。
⑤SAPトリガー
SAPシステムのアウトバウンド要求により、スクリプトを実行させるトリガー機能です。
⑥アプリケーショントリガー
外部にあるアプリケーションやツールからスクリプトを実行させるトリガー機能です。
「マイトリガー」の機能
マイトリガーは、トリガーの作成や変更、一時的なログ出力レベルの編集、実行結果ステータスの確認などを行なう、トリガーの管理機能です。
1.4.6 サーバログ参照ツール「マイログ」
マイログでは、DataSpiderサーバ上で実行されたログの参照やエラー発生スクリプトの内容を確認することができます。
DataSpiderのログ出力機能は、表1.1のログレベルを設定することができます。エラーを解消するためには、詳細ログを出力する設定にしておくと便利です。
表1.1:ログの出力レベル
1.4.7 開発環境管理データベース「リポジトリDB」
DataSpiderでは、DataSpiderのユーザー情報や連携処理、データを保管するリポジトリ領域をRDBに設定することができます。このリポジトリ領域が設定されたRDBを「リポジトリDB」と呼びます。
DataSpiderでは、以下のRDBがリポジトリ用DBとしてサポートされています。
- Oracle
- SQL Server
- PostgreSQL
- DB2 UDB
リポジトリDBを利用するかどうかは、DataSpiderインストール時に選択することができます。
● リポジトリを利用する場合
- DataSpiderのログインユーザーIDの作成/アクセス権限の管理
- DataSpiderのメタ情報をリポジトリ内に保持
- 連携データをリポジトリ内に保存可能
● リポジトリを利用しない場合
- 1種類のユーザーIDのみを利用可能
- メタ情報や連携ファイルはOSのファイルシステムに保持
開発者の数が多くログイン情報やアクセス権限を管理したい場合やデータをリポジトリ内に格納したい場合は、リポジトリDBを設定することをお奨めします。開発者が少ない場合やOSのファイルシステムにデータを保持したい場合は、リポジトリなしの設定をお奨めします。
なお、Chapter2で解説する体験版のインストール手順では、「リポジトリなし」の設定を選択しています(P.33参照)。
1.4.8 仕様書の出力
DataSpiderでは、作成した処理のフローや設定情報をもとに仕様書を自動生成することができます。生成されるHTML形式の仕様書にはプロジェクトとスクリプトの設定情報が、フロー画面やマッピング画面のイメージとともにフォーマッティングされて出力されます。



















