METHOD OF CONVERTING THE MONOLITHIC ARCHITECTURE OF A FRONT-END APPLICATION TO MICROFRONTENDS
DOI:
https://doi.org/10.20998/2079-0023.2023.02.12Keywords:
information system, software architecture, algorithm, monolith model of an information system, software development process, software migration, microservice architecture, single page application, method of converting to microfrontendsAbstract
Web systems have existed for a long time and quite a lot of them have been created. Modern development uses new microservice architectural to improve performance, portability, and other important characteristics. This necessitates the transformation of legacy systems from a monolithic architecture to a microservices one. Such a process is complex and costly, so improving the methods for converting old systems to a new platform is relevant. This research aims to develop a method of applying microfrontends approach for monolithic single page applications (SPA). The article proposes a method of transforming the software system architecture from monolithic to microservice architecture (MSA). Since the client part of the system is considered, the term microfrontend is proposed, as an analog of microservers in the server part of the software systems. A brief review of existing architecture reengineering research is made and the advantages of a microservice approach are identified. The proposed three-stage method differs from the methods by the selection of an additional stage of conversion, which allows to gently change the connections between parts of the monolithic application, which were implemented in the initial monolithic architecture. The first stage is reverse engineering, it is proposed to shift the focus from the search for outdated code to the functional analysis of the program as such. The second stage, a transition to a modular architecture with the allocation of functionality into separate modules is proposed. At the end of the third stage, we have several separate programs (microinterfaces) that are connected to the main program. An experiment with a typical external SPA demonstrates the operation of the proposed algorithm. The system obtained as a result of the transformation is compared with the original one according to the following measurable parameters: production builds building time, size of the main bundle, and first page average load time. All comparisons showed the advantages of the system obtained as a result of the conversion. As a result, the architecture transformation algorithm allows you to obtain a guaranteed better result, taking into account the limitations of the interface SPA, which were not considered by the authors of previous articles.
References
Furrer, F. J. Future-Proof Software-Systems. Springer, 2019. 376 p.
Gidey H. K., Marmsoler D., Eckhardt J. Grounded Architectures: Using Grounded Theory for the Design of Software Architectures. IEEE International Conference on Soft-ware Architecture Workshops. Available at: https://doi.org/10.1109/ICSAW.2017.41 (accessed 23.10.2023).
Terdal S. Microservices Enabled E-Commerce Web Application. International Journal for Research in Applied Science and Engineering Technology. Available at: https://doi.org/10.22214/ijraset.2022.45791 (accessed 23.10.2023).
Francesco P.D., Lago P., Malavolta I. Migrating towards microservice architectures: An industrial survey. International Conference on Software Architecture. Available at: https://doi.org/10.1109/ICSA.2018.00012. (accessed 23.10.2023).
Cruz P., Astudillo H., Hilliard R., Collado M. Assessing Migration of a 20-Year-Old System to a Micro-Service Platform Using ATAM. 2019 IEEE International Conference on Software Architecture Companion. Available at: https://doi.org/10.1109/ICSA-C.2019.00039. (accessed 23.10.2023).
Auer F., Lenarduzzi V., Felderer M., Taibi D. From monolithic systems to microservices: An assessment framework. Information and Software Technology. Available at: https://doi.org/10.1016/j.infsof.2021.106600. (accessed 23.10.2023).
Li S., Zhang H., Jia Z., Zhing C. et al. Understanding and addressing quality attributes of microservices architecture: A Systematic literature review. Information and Software Technology. Available at: https://doi.org/10.1016/j.infsof.2020.106449. (accessed 23.10.2023).
Soldani J., Tamburri D.A., Van Den Heuvel W.J. The pains and gains of microservices: a systematic grey literature review. Journal of Systems and Software. Available at: https://doi.org/10.1016/j.jss.2018.09.082. (accessed 23.10.2023).
Kazman R., Woods S. G., Carrie`re S. J. Requirements for integrating software architecture and reengineering models: Corum II. Proceedings Fifth Working Conference on Reverse Engineering. Available at: http://doi.org/10.1109/WCRE.1998.723185. (accessed 23.10.2023).
Razavian M., Lago P. Understanding SOA migration using a conceptual framework. Journal of Systems Integration, Available at: https://core.ac.uk/download/pdf/15455794.pdf (accessed 23.10.2023)
Steyer M. Enterprise Angular: Micro Frontends and Moduliths with Angular. Available at: https://www.angulararchitects.io/en/book/. (accessed 23.10.2023).
Homay A., Zoitl A., de Sousa M., Wollschlaeger M. A Survey: Microservices Architecture in Advanced Manufacturing Systems. IEEE 17th International Conference on Industrial Informatics. Available at: http://doi.org/10.1109/INDIN41052.2019.8972079. (accessed 23.10.2023).
Abdellatif M., Shatnawi A., Mili H., Moha N. et al. A Taxonomy of Service Identification Approaches for Legacy Software Systems Modernization. Journal of Systems and Software. Available at: https://doi.org/10.1016/j.jss. 2020.110868. (accessed 23.10.2023).
Hasselbring W., Steinacker G. Microservice Architectures for Scalability, Agility and Re-liability in E-Commerce. IEEE International Conference on Software Architecture Workshops. Available at: http://doi.org/10.1109/ICSAW.2017.11. (accessed 23.10.2023).
Patil M., Prajapat, S. Microservice Architecture for Scalability and Reliability in E-Commerce. International Journal of Advanced Research in Science, Communication and Technology. Available at: http://doi.org/10.48175/IJARSCT-2050. (accessed 23.10.2023).
Asrowardi I., Putra S., Subyantoro E. Designing microservice architectures for scalability and reliability in e-commerce. Journal of Physics: Conference Series. Available at: http://doi.org/10.1088/1742-6596/1450/1/012077. (accessed 23.10.2023).
Evans E. Domain-Driven Design: Tackling Complexity in the Heart of Software. Available at: https://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Soft-ware/dp/0321125215. (accessed 23.10.2023).
Blinowski G., Ojdowska A., Przybylek A. Monolithic vs. Microservice Architecture: A Performance and Scalability Evaluation. IEEE Access. Available at: https://doi.org/10.1109/access.2022.3152803. (accessed 23.10.2023).
di Francesco P., Lago P., Malavolta I. Migrating Towards Microservice Architectures: An Industrial Survey. IEEE International Conference on Software Architecture. Available at: https://doi.org/10.1109/ICSA.2018.00012. (accessed 23.10.2023).
Downloads
Published
How to Cite
Issue
Section
License
This work is licensed under a Creative Commons Attribution 4.0 International License.
Authors who publish with this journal agree to the following terms:
- Authors retain copyright and grant the journal right of first publication with the work simultaneously licensed under a Creative Commons Attribution License that allows others to share the work with an acknowledgement of the work's authorship and initial publication in this journal.
- Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgement of its initial publication in this journal.
- Authors are permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) prior to and during the submission process, as it can lead to productive exchanges, as well as earlier and greater citation of published work (See The Effect of Open Access).