2008年2月13日水曜日

SOAとは

寒い日が続きますね。
お風邪を引かないように気をつけてください。

本日はSOAについて

SOA(Service Oriented Architecture:サービス指向アーキテクチャ)とは、アプリケーションあるいはその機能の一部を共通の“サービス”としてコンポーネント化(部品化)し、それらサービスを必要に応じて組み合わせることで、新たなシステムを構築しようという設計手法である。

SOAという言葉が広く認識されるようになったのは2004年。
しかし、SOAの概念自体は,決して新しいものではなく,それ以前から存在していた。
SOAの考え方は、分散オブジェクト技術の流れをくむもので、2004年以前から
マイクロソフトのDCOM(Distributed Component Object Model)や
標準化団体であるOMG(Object Management Group)が策定したCORBA(Common Object Request Broker Architecture)など、
現在のSOAのコンセプトと同等のことを実現しようという試みがなされてきた。

しかし、これらの技術は残念ながら普及したとは言いがたい。

例えば、
DCOMはWindows同士でしか通信ができず、汎用性に欠けた。
一方、CORBAはプラットフォームに制約はないものの、仕様が複雑だったので、実装が難しく、結果的にCORBAに準拠したミドルウエアは一部のベンダーでしか開発されなかった。
また、異なるCORBA実装間の相互運用性も不十分であった。

これらに対して、現在、SOAを実現する技術として最も有望視されているWebサービスはXMLやHTTPというシンプルで一般的な仕様をベースとしている。そのため、実装が容易で、ベンダー各社が支持を示したことによって、相互接続性の問題もほぼ解決している点で違いがある。