Architectural Decomposition Strategies for Migrating Legacy Java EE Monoliths to Cloud‑Native Microservices

Main Article Content

Tathagata Roy

Abstract

This paper presents a structured technical roadmap for decomposing legacy Java EE monoliths into independently deployable, cloud native microservices. The modernization effort focuses on enterprise applications built on JSPs, Servlets, Struts 2.0, EJBs, MDBs, Axis based SOAP services, and iBATIS driven persistence layers. These systems typically rely on tightly coupled modules, shared state, and synchronous communication patterns that limit scalability and operational resilience. The proposed approach outlines the architectural refactoring required to migrate these components into a Kubernetes containerized environment. Objectives include the replacement of point to point and JTA-based two-phase commit workflows, the transformation of MDB based asynchronous logic into Kafka consumer services, the evolution of Axis SOAP endpoints into RESTful interfaces, and the transition from shared schema iBATIS implementations to decentralized, database-per-service designs. The resulting framework provides a repeatable methodology for reducing architectural debt, improving throughput, and supporting compliant processing in regulated domains such as financial services.

Article Details

How to Cite
Roy, T. (2023). Architectural Decomposition Strategies for Migrating Legacy Java EE Monoliths to Cloud‑Native Microservices. The Eastasouth Journal of Information System and Computer Science, 1(02), 311–324. https://doi.org/10.58812/esiscs.v1i02.1269
Section
Articles

References

[1] Y. Abgaz et al., “Decomposition of Monolith Applications Into Microservices Architectures: A Systematic Review,” IEEE Trans. Softw. Eng., vol. 49, no. 8, pp. 4213–4242, 2023, doi: 10.1109/TSE.2023.3287297.

[2] V. Velepucha and P. Flores, “A Survey on Microservices Architecture: Principles, Patterns and Migration Challenges,” IEEE Access, vol. 11, pp. 88339–88358, 2023, doi: 10.1109/ACCESS.2023.3305687.

[3] M. Kalske, N. Mäkitalo, and T. Mikkonen, “Challenges When Moving from Monolith to Microservice Architecture,” in Current Trends in Web Engineering, I. Garrigós and M. Wimmer, Eds., Cham: Springer International Publishing, 2018, pp. 32–47. doi: https://doi.org/10.1007/978-3-319-74433-9_3.

[4] Oracle Corporation, “Oracle WebLogic Server 14.1.1.0 documentation,” Oracle Corporation. [Online]. Available: https://docs.oracle.com/en/middleware/standalone/weblogic-server/14.1.1.0/

[5] M. Djerou and O. Tibermacine, “SAGA Distributed Transactions Verification Using Maude,” in 2022 International Symposium on iNnovative Informatics of Biskra (ISNIB), 2022, pp. 1–6. doi: 10.1109/ISNIB57382.2022.10076050.

[6] E. Daraghmi, C.-P. Zhang, and S.-M. Yuan, “Enhancing saga pattern for distributed transactions within a microservices architecture,” Appl. Sci., vol. 12, no. 12, p. 6242, 2022, doi: 10.3390/app12126242.

[7] Eclipse Foundation, “Jakarta Transactions specification (Version 2.0),” Eclipse Foundation, Inc. [Online]. Available: https://jakarta.ee/specifications/transactions/2.0/

[8] J. Fritzsch, J. Bogner, A. Zimmermann, and S. Wagner, “From Monolith to Microservices: A Classification of Refactoring Approaches,” in Software Engineering Aspects of Continuous Development and New Paradigms of Software Production and Deployment, J.-M. Bruel, M. Mazzara, and B. Meyer, Eds., Cham: Springer International Publishing, 2019, pp. 128–141. doi: https://doi.org/10.1007/978-3-030-06019-0_10.

[9] J. Bogner, J. Fritzsch, S. Wagner, and A. Zimmermann, “Microservices in Industry: Insights into Technologies, Characteristics, and Software Quality,” in 2019 IEEE International Conference on Software Architecture Companion (ICSA-C), 2019, pp. 187–195. doi: 10.1109/ICSA-C.2019.00041.

[10] VMware Inc, “Spring Boot reference documentation (Version 3.1),” VMware, Inc. [Online]. Available: https://docs.spring.io/spring-boot/docs/3.1.x/reference/html/

[11] Kubernetes, “Kubernetes documentation (Version 1.28),” Kubernetes. [Online]. Available: https://kubernetes.io/docs/home/

[12] S. Kumari and S. K. Rath, “Performance comparison of SOAP and REST based Web Services for Enterprise Application Integration,” in 2015 International Conference on Advances in Computing, Communications and Informatics (ICACCI), 2015, pp. 1656–1660. doi: 10.1109/ICACCI.2015.7275851.

[13] S.-P. Ma, C.-Y. Li, W.-T. Lee, and S.-J. Lee, “Microservice Migration Using Strangler Fig Pattern and Domain-Driven Design.,” J. Inf. Sci. Eng., vol. 38, no. 6, p. 1285, 2022, doi: 10.6688/JISE.2022ll_38(6).0010.

[14] Apache Software Foundation, “Apache iBATIS Java implementation,” Apache Software Foundation. [Online]. Available: https://ibatis.apache.org/java.html

[15] T. P. Raptis and A. Passarella, “A Survey on Networked Data Streaming With Apache Kafka,” IEEE Access, vol. 11, pp. 85333–85350, 2023, doi: 10.1109/ACCESS.2023.3303810.

[16] H. Wu, Z. Shang, G. Peng, and K. Wolter, “A Reactive Batching Strategy of Apache Kafka for Reliable Stream Processing in Real-time,” in 2020 IEEE 31st International Symposium on Software Reliability Engineering (ISSRE), 2020, pp. 207–217. doi: 10.1109/ISSRE5003.2020.00028.

[17] Apache Software Foundation, “Apache Kafka documentation (Version 3.6),” Apache Software Foundation. [Online]. Available: https://kafka.apache.org/36/documentation.html

[18] P. Di Francesco, P. Lago, and I. Malavolta, “Architecting with microservices: A systematic mapping study,” J. Syst. Softw., vol. 150, pp. 77–97, 2019, doi: 10.1016/j.jss.2019.01.001.

[19] D. Ernst and S. Tai, “Offline Trace Generation for Microservice Observability,” in 2021 IEEE 25th International Enterprise Distributed Object Computing Workshop (EDOCW), 2021, pp. 308–317. doi: 10.1109/EDOCW52865.2021.00062.

[20] S. Vyas, R. K. Tyagi, C. Jain, and S. Sahu, “Performance Evaluation of Apache Kafka – A Modern Platform for Real Time Data Streaming,” in 2022 2nd International Conference on Innovative Practices in Technology and Management (ICIPTM), 2022, pp. 465–470. doi: 10.1109/ICIPTM54933.2022.9754154.

[21] A. Akbulut and H. G. Perros, “Performance Analysis of Microservice Design Patterns,” IEEE Internet Comput., vol. 23, no. 6, pp. 19–27, 2019, doi: 10.1109/MIC.2019.2951094.

[22] M. Fowler, “Strangler fig application,” Martin Fowler. [Online]. Available: https://martinfowler.com/bliki/StranglerFigApplication.html

[23] R. A. Schmidt and M. Thiry, “Microservices identification strategies : A review focused on Model-Driven Engineering and Domain Driven Design approaches,” in 2020 15th Iberian Conference on Information Systems and Technologies (CISTI), 2020, pp. 1–6. doi: 10.23919/CISTI49556.2020.9141150.

[24] C.-Y. Li, S.-P. Ma, and T.-W. Lu, “Microservice Migration Using Strangler Fig Pattern: A Case Study on the Green Button System,” in 2020 International Computer Symposium (ICS), 2020, pp. 519–524. doi: 10.1109/ICS51289.2020.00107.

[25] C. K. Rudrabhatla, “Comparison of event choreography and orchestration techniques in microservice architecture,” Int. J. Adv. Comput. Sci. Appl., vol. 9, no. 8, 2018, doi: 10.14569/IJACSA.2018.090804.

[26] M. Štefanko, O. Chaloupka, and B. Rossi, “The Saga Pattern in a Reactive Microservices Environment,” in Proceedings of the 14th International Conference on Software Technologies, in ICSOFT 2019. Setubal, PRT: SCITEPRESS - Science and Technology Publications, Lda, 2019, pp. 483–490. doi: 10.5220/0007918704830490.

[27] A. Krause, C. Zirkelbach, W. Hasselbring, S. Lenga, and D. Kröger, “Microservice Decomposition via Static and Dynamic Analysis of the Monolith,” in 2020 IEEE International Conference on Software Architecture Companion (ICSA-C), 2020, pp. 9–16. doi: 10.1109/ICSA-C50368.2020.00011.

[28] M. Waseem, P. Liang, and M. Shahin, “A Systematic Mapping Study on Microservices Architecture in DevOps,” J. Syst. Softw., vol. 170, p. 110798, 2020, doi: https://doi.org/10.1016/j.jss.2020.110798.