Case Study
Antikorupčná vrstva nového bankového systému pre najväčšiu komerčnú banku na Slovensku
V rámci tvorby nového Interného bankového systému na princípe mikroslužieb sme pre zadávateľa realizovali Anti-Corruption Layer (ACL) modul, ktorý ako medzivrstva zabezpečuje prepojenie pôvodného a nového systému, vďaka čomu nie je potrebné robiť zmeny v starom systéme. Modul pracuje s údajmi klientov banky, konvertuje ich a posúva na spracovanie do ďalších bankových systémov cez integračné rozhranie.
Moduly riešenia boli navrhnuté tak, aby vedeli využívať na analýzu klienta rozhrania starého systému, ako aj nové dátové zdroje, ktoré v budúcnosti nahradia nevyužívanú časť starého systému.
Vďaka nášmu proaktívnemu prístupu sme bez potreby úprav všetkých systémov zaviedli nové technológie, ktoré navzájom komunikujú s jednotlivými modulmi systému. Zadávateľovi sme pomohli ušetriť čas a zdroje, ktoré následne použil na rozšírenie spolupráce.
Zákazník:
ERSTE Group Bank AG / Slovenská sporiteľňa
Projekt:
Vývoj nového Interného bankového systému na princípe mikroslužieb
Modul:
ACL (Anti-corruption Layer)
Batch (Conversion and Consolidation Services)
Použité technológie:
Kotlin, Java, Spring Batch, Spring integration, Oracle, Mongo, Swagger, Confluence, JIRA
Obsadené pozície:
Projektový manažér, Analytik, Developer, Tester
13 mesiacov
trvanie projektu (pokračuje)
5 členov
tímu z DGT factory
19 služieb
v rámci modulu ACL
+11 služieb
ako Batch algoritmyb
68 Rest API
pre komunikáciu služieb so servermi
Výkony na projekte
Zadávateľ
Slovenská sporiteľňa je najväčšou slovenskou komerčnou bankou, a ako člen bankovej skupiny ERSTE Group Bank AG hrá významnú rolu v oblasti bankovníctva. V rámci banky funguje Interný vývojový Lab, ktorý, ako súčasť technologického oddelenia, má za úlohu vytvoriť nový interný bankový systém navrhnutý na báze mikroslužieb.
Projekt
Slovenská sporiteľňa prechádza výmenou Interného bankového ekosystému. Pôvodný monolitný systém je stále ťažšie udržiavateľným a rozširovateľným molochom. Nový systém je navrhnutý na princípe mikroslužieb, čo umožňuje zadávateľovi flexibilne rozdeľovať projekt na moduly a tiež pokryť ich rôznymi tímami developerov.
Zadanie
Našou úlohou bolo podľa zadania vytvoriť ACL (Anti-Corruption Layer) modul, čo bol súbor mikroslužieb, ktorý pomocou pokročilých algoritmov identifikuje podozrivé prepojenia alebo operácie na bankových účtoch a klientoch. Výzvou tiež bolo, že nová služba má mať schopnosť pracovať s dátami zo starého systému, ako aj s dátami zo systému nového. To si okrem komplikovanejších API vyžadovalo potrebu rôznych konverzií a konsolidácií dát.
Riešenie
Zadávateľ po predchádzajúcich dobrých skúsenostiach na menšom skúšobnom projekte zvolil pomerne otvorený prístup k spolupráci. Vďaka tomu sme mali priestor na expertné riešenie viacerých kľúčových oblastí, ktoré naši analytici na základe predchádzajúcich skúseností s inými veľkými bankovými systémami považovali za rizikové.
V rámci partnerskej spolupráce sme si ich so zadávateľským tímom prediskutovali a navrhli riešenie, ktoré by lepšie vyhovovalo terajším, ale aj budúcim potrebám systému. Výsledkom tak bolo, že sa nemuseli prerábať už nakódované časti a v niektorých prípadoch sa tým zrýchlil vývoj.
Každý týždeň prebehli dva mítingy, na ktorých členovia tímu preberali aktuálny pokrok. Technický míting s architektom a vedúcim vývoja mal za úlohu prejsť si otázky za všetky strany, doplniť informácie, prípadne predísť nedorozumeniam. Na manažérskom mítingu sme si prechádzali aktuálny stav vývoja, časové horizonty, navrhovali úpravy a doladenia riešenia a snažili sa predvídať a eliminovať potenciálne hrozby.
Výsledok
Aj keď projekt ešte prebieha, dá sa zhodnotiť, že sme vďaka proaktívnemu analytickému prístupu ušetrili zadávateľovi časť rozpočtu, čím mal uvoľnené ruky na rozšírenie spolupráce o batch services, ktoré v pôvodne dohodnutom rozsahu práce vôbec neboli. Rovnako sme nad rámec pôvodného plánu navrhli a poskytli zákazníkovi testovanie, ktoré pre vyťaženie interných kapacít trochu brzdilo projekt. Testovali sme podľa zákazníkovej metodiky a odovzdali sme dáta z výstupov, čím sme zrýchlili celý proces vývoja.
Záver
Zákazník ocenil, že sme nerobili len čistých programátorov, ale prichádzali sme s návrhmi riešení a postupov, ktoré si dokonca v niekoľkých prípadoch osvojil pre svoje ďalšie použitie. Priniesli sme do projektu vlastnú pridanú hodnotu, vždy sme sa nad problémami zamysleli a pohrali sa s danou témou. Aj vďaka tomu sa vytvoril celkom priateľský vzťah, ktorý je dobrým základom pre konštruktívnu tvorivú atmosféru. Do veľkej miery fungujeme ako jeden tím.