SOA導入の留意点をまとめてみました。備忘録でもあるため、加筆もありかな。
情報システム担当者の視点から
1. 導入コスト対効果
SOAの導入にあたって発生するコストは決して安いものではないため、その費用対効果を吟味した上で、適用範囲を決定すべきである。
2. 開発プロセスの確立
SOAの考え方と開発プロセスは切り離せないものである。これは、ミドルウェアによって緩く結合される、つまり束縛されないソフトウェア構造の宿命であり、サービス切り出しにおける粒度の検討、プログラムのコンポーネント化における単位の決定など、旧来のウォーターフォール型開発では困難であることが多い。しかしながら未だ確立された手法はなく、むしろユーザ自身が自社の特性に合わせた手法(開発プロセス)を確立していくのが現実であり理想である。
3. ボトムアップ手法の適用
後述する経営層またはユーザ部門による「トップダウン手法の適用」と合わせ、情報システム担当者からボトムアップ手法を適用することを推奨する。これは既存システムのリプレイスにあたっては特に重要である。何故ならば、既に動いているプログラムがあるのだから、その構造を解析・可視化し、場合によってはSOAの1サービスとして利用することも出来るからである。また、サービスとして利用できないまでも、構造を解析・可視化できたならば、全くの新規プログラムを作成する場合と比較して、不具合の少ないプログラムを低コストで作成することが可能となる。
経営層の視点から
1. コスト負担と強い導入意思
現状の情報システムに大きな不満がないのであれば、SOA導入は前向きに検討されないかもしれない。しかし、そのような企業においても、将来の変化に耐えうる情報システムを望むのであればSOAは現在において最適な解決方法である。但し、導入にあたって発生するコストは決して安いものではないため、導入目的を明確にした上で、情報システム部門はもちろんのこと、ユーザ部門の合意を得て、適用範囲を決定すべきである。そしてSOA導入を軌道にのせて、その効果を得るためには、強い意志をもって、開発、推進、適用、運用、さらにそれらの見直しを進めることである。
2. 開発プロセスの確立における調整
開発プロセスの確立が重要であることは前述した通りであるが、SOAに適した開発プロセスにおいてはユーザ部門の参画がより重要であるため、その協力を得るために調整が必要である。本来、情報システムはユーザ部門のために存在するものであり、その意味では「協力者」ではなく「主担当」であるべきだが、レビューやテストは主業務でなく、その作業を負担と感じるユーザが存在するのも事実である。このため、上記 1. に記述した通り「合意」を得た上でスタートし、経営層は強い意志を表明、これを継続することが重要である。また、ウォーターフォール型開発と比較すると各工程後の変更も許される場合が多く、この点においても部門間の調整が重要である。
3. トップダウン手法の適用
限られたコストで最大の効果を得るためには、SOAを適用するビジネス領域を定める必要がある。このビジネス領域はトップダウンの最上位に位置し、ここからビジネスプロセス、ビジネスサービスへと分解してゆく。これがトップダウン手法である。情報システム担当者は、ややもするとプログラムばかりに気をとられ、非常に狭い範囲の部分最適になってしまいがちである。これを避けるために、経営層によるトップダウン手法は全体最適のために重要である。加えて、情報システム部門によるボトムアップ手法と合わせて適用、つまりトップ、ボトムの両面から始まり合流する手法が適用できればベターである。
コメント