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 ] ...