Acknowledgement
This work was supported by the National Research Foundation of Korea (NRF) grant funded by the Korea government (MSIT) (NRF-2021R1F1A1048842). This study was supported by the Research Fund, 2021 of The Catholic University of Korea. This paper is a revised and expanded version of a Master's thesis [37] written by one of the authors.
References
- H. M. Kienle and D. Distante, "Evolution of web systems," in Evolving Software Systems, Berlin, Germany: Springer, ch. 7, pp. 201-228, 2014. DOI: 10.1007/978-3-642-45398-4_7.
- M. d' Aquin, M. Sabou, and E. Motta, "Modularization: a key for the dynamic selection of relevant knowledge components," in Proceeding of the Workshop on Modular Ontologies, Athens: GA, pp. 1-14, 2006.
- S. Comella-Dorda, K. Wallnau, R. C. Seacord, and J. Robert, "A survey of black-box modernization approaches for information systems," in Proceeding of the. International Conference on Software Maintenance, San Jose: CA, pp. 173-183, 2000. DOI: 10.1109/ICSM.2000.883039.
- N. Dragoni, S. Giallorenzo, A. L. Lafuente, M. Mazzara, F. Montesi, R. Mustafin, and L. Safina, "Microservices: yesterday, today, and tomorrow," in Present and Ulterior Software Engineering, Cham, Switzerland: Springer, ch. 12, pp. 195-216, 2017. DOI: 10.1007/978-3-319-67425-4_12.
- J. Fritzsch, J. Bogner, S. Wagner, and A. Zimmermann, "Microservices migration in industry: intentions, strategies, and challenges," in Proceeding of the International Conference on Software Maintenance and Evolution, Cleveland: OH, pp. 481-490, 2019. DOI: 10.1109/ICSME.2019.00081.
- J. Thones, "Microservices," IEEE Software, vol. 32, no. 1, pp. 116-116, 2015. DOI: 10.1109/MS.2015.11.
- M. Abdellatif, A. Shatnawi, H. Mili, N. Moha, G. E. Boussaidi, G. Hecht, J. Privat, and Y. Gueheneuc, "A taxonomy of service identification approaches for legacy software systems modernization," Journal of Systems and Software, vol. 173, no. 1 pp. 11086, 2021. DOI: 10.1016/j.jss.2020.110868.
- H. Knoche and W. Hasselbring, "Using microservices for legacy software modernization," IEEE Software, vol. 35, no. 3, pp. 44-49, 2018. DOI: 10.1109/MS.2018.2141035.
- A. Levcovitz, R. Terra, and M. T. Valente, "Towards a technique for extracting microservices from monolithic enterprise systems," arXiv:1605.03175, 2016. DOI: 10.48550/arXiv.1605.03175.
- M. Kamimura, K. Yano, T. Hatano, and A. Matsuo, "Extracting candidates of microservices from monolithic application code," in Proceeding of the Asia Pacific Software Engineering Conference, Nara, Japan, pp. 571-580, 2018. DOI: 10.1109/APSEC.2018.00072.
- G. Mazlami, J. Cito, and P. Leitner, "Extraction of microservices from monolithic software architectures," in Proceeding of the International Conference on Web Service, Honolulu: HI, pp. 524-531, 2017. DOI: 10.1109/ICWS.2017.61.
- N. Dmitry and S.S. Manfred, "On micro-services architecture," International Journal of Open Information Technologies, vol. 2, no. 9, pp. 24-27, 2014.
- D. Bajaj, A. Goel, and S. C. Gupta, "GreenMicro: identifying microservices from use cases in greenfield development," IEEE Access, vol. 10, pp. 67008-67018, 2022. DOI: 10.1109/ACCESS.2022.3182495.
- W. Jin, T. Liu, Q. Zheng, D. Cui, and Y. Cai, "Functionality-oriented microservice extraction based on execution trace clustering," in Proceeding of the International Conference on Web Services, San Francisco: CA, pp. 211-218, 2018. DOI: 10.1109/ICWS.2018.00034.
- S. Tyszberowicz, R. Heinrich, B. Liu, and Z. Liu, "Identifying microservices using functional decomposition," in Proceeding of the International Symposium on Dependable Software Engineering. Theories, Tools, and Applications, Beijing, China, pp. 50-65, 2018. DOI: 10.1007/978-3-319-99933-3_4.
- Y. Zhang, B. Liu, L. Dai, K. Chen, and X. Cao, "Automated microservice identification in legacy systems with functional and non-functional metrics," in Proceeding of the International Conference on Software Architecture, Salvador, Brazil, pp. 135-145, 2020. DOI: 10.1109/ICSA47634.2020.00021.
- L. Bao, C. Yin, W. He, J. Ge, and P. Chen, "Extracting reusable services from legacy object-oriented systems," in Proceeding of the International Conference on Software Maintenance, Timisoara, Romania, pp. 1-5, 2010. DOI: 10.1109/ICSM.2010.5609744.
- A. K. Kalia, J. Xiao, R. Krishna, S. Sinha, M. Vukovic, and D. Banerjee, "Mono2Micro: a practical and effective tool for decomposing monolithic Java applications to microservices," in Proceeding of the ACM Joint Meeting of European Software Engineering Conference and Symposium on the Foundations of Software Engineering, Athens, Greece, pp. 1214-1224, 2021. DOI: 10.1145/3468264.3473915.
- D. Taibi and K. Systa, "From monolithic systems to microservices: a decomposition framework based on process mining," in Proceeding of the International Conference on Cloud Computing and Services Science, Heraklion, Greece, pp. 153-164, 2019. DOI: 10.5220/0007755901530164.
- B. Kurniawan, Java for the web with servlets, JSP, and EJB: A Developer's Guide to J2EE Solutions, Carmel, IN: Sams, 2002.
- C. D. Grosso, M. D. Penta, and I. G. R. de Guzman, "An approach for mining services in database oriented applications," in Proceeding of the European Conference on Software Maintenance and Reengineering, Amsterdam, Netherlands, pp. 287-296, 2007. DOI: 10.1109/CSMR.2007.11.
- S. H. Kim and J. Oh, "An effective reuse-based approach to automatic identification of microservices," Journal of the Korea Institute of Information and Communication Engineering, vol. 27, no. 6, pp. 673-687, 2023. DOI: 10.6109/jkiice.2023.27.6.673.
- S. H. Kim, J. H. Shin, and J. Oh, "Utilizing web component structure for automatic microservices identification," Journal of the Korea Institute of Information and Communication Engineering, vol. 27, no. 7, pp. 892-895, 2023. DOI: 10.6109/jkiice.2023.27.7.892.
- G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. G. Griswold, "An overview of aspectJ," in Proceeding of the European Conference on Object-Oriented Programming, Budapest, Hungary, pp. 327-354, 2001. DOI: 10.1007/3-540-45337-7_18.
- B. Andrade, S. Santos, and A. R. Silva, "From monolith to microservices: static and dynamic analysis comparison," arXiv:2204.11844, 2022. DOI: 10.48550/arXiv.2204.11844.
- L. Meurice, C. Nagy, and A. Cleve, "Static analysis of dynamic database usage in java systems," in Proceeding of the International Conference on Advanced Information System Engineering, Ljubljana, Slovenia, pp. 491-506, 2016. DOI: 10.1007/978-3-319-39696-530.
- A. Cleve and J.-L. Hainaut, "Dynamic analysis of SQL statements for data-intensive applications reverse engineering," in Proceeding of the Working Conference on Reverse Engineering, Antwerp, Belgium, pp. 192-196, 2008. DOI: 10.1109/WCRE.2008.38.
- J. Oh, W. H. Ahn, and T. Kim, "Automatic extraction of dependencies between web components and database resources in java web applications," Journal of Information and Communication Convergence Engineering, vol. 17, no. 2, pp. 149-160, 2019. https://doi.org/10.6109/JICCE.2019.17.2.149
- M. Stal, "Using architectural patterns and blueprints for service-oriented architecture," IEEE Software, vol. 23, no. 2, pp. 54-61, 2006. DOI: 10.1109/MS.2006.60.
- J. Oh, H. Ahn, and T. Kim, "Automatic extraction of component collaboration in java web applications by using servlet filters and wrappers," KIPS Transactions on Software and Data Engineering, vol. 6, no. 7, pp. 329-336, 2017. https://doi.org/10.3745/KTSDE.2017.6.7.329
- J. B. Kruskal, "On the shortest spanning subtree of a graph and the traveling salesman problem," Proceedings of the American Mathematical Society, vol. 7, no. 1, pp. 48-50, 1956. DOI: 10.2307/2033241.
- T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduction to algorithms. Cambridge, MA: MIT Press, 2009.
- B. S. Mitchell and S. Mancoridis, "On the automatic modularization of software systems using the Bunch tool," IEEE Transactions on Software Engineering, vol. 32, no. 3, pp. 193-208, 2006. DOI: 10.1109/TSE.2006.31.
- M, Melanie. An introduction to genetic algorithms. Cambridge, MA: MIT press, 1998.
- R. Sibson, "SLINK: An optimally efficient algorithm for the single-link cluster method," The Computer Journal, vol. 16, no. 1, pp. 30-34, 1973. DOI: 10.1093/comjnl/16.1.30.
- M. Grandiniconsider, E. Bagli, and G. Visani, "Metrics for multi-class classification: an overview," arXiv:2008.05756, 2020. DOI: 10.48550/arXiv.2008.05756.
- D. Jung, "A use-case-based approach to transforming legacy web applications into microservices," M.S. dissertation, The Catholic University of Korea, Bucheon, Republic of Korea, 2023.