计算机科学
可维护性
可扩展性
服务(商务)
鉴定(生物学)
软件工程
面向服务的体系结构
接口(物质)
模块化(生物学)
分布式计算
Web服务
数据库
操作系统
万维网
生物
最大气泡压力法
经济
气泡
遗传学
经济
植物
作者
Wuxia Jin,Ting Liu,Yuanfang Cai,Rick Kazman,Ran Mo,Qinghua Zheng
标识
DOI:10.1109/tse.2019.2910531
摘要
Monolithic systems increasingly suffer from maintainability and scalability issues as they grow in functionality, size, and complexity. It is widely believed that (micro)service-based architectures can alleviate these problems as each service is supposed to have the following characteristics: clearly defined functionality, sufficient modularity, and the ability to evolve independently. Industrial practices show that service extraction from a legacy monolithic system is labor-intensive and complex. Existing work on service candidate identification aims to group entities of a monolithic system into potential service candidates, but this process has two major challenges: first, it is difficult to extract service candidates with consistent quality; second, it is hard to evaluate the identified service candidates regarding the above three characteristics. To address these challenges, this paper proposes the Functionality-oriented Service Candidate Identification (FoSCI) framework to identify service candidates from a monolithic system. Our approach is to record the monolith's execution traces, and extract services candidates using a search-based functional atom grouping algorithm. We also contribute a comprehensive service candidate evaluation suite that uses interface information, structural/conceptual dependency, and commit history. This evaluation system consists of 8 metrics, measuring functionality, modularity, and evolvability respectively of identified service candidates. We compare FoSCI with three existing methods, using 6 widely-used open-source projects as our evaluation subjects. Our results show that FoSCI outperforms existing methods in most measures.
科研通智能强力驱动
Strongly Powered by AbleSci AI