Orchestration of service-oriented applications with reactive programming techniques

Authors

DOI:

https://doi.org/10.15587/2706-5448.2024.310031

Keywords:

service-oriented architecture (SOA), reactive programming, event loop, asynchronous requests

Abstract

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.

Author Biography

Ihor Kasianchuk, National Technical University of Ukraine «Igor Sikorsky Kyiv Polytechnic Institute»

PhD Student

Department of System Design

 

References

  1. Lewis, J., Fowler, M. (2017). Microservices: A definition of this new architectural term. Martin Fowler. Available at: https://martinfowler.com/articles/microservices.html
  2. Erl, T. (2005). Service-Oriented Architecture: Concepts, Technology, and Design. Prentice Hall PTR.
  3. Peng, H., Shi, Z., Qiu, L. (2007). Matching Request Profile and Service Profile for Semantic Web Service Discovery. Available at: https://www.researchgate.net/publication/239813737_Matching_Request_Profile_and_Service_Profile_for_Semantic_Web_Service_Discovery
  4. Deakin, T., Cook, R. (2018). Service-Oriented Architecture and Web Services: Concepts, Technologies, and Tools. Journal of Systems and Software, 137, 116–130.
  5. Reactive Streams (2013). Reactive Streams Initiative. Available at: http://www.reactive-streams.org
  6. Hohpe, G., Woolf, B. (2003). Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions. Addison-Wesley.
  7. Pardon, G., De Backer, R. (2011). Building Scalable Applications with Event-Driven Architecture. Proceedings of the International Conference on Software Engineering.
  8. Hohpe, G., Woolf, B. (2003). Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions. Addison-Wesley, 736.
  9. Ministry of Finance of Ukraine (2024). Available at: https://mof.gov.ua/uk/
  10. Richards, M. (2006). Pro Java EE 5 Performance Management and Optimization.
Orchestration of service-oriented applications with reactive programming techniques

Downloads

Published

2024-08-16

How to Cite

Kasianchuk, I. (2024). Orchestration of service-oriented applications with reactive programming techniques. Technology Audit and Production Reserves, 4(2(78), 24–29. https://doi.org/10.15587/2706-5448.2024.310031

Issue

Section

Information Technologies