
Об'єктом дослідження є модульний підхід до побудови додатків з використанням SOA, а також порівняння синхронних та асинхронних методологій обробки запитів з використанням архітектури реактивного програмування. SOA дозволяє розділяти додатки на незалежні компоненти, що забезпечує їх легку інтеграцію та масштабованість у розподілених обчислювальних середовищах. Завдяки SOA можливо створити мережу слабо пов'язаних сервісів, що надає користувачам гнучкість у створенні додатків, адаптованих під конкретні потреби. Однією з найбільших проблем є блокування потоків і нестабільність системи під великим навантаженням при використанні синхронних методів. У дослідженні порівнюються синхронні та асинхронні методології обробки запитів з використанням WebFlux, а також розглядаються ключові компоненти SOA, такі як механізми виявлення сервісів та моделі взаємодії, зокрема оркестрація та хореографія. Отримано результати, які показують, що асинхронні підходи, використовуючи неблокуючу архітектуру, керовану подіями, зменшують кількість активних потоків, підвищують стійкість системи та покращують продуктивність. Це пов'язано з тим, що запропонований неблокуючий, подієво керований підхід має низку особливостей, включаючи зменшення блокування потоків і покращення стійкості системи під великим навантаженням. Синхронні методи, хоча і прості, мають недоліки, такі як блокування потоків і нестабільність системи під надмірними навантаженнями. Завдяки цьому забезпечується висока ефективність обробки великої кількості запитів у реальному часі. У порівнянні з аналогічними відомими підходами це забезпечує такі переваги, як підвищена стійкість системи та ефективне використання ресурсів, що робить цей підхід особливо корисним для масштабованих архітектур додатків у розподілених обчислювальних середовищах.
The object of research is the modular approach to application development using SOA, as well as the comparison of synchronous and asynchronous request processing methodologies using a reactive programming architecture. SOA allows applications to be divided into independent components, ensuring easy integration and scalability in distributed computing environments. With SOA, it is possible to create a network of loosely coupled services, providing users with the flexibility to develop applications tailored to specific needs. One of the main issues is thread blocking and system instability under heavy loads when using synchronous methods. The study compares synchronous and asynchronous request processing methodologies using WebFlux, and examines key components of SOA, such as service discovery mechanisms and interaction models, particularly orchestration and choreography. The results show that asynchronous approaches, using a non-blocking, event-driven architecture, reduce the number of active threads, increase system resilience, and improve performance. This is because the proposed non-blocking, event-driven approach has several features, including reducing thread blocking and enhancing system stability under heavy loads. Synchronous methods, while straightforward, have drawbacks such as thread blocking and system instability under excessive loads. As a result, there is a high efficiency in processing a large number of requests in real-time. Compared to similar known approaches, this provides advantages such as increased system resilience and efficient resource utilization, making this approach particularly useful for scalable application architectures in distributed computing environments.
сервіс-орієнтоване програмування (SOA), reactive programming, реактивне програмування, цикл подій, асинхронні запити, service-oriented architecture (SOA), event loop, asynchronous requests
сервіс-орієнтоване програмування (SOA), reactive programming, реактивне програмування, цикл подій, асинхронні запити, service-oriented architecture (SOA), event loop, asynchronous requests
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
