このページの本文へ移動
  1. ホーム >
  2. プレスリリース >
  3. 複雑化した業務アプリケーションを機能ごとに分割・可視化する技術を開発

PRESS RELEASE (技術)

2017年5月18日
株式会社富士通研究所

複雑化した業務アプリケーションを機能ごとに分割・可視化する技術を開発

お客様の業務・ビジネス変化への迅速な対応を可能に

株式会社富士通研究所(注1)(以下、富士通研究所)は、複雑化した業務アプリケーションの変更を容易にする技術として、プログラムの解析により内部構造を分割できる技術を開発しました。

従来、保守や機能追加により修正を繰り返している業務アプリケーションは、内部が複雑化し変更の影響が広範囲に及ぶ構造になっていることが多く、業務の変更に合わせたアプリケーションの変更が大きな負担となっていました。

今回、業務アプリケーションを機能ごとに分割するために、プログラム・データの関係を分析して、互いの依存関係が少なくなるように分割する境界の候補を見つける技術と、その境界の中から、アプリケーションを実際に動作させた際のデータベースへのアクセスログを利用して、一連の処理として実行すべき範囲を見つけ、より関連性の高い業務の範囲を抽出する技術を開発しました。本技術で得られた機能ごとに分割する境界を可視化することで、従来難しかったアプリケーションの分割が可能となります。

これにより、境界をもとに変更を局所化するような修正・改善を加えていくことで、お客様業務・ビジネスの変化への迅速な対応が可能になります。

開発の背景

昨今、ICT技術を使ったビジネスのデジタル革新に向け、既存の業務アプリケーションを迅速に変更していく技術が求められています。例えば、産業・流通の業務では、拠点追加や取引先の変更などが度々あり、それに合わせて、業務アプリケーション自体も変更していく必要がありますが、従来の業務アプリケーションは内部が複雑化し変更の影響が広範囲に及ぶ構造になっていることが多く、改修時間が長くなり工数もかかっていました。この問題を解決するため、近年、業務処理を迅速に変更できるアプリケーションを設計する方法として、独立して動作する複数のサービスで構成するマイクロサービス(注2)が注目されています。マイクロサービスなどのように頻繁に変更が生じる部分を独立させると、影響のあるサービスだけを入れ替えることで容易に対応できます。

課題

保守や機能追加を繰り返し行ってきたアプリケーションにおいては、プログラムの依存関係やデータ依存関係などが複雑になり、設計当初には想定しない部分にも影響がおよび、既存のアプリケーションを依存関係が少ない構造に分割するのが難しいことが度々あります。そのため、影響範囲を局所化するように分割しようとすると多くの依存関係を調べながら修正していく必要がありました。

開発した技術

今回、プログラムソースとデータベースへのアクセスログ情報を入力として、業務アプリケーションの内部構造を機能ごとに分割できる境界を自動的に見つけ出す技術を開発しました(図1)。

図1. 開発技術の全体の流れ
図1. 開発技術の全体の流れ

本技術の手順は以下のとおりです。

  1. アプリケーションの構造分析

    アプリケーションを分割する際に、依存関係が少なくなるようにデータを配置してアプリケーションの構造を分析し、特に互いの書き込み依存関係が少ない境界を抽出します。

    まず、アプリケーションの外部から呼び出されるプログラムや指定されたプログラムを起点に、呼び出し先をすべて持つプログラム群を定義します。次に、同じ業務データに書き込むプログラム群は業務データと関係が深いという性質を基に関係を重みづけして、富士通研究所独自の、アプリケーションの構造を可視化するソフトウェア地図技術(注3)で培ったクラスタリング技術を用いて、境界で囲まれた範囲を抽出します(図1①)。一方、多くのプログラム群から書き込まれるデータは、共通データとして独立させます。

  2. 実行ログ情報分析

    アプリケーションを実際に動作させた際のデータベースへのアクセスログを利用できる場合、一連の処理として実行すべき範囲を見つけ、①で得られた結果を補正します。

    実行ログ情報分析では、実行中の業務アプリケーションから動作ログとしてデータベースアクセスの命令を抽出し、業務的に連続して実行すべきデータアクセス命令を推定して、対応するプログラムを特定します(図1②)。これを用いて、一連の処理として実行すべき範囲を抽出します。

  3. 境界の可視化

    1. 2. で得られた結果を、ソフトウェア地図の技術で可視化します(図1③)。互いの関係が強い範囲を近くに配置し可視化します。

効果

本技術で依存関係が少ない境界が得られることで、より少ない工数でアプリケーションを分割することが可能になります。例えば、購買業務のアプリケーションを用いた試行の結果、開発技術で得られる境界(図2右)は、設計当初に決めた分類に基づく境界(図2左)と比較して、相互の依存関係数が約15%少なくなり、分割時の調査と修正の負担軽減を確認しました。

この結果を利用して、業務的な関係や更新頻度も考慮しながら、変更を局所化するような修正・改善をアプリケーションに加えることで、お客様業務の変化への迅速な対応が可能になります。また、お客様の業務アプリケーションのマイクロサービス化や段階的なクラウド移行を行う際の対象範囲の検討を効率的に行うことが可能となります。

図2.設計当初に決めた分類(左)と、開発技術で境界を可視化した例(右)
図2.設計当初に決めた分類(左)と、開発技術で境界を可視化した例(右)
拡大イメージ

今後

富士通研究所は、本技術について2018年度の実用化を目指し、様々な業種の業務アプリケーション分析に適用・検証していきます。

商標について

記載されている製品名などの固有名詞は、各社の商標または登録商標です。

以上

注釈

注1 株式会社富士通研究所:
本社 神奈川県川崎市、代表取締役社長 佐々木繁。
注2 マイクロサービス:
サービス全体を一かたまりのサービスとして開発するのではなく、複数の独立したサービスが軽量な方式で通信をしながら動作する形で構築する方式。
注3 ソフトウェア地図:
本技術は、富士通株式会社が提供する資産分析サービスに搭載済み。

本件に関するお問い合わせ

株式会社富士通研究所
システム技術研究所
電話 044-754-2675(直通)
メール soft-apm@ml.labs.fujitsu.com


プレスリリースに記載された製品の価格、仕様、サービス内容、お問い合わせ先などは、発表日現在のものです。その後予告なしに変更されることがあります。あらかじめご了承ください。