16
Kernel StandardRating Ein Architekturkonzept für die Plattform- unabhängige Realisierung der Geschäftslogik komplexer Anwendungen Stefan Knuth, Stefan Vocke 18.09.2008

Kernel StandardRating Ein Architekturkonzept für die Plattform-unabhängige Realisierung der Geschäftslogik komplexer Anwendungen Stefan Knuth, Stefan Vocke

Embed Size (px)

Citation preview

Page 1: Kernel StandardRating Ein Architekturkonzept für die Plattform-unabhängige Realisierung der Geschäftslogik komplexer Anwendungen Stefan Knuth, Stefan Vocke

Kernel StandardRatingEin Architekturkonzept für die Plattform-unabhängige Realisierung der Geschäftslogik komplexer Anwendungen

Stefan Knuth, Stefan Vocke

18.09.2008

Page 2: Kernel StandardRating Ein Architekturkonzept für die Plattform-unabhängige Realisierung der Geschäftslogik komplexer Anwendungen Stefan Knuth, Stefan Vocke

© PPI AG 18.09.2008 > 2

Inhalt

Die Anforderungen

Das Architekturkonzept

Die technische Umsetzung

Der Mainframe

Fazit und Rückblick

Page 3: Kernel StandardRating Ein Architekturkonzept für die Plattform-unabhängige Realisierung der Geschäftslogik komplexer Anwendungen Stefan Knuth, Stefan Vocke

© PPI AG 18.09.2008 > 3

Die AnforderungenAusgangslage

Ein Verband von Kreditinstituten entwickelt verschiedene Verfahren für die Umsetzung der Richtlinien des Baseler Akkords (Basel II)

Mitglieder des Verbandes sind ca. 500 Kreditinstitute, damit werden ca. 30% des deutschen Bankenmarktes abgedeckt

Teil der Umsetzung sind mehrere Rating-Verfahren

Rating: Verfahren für die Berechnung und Klassifizierung der Ausfallwahrscheinlichkeit von Kreditnehmern

Eines dieser Verfahren betrifft das Standardkreditgeschäft mit Firmenkunden („Standardrating“)

Komplexes Verfahren: über 30 verschiedene Geschäftsegmente, über 1000 Attribute

Ergebnis des bankfachlichen Projektes ist eine Verfahrensdokumentation und ein Prototyp (Excel, Visual Basic)

Aufgabe ist nun, das Verfahren in produktreife Anwendungssoftware umzusetzen und diese in die Fläche zu bringen

Page 4: Kernel StandardRating Ein Architekturkonzept für die Plattform-unabhängige Realisierung der Geschäftslogik komplexer Anwendungen Stefan Knuth, Stefan Vocke

© PPI AG 18.09.2008 > 4

Die AnforderungenDie IT-Organisation

Die Versorgung der Gruppe mit IT-Dienstleistungen ist organisatorisch sehr heterogen

Mehrere große Rechenzentren, die eine weitgehende Komplettversorgung ihrer Institute betreiben

Mittelgroße IT-Dienstleister, die ein oder mehrere Institute mit speziellen Dienstleistungen versorgen (z.B. Software, IT-Betrieb, Application Service Providing, ...)

„Selbstversorger“: Institute mit eigenen IT-Abteilungen

Page 5: Kernel StandardRating Ein Architekturkonzept für die Plattform-unabhängige Realisierung der Geschäftslogik komplexer Anwendungen Stefan Knuth, Stefan Vocke

© PPI AG 18.09.2008 > 5

Die AnforderungenDie IT-Technik

Die Versorgung der Gruppe mit IT-Dienstleistungen ist technisch sehr heterogen

Die IT-Dienstleister haben unterschiedliche IT-Strategien und Technologien im Einsatz

Die Durchdringung mit moderner Technologie ist sehr unterschiedlich weit fortgeschritten

Diskutierte Ansätze zur Umsetzung des Verfahrens in Informatik-Anwendungen

CICS-Transaktionen, Cobol, DB/2

3-Schichten-Anwendung: Server: „Started Task“ im z/OS, Middle Tier: BEA Weblogic, Client: Fat Client in C++

Web-Anwendung, HTML-Oberflächen, Java-Server, J2EE

Client/Server: Java, Swing-GUI

... und noch weitere

Page 6: Kernel StandardRating Ein Architekturkonzept für die Plattform-unabhängige Realisierung der Geschäftslogik komplexer Anwendungen Stefan Knuth, Stefan Vocke

© PPI AG 18.09.2008 > 6

Die AnforderungenHerausforderung

Verfahren muss von der Bankenaufsicht abgenommen werden

Hohe Qualitäts- und Dokumentationsanforderungen

Fachliche Einheitlichkeit muss sicher gestellt sein - sonst Einzelprüfungen in 500 Instituten!

Also: Zur Erreichung der Ziele muss so viel Software wie möglich zentral entwickelt und wiederverwendet werden.

Gleichzeitig muss jedoch den einzelnen IT-Strategien Rechnung getragen werden d.h. eine Anwendung für alle geht nicht.

Page 7: Kernel StandardRating Ein Architekturkonzept für die Plattform-unabhängige Realisierung der Geschäftslogik komplexer Anwendungen Stefan Knuth, Stefan Vocke

© PPI AG 18.09.2008 > 7

Das ArchitekturkonzeptDer Lösungsansatz: Rating-Kernel

Realisierung der Geschäftslogik des Verfahrens in einer Funktionsbibliothek, die in die unterschiedlichen IT-Strategien eingebunden werden kann:

StandardRating-Kernel

Leitsätze:

In den Kernel gehört alles, was zur Sicherstellung der fachlichen Einheitlichkeit erforderlich ist

Nicht in den Kernel gehört alles, was mit Benutzerdialogen, Druck und sonstigem I/O, Datenhaltung und Anwendungssteuerung zu tun hat

Page 8: Kernel StandardRating Ein Architekturkonzept für die Plattform-unabhängige Realisierung der Geschäftslogik komplexer Anwendungen Stefan Knuth, Stefan Vocke

© PPI AG 18.09.2008 > 8

Das ArchitekturkonzeptIm Überblick

Architekturbild

GUI

Rating-Anwendung

Rating-Kernel

Aufrufschnittstelle

Callback-Schnittstelle

Datenhaltung

Page 9: Kernel StandardRating Ein Architekturkonzept für die Plattform-unabhängige Realisierung der Geschäftslogik komplexer Anwendungen Stefan Knuth, Stefan Vocke

© PPI AG 18.09.2008 > 9

Technische Umsetzung Der Kernel

StandardRating-Kernel: Funktionsbibliothek in ANSI-C

Schnittstelle: C-Funktionsaufrufe und C-Callback-Funktionen

Anwendung (beim Kunden):

Aufruf der C-Funktionen

Implementierung der Callback-Funktionen

Entwickelt wird bei PPI unter Linux

Auf die folgenden Zielplattformen wird der Kernel portiert

Windows (C-Kernel – Java-Anwendung)

Solaris (C-Kernel – Java-Anwendung)

z/OS (C-Kernel – C++ und Cobol-Anwendung)

AIX (Java-Kernel – Java-Anwendung)

Auf allen Plattformen wird automatisiert getestet

Page 10: Kernel StandardRating Ein Architekturkonzept für die Plattform-unabhängige Realisierung der Geschäftslogik komplexer Anwendungen Stefan Knuth, Stefan Vocke

© PPI AG 18.09.2008 > 10

Technische UmsetzungAufgaben im Projekt

Programmierung des Kernels in ANSI-C auf Linux

Erzeugung der html-Schnittstellen-Spezifikation auf Linux

Programmierung des Java-Wrappers und der Java-Test-Suite auf Linux

Erstellung der Testfälle auf Linux

Portierung auf die Plattformen

Build auf den Plattformen

Test auf den Plattformen

Page 11: Kernel StandardRating Ein Architekturkonzept für die Plattform-unabhängige Realisierung der Geschäftslogik komplexer Anwendungen Stefan Knuth, Stefan Vocke

© PPI AG 18.09.2008 > 11

Der MainframeVorarbeiten unter Linux

Programmierung des Kernels in ANSI-C

Eclipse

CVS

Shell-Skripte

gmake mit gcc

Programmierung der Test-Suite (Pendant zur Anwendung)

Java

Java-Wrapper mit JNI-Interface

Erstellung der Testdaten

Transfer der Sourcen zum Mainframe via ftp

makefile.hmk (h-make – Portierung von gmake nach z/OS)

*.c, *.h (Einspielung in die DATASETs unter z/OS)

Bereitstellen der Quelltexte des Wrappers für direkten Zugriff

Page 12: Kernel StandardRating Ein Architekturkonzept für die Plattform-unabhängige Realisierung der Geschäftslogik komplexer Anwendungen Stefan Knuth, Stefan Vocke

© PPI AG 18.09.2008 > 12

Der Mainframez/OS UNIX System Services (USS)

Transfer der Test-Suite und der Testdaten

NFS (Mount der Linux-Platten)

Binär oder konvertiert von ASCII in EBCDIC

- JAR-Dateien (also die kompilierten Klassen)

Testdaten

Erstellen des Wrappers

gmake wie unter Linux

- Zugriff auf Linux-Verzeichnisse (NFS)

- shared library für die Test-Suite s.o.

- Sidedecks des Wrappers für den Kernel

- Im link-Schritt wird auf das Sidedeck des Rating-Kernels (z/OS) referenziert

Page 13: Kernel StandardRating Ein Architekturkonzept für die Plattform-unabhängige Realisierung der Geschäftslogik komplexer Anwendungen Stefan Knuth, Stefan Vocke

© PPI AG 18.09.2008 > 13

Der MainframeTSO (Time-Sharing Option)

Build des Kernels (Compile und Link)

hmake mit Makefile (makefile.hmk)

Erstellung der DLL (z/OS-Kernel, wir auch von der Test-Suite benutzt) und einem Sidedeck (Liste der nutzbaren Schnittstellen des z/OS-Kernels)

Aufruf des Kernel-Tests

JCL (Job Control Language - Steuersprache für Stapelverarbeitungen)

Ergebnisse in USS

Ausliefern

über eine sichere Datenverbindung von Host zu Host

Page 14: Kernel StandardRating Ein Architekturkonzept für die Plattform-unabhängige Realisierung der Geschäftslogik komplexer Anwendungen Stefan Knuth, Stefan Vocke

© PPI AG 18.09.2008 > 14

Der MainframeTSO (Time-Sharing Option)

Linux: Programmierung des Kernels

Linux: Pflege der Testumgebung

Linux: Transfer der Sourcen zum Mainframe

USS: Transfer der Test-Suite und der Testdaten

TSO: Build des Kernels

USS: Erstellen des Wrappers

TSO: Aufruf des Kernel-Tests

USS: Analyse der Testergebnisse

TSO: Auslieferung

Page 15: Kernel StandardRating Ein Architekturkonzept für die Plattform-unabhängige Realisierung der Geschäftslogik komplexer Anwendungen Stefan Knuth, Stefan Vocke

© PPI AG 18.09.2008 > 15

Rückblick und FazitZahlen und Fakten

Seit 2002 in Produktion

Abdeckung in der Finanzgruppe: nahezu 100% der Institute

Bis zu fünf Anwendungen integrieren den Kernel

Davon 2 Mainframe-basiert

Prozentsatz der Institute mit Mainframe-Lösungen: etwa 50%

Sechs Hauptreleases, mehrere größere Erweiterungen

Gesamtvolumen IT-Umsetzung bei allen Beteiligten: mehrere 10 Mio Euro

Nur Kernel: Mehr als 5000 Entwicklertage

910 Funktionsschnittstellen insgesamt, mit 82 aufrufbaren Funktionen

Kernel: 52459 LOC

Erreichte Synergie: etwa 60 bis 70%

Bei der Umsetzung eines Releases können mittlerweile etwa zwei Drittel der Anforderungen innerhalb des Kernels (und damit zentral) umgesetzt werden

Aufwand für die Plattform-Unterstützung: etwa 5 % der Entwicklungsaufwände

Page 16: Kernel StandardRating Ein Architekturkonzept für die Plattform-unabhängige Realisierung der Geschäftslogik komplexer Anwendungen Stefan Knuth, Stefan Vocke

© PPI AG 18.09.2008 > 16

Rückblick und FazitZahlen und Fakten

Unter anderem zeigt die Geschichte des Kernels StandardRating eines:

Der Mainframe ist keine exotische Welt, in der Software anders entwickelt wird als auf anderen Plattformen [na ja, ein bisschen schon!], anders aussieht [ich habe den Kernel bisher nur in Datasets gesehen!] als auf anderen Plattformen und die natürlich überhaupt nicht portabel ist.

Vielmehr ist es möglich, portable (Server-)Software zu entwickeln, die mit geringen Kosten auf verschiedenen Plattformen und auch auf dem Mainframe gut läuft.