(1)処理性能のボトルネック
機能別にコンポーネント化し,複数サーバーで分散処理
ESBでは,取り扱うメッセージの数が大きく変動する可能性がある。これは,ESBの接続対象となるシステムが,従来のEAIツールの接続対象システムよりも広範囲であることに起因する。ESBではほぼすべての社内システムに加え,取引先や顧客などのシステムも連携対象になり得る。接続するシステム数が増えると,システム間のメッセージ数は幾何級数的に増大する。ビジネスプロセスに合わせて,システム連携のさせ方を素早く組み替えられることも,メッセージ数の変動につながる。
EAIツールでは機能ごとにサーバーを分割
従来のEAIツールでは,処理性能を高めるのが簡単ではなかった。従来のEAIツールにおける主流の形態は,車輪になぞらえて「ハブ&スポーク」と呼ばれるものである(図3)。連携させる各システムは,スポークの部分に当たる。従来のEAIツールでは,リポジトリやデータ変換,ルーティングなど,つなぐための機能の大半を1台のサーバー(正確には単一のOS上)で集中処理する仕組みになっていた。
これに対しESBでは,処理が集中するという問題に対し,大きく二つのアプローチを取っている。
その一つは,リポジトリやデータ変換,ルーティングといった機能ごとにサーバーを分け,分散処理できるようにするというものだ(図4)。さらに,特にボトルネックとなるリポジトリへのアクセスについては,データ変換やルーティングを処理するサーバーに,リポジトリに格納している情報をキャッシュとして蓄積するといった仕組みを取り入れている。
もう一つのアプローチは,同じ機能を持つ複数台のサーバーを並べ,処理するメッセージを順番に割り振っていくというもの。ESB自体も負荷分散の機能を備えているが,処理性能を考えて負荷分散装置(ロード・バランサ)を利用できる。
![]() |
図3●従来のEAIツールにおける処理形態の問題点 |
![]() |
図4●ESBにおける分散型の処理形態 [画像のクリックで拡大表示] |