MSA-Lab:模型驱动的微服务集成设计平台
作者:
中图分类号:

TP311

基金项目:

国家自然科学基金(62032019,61732019,61872051);西南大学国家人才建设项目(SWU116007);重庆市自然科学基金面上项目(CSTB2022NSCQ-MSX0437)


MSA-Lab: Integrated Design Platform for Model-driven Development of Microservices
Author:
  • 摘要
  • | |
  • 访问统计
  • |
  • 参考文献 [24]
  • |
  • 相似文献 [20]
  • | | |
  • 文章评论
    摘要:

    从单体系统迁移到微服务系统是当前业界对遗留系统实施再工程化的主流选项之一,基于单体遗留系统的微服务体系架构重构则是实现该迁移的关键步骤.目前学界多集中在微服务识别方法的研究上;业界虽有许多面向微服务架构的遗留系统重构的实践,但缺乏系统性的方法及高效鲁棒的工具.鉴于此,在微服务识别与模型驱动开发方法前期研究的基础上,研发一种模型驱动的、可用于单体遗留系统微服务化重构的集成设计平台MSA-Lab.它通过分析单体遗留系统运行日志中的方法调用序列,对其中的类和数据表进行类型识别和聚类以构造抽象微服务,同时生成包括微服务图和微服务序列图在内的系统架构设计模型.它包括用于微服务自动识别与设计模型自动生成的核心部件MSA-Generator,以及用于微服务静态结构模型与动态行为模型可视化展现、交互式建模、模型语法约束检验的核心部件MSA-Modeller.在MSA-Lab平台上,通过对4个开源项目实施有效性、鲁棒性、功能转换完备性等实验以及对3个同类型工具实施性能对比实验,结果表明:所提平台拥有很好的有效性、鲁棒性及实现面向日志的功能转换完备性,且性能更加优越.

    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.

    参考文献
    [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 慄渮搠?数癴潩汭畩瑺楥潤渠?潡晴?浦潬湯潷氭楤瑲桩楶捥?愠灡灰汰楲捯慡瑣楨漠湦獯?愠獭?浣楲捯牳潥獲敶物癣楥捳攭獯???湮?健牤漠捤??潯晭?瑯桳敩??は???塒?????慩瑡楮渠??浥攠牂楡捯愯湊??潲浮灡畬琠楯湦朠??潦湴晷??噥愬氠瀲愰爲愱椬猠漳??????′劳????‰??ㄨ???扃牨?孮??嵥??偩整瑨匠瑅潮牧敬????ち???桲瑡瑣灴猩???扴汴潰机?振獷摷湷?湪敯瑳?灯捲晧愮湣??愱爰琰椰挭氹攸?搵支琶愲椳氳献???监??资??戴牝?孁??嵵??敡扨????偉牱慢瑡慬瀠?????杲慡牤睩愠汁?匠???敵祰慥牲楶癩慳湥?吠????普慩獮瑧?慡湰摰?敯污楣瑨椠獦瑯?洠畷汥瑢椠潡扰橰敬捩瑣楡癴敩?杮攠湡敵瑴楯挭?慥汣杯潭牰楯瑳桩浴?乯卮????????????呥牲慶湩獣慥捳琮椠潊湯獵?潮湡??癯潦氠畓瑹楳潴湥慭牳礠??潤洠灓畯瑦慴瑷楡潲湥??有??代????㈱????木?????孤摯潩椺????????????????????崲?戰爳?孝??嵲 ̄癛愲渵??漁漹爬渠????埭慓泰氬攠爠?????慚献猠攺汯扱犨椔滪枕?圊???槻旟殮攍犡???曕爮愠浯时睦澥爬欠′昰漲爰?愠瀳瀱氨椱挱愩琺椳漴渶?瀭攳爴昸漰爮洠慨湴捴数?洯漯湷楷瑷漮牪楯湳朮?慲湧搮?摮礯渱愰洰椰挭?猸漲昵琯眶愰爳攱?慨湴慭氼祢獲椾獄???渠?倬爠潐捥??漠晘?琠桇敵??牘摆?????卮偧????湗瑵?汙??漠湓晣??潡湲?偯攭牤晲潩牶浥慮渠捡敮??湢杯楴湴敯敭爭極湰朠???潲獯瑳潥湲???????っ?????????????扴牨?孤??嵯?匠歭祯坮慯汬歩楴湨杩???べ????桳琮琠灒獵???獊歩祡睮愠汘歵楥渠杂?慯瀯慊捯桵敲?潡牬朠??戠牓?学??嵡?健椬渠瀲漰椲渰琬?″㈱〨㈱???栳琴琶瀱猭???朰椠琨桩畮戠?捨潩浮?灳楥渠灷潩楴湨琠?慮灧浬?灳楨渠灡潢楳湴瑲?扣牴?嬮??嵴??椺?????椮?塯即???楧甮?婮??‰匰琰漭氹稸′嘵???渳琱攮牨慴捭琼楢癲放?琲父慝渠獒晡潤牥浭慡瑣楨潥湲猠?昬爠潓浡?潨扷橥敨挠瑓?漠牚椦攣渲琵攲搻?浤潯摲敦氠獁?琠潔?捷潡浲灤潳渠敡渠瑕?扌愠獰敲摯?浩潬摥攠汦獯???湯?偡物潮挭??潩晶?瑮栠敤??瑩桧??湯瑦?汭?坣潲牯歳獥桲潶灩?潥渠??潣牨浩慴汥??獵灲敥捳琮猠?潮昺??潯浣瀮漠湯敦渠瑴?卥漠昲琰眱愷爠敓??位猠汉潮?匧灬爠楃湯杮敦爮????????????ㄠ???扩牮?孥??嵮??慡牮癤愠汆桯潲?????慥牴捨楯慤?????獥獮畴湯?????????水??漰?圷???″搰攭′?攵氮氼潢?刾?′搷敝??楶浡慮??????湯慭污祩獮椭獤?潩晶?瑮栠敄?捳物楧瑮攺牔楡慣?慬摩潮灧琠敃摯?楰湬?楸湩摴畹猠瑩牮礠?瑨潥?效硥瑡牲慴挠瑯?洠楓捯牦潴獷敡牲癥椮挠敂獯???湮?偁牤潤捩??潮昭?瑥桳敬??琠桐???????????漬椠渲琰‰?渮琼?汲 ̄坛漲爸歝猠桓潣灨?潥湩??潲渠摍甬挠瑈楩湰杰??浥灮椠牂椬挠慇汩?即瑳畬摥楲攠獐?椠湉??湧摡畮獧琠牃礬????卣???愮渠摍?瑣桲敯??瑲桶??湥琠?汥?坥潬牯歰獭桥潮灴?潢湡?卥潤映瑯睮愠牴敯??渭杳極湰数敯牲楴湥杤?剤敯獭敡慩牮挠桭?慤湥摬??湧搮甠獉瑮爺楐慲汯?倮爠慯捦琠楴捨敥?‵?潨渠瑉牮整愧汬????????のㄠ??????????扮牤?孔??嵮??琠桩慮渠慓獯潦灴潷畡汲潥猠????婮慥牥牲慩獮??嘠???楥獳步漬猠′????猼獢慲爾湛礲?噝??噥慲獺獩椦氣椲愶搳椻猠?倬???潭桩整獲楩潥湳?摩爠楖瘬攠湋?摲敤捩漦洣瀲漶猳椻琠楓漬渠?潩晬?獳敡牶癬楪捥敶?椦渣琲收爳昻愠捇攬猠?睵楫瑯桶潩甦琣′愶挳挻攠獉献?瑄潥?獥潬畯牰捭敥?捴漠摡敮???????呡牴慩湯獮愠捯瑦椠潍湩獣?潯湂?卩敬牤癥楲挺敁猠??潤浥灬甭瑤楲湩杶??㈠ぴ?????????????????学摩潣楡??は?ㄠ?て??呅卓???ど??????ぶ???崠?扯牦?孷?ひ嵥??楲瑣捨桩整汥汣??卲????桅敮畴牥楲獰瑲楩捳?猠敉慮牦捯桲?慡灴灩牯潮愠捓桹?瑴潥?獳漬氠瘲椰渱朸?琠栱攲?猸漭昹琩眺愱爰攳?挭氱田猵琷攮爼楢湲朾?瀳爰潝戠汔敹浳孺偢桥????呣桺攠獓椬猠嵈??偮桲楩汣慨搠敒氬瀠桌楩慵??爬攠硌敩汵?啚湍椮瘠敉牤獥楮瑴祩???ので㈠??扣牲?孳??嵶??慥浳攠牵獳?????敵浮散牴祩捯歮?奬???散牯睭数祯敳物獴?????慉湮猺獐敲湯?????攠瑴敨牥猠????剉潮畴猧獬攠慓畹?剰??噯慮渠桄潥異瑥瑮敤????匠楓浯楦汴慷牡楲瑥礠?浮敧慩獮略牥敲獩?楧渺?獨捥楯敲湩瑥潳洬攠瑔牯楯捬?爬攠獡敮慤爠捁桰?呬桩散??慩捯据慳爮搠?楥湩摪敩确?瘺敓牰獲畩獮?卥慲氬琠漲渰?猸?挠漵猰椭渶攵?昼潢牲派畛氳愱???湳晣潯牢浡慲琠楄漬渠?倦爣漲挲攵猻獲楤湥杮????愬渠慁杭敡浲敩湬瑬???????????????????ㄦ??嬳搳漻楳?????ち???????????????????????嵲?扳爠?孨?㈠嵵?婤扥?扳汴潡杮???で????栀琀琀瀀猀???最椀琀攀攀?挀漀洀?猀欀礀戀氀甀攀? ? ?稀戀?戀氀漀最?戀爀?嬀??崀??砀愀洀?????  ???栀琀琀瀀猀???最椀琀攀攀?挀漀洀?漀挀攀氀漀琀?攀砀愀洀砀砀??戀爀?嬀??崀??攀攀匀椀琀攀??? ????栀琀琀瀀猀???最椀琀栀甀戀?挀漀洀?琀栀椀渀欀最攀洀?樀攀攀猀椀琀攀??戀爀?嬀??崀??欀漀欀愀?????漀洀礀渀?圀愀琀琀椀愀甀?????渀琀椀琀礀?爀攀氀愀琀椀漀渀猀栀椀瀀?愀渀搀?漀戀樀攀挀琀?漀爀椀攀渀琀攀搀?洀漀搀攀氀?愀甀琀漀洀愀琀椀挀?挀氀甀猀琀攀爀椀渀最???愀琀愀????渀漀眀氀攀搀最攀??渀最椀渀攀攀爀椀渀最????????? ???????????嬀搀漀椀?? ?? ???匀 ???? ??堀????    ???崀?戀爀?
    引证文献
    网友评论
    网友评论
    分享到微博
    发 布
引用本文

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

复制
分享
文章指标
  • 点击次数:801
  • 下载次数: 2241
  • HTML阅读次数: 1066
  • 引用次数: 0
历史
  • 收稿日期:2022-03-03
  • 最后修改日期:2022-06-30
  • 在线发布日期: 2023-05-24
  • 出版日期: 2024-03-06
文章二维码
您是第19754413位访问者
版权所有:中国科学院软件研究所 京ICP备05046678号-3
地址:北京市海淀区中关村南四街4号,邮政编码:100190
电话:010-62562563 传真:010-62562533 Email:jos@iscas.ac.cn
技术支持:北京勤云科技发展有限公司

京公网安备 11040202500063号