In recent years, microservice architecture has become a popular architectural style in software engineering, with its natural support for DevOps and continuous delivery, as well as its scalability and extensibility, which drive industry practitioners to migrate to microservice architecture. However, there are many challenges in adopting a microservice architecture, the most important of which is how to properly decomposition a monolithic system into microservices. Currently, microservice decomposition decisions for monolithic systems rely on subjective human experience, which is a costly, time-consuming process with high uncertainty of results. To address this problem, this paper proposes a method for microservice decomposition using Jackson Problem Frames. In this method, requirements of the system are analysed, descriptions of the interactions between the proposed software and its environment is obtained, multiple problem diagrams are constructed, and then the problem diagrams are merged by analyzing the correlation and similarity between them, resulting in a microservice decomposition scheme. A case study is also conducted based on a smart parking system. The results of the study show that the method can perform microservice decomposition based on requirements and the software environment, resulting in reducing the decisionmaking burden of developers, with reasonable decomposition results.
翻译:近年来,微观服务架构已成为软件工程中流行的建筑风格,它自然地支持DevOps和连续交付,以及其可扩缩性和可扩展性,促使行业从业人员迁移到微观服务架构,然而,在采用微观服务架构方面有许多挑战,其中最重要的是如何将一个单一系统适当地分解成微观服务系统;目前,单体系统的微观服务分解决定依赖于主观的人类经验,这是一个昂贵、耗时的过程,结果极不确定。为解决这一问题,本文件提出了使用杰克逊问题框架进行微观服务分解的方法。在这一方法中,对系统的要求进行了分析,对拟议软件与环境之间的互动进行了描述,并制作了多个问题图表,然后通过分析它们之间的相互关系和相似性将问题图表合并在一起,从而形成一种微观服务分解计划。还根据智能的停车系统进行了案例研究。研究结果表明,该方法可以根据要求和软件环境进行微观服务分解,从而降低决策发展者的负担,从而降低决策压力。