微服务
JSON文件
计算机科学
重构代码
Java
互操作性
程序设计语言
软件工程
分布式计算
云计算
数据库
操作系统
软件
作者
Vini Kanvar,Ridhi Jain,Srikanth Tamilselvam
标识
DOI:10.1109/icse-nier58687.2023.00013
摘要
Enterprises in their journey to the cloud, want to decompose their monolith applications into microservices to maximize cloud benefits. Current research focuses a lot on how to partition the monolith into smaller clusters that perform well across standard metrics like coupling, cohesion etc. However, there is little research done on taking the partitions, identifying their dependencies between the microservices, exploring ways to further reduce the dependencies, and making appropriate code changes to enable robust communication without changing the application behaviour.In this work, we discuss the challenges with the conventional techniques of communication using JSON and propose an alternative way of ID-passing via APIs. We also devise an algorithm to reduce the number of APIs. For this, we construct subgraphs of methods and their associated variables in each class, and relocate them to their more functionally aligned microservices. Our quantitative and qualitative studies on five public Java applications clearly demonstrate that our refactored microservices using ID have decidedly better time and memory complexities than JSON. Our automation reduces 40-60% of the manual refactoring efforts.
科研通智能强力驱动
Strongly Powered by AbleSci AI