Implementation Of Choreography Message Broker For Asynchronous RESTful Data Transactions
DOI:
https://doi.org/10.21460/jutei.2024.81.321Keywords:
message broker, microservice, choreography, event-driven, container, docker, axon, keycloak, rest, apiAbstract
Currently, hospitals under the Christian Foundation for Public Health (Yayasan Kristen untuk Kesehatan Umum - YAKKUM) operate information systems independently. This implies that each hospital builds and manages its information system independently without systematic involvement with other hospitals. This triggers the emergence of heterogeneous data, necessitating data integration. In enterprise-scale applications, integration issues among application system components will increase with the growing needs and complexity of the application. One way to address this is by implementing middleware with a choreography approach as an intermediary between services. The system implements Axon Server as a message broker configured with an event handler in tracking processor mode. Each service has its own database supported by the implementation of infrastructure using Docker. The system is tested based on scenarios testing the reliability of data transactions between services in rollback or compensating transactions, choreography, and event consumption. Test results indicate that all testing scenarios were successfully executed even when services underwent a reboot during the testing process. Additionally, testing with unit tests, component tests, and integration tests successfully completed 46 test cases per 46 total test cases for the User Service and 27 test cases per 27 total test cases for the Auth Service. However, the test results also revealed anomalies or bugs when processing data transactions based on the saga pattern.
References
Yayasan Kristen untuk Kesehatan Umum, “Unit Layanan,” 16 Juni 2022. [Online]. Available: https://yakkum.or.id/unit-layanan/. [Diakses 16 Juni 2022].
M. Weske, Business Process Management, Heidelberg: Springer Berlin, 2019.
A. Bellemare, Building Event-Driven Microservices, O'Reilly Media, Inc., 2020.
I. Nadareishvili, R. Mitra, M. McLarty dan M. Amundsen, Microservice Architecture: Aligning Principles, Practices, and Culture, O’Reilly Media, Inc., 2016.
C. Richardson, Microservices Patterns With Examples in Java, Manning Publications Co., 2019.
L. Johansson dan D. Dossot, RabbitMQ Essentials: Build distributed and scalable applications with message queuing using RabbitMQ, Packt Publishing, 2020.
AxonIQ, “Axon Reference Guide,” 01 Desember 2023. [Online]. Available: https://docs.axoniq.io/reference-guide/.
Docker, Inc., “Docker Overview,” 01 Desember 2023. [Online]. Available: https://docs.docker.com/get-started/overview/.
Spring Projects, “Spring Boot,” 01 Desember 2023. [Online]. Available: https://spring.io/projects/spring-boot.
Spring Projects, “Spring Data JPA,” 01 Desember 2023. [Online]. Available: https://spring.io/projects/spring-data-jpa.
Keycloak, “Server Administration Guide Version 22.0.5,” 1 Desember 2023. [Online]. Available: https://www.keycloak.org/docs/22.0.5/server_admin/.
S. Marcos-Pablos, A. García-Holgado dan F. J. García-Peñalvo, “Modelling the business structure of a digital health ecosystem,” Proceedings of the Seventh International Conference on Technological Ecosystems for Enhancing Multiculturality, pp. 838-846, Oktober 2019.
C. K. Rudrabhatla, “Comparison of Event Choreography and Orchestration Techniques in Microservice Architecture,” International Journal of Advanced Computer Science and Applications, vol. 9, no. 8, pp. 18-22, 2018.
B. H. Malik, Z. M. Dar, S. M. Kayani, M. Dar, M. H. Shafiq, I. Kabir, F. Masood, H. Zakriya dan A. Ali, “University Notification Subscription System using Amazon Web Service,” International Journal of Advanced Computer Science and Applications, vol. 9, no. 5, pp. 349-354, 2018.
X. J. Hong, H. S. Yang dan Y. H. Kim, “Performance Analysis of RESTful API and RabbitMQ for Microservice Web Application,” 2018 International Conference on Information and Communication Technology Convergence (ICTC), pp. 257-259, 2018.
Downloads
Published
How to Cite
Issue
Section
License
Copyright (c) 2024 Desendo Imanuel, Maria Nila Anggia Rini, Budi Susanto
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Authors who publish articles in JUTEI agree on the following rules:
1. The author grants non exclusive royalty free rights, and is willing to publish articles online and complete (full access). With such rights JUTEI reserves the right to save, transfers, manages in various forms, maintains and publishes articles while keeping the author's name as the copyright owner.
2. Each author contained in the article has contributed fully to the substance and intellectual, and is accountable to the public. If in the future there is a copyright infringement notification then this will be responsibility of the author, not JUTEI.