Leben Leistung - Server

Eine Lebensversicherung entwickelt im Zuge der Homogenisierung ihrer Anwendungsarchitektur eine Server Komponente für den Leistungsbereich. Diese Komponente ist das Bindeglied zwischen einer unternehmensweiten relationalen Datenbank und einem Webserver. Doch eigentlich ist sie noch etwas mehr

Technisches und fachliches Umfeld

Die Software Landschaft einer Lebensversicherung, die die Mitarbeiter bei der Abwicklung ihrer Kerngeschäfte unterstützt, unterliegt einer fachlichen und einer technischen Gliederung.

Fachlich erfolgt die Gliederung nach dem Lebenszyklus eines Vertrages.

  • Am Anfang steht die Auswahl, welches Produkt gewählt wird.
  • Danach wird ein Vertrag erstellt, gewartet und beendet.
  • Wenn das Ereignis eintritt, "gegen" das man sich versichert hat, erfolgt die Abwicklung der Leistung der Versicherung.
  • Unterstützt werden diese Bereiche von einer gemeinsamen Partner/Adresse/Objekt Komponente für Versicherungsnehmer, Versicherte Personen, Vermittler, etc.

Die technische Gliederung wird durch die Architektur beschrieben.

  • Gemeinsame Datenbasis ist eine relationale Datenbank (DB2)
  • Auf diese Datenbasis wird transaktional mittels in C++ implementierten Services zugegriffen.
  • Die Services ihrerseits
    • stellen einem Web Server Daten im XML Format zur Verfügung
    • empfangen Aufträge vom Web Server, von Batch Jobs, oder anderen Services und führen diese auf der Datenbank aus.
  • Der Web Server verwendet die oben beschriebenen Services und führt den Sachbearbeiter, der mit einem Web Browser arbeitet, durch die Geschäftsfälle des Unternehmens. Dabei wird der Webserver von einem Workflow Management System unterstützt.

Ziel des Projekts

Die Entwicklung der Server Komponente für den Bereich Leistung.

Projekt Umfang

Am Anfang des Projekts steht eine fachliche Analyse der aktuell in Produktion befindlichen Geschäftsprozesse und deren Aktivitäten. Auf dieser Basis werden Transaktionen definiert und als Usecases abgebildet, die in etwa den Aktivitäten entsprechen.

Parallel dazu wird ein Transaktionsframework designt, dass diejenigen, die die konkreten Transaktionen implementieren, sich vorwiegend auf die Fachlichkeit konzentrieren können. Das Transaktionsframework umfasst unter anderem

  • Mapping zwischen C++ Objekten und der relationaler Datenbank
  • Generisches Parsen von XML Streams und Aufbau eines Objektmodel Clusters
  • Generisches Streaming eines Objektmodel Clusters auf XML
  • Gewährleistung der Transaktionssicherheit
  • Hooks für Prüfungen des Objektmodells an verschiedenen Stellen der Abarbeitung
  • Allgemeines Error Handling bei den einzelnen Abarbeitungsschritten innerhalb der Transaktion
  • Zusammensetzbare Transaktionen mit Parameterübergabe
  • Anbindung an das JUnit Testframework.

Dann erfolgen die Implementierung der Testfälle und deren Transaktionen auf Basis der erstellten Usecases.