Real-Time Remote Messaging for Treasury and Risk Management System

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

School of Science | Master's thesis

Department

Major/Subject

Mcode

Language

en

Pages

77

Series

Abstract

As the popularity of microservice architecture has risen in recent years, so has the importance of real-time remote messaging. It is crucial that the communication between the server and the client is fast and stable, and a suitable remote messaging framework is used. As the technology and the development environments continue to evolve and change, the popularity of frameworks changes too. For example, Windows Communication Foundation (WCF) by Microsoft has been abandoned due to its limited platform compatibility. This had led to many developers searching for newer future-proof frameworks that could replace old outdated frameworks used in their applications. In order to choose a suitable framework that can replace the old framework in the system, CoreWCF in our case, we need to research what options are available. The frameworks used in remote messaging are typically middlewares. There are two types of middlewares that are frequently used in remote messaging; asynchronous Message-Oriented Middleware (MOM) and synchronous Remote Procedure Call (RPC). After examining various MOM-based frameworks and RPC-based frameworks and evaluating their features, advantages and flaws, two candidate frameworks, one from each type, are selected. The prototypes based on the chosen candidates are created and they are benchmarked in simulations emulating typical remote messaging use cases in the system. Based on the performance, scalability and reliability of the prototypes, the final candidate framework is selected. The chosen framework is used to implement a new remote messaging version for the system. After various kinds of research, comparison and evaluation, RabbitMQ was selected as the new framework. The new remote messaging version written with RabbitMQ has so far proven to be a success. Unexpected connection losses observed in the old version have vanished, and the performance has risen drastically. Also, RabbitMQ is a platform-independent framework. Therefore, the developers have more versatile and flexible options for future additions, particularly with microservices.

Mikropalveluarkkitehtuurin suosion nousemisen myötä myös reaaliaikaisen etäviestinnän merkitys on kasvanut. On tärkeää, että liikenne palvelimen ja asiakasohjelman välillä on nopeaa ja vakaata, ja että etäviestintä käyttää sopivaa ohjelmistokehystä. Teknologian ja kehitysympäristöjen kehittymisen ja muuttumisen myötä ohjelmistokehysten suosiotkin muuttuvat. Esimerkiksi Microsoft Windows Communication Foundation (WCF) hylättiin, koska sen yhteensopivuus sovellusalustoille oli liian rajallinen. Tämän takia monet kehittäjät etsivät uusia tulevaisuudessakin käyttökelpoisia ohjelmistokehyksiä, jotka voisivat korvata vanhentuneet ratkaisut. Jotta voimme valita sopivan uuden ohjelmistokehyksen vanhan ohjelmistokehyksen, joka on CoreWCF meidän tapauksessamme, tilalle, meidän täytyy tutkia mitä vaihtoehtoja on tarjolla. Etäviestinnässä käytettävät ohjelmistokehykset ovat yleensä väliohjelmistoja. Kaksi tyypillisintä etäviestinnässä käytettävää väliohjelmistotyyppiä ovat asynkroninen MOM (viestipohjainen väliohjelmisto) ja synkroninen RPC (etäkäsittelykutsu). MOM-pohjaisten ja RPC-pohjaisten ohjelmistokehysten tutkimisen ja niiden ominaisuuksien, vahvuuksien ja heikkouksien arvioimisen jälkeen valitaan kaksi ohjelmistokehystä, yksi kumpaakin tyyppiä. Valittujen ohjelmistokehysten pohjalle luodaan prototyypit, joita vertaillaan ja analysoidaan simulaatioissa, jotka jäljittelevät tyypillisiä etäviestintätapauksia järjestelmässä. Prototyyppien suorituskyvyn, skaalautuvuuden ja luotettavuuden perusteella valitaan lopullinen ohjelmistokehys. Järjestelmän etäviestinnän uusi versio toteutetaan käyttäen valittua ohjelmistokehystä. Laajojen tutkimusten, vertailujen ja arviointien jälkeen RabbitMQ valittiin uudeksi ohjelmistokehykseksi. RabbitMQ:lla toteutettu etäviestinnän uusi versio on osoittautunut onnistuneeksi valinnaksi. Odottamattomat yhteyskatkokset, jotka esiintyivät vanhassa versiossa, ovat hävinneet, ja suorituskyky on parantunut huomattavasti. Koska RabbitMQ on sovellusalustasta riippumaton ohjelmistokehys, jatkokehitysvaihtoehdot ovat monipuoliset ja joustavat erityisesti mikropalveluille.

Description

Supervisor

Ylä-Jääski, Antti

Thesis advisor

Holma, Ville

Other note

Citation