Zentraler digitaler Bezahldienst
für die deutsche Kreditwirtschaft

Ausgangslage

Der Bundesverband deutscher Banken (DBD) entschloss sich 2014 eine Internet-Bezahlmethode für den Online-Handel zu entwickeln, um der internationalen Konkurrenz entgegenzutreten. Das initiale Release sollte innerhalb eines sehr kurzen Zeitraums entwickelt und in Produktion gebracht werden und außerhalb der bestehenden Banken-IT umgesetzt werden.

Die Anforderungen standen zum Zeitpunkt des Projektstarts nur als Grobkonzept zur Verfügung und mussten im Laufe des Entwicklungsprozesse kontinuierlich verfeinert und adaptiert werden. Kern der Lösung ist eine Integration mit den Rechenzentralen der Banken zur Zahlungsautorisierung, Kundenregistrierung und Nutzung der TAN-Verfahren. Entsprechende Schnittstellen musste im Rahmen des Projekts abgestimmt, implementiert und getestet werden.

Darüber hinaus wurden komplexe Standardprodukte für die Risikosteuerung und Betrugsprävention (Riskshield von Inform), als auch den Kundensupport (OTRS), mit den entsprechenden Anbietern zusammen erarbeitet und eingeführt.

 

Lösung

Senacor wurde als Generalunternehmen für die Umsetzung beauftragt und hat somit die Verantwortung für die Lieferung der initialen Releases übernommen. Wir haben ein Team aus Business-Analysten, Entwicklern und Testern zusammengestellt sowie Infrastruktur-Experten eines externen Dienstleisters hinzugezogen.

Es wurde in einmonatigen Zyklen entwickelt: Die Business-Analysten spezifizierten jeweils den nächsten Zyklus, während die Entwickler den aktuellen Zyklus entwickelten und das Test-Team die Qualität des vorherigen Zyklus sicherstellte.

Durch die agile Vorgehensweise konnten schon frühzeitig funktionsfähige Softwareartefakte präsentiert und verprobt werden. Gleichzeitig wurde ein transparentes Fortschritt-Tracking ermöglicht.

Im Anschluss an die initialen Releases, wurde ein mehrjährige Partnerschaft für den Betrieb und die Weiterentwicklung der Plattform vereinbart.

 

Ergebnis

Das Online-Bezahlsystem wurde „on time“ und „on budget“ von Senacor geliefert. Das System läuft vom ersten Tag an extrem stabil und die hohen Service Level Agreements (z.B. 99,5% Verfügbarkeit, Antwortzeiten unter 1,5s etc.) wurden bisher stets eingehalten.

Nach Lieferung der initialen Releases wurde aus dem bestehenden Entwicklerteam ein voll agiles, DevOps basiertes Liefermodell aufgesetzt, das kontinuierlich neue Features bzw. Erweiterungen oder Optimierungen an bestehenden Features liefert. In 2-Wochen Sprints wird nun das System weiterentwickelt und deployed. Dabei sind Deployments in Produktion immer „zero-downtime“, d.h. Anpassungen in Produktion werden ohne Kundenimpact regelmäßig ausgerollt.

Das System hat durch die gewählte Microservice-Architektur mit CQRS und EventSourcing eine optimale fachliche Skalierungsfähigkeit: Mehrere Entwicklerteams arbeiten parallel an fachlichen Epics in bestimmten Domänen, ohne sich gegenseitig auszubremsen oder aufwändige Abstimmungsprozesse zu benötigen.

Darüber hinaus haben wir unserem Kunden von Anfang an geholfen, die Gesamtorganisation nach agilen Prinzipien auf- und auszubauen, damit auch zukünftig neue Produktideen schnell in Software gegossen und in Betrieb genommen werden können.

Im Rahmen des Aufbaus der IT-Organisation wurde im Laufe der Zeit Entwickler eingestellt und die Teams integriert. Die Entwickler wurden von Senacor mit ausgebildet und man entwickelt seit mehreren Jahren sehr erfolgreich gemeinsam das System weiter.

 

Eingesetzte Technologien

Als Architektur wurde eine Microservice-Architektur mit CQRS und EventSourcing gewählt. Die einzelnen Microservices kapseln dabei einzelne Domänen im Sinne des Domain-Driven-Designs. Zum Beispiel gibt es einzelne Services für die Stammdaten der beteiligten Akteure (Nutzer, Banken, Händler), einzelne Produkte und Downstreamverarbeitung (z.B. SEPA-Zahlungsverkehr, Reporting, Gebührenabrechnung)

Die Microservices sind mit Spring Boot entwickelt. Das CQRS-Pattern mit EventSourcing wurde initial mit AKKA implementiert, welches später durch den EventStore abgelöst wurde. CQRS und EventSourcing ermöglichen eine starke Entkopplung der Services in der Entwicklung und auch im Betrieb. Über das EventSourcing und Service-spezifische Datenbanken, haben die Services nur sehr wenige direkte Abhängigkeiten untereinander. So besitzt beispielsweise der Service für den Bezahlvorgang die Lesemodelle aller relevanten Stammdaten, um den Bezahlvorgang abwickeln zu können. Es werden keine sogenannten synchronen Aufrufe der Services untereinander benötigt, um z.B. zu prüfen, ob der Käufer für Bezahlvorgänge gesperrt ist.

Die Webfrontends sind auf der Basis von HTML5 und AngularJS als Single-Page-Applications entwickelt worden.

Die Mobile-Apps für Android und iOS werden native in Java (Android, neuerdings in Kotlin) und Swift (iOS) entwickelt. Für die sichere Ablage von Daten auf den Geräten kommt die verschlüsselte Datenbank SQLCipher zum Einsatz.

Ansprechpartner

Sophie
Hummel

Partner

München

Expertin für agile Vorgehensmodelle und Organisationen

Denis
Pasek

Partner

Bonn

Experte für Architektur-Reviews und Migrationsplanung für Legacysysteme