Eclipse Rich Client Platform (RCP)

Bis zur Version 2.1 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. Dieses sieht vor, 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.

Seit Erscheinen der Version 2.1 war die Benutzer-Community bestrebt, das Komponentenmodell von Eclipse für eigene Applikationen zu nutzen. Der Entwicklungsprozess von Eclipse erhielt hierdurch neben frischen Ideen auch ein noch größeres Maß an Unterstützung. So kam es mit Version 3.0 durch ein umfangreiches Re-Design 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. In den später erschienenen Releases der 3.x - Version wurden die Möglichkeiten und Schnittstellen sukzessiv erweitert und verfeinert. Neben den grundlegenden Komponenten (Core, OSGI, Help, SWT, JFace, UI) kann man sich heutzutage noch weitere Features der Plattform zunutze machen. Hierzu zählen unter anderem:
  • Umfangreiche Funktionen für Texteditoren (Syntax Coloring, CodeAssist etc.)
  • Eclipse Workspace-Ressoucen-Modell zum Verwalten von Projekten, Ordnern und Dateien bei Entwicklungsumgebungen
  • Framework zum Erstellen von Grafikprogrammen oder Anwendungen mit grafischen Elementen (GEF-Framework)
  • sowie eine unüberschaubare Anzahl von Drittanbieter-Plugins, die für Eclipse entwickelt wurden. Die zur Verfügung stehenden Funktionalitäten reichen von Vergleichsfunktionen bis hin zur kompletten OpenOffice-Integration.
Einige der gravierendsten Probleme, die vor einigen Jahren zum Paradigmenwechsel hin zu Web- und Thin Clients geführt haben, lagen in versteckten Kosten begründet. Deployment und Wartung, speziell auch Abhängigkeiten von anderer installierter Software machten frühe Rich Client Applikationen wirtschaftlich unpraktikabel. Daher wurde oftmals einem einfachen Client der Vorzug gegeben, obwohl Abstriche bei Visualiserungsmöglichkeiten und Bedienbarkeit der Benutzeroberfläche in Kauf genommen werden mussten.

Die komponentenbasierte Architektur einer Plattform wie Eclipse RCP hebt viele der damaligen Probleme auf, indem sie eine Runtime mit Komponentenverwaltung, Versionierung sowie automatisierter Deployment- und Update-Politik zur Verfügung stellt. Zusätzlich zu der Möglichkeit, Anwendungsbestandteile vollkommen isoliert zu behandeln, erleichtert sie auch die Integration externer Systeme, beispielsweise bereits existierender Anwendungen oder Datenbanken. Gleichzeitig ist es möglich, sehr mächtige und gleichzeitig zwischen mehreren Plattformen portable Oberflächen zu erstellen, deren Funktionsumfang weit über den eines Browserclients hinausgeht.

Hier ein Architekturüberblick der Eclipse-Plattform:


Die Rich Client Platform besteht aus folgenden Komponenten:
  • Core – enthält u.a. den Launcher zum Starten der Plattform
  • OSGI – das Framework zum Laden und Verwalten von Plug-ins
  • Help – die Grundlage für ein flexibles Hilfesystem
  • SWT – das Standard Widget Toolkit, als Alternative zu AWT/Swing, setzt auf native Komponenten und bietet daher die Optik und den Komfort einer nativ entwickelten Anwendung
  • JFace – ein UI-Framework das auf SWT aufsetzt und dem Entwickler mit vielen häufig benötigten Komponenten behilflich ist
  • UI – setzt, auf JFace und SWT aufbauend, die grundlegende Benutzeroberfläche zusammen, u.a. mit Menü- und Toolbar
Der Entwickler einer RCP-Anwendung bekommt somit:
  • eine native & intuitive Benutzeroberfläche
    (angepasst an die jeweiligen Betriebssystemstandards des entsprechenden OS.)
  • die dynamische Eclipse Plug-in-Architektur
  • den Eclipse Update-Manager (Live-Updates)
  • ein ausgereiftes Hilfesystem mit leistungsfähiger Volltextsuche
  • Drittanbieter Plug-Ins

Unterstützung von der Open Source Community und namhaften Softwareherstellern

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 ausgesprochen regen Entwicklerbeteiligung. Doch auch im kommerziellen Umfeld ist es erfolgreich: Über 100 Softwarehersteller, darunter Branchengrößen wie Oracle, BEA oder Macromedia, nutzen die Plattform und tragen zu ihr bei. Selbstverständlich erfährt Eclipse auch anhaltend signifikante Unterstützung seitens IBM - dies auch speziell im RCP-Umfeld, in welchem IBM mit der Eclipse-basierenden Workplace-Technologie präsent ist.
Es gibt bereits eine ganze Reihe von Open-Source-Projekten und kommerziellen Anwendungen, die auf RCP setzen. Hierbei werden ganz verschiedene Bereiche wie Zeichenprogramme, Newsreader, Aktienverwaltungen, CRM- oder ERP-Systeme abgedeckt.

TIMETOACT setzt auf die Eclipse Rich Client Platform (RCP) als Basis für plattformunabhängige Anwendungen, die nur eines minimalen Aufwands für die Realisierung der Grundfunktionen bedürfen.