Diplomarbeit
FH-Konstanz

Meine Diplomarbeit habe ich im Sommersemester 2006 bei der Datateam AG geschrieben, wo ich bereits meine Praxissemester absolviert habe. Der Titel meiner Diplomarbeit lautet:
Entwicklungsumgebung für Web-Anwendungen als Eclipse-Plugin.
Der folgende Ausschnitt meiner Diplomarbeit gibt einen Einblick in die Ausgangssituation, in die gesetzten Zielen und in das Ergebnis meiner Arbeit.

Ausgangssituation

"Der Datateam AG steht mit dem intern entwickelten vLogistics-Framework ein Werkzeug für die Entwicklung von Applikationen zur Verfügung. Mit vLogistics können auch mit geringen Programmierkenntnissen komplexe Web-Applikationen entwickelt werden. Ermöglicht wird dies durch die Bereitstellung zahlreicher Standard- und Hilfsmethoden, die dem Entwickler viel Arbeit abnehmen und ihn bei der Entwicklung unterstützen.

vLogistics-Applikationen greifen in der Regel auf Datenbanken zu. Die Unterstützung mehrerer Datenbanksysteme ist ebenso möglich wie die Verwaltung mehrerer Benutzergruppen und Rollen. Die Darstellung der Daten und der Eingabemasken erfolgt anhand von HTML-Seiten im Web-Browser.

Mit XMLGUI hat die Datateam AG ein weiteres Framework im Einsatz, mit dem Applikationen mit einer Java-Oberfläche entwickelt werden können. XMLGUI ist lediglich für die Oberfläche zuständig und erweitert somit die Funktionalität von vLogistics. XMLGUI ersetzt HTML und den dafür benötigten Web-Browser."

Problematik

"Die Funktionsvielfalt von vLogistics führt dazu, dass die Entwickler viele Möglichkeiten haben, ihr Ziel zu erreichen. Genau hier liegt das Problem. Jeder Entwickler entwickelt seine eigenen Vorgehensweisen und Strukturen. Die unterschiedlichen Entwicklungsstile führen schliesslich dazu, dass die Entwicklung, die Überprüfung des Programmcodes, die allgemeine Fehlersuche oder die Hilfe durch Kollegen, vor allem bei komplexeren Funktionen, stark erschwert wird. Darüber hinaus hat sich mit der Zeit ein Programmierstil entwickelt, der nicht mehr dem Grundgedanken von vLogistics entspricht und bei komplexeren Applikationen zahlreiche Probleme verursacht.

Neben Web-Applikationen auf HTML-Basis gibt es XMLGUI-Applikationen mit einer Java-Oberfläche. Die Oberflächen werden von den Entwicklern in Form von XML-Dateien erstellt. Da die XML-Dateien in der Regel mit Texteditoren erstellt werden, erweisen sich komplexere Oberflächen schnell als Problem. Je mehr Elemente eine Oberfläche enthält, desto grösser und unübersichtlicher werden die XML-Dateien. Die Dateien sind somit kaum noch lesbar.

Ein weiteres Problem ist die zunehmende Komplexität der Applikationen. Das führt u.a. zu einer sehr grossen Menge an Dateien. Eine aktuelle Zollapplikation besteht mittlerweile aus knapp 1.300 Dateien. Das dadurch die Übersicht verloren geht, ist fast unvermeidlich. Darüber hinaus wird die Suche nach bestimmten Einträgen immer aufwändiger, da hierfür mehrere Schritte notwendig sind."

Zielsetzung

"Die Entwicklung der Java-Komponenten erfolgt bei der Datateam AG mit der Open-Source Entwicklungsumgebung Eclipse. Eine Besonderheit von Eclipse ist die Möglichkeit, die Funktionalität durch Plugins zu erweitern. Die neue Entwicklungsumgebung für vLogistics-Applikationen soll daher in Eclipse integriert werden. Die gesamte Entwicklung wird sich somit in Zukunft nur auf ein Tool konzentrieren - auf Eclipse.

Die genannten Probleme kosten den Entwickler viel Zeit und damit die Firma viel Geld. Das betrifft sowohl die Entwicklung als auch die Wartung und Erweiterung der Applikationen. Mit der neuen Entwicklungsumgebung sollen die bestehenden Schwierigkeiten gelöst werden. Diese Diplomarbeit wird sich mit Lösungsmöglichkeiten für genannte Probleme beschäftigen."

Lösungsansatz

"Die neue Entwicklungsumgebung wird als Eclipse-Plugin entwickelt und somit in die Eclipse-Plattform integriert. Das Plugin baut auf der Architektur von Eclipse auf und nutzt dabei die bereitgestellten Technologien. Der Benutzer erhält ein übersichtliches Plugin, das sich sowohl beim Aufbau der Plugin-Oberfläche als auch beim Verhalten der einzelnen Komponenten an den bekannten Eclipse-Komponenten orientiert. Als Programmiersprache kommt Java in der Version 1.4.2 zum Einsatz."

Umsetzung

Zu Beginn stand die Architektur von Eclipse und die Plugin-Entwicklung im Vordergrund. Neben diversen Views (also Ansichtsfenster) und Editoren ist auch eine neue Perspektive (d.h. ein eigener Bereich in Eclipse) entstanden. Darüber hinaus war ein umfangreiches Datenmodell nötig, dass die Ressourcen von vLogistics-Applikationen verwaltet und einen schnellen Zugriff auf die Inhalte ermöglicht. Der Zugriff auf alle Ressourcen erfolgt über die Eclipse-Plattform.

Die Integration in Eclipse brachte allerdings auch Probleme mit sich. Das grösste Problem war das eclipse-interne Dateisystem, das eine Abbildung des echten Dateisystems ist. Wird nur über Eclipse mit den Ressourcen gearbeitet, übertragen sich die Änderungen automatisch auch auf das Dateisystem. Werden allerdings ausserhalb von Eclipse Ressourcen geändert, ist das Eclipse-Dateisystem, bzw. einzelne Ressourcen, nicht mehr synchron. Vor allem in der Firma kommt das durch den Einsatz eines eclipse-externen Versionsmanager-Programms häufig vor. Um das Eclipse-Dateisystem in solchen Fällen zu synchronisieren, muss das so genannte "Refresh" gestartet werden. In diesem Plugin mussten bei einem Refresh zwei Dinge beachtet werden: die Views mussten aktualisiert werden und das Datenmodell, das den Inhalt der Ressourcen enthält. Klingt einfach, ist es aber nicht. Denn neben dem Eclipse-Listener, der auf Ressourcenänderungen reagiert, kommen noch weitere Listener die vom Plugin benötigt werden zum Einsatz, die in Kombination mit dem Eclipse-Listener fehlerfrei funktionieren müssen.

 
Valid XHTML 1.0 Strict Valid CSS! Apple Mac