Diplomarbeit, 2007
94 Seiten, Note: 1,3
1. Einleitung
2. Aufgabenstellung und Projektplanung
2.1. Aufgabenstellung
2.2. Projektplanung
3. Fachliches Umfeld und Lösungsansätze
3.1. Präsentationssoftware
3.2. Technikstudie
3.3. Lösungsansätze
3.4. Fazit
4. Anforderungsdefinition
4.1. Zeitrahmen
4.2. Begrifflichkeiten
4.3. Kostenrahmen
4.4. Betriebsbedingungen
4.5. Zielbestimmung
4.6. Muss-Kriterien
4.7. Soll-Kriterien
4.8. Kann-Kriterien
4.9. Abgrenzung
4.10.Anwendungsszenario
4.11.Funktionalität
4.12.Benutzeroberfläche
4.13.Programmierrichtlinien
4.14.Diagramme
5. Systementwurf
5.1. Entwurf der Modularität
5.2. Paketstruktur
5.3. Klassenübersicht
5.4. Entkopplung der Komponenten
6. Implementierung
6.1. Implementierung der Modularität
6.2. Kommunikation: Event-Driven
6.3. Programming without Assignment
6.4. Modulare XSLT-Dokumente
6.5. Präsentationsanzeige: XHTML
6.6. Assert
6.7. Zentrale Ausnahmebehandlung
6.8. Systemtest
6.9. Eclipse-ClassLoader Problem
7. Benutzeranleitung
7.1. Bedienungsanleitung
7.2. Parametrisierung eines XSLT-Dokuments
7.3. Beschreibung der Programmierschnittstellen
8. Zusammenfassung und Ausblick
A. Ressourcenplanung
A.1. Hardware
A.2. Software
A.3. Computerkonfiguration
B. Multidisplay-Umgebung einrichten
Das Hauptziel dieser Arbeit ist die Entwicklung einer modularen Software, die XML-Daten mittels XSLT-Templates in eine dynamische, auf mehreren Monitoren verteilbare Präsentation umwandelt, um die enge Kopplung von Inhalt und Design in klassischen Präsentationswerkzeugen zu überwinden.
3.2.1.1. Eclipse Rich-Client-Platform
Vermutlich jeder Java-Entwickler kennt inzwischen das „Eclipse Software Development Kit“ (Eclipse-SDK), welches sich durch seine komfortable Benutzeroberfläche und schiere Erweiterbarkeit auszeichnet. So kann das Eclipse-SDK z.B. durch einen Subversion-Client oder ein UML-Werkzeug erweitert werden.
Jedoch ist in dem Zusammenhang mit der Eclipse-Plattform weniger bekannt, dass sich dessen Eigenschaften zum Entwickeln eigener Softwarelösungen nutzen lassen. Seit Eclipse 3.0 ist es möglich eigenständige, von der IDE unabhängige, Programme auf der Basis der Eclipse-Rich-Client-Platform zu entwickeln.
Hierfür ist es nützlich sich den eigentlichen Aufbau der Eclipse-Plattform näher anzuschauen. Die Abbildung 3.2 zeigt vereinfacht, aus welchen Plugins sich die Eclipse-Plattform zusammen setzt. Hierbei sind die abgerundeten Rechtecke als eigenständige Plugins zu verstehen, welche auf der Eclipse-Plattform zum Ablauf gebracht werden.
Die eigentliche Plattform von Eclipse besteht aus einer relativ kleinen Kern-Applikation, welche lediglich für die Ausführung von Plugins zuständig ist. Die gesamte übrige Funktionalität von Eclipse wird über eigenständige Plugins integriert. In den häufigsten Fällen bestehen solche Plugins aus einem JAR-Archiv und einem Plugin-Maifest. Das Manifest plugin.xml ist hierbei zwingend erforderlich und beschreibt die Konfiguration und Integration des Plugins in die Plattform.
Ein Kernkonzept dieser Plugin-Architektur sind die „Extension Points“. Plugins docken über diese Erweiterungspunkte an die Plattform an und stellen dieser so ihre Funktionen zur Verfügung. Plugins selbest wiederum können eigene Erweiterungspunkte definieren und somit ihre Funktionalität teilen oder erweitern. Alle definierten und genutzten Erweiterungspunkte des Plugins werden im Plugin-Manifest eingetragen und beim Starten der Software durch die Runtime der RCP ausgewertet. Die Extension-Points werden anhand eines Dialekts der Sprache „XML Schema“ vom W3C definiert. Im Wesentlichen handelt es sich hierbei um eine Untermenge von XML Schema, die sich in der Verwendung von Namespaces und der Schreibweise einiger Elemente vom Standard des W3C unterscheidet.
1. Einleitung: Die Arbeit motiviert die Entwicklung einer XML-basierten Präsentationssoftware durch die Nachteile herkömmlicher, unflexibler Softwareprodukte und beschreibt den praktischen Bedarf.
2. Aufgabenstellung und Projektplanung: Hier werden die Zielsetzung der Softwareentwicklung, die notwendigen Ressourcen und der zeitliche Ablauf des Projekts detailliert definiert.
3. Fachliches Umfeld und Lösungsansätze: Es erfolgt eine Analyse bestehender Präsentationswerkzeuge sowie eine Technikstudie, die zu einer Entscheidung für Java, Eclipse-RCP und XSLT führt.
4. Anforderungsdefinition: Dieses Kapitel spezifiziert die Muss-, Soll- und Kann-Kriterien sowie das Anwendungsszenario und die allgemeinen Anforderungen an die zu entwickelnde Software.
5. Systementwurf: Hier wird die modulare Architektur der Software mit dem Core-Plugin, der Paketstruktur und dem Zusammenspiel der Komponenten durch Klassendiagramme entworfen.
6. Implementierung: Dokumentation der technischen Umsetzung, insbesondere der Plugin-Modularität, der Event-getriebenen Kommunikation und der Lösungen für das ClassLoader-Problem.
7. Benutzeranleitung: Ein praktischer Leitfaden für den Anwender zur Installation, Bedienung und Parametrisierung der Software sowie eine Übersicht der Programmierschnittstellen für Entwickler.
8. Zusammenfassung und Ausblick: Eine kritische Reflexion der Ergebnisse sowie Vorschläge für zukünftige Erweiterungen, wie die Integration von Generatoren für Benutzeroberflächen.
XML, XSLT, Eclipse-RCP, Modularität, Java, Präsentationssoftware, Plugin-Architektur, DOM, Softwareentwicklung, Multidisplay, Transformation, Benutzeroberfläche, Schnittstelle, Datenpräsentation, Erweiterbarkeit
Die Arbeit befasst sich mit der Entwicklung einer modularen Desktop-Anwendung, die XML-Daten auf Basis von XSLT-Templates dynamisch präsentiert und dabei die enge Kopplung von Inhalt und Design klassischer Werkzeuge aufhebt.
Die zentralen Themen umfassen die XML-Technologien (DOM, XSLT), die Eclipse-Rich-Client-Platform (RCP) für modulare Architekturen und die Entwicklung einer Java-basierten Softwareumgebung für flexible Präsentationen.
Das primäre Ziel ist der Entwurf und die prototypische Implementierung einer Software, die Präsentationen aus XML-Dokumenten generiert, wobei dem Anwender eine komfortable, über mehrere Monitore verteilbare grafische Oberfläche zur Bearbeitung bereitgestellt wird.
Die Arbeit kombiniert eine Literaturstudie zu aktuellen Web- und Softwaretechnologien mit einer systematischen Anforderungsanalyse, einem modularen Systementwurf und einer praktischen Implementierung als Referenzprojekt.
Im Hauptteil werden zunächst die Anforderungen definiert und der Systementwurf (modularer Aufbau) erarbeitet, gefolgt von einer detaillierten Dokumentation der Implementierung, inklusive der Event-gesteuerten Kommunikation und der Lösung technischer Hürden.
Die Arbeit wird maßgeblich durch Begriffe wie XML, XSLT, Eclipse-RCP, Modularität, Java und Multidisplay-Präsentation charakterisiert.
Die Eclipse-RCP bietet eine professionelle, modulare Architektur, die es ermöglicht, Funktionen als Plugins zu kapseln, was die Erweiterbarkeit und Flexibilität der Software gemäß den Anforderungen der Arbeit optimal unterstützt.
Die Einbindung erfolgt durch die Transformation der XML-Daten mittels XSLT-Templates, wobei der Benutzer zur Laufzeit über einen Präsentationseditor Parameter setzen kann, die in das Transformation-Modell einfließen.
Durch die Nutzung von SWT-Methoden zur Monitorabfrage (Multidisplay-Mode) wird die Präsentationsanzeige in einer eigenen Shell auf einem zweiten Monitor dargestellt, während die Bearbeitung in der Haupt-GUI erfolgt.
Dieses Problem trat auf, als die exportierte Anwendung nicht mehr auf Klassen des Saxon-Prozessors zugreifen konnte, da jedes Plugin in der Eclipse-Umgebung seinen eigenen ClassLoader verwendet. Die Lösung erforderte eine spezifische Anpassung der System-Properties im Konstruktor.
Der GRIN Verlag hat sich seit 1998 auf die Veröffentlichung akademischer eBooks und Bücher spezialisiert. Der GRIN Verlag steht damit als erstes Unternehmen für User Generated Quality Content. Die Verlagsseiten GRIN.com, Hausarbeiten.de und Diplomarbeiten24 bieten für Hochschullehrer, Absolventen und Studenten die ideale Plattform, wissenschaftliche Texte wie Hausarbeiten, Referate, Bachelorarbeiten, Masterarbeiten, Diplomarbeiten, Dissertationen und wissenschaftliche Aufsätze einem breiten Publikum zu präsentieren.
Kostenfreie Veröffentlichung: Hausarbeit, Bachelorarbeit, Diplomarbeit, Dissertation, Masterarbeit, Interpretation oder Referat jetzt veröffentlichen!

