PR

「3カ月でもまだ遅い。1カ月で新しいシステムを作ってほしい」。こうした短納期開発の要求が,近年ますます厳しくなっている。そんななかSOA(サービス指向アーキテクチャ)を支えるシステム連携基盤ESB(Enterprise Service Bus)が注目を浴びている。(中山 秀夫=日経SYSTEMS

 ESBを一言で表せば「SOAの実現に必要な,システム同士をつなぐ基盤」である。SOAでは,企業の各システムが備える機能ごとに,Webサービスなどの標準化したインタフェースを設け,ほかのシステムやエンドユーザーのWebブラウザおよびクライアント・ソフトから,単純な手続きによってネットワーク経由で呼び出せるようにする。これを,システムの機能の「サービス化」と呼ぶ。

 さらに,連携させるシステムのいずれかに,取り扱うデータ項目の追加やネットワーク上の場所などの変更が生じても,ほかのシステムを修正せずにそのまま連携できるようにする。このような,連携させるシステム同士が互いの変更の影響をほとんど受けない状態を「疎結合」という。

 疎結合されたシステムが持つ機能(これを「サービス」と呼ぶ)は,自在に組み替えて利用することが可能だ。そのため,既存システムに必要な機能がそろっていれば,新しい業務のやり方に合わせたシステムを,大幅に改修することなく素早く実現できる。

 ただしSOAは万能というわけではない。サービス化によってシステム同士をつなぎやすくする半面,通信や処理性能のオーバーヘッドが大きいため,高い性能が必要とされるシステム連携には向かない。SOAが向くのは,処理性能が多少犠牲になったり性能を高めるためのコストが生じたりしても,ビジネスプロセスの変更に合わせて簡単に素早くシステム間の連携を組み替えたい,という場合である。

つなぐために必要な三つの機能

 SOAの基盤となるESBとはどのようなものか。ESBの機能を挙げると,「ビジネスプロセスを設定してそれに合わせてシステムを連携させる」「システム間でやり取りするメッセージが確実に届いたかどうか監視する」「連携させたシステムの各機能がどれだけ利用されているかを管理する」---といった具合に様々なものがある(図1)。ただし最低限必要な機能として,次の三つが挙げられる。

      ・各システムの情報を管理するリポジトリ
      ・プロトコルやデータ形式の変換
      ・メッセージのルーティング
図1●ESBの定義には様々なものがある門
図1●ESBの定義には様々なものがある [画像のクリックで拡大表示]