ESBの有用性

☆ ESB概要
現在ほとんどのベンダーが(ESBと呼んでいるかどうかは
別として)「ESBにあたるもの」を、その提供するSOA実現の
ためのミドルウェア中に、中核のITインフラとして実装しており
ます。
もちろんその基本的な機能は共通ですが、これがESBだ
というような確定した技術や製品があるわけではなく、各ベン
ダーが提供する‘ESB’の定義や実現技術はそれぞれの特色
が
あるものとなり、各社その部分での独自性を逆に特色として
ウリにしています。
まずその‘基本的な機能’を、ざっとまとめて見ましょう。
ESB(Enterprise Service Bus)というように、中心になるのは
ソフトウェアで実現された高機能なバスです。そのバスを通して
ソフトウェアコンポーネント(SOAでは‘サービス’ですね)間で
の
メッセージ交換を行なうことにより、その連携を図る、これが
ESBの基本の機能です。
サービス
サービス
サービス
ESB
このサービス間でのメッセージのやり取りが、バスを通じて
行なわれ目的のシステム統合・連携が実現されて行くわけです。
メッセージ交換以外の機能を見て見ましょう。 上で‘高機能な
バス’と書きましたように、ESBには更に
・交換するメッセージの自動フォーマット変換機能
・インテリジエント・ルーティング機能
・多様な標準プロトコルに対応
・同期/非同期通信
等の多数の機能があります。
また、このバス機能を実現するために、各ベンダーは自社の
ミドルウェア構築で培ってきたメーッセージング技術を活用して
おり、十分な実績のあるセキュリテイや信頼性技術が組み込まれ
ています。
これらの機能が実際にSOAを実現して行く上で、どのように
利用されて行くかは、今後詳しく見ていくこととして、今回は
ESBがSOAの実現にどのように有効かをまとめます。
☆ ESBの有用性
ESBの有用性について、二つの視点でまとめます。
(1)EAIのアプリケーション統合のメリットがそのまま継承
されます。
実はESBはSOAのために開発された技術ではなく、
EAI(Enterprise Application Integration)のための最新の
インフラとして開発されてきた技術なのです。
EAIの技術としては従来の Hub&Spoke 型の技術があり
ましたが、そのいくつかの問題点を
・ ベンダー独自技術ではなく標準技術を利用することにより
導入・変更のための期間とコストを大幅に削減する
・ Hub&Spoke の集中管理ではなく Bus による分散管理へ
という方針により改善したものがESBなのです。
こうして開発されたESBが、ちょうど盛り上がってきたSOAの
インフラとして最適なものとして活用されているわけです。
具体的には、
・ 1対N、N対Nのサービス間連携の複雑さを、ESBを
仲介役として管理すること
・ EAIのアダプタによる異種アプリの統合技術から、
レガシーシステムのサービス化や、 WebService
以外の、JMX や JCA といった標準技術を利用した
サービスの利用が可能となる
等のメリットがあります。
(2)開発者が、ロジックの開発に専念できる。
上にも書きましたように、ESBにはデータ変換や、ルーティ
ング、さらにはセキュリティ、信頼性を保証する機能があります。
もし、これらの機能を全て自分で作りこまなければならないと
したら大変な工数が必要となります。
ESBにこれらの周辺処理を任せることにより、開発者は
本来のシステムのロジックの部分の開発に専念できるように
なります。
☆ おわりに
ESBの概要とSOAにとっての有用性をまとめて
見ました。
今後、このESBによりSOAを実現して行く上での、
個別の技術(WebService,JBI,JMS,BPEL,etc)に
ついて、このメルマガ中や、ASIMA ホームページにて、
順次解説を行なって行く予定です。
2006.12.28 (株)SRA 文責:石原