Optimization of the development process of monolithic multi-module projects in Java
Дата
2024
DOI
https://doi.org/10.20998/2079-0023.2024.01.13
Науковий ступінь
Рівень дисертації
Шифр та назва спеціальності
Рада захисту
Установа захисту
Науковий керівник
Члени комітету
Назва журналу
Номер ISSN
Назва тому
Видавець
Національний технічний університет "Харківський політехнічний інститут"
Анотація
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.
В останні роки спостерігається зростання складності розробки програмного забезпечення на Java та зміна обсягу проєктів, у тому числі збільшення кількості модулів у проєктах. Багатомодульність проєктів хоча й покращує певною мірою керованість, але часто створює низку проблем, які можуть ускладнити розробку та, проблему, яка з’явиться в майбутньому, вимагати більше ресурсів для підтримки. У цій статті буде проаналізовано основні проблеми монолітних багатомодульних Java-проєктів і зроблена спроба розглянути ряд можливих рішень для подолання вищезазначених проблем. У статті розглядаються особливості роботи з багатомодульними монолітними проєктами з використанням Java як основної мови програмування. Метою даної статті є виявлення особливостей і перешкод при використанні вищезазначеного архітектурного підходу програмного забезпечення, аналіз основних можливих проблем роботи з монолітними багатомодульними Java-проєктами, а також надання рекомендацій щодо усунення цих перешкод або опису особливостей процесу, який може допомогти інженерам у підтримці такого роду проєктів. Іншими словами, основною метою даної роботи є створення рекомендацій, надання сучасних кращих практик роботи з монолітною багатомодульною архітектурою програмного забезпечення та найпопулярнішими сучасними технологічними рішеннями, які використовуються в корпоративній розробці. Запропоновані рекомендації дозволяють команді, насамперед розробникам та інженерній стороні, уникнути можливих перешкод, які призводять до втрати ефективності процесу розробки монолітного програмного забезпечення. Найважливішою перевагою, з рекомендацій, наведених у статті, є оптимізація витрат ресурсів (часвих, грошових і трудових) на процес розробки. У результаті статті отримано загальний список рекомендацій, який дозволяє розробнику краще проаналізувати, які зміни в проєкті необхідно (якщо необхідно) внести для оптимізації процесів розробки, збірки та розгортання монолітного Java-проєкту, а також поради для розробки нового програмного забезпечення, щоб уникнути основних перешкод монолітної архітектури в майбутньому.
В останні роки спостерігається зростання складності розробки програмного забезпечення на Java та зміна обсягу проєктів, у тому числі збільшення кількості модулів у проєктах. Багатомодульність проєктів хоча й покращує певною мірою керованість, але часто створює низку проблем, які можуть ускладнити розробку та, проблему, яка з’явиться в майбутньому, вимагати більше ресурсів для підтримки. У цій статті буде проаналізовано основні проблеми монолітних багатомодульних Java-проєктів і зроблена спроба розглянути ряд можливих рішень для подолання вищезазначених проблем. У статті розглядаються особливості роботи з багатомодульними монолітними проєктами з використанням Java як основної мови програмування. Метою даної статті є виявлення особливостей і перешкод при використанні вищезазначеного архітектурного підходу програмного забезпечення, аналіз основних можливих проблем роботи з монолітними багатомодульними Java-проєктами, а також надання рекомендацій щодо усунення цих перешкод або опису особливостей процесу, який може допомогти інженерам у підтримці такого роду проєктів. Іншими словами, основною метою даної роботи є створення рекомендацій, надання сучасних кращих практик роботи з монолітною багатомодульною архітектурою програмного забезпечення та найпопулярнішими сучасними технологічними рішеннями, які використовуються в корпоративній розробці. Запропоновані рекомендації дозволяють команді, насамперед розробникам та інженерній стороні, уникнути можливих перешкод, які призводять до втрати ефективності процесу розробки монолітного програмного забезпечення. Найважливішою перевагою, з рекомендацій, наведених у статті, є оптимізація витрат ресурсів (часвих, грошових і трудових) на процес розробки. У результаті статті отримано загальний список рекомендацій, який дозволяє розробнику краще проаналізувати, які зміни в проєкті необхідно (якщо необхідно) внести для оптимізації процесів розробки, збірки та розгортання монолітного Java-проєкту, а також поради для розробки нового програмного забезпечення, щоб уникнути основних перешкод монолітної архітектури в майбутньому.
Опис
Ключові слова
multi-module architecture, software, programming languages, monolithic architecture, програмне забезпечення, багатомодульність проєктів, мови програмування, монолітні архітектури, плагіни
Бібліографічний опис
Veres M. D. Optimization of the development process of monolithic multi-module projects in Java / M. D. Veres, N. V. Golian // Вісник Національного технічного університету "ХПІ". Сер. : Системний аналіз, управління та інформаційні технології = Bulletin of the National Technical University "KhPI". Ser. : System analysis, control and information technology : зб. наук. пр. – Харків : НТУ "ХПІ", 2024. – № 1. – С. 80-84.