Die Eclipse-Architektur


... [ Seminar JAVA und Werkzeuge für das Web ] ... [ Thema Eclipse ] ... [ JDT - Java Development Tooling ] ...

Übersicht: Die Eclipse-Architektur


Übersicht

Die Eclipse-Platform besteht, wie aus der Abbildung ersichtlich wird, grob aus vier Bestandteilen, die im folgenden kurz beschrieben werden. Die "New Tools" stellen hier die Plug-Ins dar, zu denen übrigens auch das JDT sowie die PDE gehören. Zusätzlich zu der hier gezeigten Möglichkeit der Interaktion mit der Platform, besteht auch die Möglichkeit der Interaktion mit anderen Plug-Ins.


Workspace

Die Workspace ist die eigentliche Arbeitsumgebung für den User. All seine Aktionen und Operationen finden hier statt. Im Dateisystem des Rechners befindet sich immer auch ein Verzeichnis mit dem Namen der Workspace, in dem sich die Unterordner für die einzelnen laufenden Projekte befinden. In diesen Unterordnern wiederum befinden sich die Dateien, die dem Projekt zugeordnet sind und vom User bearbeitet werden. Dies müssen nicht zwangsläufig nur Quellcodedateien sein; durch verschiedenste Plug-Ins kann Eclipse in der Lage sein, jegliche Art von Dateien bearbeiten zu können.

Bei Programmstart werden nun alle sich im Workspace-Verzeichnis befindlichen Dateien in den Programm-Workspace geladen und alle Änderungen, die während der Sitzung durchgeführt werden, wirken sich durch die Synchronität beider Workspaces sofort auf die Quelldateien aus. Eine lokale Versionshistorie hilft dabei, Änderungen rückgängig zu machen, falls dies einmal notwendig werden sollte. Diese arbeitet mit sog. "resource deltas", die alle Änderungen der jeweiligen Versionen speichert.


Workbench

Die Workbench ist das, was der User "zu Gesicht" bekommt, d.h. das optische Interface. Dieses Interface ist durch den Benutzer mittels Plug-Ins erweiterbar (es können sowohl Komponenten wie Menüs, Editoren und Fenster als auch Aktionen hinzugefügt werden), ist aber grundsätzlich auf zwei Komponenten aufgebaut:

1.) SWT - Standard Widgeting Toolkit

Durch die Ähnlichkeit der Bezeichnung mit dem bekannten JAVA-AWT ist auch sofort die Bedeutung des SWT erkennbar. Es definiert Bausteine zum Aufbau graphischer Benutzeroberflächen (d.h. Buttons, Frames, Menus,..., sog. "Widgets"). Der Unterschied zum AWT liegt hier in der Plattformunabhängigkeit des SWT (d.h. es greift auf keinerlei betriebssystemeigene Einstellungen zu) sowie der Möglichkeit, komplexe Widgets wie Bäume oder Tabellen darzustellen. Im folgenden nun Screenshots der Oberflächen unter Windows und LINUX (man erkennt die optische Gleichheit).







2.) JFace

JFace ist ein Toolkit, dessen Methoden und Funktionen auf den SWT-Widgets aufbauen. So legen diese Methoden bspw. Schrifttypen und -größen fest, speichern Benutzereinstellungen für einzelne Komponenten oder stellen ein "progress reporting" für lang andauernde Operationen zur Verfügung.

Die "fertige" Workbench besteht grundsätzlich aus Views und Editoren. Editoren statten den Benutzer mit der Möglichkeit aus, Dateien zu bearbeiten und zu manipulieren. Views zeigen dem User Informationen über verschiedenste Dinge an, bieten ihm aber keine Möglichkeit, diese zu ändern. Ein Beispiel hierfür ist ein Verzeichnisbaum.

Die Workbench an sich kann mehrere Perspektiven besitzen, zwischen denen der User jederzeit per Knopfdruck wechseln kann. Verschiedene Perspektiven vermitteln dem Benutzer verschiedene Informationen auf unterschiedlichen Ebenen. Beispiele für Perspektiven sind die Entwicklungsperspektive, die Runtimeperspektive oder die Helpperspektive.


VCM - Version and Configuration Management

Eclipse ermöglicht die Entwicklung im Team mit einem im Netz liegenden Repositorium über das Version and Configuration Management. Dazu wurde das bekannte Versionsverwaltungstool CVS als Plug-In implementiert. Es können dabei gleichzeitig mehrere Repositorien verwaltet werden, d.h. es kann gleichzeitig an mehreren Projekten gearbeitet werden. Eine einmal ausgecheckte Source wird dann für die anderen Teammitglieder zur Bearbeitung gesperrt. Jede Source eines jeden Repositoriums besitzt eine eigene Historie, die man sich vom eigenen Client aus ansehen kann. Dort werden neben dem Datum, Autoren usw. auch Kommentare hinterlegt, aus denen hervorgehen sollte, welche Änderungen vorgenommen wurden.

Für die Arbeit mit der Versionsverwaltung steht eine eigene Perspektive zur Verfügung. Andere Versionsverwaltungstools als CVS können als weitere Plug-Ins registriert und der Perspektive hinzugefügt werden.


Help

Wegen der Erweiterungsmöglichkeiten der Funktionalität von Eclipse durch Plug-Ins, muss auch die Online-Hilfe erweiterungsfähig sein. Alle Plug-In-Entwickler können demnach ihren Plug-Ins HTML- und XML-Files beilegen, die die Funktionsweise der neuen Komponenten beschreiben. Dabei übernehmen die XML-Dateien die Navigation innerhalb der Hilfe und die HTML-Dateien die Beschreibung der Funktionen. Die Hilfe muss also nur nach den XML-Dateien suchen, die in entsprechenden Verzeichnissen der Plug-In-Klassen abgelegt werden müssen. Die wichtigste Aufgabe der Help-Files ist die Beschreibung der eigenen sog. Extension Points, auf die von anderen Plug-Ins aus zugegriffen werden kann und die Erweiterbarkeit des eigenen Plug-Ins beschreiben (siehe auch Kapitel 4).


... [ Seminar JAVA und Werkzeuge für das Web ] ... [ Thema Eclipse ] ... [ Die Eclipse-Architektur ] ... [ JDT - Java Development Tooling ] ...