Eclipse RCP

In meiner langjährigen Karriere als Softwareentwickler war ich in verschiedenen Projekten im Bereich Eclipse RCP tätig. Teilweise wurden Anwendungen ausschließlich auf der Eclipse RCP-Platform umgesetzt. Das heißt: Hier wurden hauptsächlich die OSGI Plugin-Architektur genutzt und Oberflächen mit SWT entwickelt. In anderen Projekten kamen auch zusätzliche Frameworks zum Einsatz, wie zum Beispiel das Eclipse Modeling Framework (EMF), Graphical Modeling Framework (GMF), Graphical Editing Framework (GEF) oder die Rich Ajax Platform (RAP).

Weiter unten können Sie sich ein Bild meiner überwiegend eingesetzten Technologien machen.


Eclipse Modeling Framework (EMF)

Mit EMF lässt sich ein Datenmodell modellieren und auf Basis dieses Modells der zugehörige Code generieren. Wahlweise werden durch das Framework jedoch nicht nur die einzelnen Datenklassen generiert. Zusätzlich können eine ganze Reihe nützlicher Features und der nötige Code generiert werden. Dazu gehört zum Beispiel Code zum Editieren des Datenmodells, inklusive eines Command-Stacks, um Funktionen wie Undo oder Redo zu realisieren. Ein anderes Beispiel ist ein rudimentärer Editor, mit dem Instanzen des Datenmodells editiert werden können.
Auf EMF-Basis gibt es eine ganze Reihe von zusätzlichen Frameworks, die zusätzliche Funktionalitäten bieten, wie das Persistieren von Dateninstanzen in Datenbanken, collaboratives Arbeiten auf einer Instanz des Datenmodells, weitere Editoren und vieles mehr. Auch mit diesen Tools konnte ich bereits einige Erfahrungen sammeln.
Insgesamt, mit den zusätzlichen Frameworks bietet die Eclipse Foundation hier ein sehr mächtiges Tool, mit dem sehr schnell Prototypen oder ganze Tools entwickelt werden können.

Graphical Editing Framework (GEF)

Das GEF ist ein Framework zum Erstellen grafischer Tools, die in eine Eclipse RCP-Anwendung eingebettet werden können. Das Framework bietet hier unzählige Möglichkeiten, wie diese Editoren aussehen können. Denkbar sind zum Beispiel grafische UML-Tools, Editoren für Workflows und vieles mehr. Die Editoren können komplett auf den eigenen Geschmack oder die Corporate Identity angepasst werden.

Graphical Modeling Framework (GMF)

GMF kombiniert im Prinzip die beiden Frameworks EMF Und GEF. Mit GMF kann man grafische Editoren zur Manipulation von EMF-Modellen entwickeln. Im GMF wird spezifiziert, welche grafischen Gestaltungselemente des GEF-Editors es gibt und wie die einzelnen Datenmodellelemente auf die grafischen Elemente gemapped werden sollen. Auch Datenmodelle mit rekursiven Strukturen können durch GMF-Editoren abgebildet werden.

Rich Ajax Platform (RAP)

Während eine Eclipse RCP-Anwendung immer nativ als Anwendung auf einem Rechner läuft, kann die Rich Ajax Platform genutzt werden, um mit den gleichen Mitteln einer RCP-Anwendung auch webbasierte Anwendungen zu können. Diese Anwendungen laufen in einem ……-Server, auf den Clients ohne eine Installation oder Kopieren einer Anwendung, zugreifen können. Wahlweise kann auch eine native und eine Webanwendung parallel und mit einer, größtenteils gleichen, Codebasis umgesetzt werden.