Refactoring of an application with the RPC Internet Communications Engine

Thesis title: Refactoring aplikácie pomocou RPC Internet Communications Engine
Author: Göblová, Sára
Thesis type: Diploma thesis
Supervisor: Bruckner, Tomáš
Opponents: Talpa, Martin
Thesis language: Slovensky
Abstract:
S prechodom na vysokofrekvenčné obchodovanie finančné aplikácie potrebujú optimalizované integračné frameworky ako Ice RPC pre nízku latenciu a vysokú priepustnosť. Táto diplomová práca sa zaoberá prechodom aplikácie na obchodovanie s exotickými opciami z REST API na framework Ice RPC pri zachovaní funkčnosti a zlepšení výkonu. Exotické opcie majú komplexné oceňovania, ktoré si vyžadujú pokročilú analytiku. Existujúca aplikácia využíva na pripojenie REST API. REST však má v porovnaní s RPC optimalizovaným pre distribuované prostredia obmedzenia v efektivite. Cieľom je zhodnotiť výhody refaktoringu produkčnej aplikácie v konkrétnej investičnej banke z hľadiska zníženia technického dlhu, eliminácie bezpečnostných rizík, úspory nákladov, zvýšenia produktivity a zlepšenia výkonu. Ďalším cieľom je analyzovať adaptáciu frameworku Ice pri nasadení v praxi, pričom výsledok analýzy je zdokumentovaný ako Sprievodca frameworkom Ice. Metóda spočíva v statickej analýze kódu pomocou nástroja SonarQube vykonanej pred a po refaktoringu. Táto analýza kategorizuje chyby podľa typu a závažnosti a popisuje ich počet a umiestnenie v zdrojovom kóde. Navyše získava informácie o bezpečnostných chybách v aplikácii a ich stave po refaktoringu. Nakoniec analyzuje vplyv refaktoringu na počet duplikátov a cyklických závislostí v kóde. Vďaka týmto štatistikám je možné hodnotiť úspešnosť refaktoringu. Zistenia potvrdzujú merateľné zlepšenia pri prechode na binárny protokol Ice RPC v porovnaní s textovým protokolom REST. Latencia sa znížila 5- až 8-násobne a veľkosť správ sa znížila 3-násobne. Súbežnosť a škálovateľnosť sa zvýšili vďaka Ice poolingu vlákien a správe pripojení. Okrem toho práca dokumentuje bežné problémy s adaptáciou Ice RPC a riešenia založené na skúsenostiach získaných počas implementácie. Výsledky poskytujú pohľad na vhodné prípady použitia a osvedčené postupy pre prechod distribuovaných systémov na moderné RPC architektúry. V rámci dokumentácie bežných problémov s adaptáciou rámca Ice vznikla príručka obsahujúca riešenia bežných problémov spojených s migráciou na framework Ice a súhrn silných a slabých stránok frameworku Ice, ktoré môžu pomôcť pri manažérskom rozhodovaní o jeho adopcii vo firme.
Keywords: RPC; ZeroC Ice; exotické opcie; refaktorizácia
Thesis title: Refactoring of an application with the RPC Internet Communications Engine
Author: Göblová, Sára
Thesis type: Diploma thesis
Supervisor: Bruckner, Tomáš
Opponents: Talpa, Martin
Thesis language: Slovensky
Abstract:
With the emergence of high-frequency trading, financial applications need optimized integration frameworks like Ice RPC for low latency and high throughput. This thesis examines transitioning an exotic options trading application from a REST API to the Ice RPC framework while preserving functionality and improving performance. Exotic options have complex valuations requiring advanced analytics. The existing application utilizes REST APIs for connectivity. However, REST has limitations in efficiency compared to RPC optimized for distributed environments. The goal is to evaluate the benefits of refactoring of a production application developed within an investment bank in terms of reducing technical debt, eliminating security risks, saving costs, increasing productivity, and enhancing performance. Another objective is to analyze the adaptation of the Ice framework when deployed in practice, where the analysis result is documented as an Ice framework guide. The methodology consists of static code analysis using the SonarQube tool performed before and after refactoring. This analysis categorizes errors by type and severity and describes their number and location in the source code. Furthermore, it obtains information about security vulnerabilities in the application and their status after refactoring. Finally, it analyzes the impact of refactoring on the number of duplicates and cyclic dependencies in the code. Thanks to these statistics, it is possible to evaluate the success of the refactoring. The findings confirm measurable improvements from switching to the binary Ice RPC protocol compared to the text-based REST protocol. Latency reduced by 5-8x, and message sizes decreased 3x. Concurrency and scalability increased due to Ice's thread pooling and connection management. Additionally, the thesis documents common adoption issues with Ice RPC and solutions based on lessons learned during implementation. The results provide insights into suitable use cases and best practices for transitioning distributed systems to modern RPC architectures. As part of the adoption of the Ice framework a guide was created, the guide includes solutions to common problems associated with migrating to the Ice framework and a summary of the strengths and weaknesses of the Ice framework that can aid in the management decision-making, whether or not to adopt this framework in a company.
Keywords: ZeroC Ice; RPC; exotic options; refactoring
Thesis title: Refactoring aplikace pomocí RPC Internet Communications Engine
Author: Göblová, Sára
Thesis type: Diplomová práce
Supervisor: Bruckner, Tomáš
Opponents: Talpa, Martin
Thesis language: Slovensky
Abstract:
S růstem trendu vysokofrekvenčního obchodování finanční aplikace vyvstává potřeba optimalizovaných integračních frameworků jako Ice RPC, které zajišťují nízkou latenci a vysokou propustnost. Tato diplomová práce se zabývá problematikou přechodu aplikace pro obchodování s exotickými opcemi z REST API na framework Ice RPC při zachování funkčnosti aplikace a zároveň dosáhnout zlepšení jejího výkonu. Exotické opce se vyznačují komplexním oceněním, které vyžaduje pokročilou analytiku. Existující aplikace využívá pro připojení REST API, avšak toto rozhraní má v porovnání s RPC optimalizovaným pro distribuovaná prostředí značná omezení z hlediska efektivity. Cílem této práce je zhodnotit přínosy refaktoringu produkční aplikace v konkrétní investiční bance, z hlediska snížení technického dluhu, eliminace bezpečnostních rizik, úspory nákladů, zvýšení produktivity a zlepšení výkonu. Dalším cílem je analyzovat adaptaci frameworku Ice v praxi. Výsledky analýzy jsou shrnuty v dokumentu s názvem "Sprievodca frameworkom Ice". Pro hodnocení úspěšnosti refaktoringu byla použita statická analýza kódu pomocí nástroje SonarQube, která byla provedena před a po refaktoringu. Tato analýza kategorizuje chyby podle typu a závažnosti a popisuje jejich počet a umístění v zdrojovém kódu. Dále analyzuje bezpečnostní chyby v aplikaci a jejich stav po refaktoringu. Závěrečným krokem je analýza vlivu refaktoringu na počet duplicit a cyklických závislostí v kódu. Na základě těchto statistik je možné objektivně posoudit efektivitu provedeného refaktoringu. Zjištění potvrzují měřitelná zlepšení při přechodu na binární protokol Ice RPC v porovnání s textovým protokolem REST. Latence se snížila 5- až 8-násobně a velikost zpráv se zmenšila 3-násobně. Souběžnost a škálovatelnost se zvýšily díky Ice poolingu vláken a správě připojení. Kromě toho práce dokumentuje běžné problémy s adaptací Ice RPC a řešení založená na zkušenostech získaných během implementace. Výsledky poskytují pohled na vhodné případy použití a osvědčené postupy pro přechod distribuovaných systémů na moderní RPC architektury. V rámci dokumentace běžných problémů s adaptací frameworku Ice vznikla příručka, která obsahuje řešení běžných problémů spojených s migrací na framework Ice a shrnutí silných a slabých stránek frameworku Ice, které může usnadnit manažerské rozhodování o jeho adopci ve firmě.
Keywords: exotické opce; ZeroC Ice; refaktorizace; RPC

Information about study

Study programme: Informační systémy a technologie/Vývoj informačních systémů
Type of study programme: Magisterský studijní program
Assigned degree: Ing.
Institutions assigning academic degree: Vysoká škola ekonomická v Praze
Faculty: Faculty of Informatics and Statistics
Department: Department of Information Technologies

Information on submission and defense

Date of assignment: 13. 3. 2022
Date of submission: 28. 4. 2024
Date of defense: 2024

Files for download

The files will be available after the defense of the thesis.

    Last update: