Vertriebsanwendung: Java statt Browser

22.05.2007
Von Herrmann Ballé

Projektablauf

Nach einer kurzen Startphase wurde parallel zur Erstellung der Fachkonzepte innerhalb von sechs Wochen ein technischer Durchstich erreicht, der die generelle Eignung der Plattform bewies. Der Prototyp wurde einer externen technischen Prüfung unterzogen, um die Anwendungsarchitektur zu härten. Im Anschluss wurde mit der Entwicklung des Rahmens begonnen, der die technischen Services zur Verfügung stellt. Mit dem Vorliegen der ersten fachlichen Teilkonzepte konnte die Granularität und Ausgestaltung dieser Services entworfen werden. Die versicherungsfachlichen Komponenten wurden dann parallel über alle Sparten erstellt.

Bereits vier Monate nach Projektstart existierte als Ergebnis der agilen Entwicklung ein funktionsfähiger Prototyp, welcher anschließend in einem wöchentlichen Zyklus sukzessive erweitert wurde. Der volle Funktionsumfang von "Go for you" war Mitte Mai implementiert, woran sich eine sechswöchige Testphase anschloss. Der ursprünglich geplante Termin 1. Juli 2006 wurde exakt eingehalten.

Steckbrief

Projektart: Die Gothaer Versicherungen statten ihren selbständigen Außendienst mit einer neuen Beratungssoftware für die Sparten Sach, Leben und Kranken aus. Auf diese Weise können die Kunden ganzheitlich beraten und damit Cross-Selling-Potenziale eröffnet werden. Gleichzeitig erfüllt die Anwendung durch Dokumentation des Beratungsergebnisses bereits die Anforderungen der neuen EU-Vermittlerrichtlinie.

Branche: Versicherungen

Zeitrahmen: Projektstart am 1. Oktober 2005, Beginn der Entwicklung 1. Dezember 2006, Pilotbetrieb seit dem 1. Juli 2006

Kunde: Der Gothaer Versicherungskonzern in Köln ist ein Versicherungsverein auf Gegenseitigkeit mit 3,5 Millionen Mitgliedern und 6000 Mitarbeitern in ganz Deutschland. Rund 1700 selbständige Agenturen bieten bundes-weit Beratung und Service.

Dienstleister: IDG, der IT-Dienstleister der Gothaer Versicherungen, hat die auf Eclipse RCP basierende Anwendung gemeinsam mit dem Kölner Softwarehaus Timetoact erstellt. Zusätzlich wurden zeitweise externe Teams für die Integration bestehender Anwendungen hinzugezogen, so dass parallel bis zu 20 Entwickler tätig waren.

Aufteilung in Komponenten

Schon zu Beginn des Projekts war klar, dass die Lieferanten von Komponenten ihre Bausteine in den Client integrieren müssen. Hier konnte jedoch kein explizites RCP-Wissen vorausgesetzt werden. Die Architektur wurde daher so gewählt, dass die fachlichen Komponenten in Plug-ins gekapselt waren, technische und grafische Funktionen dagegen in separaten Service-Plug-ins konzentriert wurden. Weiterhin wurden die Schnittstellen als Extension Points spezifiziert und den fachlichen Komponenten zur Verfügung gestellt. Auf diese Weise konnten sich die externen Partner auf die Modifikation und Erweiterung ihrer Fachkomponenten innerhalb ihres Plug-ins beschränken, ohne sich intensiv in die RCP-Entwicklung einarbeiten zu müssen.

Geschwindigkeit der Gesamtanwendung

Die existierende Bestandsverwaltung sollte in Go for you eingebunden werden. Um das Beratungsgespräch nicht durch Wartezeiten zu behindern, musste eines der Nebenziele eine gute Ablaufgeschwindigkeit der Gesamtanwendung sein. Deshalb wurde entschieden, alle Komponenten direkt beim Anwendungsstart zu initialisieren. Aufgrund der guten Erfahrungen mit der Leistungsfähigkeit der Plattform konnte davon jedoch später abgewichen werden. Einzelne Module brauchen seither erst bei Bedarf nachgeladen zu werden ("Lazy Loading").

Eine weitere Entscheidung betraf das in Eclipse häufig genutzte Observer Pattern. Danach können sich beliebig viele Module (Observer) an einem anderen Modul (Observable) anmelden und erhalten im Fall eines Ereignisses eine Benachrichtigung. Dabei kann in einem einfachen Beispiel um einen Button handelt, der bei Mausklick eine Statusänderung miiteilt. Ebenso ist es aber möglich, neben Maus- und Tastatureingaben auch Daten- oder Statusänderungen mit Ereignissen zu versehen, wodurch sich eine Vielzahl von Benachrichtigungen auslösen lässt. Daher wurde das Observer Pattern zunächst möglichst sparsam verwendet. Es zeigte sich jedoch, dass die Verwendung des Entwurfsmusters zum einen für die möglichst lose Kopplung der Module essenziell ist und zum anderen nur marginale Auswirkungen auf die Geschwindigkeit hat.