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
Project management
Analýza
Vývoj
Testovanie

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.

Ak vás zaujala takáto forma spolupráce, neváhajte nás kontaktovať.

Peter Augustinič

CEO at DGT factory