SYSTEM DEVELOPMENT

STUDY GROUP

ESB

ESBとは、Enterprise Service Busの略で、システムの全体を無数の「サービス」の集合体ととらえるSOA(サービス指向アーキテクチャ)に基づいたシステムを構築する際に、サービス同士のデータなどの連携に必要な機能を提供する仕組みやミドルウエア製品などのこととなります。
SOAにおけるサービスとは、一つ以上のプログラムを業務の単位などに細分化しまとめ、実装の形態を問わずに共通の方法(インタフェース)で利用できるようにする。既存システムの場合は、Webの標準仕様である「Webサービス」に準拠するさせラッピングすることでサービス化を実現する。ESBはこれらサービスの連携を取りまとめ、容易に連携する事が出来る様な仕組みが用意されている。それはやり取りするサービスごとに異なるデータの型や通信プロトコルを隠すことで、サービス側に意識させない様にするので実現可能となっています。サービス同士は基本的に疎結合とし、非同期で連携されることになります。
ESBを実現するミドルウエア製品が持つ基本的な機能は以下の4つにまとめられ、(1)メッセージキューイング、(2)メッセージルーティング、(3)データ変換、(4)プロトコル変換が存在する。サービスの動作状況を監視するモニタリング、複数サービスの処理結果をまとめて一つの処理を実施するトランザクション処理、メッセージを暗号化するセキュリティなどの機能を持つ製品もあるようです。
最終的にはきちんとした粒度での設計がなされていないと意味の無いものになってしまうが、ここには経営的な判断なども必要になるため取りまとめるのはかなりの難度を要求されることになります。急に政治的な意思が入った瞬間に一度作ったものを変更する工数まで考えられていないといけないとに気付くことになりますので注意が必要となります。

menu