SOAのカギを握るESBの役割とは?「SOAでつくる変幻自在の情報システム」(1/2 ページ)

SOAで欠かせない存在がミドルウェアである。その中でも注目される要素にESB(Enterprise Service Bus)がある。SOAとWebサービスの違いを見ていく上でも重要なポイントになる。

» 2005年11月30日 09時35分 公開
[渡邉利和,ITmedia]

 SOAで企業の情報システムはどのように変化するのか。オンラインムック「SOAでつくる変幻自在の情報システム」で探る。

渡邉 利和

 SOA(サービス指向アーキテクチャー)を考える上で欠かせない存在になっているものとして、「ミドルウェア」がある。もともと、ミドルウェアとは「OSとアプリケーションの中間に位置するソフトウェア」という意味で、特定の機能を実現するソフトウェアを指しているわけでもないのだが、SOAに関連していわれるミドルウェアは、SOAを実現するためのインフラを構成するソフトウェアスタックを指している。

 何ら限定的な語を付加せずに、単にミドルウェアと称していることが多いので、正しく見分ける必要がある。少なくとも、SOAの文脈でミドルウェアという場合、RDBMSなどは含まず、主に、アプリケーションサーバとそこに追加される付加的機能のことを示しているケースが大半だ。

 SOAでいうミドルウェアの実装面での実態はアプリケーションサーバだが、その中でも注目される要素にESB(Enterprise Service Bus)がある。この存在は、SOAとWebサービスの違いを見ていく上でも重要なポイントだ。

 そもそもWebサービスは、コンポーネント間の通信を実現するためのインタフェース仕様であり、そこに準拠していれば相互に通信が可能となる。ESBは、SOAでのサービスコンポーネント間を相互接続するバスとなるわけだが、通信するだけなら、別途バスを用意する必要することなく、コンポーネント間で直接通信できるのである。

 ではなぜ、ESBという形で別途バスを用意するのか。これはつまり、コンポーネント間のインタフェースを定義することと、「サービスの相互接続」とは同一ではないということの反映である。

 Webサービスのための通信プロトコルとして用意されたSOAPは、実態としてはメッセージフォーマットの定義であり、メッセージを運ぶための下層プロトコルは特に限定されていない。しかしながら、Web環境でごく自然に利用することを想定し、一般にWebアクセスのためのプロトコルであるHTTPが利用されている。

 HTTPは比較的軽いプロトコルで汎用性も高く、メッセージを載せてやり取りするには都合が良いプロトコルだ。一般的なファイアウォールなどではHTTPを通過させる設定になっているのが一般的であり、ネットワーク環境の設定変更などを必要としないという実務面でのメリットもある。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ