OPTIMIZATION OF THE DEVELOPMENT PROCESS OF MONOLITHIC MULTI-MODULE PROJECTS IN JAVA

Authors

DOI:

https://doi.org/10.20998/2079-0023.2024.01.13

Keywords:

monolithic architecture, multi-module architecture, Java, project build, module, development, project deployment

Abstract

In recent years, there has been an increase in the complexity of Java software development and a change in the scope of projects, including an increase in the number of modules in projects. The multi-modularity of projects, although it improves manageability to a certain extent, but often creates a number of problems that can complicate development and, a problem that will appear in the future, require more resources to support. This article will analyze the main problems of monolithic multi-module Java projects and will try to consider a number of possible solutions to overcome the above problems. The article discusses the peculiarities of working with multi-module monolithic projects using Java as the main programming language. The purpose of this article is to identify features and obstacles using the above architectural approach of the software, analysis of the main possible issues of working with the monolithic multi-module Java projects, as well as providing recommendations for eliminating these obstacles or describing the features of the process that could help engineers in supporting this kind of projects. In other word the main goal of this work is to create recommendations, provide modern best practices for working with monolithic multi-modular software architecture and the most popular modern technological solutions used in corporate development. The proposed recommendations allow the team, primarily developers and the engineering side, to avoid possible obstacles that lead to the loss of efficiency of the monolithic software development process. The most important advantage, from the recommendations given in the article, is the optimization of resource costs (time, money and labor) for the development process. As a result of the article, a general list of recommendations was obtained, which allows the developer to better analyze what changes in the project should (if necessary) be made to optimize the development, assembly and deployment processes of a monolithic Java project, as well as advice before designing new software to avoid the main obstacles of monolithic architecture in the future.

Author Biographies

Maksym Veres, Kharkiv National University of Radio Electronics

Student, Kharkiv National University of Radio Electronics, Kharkiv, Ukraine

Natalia Golian, Kharkiv National University of Radio Electronics

Associate Professor of the Department of Software Engineering, Kharkiv National University of Radio Electronics, Kharkiv, Ukraine

References

Atlassian. Microservices vs. monolithic architecture. Available at: https://www.atlassian.com/microservices/microservices-architecture/microservices-vs-monolith (accessed 10.05.2024).

Martin, R. C. Clean Architecture. Prentice Hall, 2017. 432 p.

Microservices.io. Pattern: Monolithic Architecture. Available at: https://microservices.io/patterns/monolithic.html (accessed 10.05.2024).

Fowler M. Patterns of Enterprise Application Architecture. Addison-Wesley Professional, 2003. 560 p.

Android Developers. Guide to Android app modularization. Available at: https://developer.android.com/topic/modularization (accessed 10.05.2024).

Bloch, J. Effective Java. Addison-Wesley Professional, 2017. 416 p.

Franklin, C. A Guide to Java 9 Modularity. Baeldung. Available at: https://www.baeldung.com/java-9-modularity (accessed 10.05.2024).

Parlog, N. The Java Module System. Manning Publications Co. LLC, 2019. 440 p.

Lalou, J. Apache Maven Dependency Management. Packt Publishing, 2013. 158 p.

Muschko B. Gradle in action. Manning Publications Co. LLC, 2014. 480 p.

Mouat A. Using docker: developing and deploying software with containers. O'Reilly Media, Incorporated, 2015. 354 p.

Oggl B., Kofler M. Docker: practical guide for developers and devops teams (the rheinwerk computing). Rheinwerk Computing, 2023. 491 p.

Downloads

Published

2024-07-30

How to Cite

Veres, M., & Golian, N. (2024). OPTIMIZATION OF THE DEVELOPMENT PROCESS OF MONOLITHIC MULTI-MODULE PROJECTS IN JAVA. Bulletin of National Technical University "KhPI". Series: System Analysis, Control and Information Technologies, (1 (11), 80–84. https://doi.org/10.20998/2079-0023.2024.01.13

Issue

Section

INFORMATION TECHNOLOGY