Startseite
Kundenreferenzen
Atruvia AG
Die Atruvia AG bietet Banking-as-a-Service-Lösungen und Services zur Anwendungsentwicklung für Genossenschaftsbanken in Deutschland an. Mehr als 800 Banken vertrauen auf den Kernbankprozess agree21 und andere Anwendungen von Atruvia sowie auf das Netzwerk von mehr als 30.000 Geldautomaten und Self-Service-Terminals im ganzen Land.
Mit rund 81 Millionen Kundenkonten generieren die Kundenbanken ein gewaltiges Transaktionsvolumen, wofür eine leistungsstarke, resiliente und äußerst sichere IT-Infrastruktur erforderlich ist. Atruvia erreicht dies mit acht IBM z15-Systemen in vier Rechenzentren, die jährlich 80 Milliarden Kernbanktransaktionen verarbeiten, mit Spitzenwerten von 12.000 Transaktionen pro Sekunde. Das IBM Information Management System (IMS) verwaltet die Transaktionen und die Daten werden in der Datenbank IBM Db2 for z/OS gespeichert.
Was die verteilte Ebene betrifft, so werden die Anwendungen zur Kundenbindung in Java® implementiert, entweder klassisch oder als Microservices, die auf x86 Linux®-Systemen auf der Red Hat® OpenShift®-Container-Plattform gehostet werden. Rund 1.200 Microservices unterstützen eine Vertriebsplattform und andere Prozesse, die über eine proprietäre API-Schicht zentrale Services der Bank in Anspruch nehmen.
In der Vergangenheit implementierte Atruvia die wichtigsten Geschäftstransaktionen mit Java/HTML5 am Frontend, verbunden mit einer Mid-Tier-Schicht in einfachem Java und IMS COBOL am Backend. Da viele COBOL-Programmierer in den Ruhestand gingen und die Bankkunden eine schnelle Bereitstellung neuer Omnichannel-Services erwarteten, entschieden sich die Führungskräfte von Atruvia für einen kreativen Ansatz zur Anwendungsmodernisierung, der die Sicherheit und Leistung von IMS beibehalten und gleichzeitig die Vorteile einer gängigen Programmiersprache bieten sollte.
Anstelle einer risikoreichen und kostspieligen „Lift and Shift“-Strategie bestand die Lösung in einer selektiven Refaktorierung vor Ort. Sie würden die neueste Version von Java in die bestehende IMS/COBOL-Laufzeitumgebung auf der IBM zSystems-Plattform integrieren, um die Anwendungen schrittweise zu modernisieren.
„Unsere Kernbankanwendungen werden ständig weiterentwickelt“, erklärt Pascal Meyer, Senior Enterprise Architect bei Atruvia. „Für Anforderungen, die keine vollständige Neuimplementierung rechtfertigen, wollten wir Java in die IMS COBOL-Umgebung einführen. Ein Hauptziel war es, unsere Bankanwendungen so zur Verfügung zu stellen, dass sie für die neueste Generation von Entwicklern vertrauter sind.“
Mit der Java in IMS-Funktion auf IBM zSystems hat Atruvia 85 % der Kernbanktransaktionen Java-fähig gemacht
Die Colocation einiger datenintensiver verteilter Java-Anwendungen mit IBM zSystems führt zu einer dreimal so hohen Leistung
Mit Java und COBOL in IMS arbeiten Anwendungsentwickler produktiver
Durch das Hinzufügen von Java zu IMS zusätzlich zu COBOL könnte auch die Komplexität der Anwendung reduziert werden. Durch die klassische Architektur von Atruvia muss in jeder Komponente eine „Kompensationslogik“ eingebaut werden. Damit lässt sich sicherstellen, dass die über die verschiedenen Komponenten verteilten Operationen bei einem Fehler oder einer Unterbrechung auf den letzten konsistenten Zustand zurückgesetzt werden können. Die Einbindung von Java-Code in die IMS-Umgebung würde diese zusätzliche Logik überflüssig machen und damit Komplexität, Kosten und Verzögerungen reduzieren.
„In Bezug auf die Anwendungsarchitektur eröffnet Java die Möglichkeit, eine breitere Palette von Frameworks und Protokollen zu verwenden“, fügt Thomas Bauer, Team Leader und IT Architect bei Atruvia, hinzu. „Zum Beispiel sind RESTful Web Services in Java natürlicher als in COBOL, und bestimmte Funktionen, die in einer reinen COBOL-Umgebung schwer zu implementieren sind, sind in Java als vorgefertigte Artefakte verfügbar. Wir wollten die Markteinführungszeit verkürzen, indem wir moderne, wiederverwendbare Softwarekomponenten einsetzen und gleichzeitig unsere Investitionen in die bestehende Geschäftslogik schützen, indem wir Java-fähig machen.“
Da Atruvia Java bereits als strategische Plattform einsetzte, wollte das Unternehmen eine größere Portabilität seines Codes sowohl auf verteilten als auch auf IBM zSystems-Plattformen ermöglichen – je nachdem, welche das beste Preis-Leistungs-Verhältnis bot. Dieser Ansatz kann auch den Übergang zum Cloud Computing erleichtern. Da OpenShift auf allen Plattformen ausgeführt wird, kann Atruvia Workloads in die Cloud verlagern, wenn dies sinnvoll ist.
Außerdem würde Java auf IBM zSystems zusammen mit COBOL Entwicklern die Möglichkeit geben, Kernbankfunktionen nahtlos und mit geringem Risiko zu erweitern, indem COBOL-Subroutinen durch Java ersetzt werden, ohne dass umfangreiche Programme umgeschrieben werden müssen. Und für Softwarearchitekten in der verteilten Umgebung wäre es einfacher, zentrale Transaktionsdienste direkt von IMS-Anwendungen aus aufzurufen.
„Auf längere Sicht ist es unser Ziel, plattformunabhängiger zu werden, indem wir Java-Bausteine haben, die überall ausgeführt werden können“, sagt Meyer. „Neben der Verringerung der architektonischen Komplexität würde uns die Kombination von COBOL und Java innerhalb von IMS in die Lage versetzen, neue Anwendungskomponenten zu entwickeln, die eng mit bestehenden Komponenten integriert sind. Auf diese Weise können wir die Vorteile einer modernen hybriden App nutzen, d. h. kurze Markteinführungszeiten, höhere Flexibilität und einfachere Entwicklung, ohne den Leistungsvorteil von IMS dort zu verlieren, wo es wirklich zählt: bei den Kernbanktransaktionen.“
Die Mitarbeiter von Atruvia haben in einem mehrjährigen Projekt eng mit den Entwicklern von IBM Systems zusammengearbeitet, um eine gemeinsame Laufzeitumgebung für Java-Konstrukte in IMS-Produktionsumgebungen zu optimieren – noch bevor die gemeinsame Laufzeitumgebung allgemein verfügbar war.Basierend auf IBM Semeru Runtime Certified Edition for z/OS, Version 11 ist die gemeinsame Laufzeitumgebung nun Standard in der neuesten Version von IMS.Und IBM und Atruvia haben sich verpflichtet, die neueste Java-Version zu unterstützen.
Durch die gemeinsame Laufzeitumgebung ist Atruvia in der Lage, sich auf eine 64-Bit-Zukunft einzustellen, da 31-Bit-COBOL-Anwendungen mit 64-Bit-Java-Anwendungen kommunizieren können. Dank der Interoperabilität von Java und COBOL innerhalb von IMS kann das Unternehmen seine Kernbankanwendungen modernisieren und erneuern, ohne die Leistung oder Zuverlässigkeit zu beeinträchtigen.
In praktischer Hinsicht konzentriert sich Atruvia auf zwei Ziele für Java auf der IBM zSystems-Plattform. Erstens erstellen Entwickler hybride Java-COBOL-Anwendungen für die klassische IMS-Verarbeitung und Batch-Workloads, die IBM MQ for z/OS aufrufen und über Java Database Connectivity (JDBC) mit IBM Db2 für z/OS verbunden sind. Zweitens migrieren die Entwickler nativen Java-Code aus der verteilten Umgebung auf IBM zSystems, wenn dies sinnvoll ist.
„Viele unserer Batch-Jobs waren über mehrere Plattformen sowohl auf IBM zSystems als auch in der verteilten Umgebung verteilt, mit unterschiedlichen Schedulern, die wir koordinieren mussten“, so Meyer. „Diese Vorgehensweise erforderte auch einen Datenaustausch und/oder die gemeinsame Nutzung von Daten. Heute benötigen wir für die Ausführung von Java-Jobs direkt auf IBM zSystems nur noch einen einzigen Scheduler, sodass sich die Komplexität verringert. Außerdem erzielen wir eine bessere Leistung, weil wir keine Daten verschieben oder konvertieren müssen und weil sich der Java-Code direkt neben den Daten befindet und nicht über ein Netzwerk darauf zugegriffen werden muss.“
Atruvia entwickelt auch eine Reihe allgemeiner Java-Services, die Entwicklern von Frontend-Anwendungen, die in der verteilten Umgebung ausgeführt werden, als APIs zur Verfügung gestellt werden können. So könnte ein Entwickler beispielsweise eine API verwenden, um den aktuellen Saldo des Girokontos eines Kunden abzurufen und in einer mobilen App anzuzeigen. Durch die Integration von Java in die IBM zSystems-Plattform wird es einfacher, neue Services auf der Grundlage bestehender Funktionen anzubieten.
„Die Entwickler in einer dezentralen Welt wissen nicht, ob sie Java Services oder ursprüngliche IMS-Transaktionen aufrufen“, sagt Meyer. „Alles wird auf dieselbe einfache und konsistente Art und Weise zugänglich sein, sodass es schneller und einfacher wird, neue Frontend-Anwendungen zu entwickeln, die die robusten zugrunde liegenden Transaktionen auf IBM zSystems aufrufen. Dies unterstützt unsere Bankkunden, die ihre Mitarbeiter und Kunden mit innovativen Services erreichen wollen, die über das Internet, mobile Geräte und alle neuen Portale, die in Zukunft entstehen werden, bereitgestellt werden.“
Java innerhalb von IMS bietet Atruvia auch die Möglichkeit, älteren COBOL-Code zu migrieren. Allerdings machen die Entwickler dies nur selektiv, z. B. bei der Erstellung neuer Geschäftslogik. „Es gibt keinen Druck, nur um der Modernisierung willen zu modernisieren“, erklärt Bauer. „Wir sind weiterhin von der Leistung und Robustheit von COBOL und IMS am Backend überzeugt und setzen diese Technologien auch weiterhin in grafischen Frontends ein, die auf verteilten Systemen laufen.“
Auf diese Weise bleibt die IBM zSystems-Plattform, auf der IMS ausgeführt wird, der zentrale Punkt für die Geschäftslogik. Sie wird direkt in eine Vielzahl von Kanälen für die Nutzung dieser Logik eingespeist, z. B. in Schalteranwendungen, Geldautomatensysteme, Webanwendungen für Kunden und mobile Apps.
Dank der bahnbrechenden Zusammenarbeit zwischen IBM und Atruvia ist Java heute eine etablierte, produktionsreife Komponente der IBM zSystems-Toolbox. Dadurch wird die IMS-Umgebung erheblich aufgewertet, wobei ihre klassischen Eigenschaften wie Leistung und Robustheit erhalten bleiben und gleichzeitig eine schnellere Entwicklung unter Verwendung weit verbreiteter und nachhaltiger Programmierkenntnisse ermöglicht wird. Außerdem können Entwickler bestehende Kernbankfunktionen effizient und mit geringem Risiko erweitern.
„Wir betrachten Java auf IBM zSystems als eine Schlüsseltechnologie, mit der unsere Kunden Wettbewerbsvorteile erzielen“, sagt Meyer. „Durch die einfachere Entwicklung und Wiederverwendung bestehender Komponenten können wir neue Funktionen schneller und kostengünstiger bereitstellen und so unsere Bankkunden dabei unterstützen, neue Services schneller auf den Markt zu bringen.“
Tatsächlich hat Atruvia bereits etwa 85 % seiner IMS-Transaktionen im Kerngeschäft Java-fähig gemacht – das sind etwa 400 Millionen Java-Transaktionen pro Tag mit einem Spitzendurchsatz von 12.000 Transaktionen pro Sekunde. Zwölf IMS-Systeme mit etwa 200 Millionen Anweisungen pro Prozessor pro Sekunde (MIPS) unterstützen diese geschäftskritischen Transaktionen.
Durch die Reduzierung der Komplexität der Anwendungsumgebung hat Java innerhalb von IMS die Effizienz und Leistung von End-to-End-Geschäftstransaktionen erhöht. Zuvor wurde die Batch-Verarbeitung in Unternehmen über eine Vielzahl von Plattformen abgewickelt. Jetzt wird die gesamte Verarbeitung, unabhängig von der Sprache, durch die Kombination von COBOL und Java einfach in einen einzigen Batch-Schritt integriert.
Darüber hinaus können Atruvia-Entwickler Java-Code problemlos auf ihre verteilten und IBM zSystems-Umgebungen portieren, je nachdem, welche Plattform das beste Preis-Leistungs-Verhältnis bietet. So hat Atruvia beispielsweise die Latenzzeit verringert, indem es einige verteilte Java-Workloads auf die IBM zSystems-Plattform verlagert hat. „Schließlich ist die beste E/A keine E/A“, scherzt Meyer. Er berichtet von einer Verdreifachung der Leistung durch die Colocation einiger datenintensiver Anwendungen, anstatt sie über das Netzwerk ausführen zu lassen. Es ist klar, dass eine umfassende Migration in die Cloud nicht der einzige Weg zur Anwendungsmodernisierung ist.
Darüber hinaus gibt es finanzielle Anreize, Java-Workloads von allgemeinen Prozessoren auf IBM Z Integrated Information Processors (zIIPs) zu verlagern, bei denen die Lizenzgebühren niedriger sind.Obwohl die erforderlichen MIPS steigen, weil Java mehr Ressourcen verbraucht als COBOL, werden die Gesamtkosten reduziert.
Weitere Effizienzgewinne ergeben sich aus umfangreichen Java-Bibliotheken, dank derer Programmierer keinen eigenen Code für gängige Funktionen wie die Komprimierung und Dekomprimierung von Daten schreiben müssen. In ähnlicher Weise kann Atruvia Java-Software von Drittanbietern in seine IBM zSystems-Umgebung integrieren und so möglicherweise eine eigene Entwicklung ganz vermeiden. Wenn neue hardwarebasierte Verschlüsselungs-, Komprimierungs- oder Netzwerkfunktionen auf der Plattform verfügbar werden, bietet Java für IBM zSystems den Anwendungen einen transparenten Zugriff auf die neuen Funktionen.
„Als Anbieter von Kernbankensystemen für mehr als 800 Banken mit Dutzenden von Millionen Endnutzern können wir es uns nicht leisten, Kompromisse bei der Leistung und Zuverlässigkeit einzugehen, und wir können es uns auch nicht leisten, bei unseren Entwicklungspraktiken Risiken einzugehen“, sagt Meyer. „Die IBM zSystems-Plattform mit IMS bleibt unsere strategische Wahl, weil sie die sicherste und zuverlässigste Plattform ist, die wir kennen, und weil sie eine außergewöhnliche Leistung für unsere Kernbankensysteme bietet. Mit Java in IMS haben wir das Beste aus beiden Welten.“
Atruvia (Link befindet sich außerhalb von ibm.com) wurde 2015 durch die Fusion der Fudicia IT AG und der GAD eG gegründet und ist der Digitalisierungspartner der 820 Genossenschaftsbanken in Deutschland. Die IT-Lösungen und -Services für Banken reichen vom Rechenzentrumsbetrieb über den Banking-as-a-Service-Prozess agree21 bis hin zu App-Entwicklung und Support. Mit seinen Verwaltungszentralen in Karlsruhe und Münster sowie Niederlassungen in München, Frankfurt und Berlin beschäftigt Atruvia fast 8.400 Mitarbeiter und erzielte im Jahr 2020 einen Konzernumsatz von rund 1,77 Milliarden Euro.
© Copyright IBM Corporation 2022. IBM Corporation, Hybrid Cloud, New Orchard Road, Armonk, NY 10504
Hergestellt in den Vereinigten Staaten von Amerika, Mai 2022.
IBM, das IBM Logo, ibm.com, Db2, IBM zSystems, z/OS und z14 sind Marken der IBM Corporation in den USA und/oder anderen Ländern. Weitere Produkt‐ und Servicenamen können Marken von IBM oder anderen Unternehmen sein. Eine aktuelle Liste der IBM Marken finden Sie auf der Webseite „Copyright- und Markeninformationen“ unter www.ibm.com/de-de/legal/copyright-trademark.
Java und alle java-basierten Marken und Logos sind Marken von Oracle bzw. seinen Tochtergesellschaften.
Red Hat und OpenShift sind Marken oder eingetragene Marken von Red Hat, Inc. oder dessen Tochtergesellschaften in den Vereinigten Staaten und anderen Ländern.
Das vorliegende Dokument ist ab dem Datum der Erstveröffentlichung aktuell und kann jederzeit von IBM geändert werden. Nicht alle Angebote sind in allen Ländern verfügbar, in denen IBM tätig ist.
Die genannten Leistungsdaten und Kundenbeispiele dienen ausschließlich zur Veranschaulichung. Tatsächliche Leistungsergebnisse hängen von den jeweiligen Konfigurationen und Betriebsbedingungen ab. DIE INFORMATIONEN IN DIESEM DOKUMENT WERDEN OHNE JEGLICHE AUSDRÜCKLICHE ODER STILLSCHWEIGENDE GARANTIE ZUR VERFÜGUNG GESTELLT, EINSCHLIESSLICH DER GARANTIE DER MARKTGÄNGIGKEIT, DER EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND DER GARANTIE ODER BEDINGUNG DER NICHTVERLETZUNG VON RECHTEN. Die Garantie für Produkte von IBM richtet sich nach den Geschäftsbedingungen der Vereinbarungen, unter denen sie bereitgestellt werden.