Case Study
Der Anti-Corruption-Layer des neuen Banksystems für die größte Geschäftsbank in der Slowakei
Im Rahmen der Entwicklung eines neuen, Microservices-basierten internen Banksystems implementierten wir für den Kunden ein Modul des Anti-Corruption-Layers (ACL). Als Zwischenschicht stellt das Modul die Verbindung zwischen dem ursprünglichen und dem neuen System sicher. Dadurch ist es nicht erforderlich, Änderungen am alten System vorzunehmen. Das Modul arbeitet mit den Daten der Bankkunden, konvertiert sie und leitet sie über die Integrationsschnittstelle zur Verarbeitung an andere Banksysteme weiter.
Die Lösungsmodule wurden so konzipiert, dass sie für die Analyse des Kunden sowohl die Schnittstellen des ursprünglichen Systems als auch neue Datenquellen, die den ungenutzten Teil des ursprünglichen Systems in Zukunft ersetzen werden, nutzen können.
Dank unseres proaktiven Ansatzes konnten wir neue Technologien ohne Änderung der ursprünglichen Systeme, die mit den einzelnen Modulen des Systems kommunizieren, einführen. Wir halfen dem Kunden, Zeit und Ressourcen, die er dann zur Ausweitung der Zusammenarbeit nutzte, zu sparen.
Kunde:
ERSTE Group Bank AG / Slovenská sporiteľňa
Projekt:
Entwicklung eines neuen, Microservices-basierten internen Banksystems
Modul:
ACL (Anti-Corruption Layer)
Batch (Conversion and Consolidation Services)
Eingesetzte Technologien:
Kotlin, Java, Spring Batch, Spring Integration, Oracle, Mongo, Swagger, Confluence, JIRA
Besetzte Stellen:
Projektmanager, Analyst, Entwickler, Tester
13 Monate
Projektdauer (fortlaufend)
5 Team-mitglieder
von DGT factory
19 Dienste
as part of the ACL module
+11 Dienste
als Batch-Algorithmen
68 REST-APIs
zur Kommunikation zwischen Diensten und Servern
Projektaktivitäten:
Kunde
Slovenská sporiteľňa ist die größte slowakische Geschäftsbank. Als Mitglied der Bankengruppe ERSTE Group Bank AG spielt sie eine wichtige Rolle im Bereich des Bankwesens. Die Bank verfügt über ihr eigenes internes Entwicklungslabor, das Teil der Technologieabteilung der Bank ist. Seine Aufgabe ist es, ein neues, Microservices-basiertes internes Banksystem zu entwickeln.
Projekt
Slovenská sporiteľňa ist derzeit dabei, ihr internes digitales Ökosystem zu ersetzen. Das ursprüngliche monolithische System ist nicht mehr effizient und immer schwieriger zu warten und zu erweitern. Im Gegensatz dazu basiert die Architektur des neuen Systems auf Microservices. Der Kunde kann somit das Projekt flexibel in einzelne Module aufteilen und die Module verschiedenen Entwicklerteams zuweisen.
Auftrag
Unsere Aufgabe bestand darin, ein ACL-Modul (Anti-Corruption Layer) zu entwickeln, das aus einer Reihe von Mikroservices besteht, die fortschrittliche Algorithmen verwenden, um verdächtige Verbindungen oder Transaktionen auf Bankkonten und bei Kunden zu erkennen. Die Herausforderung bestand auch darin, dass der neue Dienst in der Lage sein sollte, sowohl mit Daten aus dem alten System als auch mit Daten aus dem neuen System zu arbeiten. Neben den komplizierten APIs erforderte dies auch verschiedene Datenkonvertierungen und -konsolidierungen.
Lösung
Nach den guten Erfahrungen, die der Kunde bei einem kleineren Testprojekt machte, stand er der Zusammenarbeit recht offen gegenüber. Dadurch wurde uns Raum für eine Expertenlösung für mehrere Schlüsselbereiche, die unsere Analysten aufgrund früherer Erfahrungen mit anderen großen Banksystemen als Risikofaktor einstuften, gewährt.
Im Rahmen unserer partnerschaftlichen Zusammenarbeit besprachen wir sie mit dem Team des Kunden und schlugen eine Lösung vor, die den aktuellen und künftigen Anforderungen des Systems besser gerecht wird. Dadurch mussten wir die Teile des Systems, die bereits codiert wurden, nicht bearbeiten. Dies half uns, bei der Entwicklung Zeit zu sparen.
Jede Woche fanden zwei Sitzungen statt, in denen die Teammitglieder die aktuellen Fortschritte besprachen. In der technischen Sitzung sollten mit dem Architekten und dem Entwicklungsleiter die Fragen aller Beteiligten geklärt, die Informationen ergänzt oder Missverständnisse vermieden werden. In der Managementsitzung besprachen wir den Status quo der Entwicklung, den Zeitplan, die vorgeschlagenen Anpassungen und die Feinabstimmung der Lösung und versuchten, potenzielle Gefahren zu erkennen und zu beseitigen.
Ergebnis
Obwohl das Projekt noch nicht abgeschlossen ist, lässt sich feststellen, dass wir dem Kunden dank eines proaktiven analytischen Ansatzes halfen, einen Teil des Budgets einzusparen, wodurch er die Zusammenarbeit um Batch Services, die im ursprünglich vereinbarten Arbeitsumfang gar nicht enthalten waren, erweitern konnte. Über den geplanten Umfang hinaus entwickelten wir für den Kunden auch Tests und stellte ihm diese zur Verfügung, da dies das Projekt aufgrund der ausgelasteten internen Testkapazitäten ein wenig verlangsamte. Die Tests führten wir nach der Methodik des Kunden durch und übergaben ihm die Ausgabedaten, wodurch der gesamte Entwicklungsprozess beschleunigt wurde.
Fazit
Der Kunde schätzte es sehr, dass wir nicht nur reine Programmierarbeit leisteten, sondern Lösungen und Verfahren vorschlugen, die er in einigen Fällen sogar für seine künftige Verwendung übernahm. Wir brachten unseren eigenen Mehrwert in das Projekt ein, indem wir uns immer mit den Problemen befassten und uns mit dem Thema auseinandersetzten. Dadurch konnten wir ein freundschaftliches Verhältnis aufbauen, das eine gute Basis für eine konstruktive kreative Atmosphäre darstellt. Wir arbeiten weitgehend als ein Team.