--SOA普及の阻害要因として、組織自身の問題のほかに、コストという面ではどう思われますか。もはや、なかば当然のように「SOAはコストがかかる」と言われて久しいですが……。
私は、SOAを実装しないことこそがコスト高につながっていると思います。たとえば大企業のIT予算を分析してみるとすぐにわかることなのですが、ビジネスを前進させるような、有効なIT活用に予算が割り当てられているケースは、残念ながら大変少ない。だいたいが旧来のシステムの保守/メンテナンスに当てられています。これではITが企業にとって有益なビジネスファンクションとはなり得ません。SOA導入/実装のコストが高いというなら、まずそういった部分の見直しをしてみるべきでしょう。
--最近、米国などではSOA導入の成功事例が紹介されることが多くなりましたが、成功した企業の声として、"Think Big, Act Small"-- つまり、すべてのシステムを一気にSOAで実装しようとするのではなく、SOA化が可能な部分から始める、という声をよく聞きます。この考え方についてはどう思われるでしょうか。
大筋で正しい考え方だと思います。最終地点が明確なブループリントを描き、さまざまな制約から、一度にすべては無理だとしても、段階を踏んでSOAを実装していくというプロセスはとても合理的で、成功につながる可能性が高いのではないでしょうか。
--では逆に、SOA導入が失敗に終わった企業に共通する問題点として、どんなことが挙げられるでしょうか。
先にも言いましたが、やはり部族間対立が激しいような組織ではSOA導入はうまく行かない。SOAというのは本来、その相互運用性によって企業にベネフィットをもたらすシステムです。自分の、あるいは自分の部族(組織)の利益しか考えないような人がマネージャ/経営層に多くいるような企業では、そのメリットを生かし切ることができません。
もうひとつ、ITシステム担当者がtechnology nerd、つまり"技術オタク"である場合も注意が必要です。オタクは美を求めますから(笑)、ピュアでエレガントではないシステムを排除する傾向にあります。SOAは決してエレガントではありませんから、そういった技術を受け入れることは、彼らにとって"悪夢"といえるでしょう。しかしながら、ある1つのシステムしかあり得ない、と主張するよりも、いろいろなシステムをうまく共存させていくというSOAの考え方は、現実的で、資本主義の考え方に適しているものだと思います。資本主義はいつでもオルタナティブを生み出しますから。
--ビジネスサービスの粒度の設定についてはどう思われますか。つまり、プロセスとして切り出すところまではうまく行っても、実際にビジネスサービスとしてまとめるとき、その粒度の粗さが問題になる、という部分がよく指摘されますが。
何千とあるSOA導入失敗例を見てきてつくづく思うことは、SOA導入とは「ロケットの発射」に非常によく似ている、ということです。言うまでもなく、ロケットというのは非常に大きなシステムで、それを発射させるにもさまざまな仕組みが必要です。そして発射が失敗するとき、たいていは大きなシステムの中にある小さなコンポーネントどうしの依存関係に問題があります。SOAも同じです。サービスそのものの大きさ(粗さ)よりも、あるサービスは、別のどのサービスにどれだけ依存しているのか、それに対する認識があいまいだと失敗も生じやすくなります。