システム全体を「サービス」の集合体ととらえるサービス指向アーキテクチャ(SOA)にのっとってシステムを実現する際に、サービス同士の連携に必要な機能を提供するミドルウエアの一般名称。Enterprise Service Busの略。昨年から今年にかけて、日本IBMや日本オラクルなどのベンダーが、ESBを実現するミドルウエア製品を相次ぎ投入した。
SOAにおけるサービスは、一つあるいは複数のプログラムを業務の単位などでまとめておき、実装の形態を問わず共通のやり方(インタフェース)で利用できるようにしたもの。多くの場合、Webの標準仕様「Webサービス」に準拠するよう既存システムをラッピングする。サービス同士はESBを介してメッセージを交換し、基本的に非同期で連携する。
ESBを使うと、複数のサービスを容易に連携できる。ESBにサービスを接続すると、ESBにつながるすべてのサービスと連携できるようになるからだ。その際に、やり取りするデータの型や通信プロトコルをサービス側で意識する必要はない。
ESB製品が持つ基本的な機能は、(1)メッセージ・キューイング、(2)メッセージ・ルーティング、(3)データ変換、(4)プロトコル変換、の四つ。このほか、サービスの動作状況を監視するモニタリング、複数サービスの処理結果をまとめて一つの処理を実施するトランザクション処理、メッセージを暗号化するセキュリティなどの機能を提供する場合もある。
メッセージ・キューイングは、サービスが送信したメッセージを一時的に保存しておき、受信側のサービスが必要に応じてメッセージを取得できるようにする機能。メッセージ・ルーティングは、サービスの所在やインタフェース情報を格納しておき、サービス同士がどのような経路を使ってメッセージをやり取りするかを制御する機能である。
データ変換は、メッセージごとにデータの仕様が異なる場合に整合性をとるもの。主にXMLの文書変換仕様「XSLT」を使用する。例えば、日付データの表記が「2005年4月4日」や「2005/04/04」などと異なる場合に使う。プロトコル変換は、サービス同士がプロトコルの違いを意識せずに通信可能にする機能。プロトコルには、インターネット標準の「HTTP」、Webサービス標準の「SOAP」、サーバー向けJava仕様のJ2EEに含まれる「JMS」などがある。
日本IBMは昨年12月、日本オラクルは今年2月にそれぞれ、Webアプリケーション・サーバーの新版にESB機能を追加した。日本BEAシステムズも今秋にESB製品(開発コード名:QuickSilver)を出荷する。
このほか、日本アイオナ・テクノロジーズが昨年7月からESB製品「Artix」を出荷している。分散オブジェクト技術のCORBAに準拠したミドルウエア「Orbix」をWebサービス向けに拡張したものだ。また、ソニック ソフトウェアは「Sonic ESB」の新版を今年3月に出荷した。
本記事は日経コンピュータ2005年4月4日号に掲載したものです。
同誌ホームページには,主要記事の概要や最新号およびバックナンバーの目次などを掲載しておりますので,どうぞご利用ください。
・日経コンピュータ・ホームページ
・定期購読お申し込みや当該号のご購入