論文
DBSJ Letters Vol.2， No.3――――――――――――――――――――――――――――――――――――

ビジネスプロセス管理を用いた異種分散データ収集システムの開発
DevelopmentofCompound
DataIntegration System with Business ProcessManagement福井 隆♦ 近藤 誠一♦ 相馬 仁志♦
和田 雄次♠ 松田 昇平♣ 松岡 恭正♣
Takashi FUKUI Seiichi KONDO
Hitoshi SOHMA Yuji WADA
Shohei MATSUDA Yasumasa MATSUOKA

The demands for the technology that enable to refer thedata distributed in wide area are increasing. This
technology is applicable to enterprise-level businessdecision， disaster management which requires data fromseveral independent organization related to weather,earthquake, traffic or other accidents. In the past， we
had to make applications to every characteristic of data，
which costs much. To lower the costs， application of Web
Service is considered as one of the major solution. By
unifying the interfaces of data suppliers in web service
form. However， native application of web service has
several issues to consider; Web Service uses many kinds ofdata such as multimedia data， documents， RDB data，
which differ in form and size.
In this paper， we show the data collecting system withseveral sets of software components for data collection.
♦

正会員 三菱電機株式会社情報技術総合研究所{tfukui，seiichi， sohma }@isl.melco.co.jp♣
非会員 同上 {mazda， yymatsu }@isl.melco.co.jp♠
正会員 東京電機大学情報環境学部教授
yujiwada@sie.dendai.ac.jp

1

1. はじめに企業内の各部門で分散管理されているデータを統合して付加価値を生み出す，あるいは，気象，事故，交通状況等の異なる組織で管理されているデータを統合して災害などの緊急時に利用する等，データ統合の需要が高まっている．
これらの需要に対し，データの形状や，サーバの事情などに柔軟に対応できるデータ収集システムの開発を目指した．

2. 分散データ収集
2.1 広域分散データ収集
図１に，広域分散データ収集システムの一例を示す．このシステムでは，現在の気象情報，現在の災害状況，静的な施設情報等を，それぞれ広域に分散されたシステムからリアルタイムで一箇所に収集して閲覧可能とする．

2.2 広域分散データ収集の現状と課題
通常収集するデータは既存のシステム上に各々の形式で保存されている．そして，その独立して構築されたシステムに対応するためには，データを，統一された規格に合わせた形で出力するのが望ましい.
図2に「連合（フェデレーテド）ソリューション」[1,2]を示す．この連合ソリューションは，IBM社のデータベースソフトDB2に付属する機能であり，ネットワーク越しのデータベース（DB2以外のデータベースも含む）から，同一システム内にあるかのようにデータを取得する仕組みである．図2に示すように，ネットワークを介して異種システムからデー
台風の通過経路（画像）
雲の動きの動画（動画）

ネットワーク

企業内の各部門で分散管理されているデータを用いた経営判断，気象･地震･事故等の管轄機関が異なるデータをもとにした意思決定など，リアルタイムで分散データを参照するニーズが高まっている．従来，このようなデータの収集を行うためには，それぞれのデータの特性に合わせて，アプリケーションを作成する方法が取られていたが，開発コストが課題となる．その解決策として，データ提供側のインタフェー
スを現在標準となりつつある Web サービスに統一し，送受信を行う方法がある．しかし，ここで扱うデータは，マルチメディアデータ，文書，RDB 格納データ等，データの形式，容量が異なるという特徴を持ち，単一のインタフェースで送信するには，転送効率に課題が残る．
本論文では，データの特性に合わせてデータ収集のための部品を複数種類用意し，BPM(ビジネスプロセス管理)を用いて部品の状態遷移を定義して，実行するシステムについて述べる．この結果，状態遷移図の定義のみでプログラムレスで，状態を持った送受信のプロセスが記述可能となった．

And the system is defined with the state transition of thesoftware components using BPM (business processmanagement). In result， the system enables to configure
the stateful process by defining the state transition，
without writing any programming code.

データ収集システム

気象情報システム

被害者数
被害者数
等（数値）
等（数値）
災害管理
システム
地図・施設
等のデータ
（画像）

施設情報管理システム

図 1 分散データ収集システム
Fig1. Distributed Data Integration System
顧客分析ビュー

会計ビュー

投資分析ビュー

XQuery, SQL API
DB2

顧客顧客会計投資

DB2

DB2フェデレーション(Federation)

顧客
会計

投資

Informix

顧客会計

会計

投資

Oracle

投資

Webサービス
クライアントWebサービス
サーバ

DB2

図 2 フェデレーテドソリューション
Fig2. Federated Solution

日本データベース学会 Letters Vol.2， No.3

論文
DBSJ Letters Vol.2， No.3――――――――――――――――――――――――――――――――――――<RESULT><CUSTOMER><LASTNAME>Wang</LASTNAME><FIRSTNAME>Ping</FIRSTNAME><HOME_PHONE>408-566-2478</HOME_PHONE><EMAIL>pwang@site.com</EMAIL></CUSTOMER><CUSTOMER><LASTNAME>Bernardo</LASTNAME><FIRSTNAME>Steve</FIRSTNAME><HOME_PHONE>408-555-2478</HOME_PHONE><EMAIL>sbernardo@sd.us.com</EMAIL></CUSTOMER></RESULT>

図 3 Web サービスメッセージ例
Fig3. Example message of web service

メッセージ<?xml version="1.0"?><soapenv:Envelope><soapenv:Body><data>

データ</data></soapenv:Body></soapenv:Envelope>2.3 解決策

データ収集において，BPM と，そのフレームワークを用いた．
BPM は，定義情報に沿って複数の業務の流れ（ビジネスプロセス）を管理し，アダプタ（アプリケーション接続用アダプタやネットワーク通信用など）間で，メッセージを中継/制御して，処理の実行を行うミドルウェアであり，現在三菱電機で開発中の J2EE 対応のミドルウェアを用いている．
今回用いたフレームワークは，BPM，アプリケーションアダプタ，通信アダプタの 3 つの大きなモジュールから成る．
アプリケーションアダプタは，アプリケーションと BPM の間に入り，アプリケーションから渡されたデータを BPM で扱える形式に変換したり，BPM から渡されたデータをアプリケーションで扱える形式に変換し，アプリケーションに渡したりする．また，通信アダプタも同様に，ネットワーク外

2

データ
添付方式

BPM

3.1 BPM------=_Part_4_262<?xml version="1.0"?><soapenv:Envelope><soapenv:Body></soapenv:Body></soapenv:Envelope>------=_Part_4_262

通信アダプタ2．3 解決策で述べた実装を以下に示す．

通信アダプタ

3. BPM を用いたデータ収集方式

BPM

上記の問題1．を解決するため，GUIを用いたプログラムレスの手順で処理を定義することのできる，ビジネスプロセス管理（Business Process Management, BPM）[3]を用いて，問題発生時にも最小限の部品の追加と，単純な処理の定義の追加で対処できるシステムを設計した．また，上記の問題2.3．を解決するため，以下の3つの転送方式を設計し，実装した．
・ Webサービスと同様にXML内に文字データとして組み込んで送信する組み込み方式
・ 同一メッセージ内にXML文書と分離させて送信する添付方式
・ メタデータ，データ送信方式等を示すXMLをあらかじめ送信し，引き続いてデータを別のプロトコルで送受信する別送方式

組み込み方式メッセージ

ネッ トワ ーク

タを収集する場合は，データ提供側のWebサービスを用いる．
図3に，このフェデレーテドソリューションを用いた質問の結果を示す．このように，RDBを検索した結果は，XML内部に埋め込まれる．また，取得したいデータがバイナリデータである場合は，XML内に組み込み可能なテキスト形式に変換した上でXML内に組み込まれる[4][5]．この方式は，技術基盤が確立されており，電子商取引などで実用化されている．
しかしながら，Webサービスで全てのデータを送受信するためには，以下の問題がある．
1.データ転送には，各種の選択肢が有り，それらを変更するたびにWebサービスサーバ，クライアントを作り変えていてはコストがかかる．
2.XML内に含むことのできるデータはテキストデータに限られ，バイナリデータは，テキストデータに変換しなければならない．このときデータのサイズはもとのデータより大きくなる．そのため，エンコード，デコードの時間と，データの増加分だけ転送効率が低下する．
3．単一のプロトコルのみで送信するため,送信効率の改善は難しく，加えて動画や音声のストリーミングでは，現状，Webサービスの適用外となる．

メッセージ<?xml version="1.0"?><soapenv:Envelope><soapenv:Body></soapenv:Body></soapenv:Envelope>

別送に必要なデータ

データ
データ提供側システム

別送方式

データ要求側システム

図 4 送信方式模式図
Fig4. Pattern diagram of transfer methods

からのデータを受け取り，BPM で扱える形式に変換したり，その逆を行う．そのため，システムの変化により，アプリケーションから渡されるデータの形式や，使用したい通信プロトコルが変化しても，BPM フレームワークでは，該当するアダプタだけを入れ替え，定義情報を設定することによって対応することができる．

3.2 転送方式
データを効率よく送信する方式として，Web サービスでXML 内部に組み込んだときの課題を考慮し，3 つの送信方式を用意した．図 4 はそれぞれの方式におけるデータと XMLの関係を図示したものである．各転送方式について以下に示す．
組み込み方式
前述の Web サービスと同様に，データを XML の内部に組み込む．メタデータ，XML データ，単純なパラメータのように，送信すべきデータが XML 形式の場合，あるいは，小規模の場合は，手順の容易さから利点がある．

日本データベース学会 Letters Vol.2， No.3

論文
DBSJ Letters Vol.2， No.3――――――――――――――――――――――――――――――――――――
要求
データ
定義情報
アプリケー
ション

アプリケー

BPM

ション
アダプタ

定義情報
通信アダプタ

通信アダプタ組み込み方式用通信アダプタ

組み込み方式用通信アダプタ

添付方式用通信アダプタ

ネットワーク

別送方式用通信アダプタ

ベースクラス：アダプタとア プ リ ケ ー シ ョ ンの
連 絡 の た め あ ら かじめ 提 供 す る デ ー タの送 受 信 の た め の クラス

BPM

アプリケー
ション
アダプタ

添付方式用通信アダプタ

アプリケー
ション

別送方式用通信アダプタ

BPM フレームワーク:データ収集システムによる提供部:データ要求側システム:データ提供側システム

図 5 BPM フレームワーク
Fig5. BPM Framework
表 1.ファイルサイズの比較 網掛け部はSOAP で送信可能なデータの形状
Tab.1 Comparison of data size
txt ファイル

bmp ファイル

jpg ファイル

加工なし

105.449(KB)

105.526(KB)

105.756(KB)

base64
エンコー
ディング

140.600(KB)

140.704(KB)

141.008(KB)

lzh 圧縮5.314(KB)

8.845(KB)

105.763(KB)

添付方式XML を送信時に必要な情報を含むヘッダとし，データをXML に添付して送信する．データは XML と区別される
ため，組み込み方式と異なり，受信処理系におけるメッセージ解析時にデータ部分を区別することが可能なためメッセージ全体の解析を必要としない．しかし，XML の一部として送られるため，バイナリデータの場合はテキストデータに変換する必要がある．
別送方式
あらかじめデータ送受信に必要な情報を XML で送信し，その後別のプロトコル（ftp，ストリーミング配信，等）を用いてデータの転送を行う．データ送信時に，XML の送信と異なるプロトコルを用いたバイナリデータに適した送受信を用いることによってデータ転送の効率の向上を目指すことができる．また，プロトコルを拡張することにより，ストリーミング等への対応も可能となる．また，表1 の lzh 圧縮の行に示されるように，データの種類によっては圧縮などの作業を施すことによって通信するデータの量を大幅に減らすことができる．このような場合に，圧縮，解凍の機能を送受信部品に組み込むことも，可能である．このように，データの種類やサイズなどに対応し，異なるプロトコルで送る．
以上 3 つの転送方式の特徴を表 2.にまとめる．

3.3 実装2.分散データ収集で述べたように，現時点での Web サー
ビスを用いたデータ収集の課題に対し以下のようなシステムを作成した．
・データ提供側システムが変わったときに一部分の組み替え

3

表 2 各転送方式の特徴
Tab.2 Features of transfer methods
データの配置位置
ネットワー
ク上のデー
タ形式
手続きの複雑さ
メッセージ
解析時の必
要リソース
転送速度の制限
使用する
プロトコル

組み込み方式メッセージの内部
テキスト

添付方式
メッセージに添付
テキスト

別送方式
メッセージとは別
テ キスト･バイナ
リ

単純

やや複雑

複雑

大中

小

大中

小

メッセージ転送用プロトコ
ルのみ

メッセージ
転送用プロ
トコルのみ

メッセージ転送用プロトコル・別
送用プロトコルだけで済むよう，BPM フレームワークを使用
・様々なデータの転送に対応できるよう，３つのデータ転送方式を用意・状態を把握しながらデータの送受信を段階的に行うために，BPM を用いたシステムを作成本転送方式は，図 5 に示すように組み込み方式用通信アダプタ，添付方式用通信アダプタ，別送方式用通信アダプタという複数のアダプタをあらかじめ用意し，BPM 内の定義情報にしたがって BPM が指定した通信アダプタを選択することによって切り替える．図 5 に点線で示した矢印は，データの要求を組み込み方式でデータ要求側システムからデータ提供側システムに送信し，その結果として，要求に従ったデータをデータ提供側サーバが組込み方式によってデータ要求側サーバに転送する例を示す．個々の通信アダプタを図５に示すように独立した構成をとることにより，新たな転送方式の追加も，通信アダプタに対する最小限のプログラム開発で行うことが可能となる．また，図 6．にこのときの BPMにおける状態遷移図を示す．

4. 評価
以上のようにビジネスプロセス管理を用いたシステム構成を採用した．この結果，以下のことが可能となった．

日本データベース学会 Letters Vol.2， No.3

論文
DBSJ Letters Vol.2， No.3――――――――――――――――――――――――――――――――――――
5. まとめと今後の課題

要求送信
要求送信

Ack 受信

Ack 送信データ受信待ちネットワークアプリケーション

Ack 受信待ち

要求
受信

要求送信

データ送信待ち

データ送信

データ送信

アプリケーション

要求送信

データ受信
データ送信
データ送信

データ提供側システム

データ要求側システム：アクション：イベント：状態

図 6 プロセス定義用状態遷移図
Fig6. State transition diagram

アクション定義：
アプリケーションから要求を受けた時
ネットワークに要求を送信し、Ack 待ち状態に移行する

アクション定義：
ネットワークから要求送信を受けた時データ待ち状態に移行する

アクション定義：
ネットワークから要求を受けた時
アプリケーションに要求を渡し、データ送信待ち状態に移行する

アクション定義：
アプリケーションからデータを受けた時
データをネットワークに送り、END に移行する

アクション定義：
ネットワークからデータを受けた時
データをアプリケーションに送信し、END に移行する

データ要求側システム

データ提供側システム

図 7 プロセス定義用定義情報
Fig7. State transition definition

本論文では，異種分散データを効率よく収集する方法を示した．その実現方法として，BPM を用い，システム間の違いの影響を最小限に抑えながら，ネットワーク間の転送方式を複数用意することにより効率よく目的のデータを収集するシステムを設計した．本システムにより，状態遷移図の定義のみで，状態を持った送受信のプロセスが記述可能となった．また，定義された複数の状態遷移図から実行時にデータに適合したものを選択することにより，データの特質に合った効率のよいデータ収集が可能となった．
これまでに，異種分散データを効率よく収集するシステムの設計とその動作確認までを行ったが，このシステムの性能の評価はまだであり，今後このシステムを用いて，実際に組込みや添付，別送方式を用いてデータを取得したときの性能の評価を行う．

[文献][1] 菅原：データ統合からインフォメーション/インテグレー
ションへ， IBM Pro Vision No.36/Winter2003[2] Laura Hass and Eilen Lin: IBM Federated Database
Technology， Information Integration Development San
Hose， CA March 2002
[3] 桜田 孝， 川口 正高， 金山 茂敏， 鷲津 忍：ビジネスプロセス管理ソリューション， 三菱電機技報 Vol77No4，
2003 年 4 月号(2003).
[4] Meet the Experts: Jim Kleewein talks about theXperanto Technology Demo
JimKleevwen Distinguished Engineer ， Information
Integration Sanhose， CA. 2002
http://www7b.software.ibm.com/dmdd/library/techarticl
e/0203kleewein/0203kleewein.html[5] Xperanto Demo， http://xperanto.dfw.ibm.com/demo/

福井 隆

近藤 誠一
・新しく追加される転送方式に対しても柔軟に対応
図 7 は，今回用いた BPM の定義情報であり，Microsoft社の Visio と BPM のツールを用いて，アクション，イベント，状態等最小限のアイテムを定義するだけで定義することができる．このように，複数用意した転送方式を BPM の定義ファイルによって行うことで，将来，追加される転送方式に対しても，簡単な状態遷移図を作成することにより柔軟に対応することが可能となる．
・データの収集方式を意識しないアプリケーションの作成
3.3 節で，システムをアプリケーション層とデータ層を分離したため，アプリケーション層は通信などを考える必要がない．
・サイズの大きなバイナリデータの転送やストリーミングへの対応
Web サービスで一般的な組み込み方式に加え，異なるプロトコルを使用する別送方式を用いることによって，バイナリデータ転送の効率化や，通常の Web サービスでは行うことのできないストリーミングデータの転送も可能となる．

4

Takashi FUKUI

三菱電機株式会社 情報技術総合研究所勤務．異種分散シス
テム連携技術の研究・開発に従事．日本データベース学会正会員．

Seiichi KONDO

三菱電機株式会社 情報技術総合研究所勤務．システム間連携，統合データベースに関する研究・開発に従事．情報処理学会正会員．日本データベース学会正会員．

相馬 仁志

Hitoshi SOHMA

三菱電機株式会社 情報技術総合研究所勤務．異種分散シス
テム連携技術の研究・開発に従事．情報処理学会正会員．日本データベース学会正会員．

和田 雄次

Yuji WADA

東京電機大学情報環境学部教授．データベース関連の研究に従事．日本データベース学会正会員．

松田 昇平

Shohei MATSUDA

三菱電機株式会社 情報技術総合研究所勤務．web システムにおけるトランザクション処理の研究・開発に従事．情報処
理学会正会員．

松岡 恭正

Yasumasa MATSUOKA

三菱電機株式会社 情報技術総合研究所勤務．高信頼 web シ
ステム技術の研究・開発に従事．

日本データベース学会 Letters Vol.2， No.3