MSA-Lab: Integrated Design Platform for Model-driven Development of Microservices
Author:
Affiliation:

Clc Number:

TP311

  • Article
  • | |
  • Metrics
  • |
  • Reference [24]
  • |
  • Related
  • |
  • Cited by
  • | |
  • Comments
    Abstract:

    Migrating from monolithic systems to microservice systems is one of the mainstream options for the industry to realize the reengineering of legacy systems, and microservice architecture refactoring based on monolithic legacy systems is the key to realizing migration. Currently, academia mainly focuses on the research on microservice identification methods, and there are many industry practices of legacy systems refactored into microservices. However, systematic approaches and efficient and robust tools are insufficient. Therefore, based on earlier research on microservices identification and model-driven development method, this study presents MSA-Lab, an integrated design platform for microservice refactoring of monolithic legacy systems based on the model-driven development approach. MSA-Lab analyzes the method call sequence in the running log of the monolithic legacy system, identifies and clusters classes and data tables for constructing abstract microservices, and generates a system architecture design model including the microservice diagram and microservice sequence diagram. The model has two core components: MSA-Generator for automatic microservice identification and design model generation and MSA-Modeller for visualization, interactive modeling, and model syntax constraint checking of microservice static structure and dynamic behavior models. This study conducts experiments in the MSA-Lab platform for effectiveness, robustness, and function transformation completeness on four open-source projects and carries out performance comparison experiments with three same-type tools. The results show that the platform has excellent effectiveness and robustness, function transform completeness for running logs, and superior performance.

    Reference
    [1] Zimmermann O. Microservices tenets:Agile approach to service development and deployment. Computer Science-Research and Development, 2017, 32(3):301-310.[doi:10.1007/s00450-016-0337-0]
    [2] Sampaio AR, Kadiyala H, Hu B, Steinbacher J, Erwin T, Rosa N, Beschastnikh I, Rubin J. Supporting microservice evolution. In:Proc. of the 2017 IEEE Int'l Conf on Software Maintenance and Evolution. Shanghai:IEEE, 2017. 539-543.
    [3] Lewis J, Fowler M. Microservices:A definition of this new architectural term. 2014. https://martinfowler.com/articles/microservices.html
    [4] Taibi D, Lenarduzzi V, Pahl C. Processes, motivations, and issues for migrating to microservices architectures:An empirical investigation. IEEE Cloud Computing, 2017, 4(5):22-32.[doi:10.1109/MCC.2017.4250931]
    [5] Zhang H, Li SS, Jia ZJ, Zhong CX, Zhang C. Microservice architecture in reality:An industrial inquiry. In:Proc. of the 2019 IEEE Int'l Conf. on Software Architecture. Hamburg:IEEE, 2019. 51-60.
    [6] Parnas DL. On the criteria to be used in decomposing systems into modules. In:Broy M, Denert E, eds. Pioneers and Their Contributions to Software Engineering. Berlin:Springer, 1972. 479-498.
    [7] Mancoridis S, Mitchell BS, Chen Y, Gansner ER. Bunch:A clustering tool for the recovery and maintenance of software system structures. In:Proc. of the 1999 IEEE Int'l Conf. on Software Maintenance. Oxford:IEEE, 1999. 50-59.
    [8] Jin WX, Liu T, Cai YF, Kazman R, Mo R, Zheng QH. Service candidate identification from monolithic systems based on execution traces. IEEE Transactions on Software Engineering, 2021, 47(5):987-1007.[doi:10.1109/TSE.2019.2910531]
    [9] Zhang YK, Liu B, Dai LY, Chen K, Cao XL. Automated microservice identification in legacy systems with functional and non-functional metrics. In:Proc. of the 2020 IEEE Int'l Conf. on Software Architecture. Salvador:IEEE, 2020. 135-145.
    [10] Selic B. The pragmatics of model-driven development. IEEE Software, 2003, 20(5):19-25.[doi:10.1109/MS.2003.1231146]
    [11] Liu ZM, Chen XH. Model-driven design of object and component systems. In:Engineering Trustworthy Software Systems. Cham:Springer, 2016. 152-255.
    [12] Sorgalla J, Wizenty P, Rademacher F, Sachweh S, Zündorf A. AjiL:Enabling model-driven microservice development. In:Proc. of the 12th European Conf. on Software Architecture. Madrid:ACM, 2018. 1.
    [13] Gysel M, Kölbener L, Giersche W, Zimmermann O. Service Cutter:A systematic approach to service decomposition. In:Proc. of the 5th IFIP WG 2.14 European Conf. on Service-oriented and Cloud Computing. Vienna:Springer, 2016. 185-200.
    [14] Petrasch R. Model-based engineering for microservice architectures using enterprise integration patterns for inter-service communication. In:Proc. of the 14th Int'l Joint Conf. on Computer Science and Software Engineering. Nakhon Si Thammarat:IEEE, 2017. 1-4.
    [15] Kapferer S, Zimmermann O. Domain-driven architecture modeling and rapid prototyping with Context Mapper. In:Proc. of the 8th Int'l Conf. on Model-driven Engineering and Software Development. Valletta:Springer, 2020. 250-272.
    [16] Kalia AK, Xiao J, Lin C, Sinha S, Rofrano J, Vukovic M, Banerjee D. Mono2Micro:An AI-based toolchain for evolving monolithic enterprise applications to a microservice architecture. In:Proc. of the 28th ACM Joint Meeting on European Software Engineering Conf. and Symp. on the Foundations of Software Engineering. ACM, 2020. 1606-1610.
    [17] Liu B, Xiong JL, Ren QR, Tyszberowicz S, Yang Z. Log2MS:A framework for automated refactoring monolith into microservices using execution logs. In:Proc. of the 2022 IEEE Int'l Conf. on Web Services. Barcelona:IEEE, 2022. 391-396.
    [18] Santos N, Silva AR. A complexity metric for microservices architecture migration. In:Proc. of the 2020 IEEE Int'l Conf. on Software Architecture. Salvador:IEEE, 2020. 169-178.
    [19] Mazlami G, Cito J, Leitner P. Extraction of microservices from monolithic software architectures. In:Proc. of the 2017 IEEE Int'l Conf. on Web Services. Honolulu:IEEE, 2017. 524-531.
    [20] Levcovitz A, Terra R, Valente MT. Towards a technique for extracting microservices from monolithic enterprise systems. arXiv:1605.03175, 2016.
    [21] Chen R, Li SS, Li Z. From monolith to microservices:A dataflow-driven approach. In:Proc. of the 24th Asia-Pacific Software Engineering Conf. Nanjing:IEEE, 2017. 466-475.
    [22] Li SS, Zhang H, Jia ZJ, Li Z, Zhang C, Li JQ, Gao QY, Ge JD, Shan ZH. A dataflow-driven approach to identifying microservices from monolithic applications. Journal of Systems and Software, 2019, 157:110380.[doi:10.1016/j.jss.2019.07.008]
    [23] 李杉杉, 荣国平, 高邱雅, 邵栋. 一种优化的数据流驱动的微服务化拆分方法. 软件学报, 2021, 32(5):1284-1301. http://www.jos.org.cn/1000-9825/6233.htm
    Li SS, Rong GP, Gao QY, Shao 慄渮搠?数癴潩汭畩瑺楥潤渠?潡晴?浦潬湯潷氭楤瑲桩楶捥?愠灡灰汰楲捯慡瑣楨漠湦獯?愠獭?浣楲捯牳潥獲敶物癣楥捳攭獯???湮?健牤漠捤??潯晭?瑯桳敩??は???塒?????慩瑡楮渠??浥攠牂楡捯愯湊??潲浮灡畬琠楯湦朠??潦湴晷??噥愬氠瀲愰爲愱椬猠漳??????′劳????‰??ㄨ???扃牨?孮??嵥??偩整瑨匠瑅潮牧敬????ち???桲瑡瑣灴猩???扴汴潰机?振獷摷湷?湪敯瑳?灯捲晧愮湣??愱爰琰椰挭氹攸?搵支琶愲椳氳献???监??资??戴牝?孁??嵵??敡扨????偉牱慢瑡慬瀠?????杲慡牤睩愠汁?匠???敵祰慥牲楶癩慳湥?吠????普慩獮瑧?慡湰摰?敯污楣瑨椠獦瑯?洠畷汥瑢椠潡扰橰敬捩瑣楡癴敩?杮攠湡敵瑴楯挭?慥汣杯潭牰楯瑳桩浴?乯卮????????????呥牲慶湩獣慥捳琮椠潊湯獵?潮湡??癯潦氠畓瑹楳潴湥慭牳礠??潤洠灓畯瑦慴瑷楡潲湥??有??代????㈱????木?????孤摯潩椺????????????????????崲?戰爳?孝??嵲 ̄癛愲渵??漁漹爬渠????埭慓泰氬攠爠?????慚献猠攺汯扱犨椔滪枕?圊???槻旟殮攍犡???曕爮愠浯时睦澥爬欠′昰漲爰?愠瀳瀱氨椱挱愩琺椳漴渶?瀭攳爴昸漰爮洠慨湴捴数?洯漯湷楷瑷漮牪楯湳朮?慲湧搮?摮礯渱愰洰椰挭?猸漲昵琯眶愰爳攱?慨湴慭氼祢獲椾獄???渠?倬爠潐捥??漠晘?琠桇敵??牘摆?????卮偧????湗瑵?汙??漠湓晣??潡湲?偯攭牤晲潩牶浥慮渠捡敮??湢杯楴湴敯敭爭極湰朠???潲獯瑳潥湲???????っ?????????????扴牨?孤??嵯?匠歭祯坮慯汬歩楴湨杩???べ????桳琮琠灒獵???獊歩祡睮愠汘歵楥渠杂?慯瀯慊捯桵敲?潡牬朠??戠牓?学??嵡?健椬渠瀲漰椲渰琬?″㈱〨㈱???栳琴琶瀱猭???朰椠琨桩畮戠?捨潩浮?灳楥渠灷潩楴湨琠?慮灧浬?灳楨渠灡潢楳湴瑲?扣牴?嬮??嵴??椺?????椮?塯即???楧甮?婮??‰匰琰漭氹稸′嘵???渳琱攮牨慴捭琼楢癲放?琲父慝渠獒晡潤牥浭慡瑣楨潥湲猠?昬爠潓浡?潨扷橥敨挠瑓?漠牚椦攣渲琵攲搻?浤潯摲敦氠獁?琠潔?捷潡浲灤潳渠敡渠瑕?扌愠獰敲摯?浩潬摥攠汦獯???湯?偡物潮挭??潩晶?瑮栠敤??瑩桧??湯瑦?汭?坣潲牯歳獥桲潶灩?潥渠??潣牨浩慴汥??獵灲敥捳琮猠?潮昺??潯浣瀮漠湯敦渠瑴?卥漠昲琰眱愷爠敓??位猠汉潮?匧灬爠楃湯杮敦爮????????????ㄠ???扩牮?孥??嵮??慡牮癤愠汆桯潲?????慥牴捨楯慤?????獥獮畴湯?????????水??漰?圷???″搰攭′?攵氮氼潢?刾?′搷敝??楶浡慮??????湯慭污祩獮椭獤?潩晶?瑮栠敄?捳物楧瑮攺牔楡慣?慬摩潮灧琠敃摯?楰湬?楸湩摴畹猠瑩牮礠?瑨潥?效硥瑡牲慴挠瑯?洠楓捯牦潴獷敡牲癥椮挠敂獯???湮?偁牤潤捩??潮昭?瑥桳敬??琠桐???????????漬椠渲琰‰?渮琼?汲 ̄坛漲爸歝猠桓潣灨?潥湩??潲渠摍甬挠瑈楩湰杰??浥灮椠牂椬挠慇汩?即瑳畬摥楲攠獐?椠湉??湧摡畮獧琠牃礬????卣???愮渠摍?瑣桲敯??瑲桶??湥琠?汥?坥潬牯歰獭桥潮灴?潢湡?卥潤映瑯睮愠牴敯??渭杳極湰数敯牲楴湥杤?剤敯獭敡慩牮挠桭?慤湥摬??湧搮甠獉瑮爺楐慲汯?倮爠慯捦琠楴捨敥?‵?潨渠瑉牮整愧汬????????のㄠ??????????扮牤?孔??嵮??琠桩慮渠慓獯潦灴潷畡汲潥猠????婮慥牥牲慩獮??嘠???楥獳步漬猠′????猼獢慲爾湛礲?噝??噥慲獺獩椦氣椲愶搳椻猠?倬???潭桩整獲楩潥湳?摩爠楖瘬攠湋?摲敤捩漦洣瀲漶猳椻琠楓漬渠?潩晬?獳敡牶癬楪捥敶?椦渣琲收爳昻愠捇攬猠?睵楫瑯桶潩甦琣′愶挳挻攠獉献?瑄潥?獥潬畯牰捭敥?捴漠摡敮???????呡牴慩湯獮愠捯瑦椠潍湩獣?潯湂?卩敬牤癥楲挺敁猠??潤浥灬甭瑤楲湩杶??㈠ぴ?????????????????学摩潣楡??は?ㄠ?て??呅卓???ど??????ぶ???崠?扯牦?孷?ひ嵥??楲瑣捨桩整汥汣??卲????桅敮畴牥楲獰瑲楩捳?猠敉慮牦捯桲?慡灴灩牯潮愠捓桹?瑴潥?獳漬氠瘲椰渱朸?琠栱攲?猸漭昹琩眺愱爰攳?挭氱田猵琷攮爼楢湲朾?瀳爰潝戠汔敹浳孺偢桥????呣桺攠獓椬猠嵈??偮桲楩汣慨搠敒氬瀠桌楩慵??爬攠硌敩汵?啚湍椮瘠敉牤獥楮瑴祩???ので㈠??扣牲?孳??嵶??慥浳攠牵獳?????敵浮散牴祩捯歮?奬???散牯睭数祯敳物獴?????慉湮猺獐敲湯?????攠瑴敨牥猠????剉潮畴猧獬攠慓畹?剰??噯慮渠桄潥異瑥瑮敤????匠楓浯楦汴慷牡楲瑥礠?浮敧慩獮略牥敲獩?楧渺?獨捥楯敲湩瑥潳洬攠瑔牯楯捬?爬攠獡敮慤爠捁桰?呬桩散??慩捯据慳爮搠?楥湩摪敩确?瘺敓牰獲畩獮?卥慲氬琠漲渰?猸?挠漵猰椭渶攵?昼潢牲派畛氳愱???湳晣潯牢浡慲琠楄漬渠?倦爣漲挲攵猻獲楤湥杮????愬渠慁杭敡浲敩湬瑬???????????????????ㄦ??嬳搳漻楳?????ち???????????????????????嵲?扳爠?孨?㈠嵵?婤扥?扳汴潡杮???で????栀琀琀瀀猀???最椀琀攀攀?挀漀洀?猀欀礀戀氀甀攀? ? ?稀戀?戀氀漀最?戀爀?嬀??崀??砀愀洀?????  ???栀琀琀瀀猀???最椀琀攀攀?挀漀洀?漀挀攀氀漀琀?攀砀愀洀砀砀??戀爀?嬀??崀??攀攀匀椀琀攀??? ????栀琀琀瀀猀???最椀琀栀甀戀?挀漀洀?琀栀椀渀欀最攀洀?樀攀攀猀椀琀攀??戀爀?嬀??崀??欀漀欀愀?????漀洀礀渀?圀愀琀琀椀愀甀?????渀琀椀琀礀?爀攀氀愀琀椀漀渀猀栀椀瀀?愀渀搀?漀戀樀攀挀琀?漀爀椀攀渀琀攀搀?洀漀搀攀氀?愀甀琀漀洀愀琀椀挀?挀氀甀猀琀攀爀椀渀最???愀琀愀????渀漀眀氀攀搀最攀??渀最椀渀攀攀爀椀渀最????????? ???????????嬀搀漀椀?? ?? ???匀 ???? ??堀????    ???崀?戀爀?
    Related
    Cited by
Get Citation

熊靖浏,任秋蓉,Shmuel TYSZBEROWICZ,刘志明,刘波. MSA-Lab:模型驱动的微服务集成设计平台.软件学报,2024,35(3):1280-1306

Copy
Share
Article Metrics
  • Abstract:
  • PDF:
  • HTML:
  • Cited by:
History
  • Received:March 03,2022
  • Revised:June 30,2022
  • Online: May 24,2023
  • Published: March 06,2024
You are the firstVisitors
Copyright: Institute of Software, Chinese Academy of Sciences Beijing ICP No. 05046678-4
Address:4# South Fourth Street, Zhong Guan Cun, Beijing 100190,Postal Code:100190
Phone:010-62562563 Fax:010-62562533 Email:jos@iscas.ac.cn
Technical Support:Beijing Qinyun Technology Development Co., Ltd.

Beijing Public Network Security No. 11040202500063