{"title":"MAT:通过依赖分析和AST将Go单片应用程序自动转换为微服务","authors":"Yi-Yuan Chen, Kuo-Hsun Hsu, Andrew Weian Hou","doi":"10.1109/ICASI57738.2023.10179517","DOIUrl":null,"url":null,"abstract":"The advancement of containerization and various integration tools has greatly reduced the development cost of microservice architecture. Under this premise, many companies have begun to migrate their legacy systems (monolithic applications) to microservice architectures in order to adapt to market demands. Instead of migrating legacy systems to microservice architecture from scratch, we provide another approach of splitting an existing monolithic system into microservices. In this paper, we use Go language’s AST as a basis to split the original project into multiple independent components and design a method for analyzing dependencies, classifying them, and producing independently runnable microservices.","PeriodicalId":281254,"journal":{"name":"2023 9th International Conference on Applied System Innovation (ICASI)","volume":"230 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-04-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"MAT: Automating Go monolithic applications transform into microservices through dependency analysis and AST\",\"authors\":\"Yi-Yuan Chen, Kuo-Hsun Hsu, Andrew Weian Hou\",\"doi\":\"10.1109/ICASI57738.2023.10179517\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The advancement of containerization and various integration tools has greatly reduced the development cost of microservice architecture. Under this premise, many companies have begun to migrate their legacy systems (monolithic applications) to microservice architectures in order to adapt to market demands. Instead of migrating legacy systems to microservice architecture from scratch, we provide another approach of splitting an existing monolithic system into microservices. In this paper, we use Go language’s AST as a basis to split the original project into multiple independent components and design a method for analyzing dependencies, classifying them, and producing independently runnable microservices.\",\"PeriodicalId\":281254,\"journal\":{\"name\":\"2023 9th International Conference on Applied System Innovation (ICASI)\",\"volume\":\"230 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2023-04-21\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2023 9th International Conference on Applied System Innovation (ICASI)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ICASI57738.2023.10179517\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2023 9th International Conference on Applied System Innovation (ICASI)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICASI57738.2023.10179517","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
MAT: Automating Go monolithic applications transform into microservices through dependency analysis and AST
The advancement of containerization and various integration tools has greatly reduced the development cost of microservice architecture. Under this premise, many companies have begun to migrate their legacy systems (monolithic applications) to microservice architectures in order to adapt to market demands. Instead of migrating legacy systems to microservice architecture from scratch, we provide another approach of splitting an existing monolithic system into microservices. In this paper, we use Go language’s AST as a basis to split the original project into multiple independent components and design a method for analyzing dependencies, classifying them, and producing independently runnable microservices.