SOAシステム構築のための既存システムの再利用性評価

レガシーシステムのSOA化

sakaya-xead2.png

昨今のめまぐるしいビジネス環境の変化に伴って,企業の業務 システムを迅速かつ柔軟に適応させることが求められています.

しかし,長年運用・保守され続けている既存システム (レガシーシステム)の多くは,他のシステムとの相互運用性や データの共有などが考慮されていません.このようなシステムでは, 業務手順(ビジネスプロセス)が変更される度に,システムを 大幅に修正する必要があり,保守コストが膨大になってしまう 傾向があります.

この問題を解決する手段として,サービス指向アーキテクチャ(SOA) が注目されています.SOA は,システムを「サービス」という機能単位の 集合として設計する手法です.各「サ ービス」は,システムのプラットフォームや内部実装に非依存 で,共通のインターフェースを通じて疎結合され,高度なサー ビスは既存サービスの組み合わせによって実現されます. そのため,ビジネスプロセスが変化しても,サービス間が疎結合なため 変更が全体に波及しにくく,サービスの組み替えや追加によって, 変更に柔軟に対応することができるといわれています.

これらのことから,組織にとってSOAベースのシステムは非常に魅力的に 映ります.そうはいっても,現在も稼働中のレガシーシステムを全て捨てて, 新システムにリニューアルすることは,組織にとって容易なことではありません. そこで,

既存のレガシーシステムを何とかSOA化出来ないか

ということに関心が集まっています.

再利用するべきか新規構築か?

レガシーシステムをSOA 化する場合には,当然のことながら, 既存システムを最大限再利用し,できるだけ開発コストを節約 したいというニーズがあります. しかしながら,レガシーシステムは長年の運用・保守の過程で 変更が繰り返され,保守性が大きく低下していることが多いのが実状です. そのため,既存システムから,現行の業務(要素プロセス)と完全にマッチした 処理をうまくサービスとして切り出すことは非常に難しい問題です.

こうした状況の下,経営者はシステムのSOA化に向けて既存システムを 再利用すべきか,新しくシステムを構築しなおすべきか,意思決定する 必要があります.この重大な意思決定に対して,現状では特に有効な 手立てはありません.つまり,「既存システムのSOA 化しやすさ」を評価する 尺度が存在しないのです.

レガシーシステムのSOA再利用性評価

legacy-reuse2.png

そこで本研究では,この判断を支援するために,レガシーシ ステムをSOA 化する場合の再利用性を性質付ける新たな評価尺度 (メトリクス)と,そのメトリクスの計測手法を提案します.

具体的には,まずビジネスプロセスを一般的なSOA 設計に 基づいてトップダウンに分析し,現行で必要な業務機能を, サービスという単位で抽出します(必要サービスと呼ぶ). ビジネスプロセスはBPMNでモデル化されます.

次に,我々の先行研究で提案する手法を用いて,レガシーシステム のソースコードを分析し,サービスとして成立しうる機能群を ボトムアップに抽出します(候補サービスと呼ぶ). 候補サービスの抽出には,DFD(データフローダイアグラム)が用いられます.

その後,必要サービスと候補サービスとを機能面からつき合わせ,必要サ ービスの実現に現存の候補サービスがどれだけ再利用可能かを 分析します.

候補サービスを必要サービスとして再利用する

抽出された候補サービスscが,必要サービスsnの実現に 再利用可能であるとはどういうことか,我々は以下のように定義しました.

scはsnにとってサービス再利用可能 ⇔ 「scで提供される機能がsnで必要とされる機能のサブセットになっていること

候補サービスsc が必要サービスsn と比べて機能的に含まれる(または等価) であれば,sn の実現において,sc をそのまま(手を入れ ることなく)再利用できます.不足する機能については他の候補サー ビスや新規サービスで補足すればよいのです.

一方で,sc がsn で必要とする以上の機能を含んでいる場合は, 再利用の定義から外れます.一般に肥大化したレガシーシステム をコンパクトかつ疎結合なサービス群に分離・分割することは, 多大なコストがかかる問題だと知られています.したがって,sc からsnで必要とされる機能のみを切り出してサービスとして利 用することは,少なからずコードの改修が必要であり,この場合, サービスの再利用と呼ばないことにします.

最後に,再利用可能な候補サービスのシステム全体に占める割合を, サイズメトリクスを用いて計算します.サイズメトリクスには,伝統的な LOC(コード行数)やファンクションポイント等を用いることを前提とします.

実験

提案手法を酒在庫管理システムの一実装に適用し,ケーススタディを行いました. その結果,提案手法が既存システムにおける潜在的なサービスの再利用率を, 定量的に計測できることがわかりました.

sakaya-reuse.png
酒在庫管理システムへの適用

発表文献

  • 田中秀一郎, 西澤茂隆, 田中章弘, 中村匡秀, 松本健一, ``Soaシステム構築のための既存システムの再利用性評価,'' 電子情報通信学会技術研究報告, Vol.106, No.578, pp.471-476, March 2007. [PDF]

[< 戻る]


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2024-02-14 (水) 11:29:47