SOAはテクノロジーではなく思想。


最新の考え方ではなく、古くからある考え方。


実現手段としてWebサービスが成熟したというだけの話。



もう3年、4年前からSOAのお勉強をしてきたけど。


ようやく実際の開発でどう活用するかを検討中。



「再利用性を高める」なんて言葉をよく聞かされたけど。


実際のシステムの機能の中で再利用されるものなんて


限られている。


「再利用」を中心に考えると、それは粒度の小さい部品になり、


「ビジネスに価値をもたらす単位」というSOAの思想から大きく


外れてしまう。



「再利用」を中心に考えてはいけない。


「俊敏性(アジリティ)」と考えよう。


既存の資産の有効利用が俊敏性を高めることになるが、


それは同時並行で複数のビジネスのために同じ資産を


活用することだけを指すのではない。



既存の資産をほぼそのままに新しい機能を追加できるよう、


「疎結合」が守られているなんてこともそうだし。


データアクセスやビジネスロジックは変更せず、


画面の見た目や操作性のようなユーザビリティだけを


「作りかえられる」仕組みにすることもそう。



そんなことを考えていると、SOAの構成要素として


よく言われる「ESB」や「BPEL」の必要性が少し


わかってきた気がする。



原点はやはりビジネス。


なぜその技術が必要なのかを考えないと。