* SOAシステム構築のための既存システムの再利用性評価 [#c87d16a1]
** レガシーシステムのSOA化 [#y081a534]
#ref(./sakaya-xead2.png,right,around,30%);
昨今のめまぐるしいビジネス環境の変化に伴って,企業の業務
システムを迅速かつ柔軟に適応させることが求められています.
しかし,長年運用・保守され続けている既存システム
(''レガシーシステム'')の多くは,他のシステムとの相互運用性や
データの共有などが考慮されていません.このようなシステムでは,
業務手順(ビジネスプロセス)が変更される度に,システムを
大幅に修正する必要があり,保守コストが膨大になってしまう
傾向があります.
この問題を解決する手段として,サービス指向アーキテクチャ(SOA)
が注目されています.SOA は,システムを「サービス」という機能単位の
集合として設計する手法です.各「サ
ービス」は,システムのプラットフォームや内部実装に非依存
で,共通のインターフェースを通じて疎結合され,高度なサー
ビスは既存サービスの組み合わせによって実現されます.
そのため,ビジネスプロセスが変化しても,サービス間が疎結合なため
変更が全体に波及しにくく,サービスの組み替えや追加によって,
変更に柔軟に対応することができるといわれています.
これらのことから,組織にとってSOAベースのシステムは非常に魅力的に
映ります.そうはいっても,現在も稼働中のレガシーシステムを全て捨てて,
新システムにリニューアルすることは,組織にとって容易なことではありません.
そこで,
>「''既存のレガシーシステムを何とかSOA化出来ないか''」
<ということに関心が集まっています.
** 再利用するべきか新規構築か? [#i88bc4da]
レガシーシステムをSOA 化する場合には,当然のことながら,
既存システムを最大限再利用し,できるだけ開発コストを節約
したいというニーズがあります.
しかしながら,レガシーシステムは長年の運用・保守の過程で
変更が繰り返され,保守性が大きく低下していることが多いのが実状です.
そのため,既存システムから,現行の業務(要素プロセス)と完全にマッチした
処理をうまくサービスとして切り出すことは非常に難しい問題です.
こうした状況の下,経営者はシステムのSOA化に向けて既存システムを
再利用すべきか,新しくシステムを構築しなおすべきか,意思決定する
必要があります.この重大な意思決定に対して,現状では特に有効な
手立てはありません.つまり,「''既存システムのSOA 化しやすさ''」を評価する
尺度が存在しないのです.
** レガシーシステムのSOA再利用性評価 [#w03e46fd]
#ref(./legacy-reuse2.png,right,around,50%);
そこで本研究では,この判断を支援するために,レガシーシ
ステムをSOA 化する場合の再利用性を性質付ける新たな評価尺度
(メトリクス)と,そのメトリクスの計測手法を提案します.
具体的には,まずビジネスプロセスを一般的なSOA 設計に
基づいてトップダウンに分析し,現行で必要な業務機能を,
サービスという単位で抽出します(''必要サービスと呼ぶ'').
ビジネスプロセスはBPMNでモデル化されます.
次に,[[我々の先行研究で提案する手法>../レガシーシステムのSOA化技術]]を用いて,レガシーシステム
のソースコードを分析し,サービスとして成立しうる機能群を
ボトムアップに抽出します(''候補サービス''と呼ぶ).
候補サービスの抽出には,DFD(データフローダイアグラム)が用いられます.
その後,必要サービスと候補サービスとを機能面からつき合わせ,必要サ
ービスの実現に現存の候補サービスがどれだけ再利用可能かを
分析します.
** 候補サービスを必要サービスとして再利用する [#m25cc5df]
抽出された候補サービスscが,必要サービスsnの実現に
再利用可能であるとはどういうことか,我々は以下のように定義しました.
>
''scはsnにとってサービス再利用可能'' ⇔
「''scで提供される機能がsnで必要とされる機能のサブセットになっていること''」
<
候補サービスsc が必要サービスsn と比べて機能的に含まれる(または等価)
であれば,sn の実現において,sc をそのまま(手を入れ
ることなく)再利用できます.不足する機能については他の候補サー
ビスや新規サービスで補足すればよいのです.
一方で,sc がsn で必要とする以上の機能を含んでいる場合は,
再利用の定義から外れます.一般に肥大化したレガシーシステム
をコンパクトかつ疎結合なサービス群に分離・分割することは,
多大なコストがかかる問題だと知られています.したがって,sc
からsnで必要とされる機能のみを切り出してサービスとして利
用することは,少なからずコードの改修が必要であり,この場合,
サービスの再利用と呼ばないことにします.
最後に,再利用可能な候補サービスのシステム全体に占める割合を,
サイズメトリクスを用いて計算します.サイズメトリクスには,伝統的な
LOC(コード行数)やファンクションポイント等を用いることを前提とします.
** 実験 [#le65c7a1]
提案手法を酒在庫管理システムの一実装に適用し,ケーススタディを行いました.
その結果,提案手法が既存システムにおける潜在的なサービスの再利用率を,
定量的に計測できることがわかりました.
CENTER:&ref(./sakaya-reuse.png,30%);
CENTER:酒在庫管理システムへの適用
** 発表文献 [#bd01049d]
- 田中秀一郎, 西澤茂隆, 田中章弘, 中村匡秀, 松本健一, ``Soaシステム構築のための既存システムの再利用性評価,'' 電子情報通信学会技術研究報告, Vol.106, No.578, pp.471-476, March 2007. [[[PDF]:http://se.aist-nara.ac.jp/achieve/pdf/234.pdf]]
[[[< 戻る]>../]]