« メガネはウェアラブル機器になるか | メイン | メインフレームも捨てたものではない+OOPの適用性? »

2005年01月18日

2005年の重要トレンド(4)新しい考え方ではないSOA

日経コンピュータ誌のベンダートップへのインタビューでは、
今年の重要トレンドとしてSOA(サービス指向アーキテクチャ)
を挙げてる人も多かったです。

SOAを難しく考えすぎている人もいると思いますが、要は、
ソフトウェアを部品化して機能をできるだけ再利用する、
一から開発しないで既存のサービス(ソフトウェア部品)を
活用するという昔から言われている当たり前の考え方です。

オブジェクト指向プログラミング(OOP)と何が違うのかと思う人も多い
思いますが、ソフトウェアの部品化という基本パラダイムには大きな
違いはありません。ただし、OOPは継承関係による設計時の再利用
にフォーカスが当たっているのに対して、SOAは実行時による動的な
結合にフォーカスが当たっているという点が異なります。

また、OOPは、どうしても部品の粒度が細かくなりがちですが、SOA
はこの辺わりとルーズで、アプリケーション丸ごとひとつの部品と捕らえる
こともできます。

SOAの登場によって、OOPが不要になったというわけではありません。
OOPはひとつのプログラムの中での部品化パラダイムとして今後とも
重要です。だいたい、GUIのプログラムは必然的にOOPになってしまいますし。
ただ、複数のアプリケーションをまたがった連携などのよりスコープの大きい
領域ではOOPはちょっとつらいです。あまりにも厳密性が高すぎて、
現実のビジネス環境での適用は難しいと言えます。SOAは、よい意味で
ルーズなところがあり、主流のビジネス環境にも適用しやすいと言えます。

「コンポジット・アプリケーション」を2005年のキーワードに挙げてる人もいますが、
「コンポジット・アプリケーション」はSOAの一形態(複数の既存アプリケーション
を組み合わせてひとつのアプリケーションとして機能させる)ということですから、
考え方としてはSOAと一緒にしてしまってよいかと思います。

ちょっと長くなってしまったので、SOA実現上の課題等についてはまた後日。

投稿者 kurikiyo : 2005年01月18日 00:02

コメント