SOAの優位性について、まとめてみました。備忘録でもあるため加筆もありかな。
何故SOAが有利なのか?
情報システム担当者の視点から
1. システム保守性の向上
旧来のプログラム開発手法と比較してプログラムの独立性が高いため保守性が向上する。今までもプログラムを共通利用および将来再利用する目的で重複する部分を切り出し、1つのプログラムとする「関数化、サブルーチン化」は行われていたが、その独立性が低いため保守性が悪く、結局は似たようなプログラムを作ることも多かった。
SOAを導入すると、ユーザに提供するサービスを1単位として保守対象とすることが可能となる。このサービスとプログラムの結びつきはミドルウェアと呼ばれる管理ソフトウェアによって行われるため、ある業務に変更が発生した場合、どのプログラムを改修すべきか容易に把握できる。また、管理ソフトウェアに従いプログラムが動作するため、従来のようにドキュメントとプログラムが異なる心配がない。その結果、従来発生しがちであったプログラム改修による悪影響、例えば「こんなところで使っているとは思わなかった。変更したら動かなくなった。」という無駄を減らすことも出来る。
2. 運用・保守コストの低減
上記 1. で記述した「システム保守性の向上」により、保守コストの低減が図れる。また、SOA導入にあたり必然的に業務フローが可視化されるため、内部監査(もしあるなら外部監査)におけるコスト低減、日常発生する問い合わせに回答するためのコストも低減することが出来る。
3. 新規開発コストの低減
一旦SOAを導入すると「システム保守性の向上」と同様の事由により、新規開発コストの低減が図れる。
経営層の視点から
1. ビジネスプロセス保守性の向上
変化への対応が迅速かつ容易となる。ビジネスプロセスフローの変更は、詳細技術を知らなくても可能であるため、経営層およびユーザ部門が保守できるようになる。
2. 業務フローの可視化
SOA導入にあたり必然的に業務フローが可視化される。副次的効果であるが、現実に即したフローであるため効果は大きい。フローに従いプログラムが動作するため、従来のようにドキュメントとプログラムが異なる心配がない。このフローから、ボトルネックの発見、現状の問題点など経営に有益な情報を得ることが出来る。
3. 内部統制への応用
上記 2. で記述した「業務フローの可視化」により内部統制を図ることが可能。
コメント