可将复杂的业务应用程序按功能划分并实现可视化的技术
本技术介绍参考了以下链接
English
2018年01月10日
可将复杂的业务应用程序按功能划分并实现可视化的技术
可快速响应客户运营、业务变化
株式会社富士通研究所(注1)(以下简称,富士通研究所)开发出了一种技术,通过分析程序可对内部结构进行划分,从而使复杂业务的应用程序更改变得更加容易。
开发背景
近来,在使用ICT技术的业务数字化创新中,需要一种利于现有业务应用程序快速变更的技术。例如,在生产、流通业务中,经常会出现增加新业务点或业务伙伴发生变化等情况,此时业务应用程序自身也需要随之更改。但传统的业务应用程序内部结构十分复杂,更改造成的影响大、涉及范围广,因此需要消耗大量的时间和精力修改。为了解决这个难题,由独立运行的多个服务组成的微服务(注2),作为一种可快速更改业务处理的应用程序设计方法引起了人们的关注。像微服务一样,只要使频繁发生更改的部分独立运行,便可通过仅更换受影响的服务,来轻松应对变更。
课题
对于维护或功能添加等需重复执行的应用程序,程序的依赖关系和数据的依赖关系变的十分复杂,对原始设计中未考虑的部分也会产生影响,所以很难将现有的应用程序划分成一个依赖关系较小的结构。因此,当试图定位受影响区域而进行程序划分时,需要边调查众多依赖关系边进行修改。
开发的技术
此次,我们开发出了一种自动识别边界的技术,它将程序源和数据库的访问日志信息作为输入信息,可按照功能划分业务应用程序的内部结构(图1)。

图1 新开发技术的整体流程
本技术的过程如下:
- 应用程序的结构分析
划分应用程序时,通过排列数据最大限度地减少依赖关系,并分析应用程序的结构,特别是提取相互写入依赖关系较小的边界。
首先,我们从应用程序外部可调用的程序或被指定的程序开始,定义一个包括所有调用函数的程序组;其次,写入相同业务数据的程序组与业务数据具有很深的关联,基于该性质进行加权,并利用富士通研究所特有的应用程序结构可视化软件地图技术(注3)培养的聚类技术,提取被边界包围的区域(图1①)。同时,被许多程序组写入的数据独立成为公共数据。
- 执行日志信息分析
如果应用程序实际运行时的数据库访问日志可供使用的话,就能进行一系列处理,确认应执行的范围,并更正①中得到的结果。
在分析执行日志信息的过程中,从正在执行的任务应用中提取数据库访问指令作为操作日志,对业务中应连续执行的数据访问指令进行推断,并确认对应的程序(图1②)。利用这些信息,进行一系列处理提取应执行的范围。
- 边界可视化
通过软件地图技术将1.2中得到的结果进行可视化(图1③)。将关联性较强的范围部署在一起,并实现可视化。
效果
通过使用该技术获得依赖关系较小的边界,可以实现以较少的工时划分应用程序。例如,采购业务应用程序的试验结果表明,通过新开发技术获得的边界(图2右侧)与基于原始设计确定的分类边界(图2左侧)相比,相互依赖关系数减少了约15%,减轻了划分时的调查与修改负担。
利用以上结果,既能够照顾到业务关系和更新频率,又能够将修改、改善等局部化变更添加到应用程序当中,从而实现对客户业务变化的快速响应。而且在客户考虑将业务应用程序的哪些部分向微服务转换或逐渐向云端转移时,该技术可使其更加高效。

图2 原始设计决定的分类(左)与通过新开发技术实现边界的可视化示例(右)
今后
为了能够在2018年度实现本技术的商业化,富士通研究所今后会继续加强该技术在各行业的业务应用程序分析中的应用与验证。