ESBの成り立ち
ESBと共通バスの考え方の違い
SOA(Service Oriented Architecture)は、1996年にガートナ社が発表したレポートの中ではじめて使われた言葉といわれていますが、システム連携のためにバスを使うという考え方はもっと古くから提唱されていました。CORBA(Common Object Request Broker Architecture)は1991年から登場していますが、CORBAが実用化される以前から、分散オブジェクトでバスを作る試みがありました。
このような共通バスを作って異機種間を連携する試みの目的は、異なる機種やOSの間を連携させ、FAXや電話で通知していた業務を自動化することでした。
例えば、テレコムサービスの契約からネットワークサービスの開始の手続きに関するものがあります。この例では、各支店にシステムが分散しているため、システムが増えるごとに共通バスに接続して増設する方式を採用しました(図1)。
異機種環境における接続性の確保という目的においては、ESB(Enterprise Service Bus)も従来の共通バスの考え方にも違いはありません。一方、CORBAは、確かに、多く利用されてきましたが、共通バスという首尾一貫した考え方で基盤を構築するということが、一般に広く受け入れられて発展してきたとは言えません。今日、ESBが注目を浴びていることを考えると筆者が従来の共通バスの構築を提案してきたことが思い起こされます。
ただし、EAI(Enterprise Application Integration)が接続性(Connectivity)のための省力化を目的としてきたのに対して、ESBはサービスを公開して再利用できる基盤を提供するものであり、この点は、従来の共通バスの考え方とは異なります。ESBについているSをとってEB(エンタープライズ・バス)だけを考えると、従来のシステム連携のためのミドルウェアやEAIツールと変わりはないことになります。
ITインフラとは
ここで少し話を変えて、ITインフラとは何かを考えてみましょう。例えば、サーバやストレージなどのハードウェアとネットワーク・スイッチが配備されたイーサネットの資源のことでしょうか。オペレーティング・システムやミドルウェアまでを含むことができますでしょうか。
場合によっては、J2EEプラットフォームやフレームワークをITインフラとする企業もあるかもしれません。しかし、Javaを開発言語として利用しているプロジェクトは12.7%(注1)にしか過ぎません。
著作監修:独立行政法人 情報処理推進機構(IPA)/ソフトウェア・エンジニアリング・センター(SEC)
「世界がもし100人の村だったら(注2)」の中に、次のようなくだりがあります。
——75人は食べ物の蓄えがあり、雨露をしのぐところがあります。でも、あと25人はそうではありません。17人は、きれいで安全な水を飲めません。
池田香代子、C.ダグラス.ラミス/マガジンハウス(2001年)
;私たちは豊かな社会のインフラ上で不自由なく暮らしています。個性を持ち、豊かな暮らしがおくれるのも社会のインフラが整備されているからです。
2005年11月に亡くなられたP.F.ドラッカーによれば、1770年代の半ばに誕生した蒸気機関が第一次産業革命の引き金を引き、1829年の鉄道の発明によって、世の中の経済活動を変える真のイノベーションが起こりました。
それから約170年の歳月が経過しています。一方、ITは1940年代にENIAC(注3)が誕生し、1990年代にインターネットでイノベーションが起きました。しかしそれもまだ10年前のことです。
つまり、ITインフラは、まだ完成していないのです。例えば水道のインフラが整備されていなければ、安全な水を飲むためには自分で井戸を掘らなければならなりません。水を得るためにプロジェクトごとに井戸掘りを繰り返してきたのです。
ESBは、ITインフラを整備するためのものなのです。