“スパゲッティ化”した業務アプリを機能ごとに整理する新技術 富士通から

富士通研究所が、業務アプリケーションを機能ごとに整理する新技術を開発。長年の保守や機能追加で複雑化した業務アプリケーションの変更を容易にし、業務やビジネスの変化への迅速な対応を可能にするという。

» 2017年05月19日 12時30分 公開
[ITmedia]

 富士通研究所は5月18日、複雑化した業務アプリケーションの変更を容易にする技術として、プログラムの解析で内部構造を機能ごとに分割し、可視化する技術を開発したと発表した。

 保守や機能追加で修正を繰り返した業務アプリケーションは、プログラムやデータの依存関係などが複雑になり、業務変更に合わせたアプリケーションの変更が大きな負担となることが少なくない。変更の影響範囲を局所化するには、多くの依存関係を調べながら修正する必要がある。

 今回、富士通研究所が発表した新技術は、プログラムソースとデータベースへのアクセスログ情報を利用し、業務アプリケーションの内部構造を機能ごとに分割できる境界を自動的に見つけ出し、可視化するというものだ。これは「アプリケーションの構造分析」「実行ログ情報分析」「境界の可視化」という3段階のアクションで実現する。

Photo 開発技術の全体の流れ

 「アプリケーションの構造分析」では、書き込み依存関係が少なくなるようデータを配置して構造を分析、最適な境界を抽出する。

 まず、アプリケーションの外部から呼び出されるプログラムや指定されたプログラムを起点に、呼び出し先を全て持つプログラム群を定義。次に、同じ業務データに書き込むプログラム群は業務データと関係が深いという性質を基に関係を重み付けし、アプリケーションの構造を可視化する「ソフトウェア地図」技術で培ったクラスタリング技術で、境界で囲まれた範囲を抽出する。

 「実行ログ情報分析」では、アプリケーションを実際に動作させた際のデータベースへのアクセスログを利用して、一連の処理として実行すべき範囲を見つけ、「アプリケーションの構造分析」で得られた結果を補正する。「境界の可視化」は、「アプリケーションの構造分析」と「実行ログ情報分析」で得られた結果を、ソフトウェア地図の技術で、互いの関係が強い範囲を近くに配置して可視化するものだ。

 依存関係が少ない境界が分かることで、より少ない工数でアプリケーションを分割できるようになる。購買業務のアプリケーションを用いた試行では、本技術で得られる境界(下図右)は、設計当初に決めた分類に基づく境界(下図左)と比べて、相互の依存関係数が約15%減り、負担軽減を確認できたという。

Photo 設計当初に決めた分類(左)と、開発技術で境界を可視化した例(右)

 この技術によって、業務の変化への迅速な対応が可能になるほか、業務アプリケーションのマイクロサービス化や、段階的なクラウド移行を行う際の対象範囲の検討を効率的に行えるという。同社は、さまざまな業種の業務アプリケーション分析で検証を行い、2018年度の実用化を目指すとしている。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ