Durch die auf Open Source Standards basierende, offene Architektur bietet die Rich Client Platform hervorragende Möglichkeiten zur Integration von Anwendungen auf dem Client. Dies gilt nicht nur aufgrund des genialen Plugin-Konzeptes sondern auch in besonderem Maße durch die Unterstützung der Entwickler: Sind Architektur und Schnittstellen beschrieben können auch Entwickler ohne tiefe RCP-Kenntnisse im Rahmen eines Plugins fachliche Funktionen entwickeln. Gleichzeitig ist es möglich, sehr mächtige und zwischen mehreren Betriebssystem-Plattformen portable Oberflächen zu erstellen, deren Funktionsumfang weit über den eines Browsers hinausgeht.
Eclipse Rich Client Platform
Eclipse wurde ursprünglich von IBM als Entwicklungsumgebung entwickelt und im Jahre 2001 der Open Source Community zur Verfügung gestellt. Seither erfreut sich das Projekt einer schnell wachsenden und ausgesprochen regen Entwicklergemeinde. Als kommerzielle Sponsoren fungieren über 120 Softwarehersteller, darunter Branchengrößen wie SAP, Oracle, BEA, Macromedia und natürlich IBM, welche die Plattform nutzen und zu ihr beitragen. Unter dem Dach des Eclipse Ökosystems wird neben dem Kernprojekt acht weitere Top-Level-Projekte an Themen wie Web Tools (WTP) oder Business Intelligence and Reporting Tools (BIRT).
Bis Version 2 war das Designziel von Eclipse ausschließlich, eine performante und leicht erweiterbare IDE auf Basis von Java zu schaffen. Diese Anforderungen führten zu einem strikt komponentenorientierten Programmiermodell, welches vorsieht, dass eine schlanke Laufzeitumgebung als erweiterbarer Anwendungskern fungiert. Alle Funktionalitäten setzen in Form von in sich abgeschlossenen Komponenten - so genannten Plugins - auf diesem Kern auf.
Nach Erscheinen der Version 2 war die Entwicklergemeinde zunehmend bestrebt, das Komponentenmodell von Eclipse auch für eigene Applikationen zu nutzen. So kam es mit Version 3 durch ein umfangreiches Redesign zur Grundlage dessen, was heute als Eclipse Rich Client Platform (RCP) bezeichnet wird. Seitdem verfügt Eclipse über Programmierschnittstellen, die es ermöglichen, die Laufzeitumgebung nach eigenem Bedarf zu nutzen und zu erweitern. Neben dem als Equinox bezeichneten Kern, einer Implementation der OSGi R4 Specification (Open Services Gateway Initiative - http://www.osgi.org/), beinhaltet RCP Komponenten für Suche, Hilfe und Update.
Abb. 1: Architektur der Eclipse Plattform(en)
Natürlich ist für die Einarbeitung in RCP die Beherrschung von Java erforderlich. Die oben beschriebenen Komponenten und Konzepte sind jedoch selten Teil von Java-Schulungen. Auf RCP speziell abgestimmte Schulungen, die z.B. SWT und JFace vermitteln sind bisher noch rar gesäht. Über dieses Handwerkszeug hinaus ist es jedoch am wichtigsten, sich mit den zugrundeliegenden Standards und Konzepten auseinanderzusetzen. Hier hilft wie so oft vor allem viel Lesen und Ausprobieren, Literatur ist mittlerweile in guter Qualität verfügbar.
Dabei sind eine Reihe vorhandener Anwendungen unter einer einheitlichen, nutzerfreundlichen Oberfläche zu integrieren – im konkreten Fall das Agentursystem sowie die zur Beitragsberechnung erforderlichen Tarifrechner. Neben der reinen Darstellung müssen die Daten unter dieser Oberfläche komfortabel manipulierbar gemacht werden und alle für die Anwendung relevanten Funktionalitäten der externen Anwendungen bedienbar sein.
Die höchste Priorität hatte die Anbindung des bestehenden Agentursystems. Hierbei handelte es sich um eine propietäre Kundenbestandsverwaltung auf Basis von Visual FoxPro, die per Java-COM-Bridge (JACOB) über bereits existierende COM-Schnittstellen angesprochen werden sollte. Die von diesem System erhaltenen Kundendaten können in der Anwendung auf Personen- oder Familien/Haushaltsebene mit Beratungsdaten erweitert werden. Um diese Zusatzinformationen wieder in den Bestand zurückfließen zu lassen, war eine minimale Erweiterung des Datenmodells der Bestandsdatenbank notwendig, um die XML-Daten der Beratung dort abzulegen.
Ebenso komplex war die Integration der verschiedenen Rechenkerne, die für Bedarfsermittlung und Beitragsberechnung benötigt werden. Die meisten dieser Rechner waren als eigenständige Applikationen implementiert. Naturgemäß gab es hier eine Vielzahl unterschiedlicher Datenmodelle und unterschiedlichste Integrationsmöglichkeiten zu berücksichtigen. Neben der bereits angesprochenen Java-COM-Kopplung waren an anderen Stellen auch reine Java-Schnittstellen oder die Anbindung nativen Codes per JNI gefragt.
Abb. 2: Komponenten des Anwendungsrahmens

