Diplomarbeit Webdav-Debugger
Total Page:16
File Type:pdf, Size:1020Kb
Elektrotechnik und Informatik DIPLOMARBEIT Entwicklung eines grafikunterstützten Debugging-Werkzeugs zur Implementierung von WebDAV-Applikationen vorgelegt von: Hans Jochen Wüst Matr.-Nr.: 609058 betreut von: Prof. Dr.-Ing. habil. Hans Wojtkowiak Dr.-Ing. Bernd Klose (Universität Siegen) Dipl.-Math. Andreas Schreiber Dipl.-Inform. Markus Litz (Deutsches Zentrum für Luft- und Raumfahrt - Köln) Tag der Ausgabe: 14.12.2007 Tag der Abgabe: 13.06.2008 Abstract This document presents the results of the diploma thesis „Entwicklung ei- nes grafikunterstützten Debugging-Werkzeugs zur Implementierung von WebDAV-Applikationen“. In cooperation with the German Aerospace Cen- ter an open source tool will be realized to graphically test and evaluate the communication between WebDAV applications. First of all the necessary basics are discussed. Following this the developed solution is introduced and the concepts of the various subsystems are explained. Based on these results the design and implementation of the subsystems are described. A case of application shows the practical use of the developed concepts. Fi- nally problems having occurred in the course of the development will be examined, and an outlook for possible developments and optimizing of the prototype will be given. Im Rahmen dieser Ausarbeitung werden die Ergebnisse der Diplomar- beit „Entwicklung eines grafikunterstützten Debugging-Werkzeugs zur Im- plementierung von WebDAV-Applikationen“ präsentiert. In Kooperation mit dem Deutschen Zentrum für Luft- und Raumfahrt wird ein Open- Source-Werkzeug realisiert, mit dessen Hilfe die Kommunikation zwischen WebDAV-Anwendungen grafikunterstützt getestet und ausgewertet wer- den kann. Zunächst werden die benötigten Grundlagen erörtert. Im An- schluss daran wird das entwickelte Lösungskonzept vorgestellt und die Ent- würfe der verschiedenen Subsysteme werden dargelegt. Das darauf aufbau- ende Design und die Umsetzung der Entwürfe werden beschrieben. Die Pra- xistauglichkeit der erarbeiteten Konzepte wird anhand eines Anwendungs- falls belegt. Abschließend werden im Laufe der Entwicklung aufgetretene Probleme betrachtet und ein Ausblick auf mögliche Weiterentwicklungen und Optimierungen des Prototypen skizziert. Inhaltsverzeichnis 1 Einleitung 1 1.1 Motivation .............................. 2 1.2 Aufgabenstellung .......................... 3 1.3 Gliederung .............................. 3 2 Grundlagen 5 2.1 Software Engineering ........................ 5 2.1.1 Vorgehensmodelle ...................... 6 2.1.2 Qualitätssicherung ..................... 11 2.2 Open Source ............................. 14 2.2.1 Definition ........................... 14 2.2.2 Lizenzmodelle ........................ 16 2.2.3 SourceForge.net ....................... 18 2.3 Architektur- und Entwurfsmuster ................ 19 2.3.1 Einzelstück-Muster ..................... 20 2.3.2 Beobachter-Muster ..................... 21 2.3.3 Dekorierer-Muster ..................... 22 2.3.4 Model-View-Controller-Muster .............. 23 2.4 Netzwerkprotokolle ......................... 25 2.4.1 TCP/IP ............................ 26 2.4.2 HTTP ............................. 28 2.4.3 WebDAV ........................... 33 2.5 Multithreading ........................... 37 2.6 Extensible Markup Language ................... 40 2.7 Java .................................. 43 2.7.1 Vererbung und Polymorphie ................ 43 2.7.2 Netzwerk-Kommunikation ................. 47 I Inhaltsverzeichnis 2.7.3 Swing ............................. 49 3 Konzept 51 3.1 Marktanalyse ............................ 51 3.2 Gesamtkonzept ........................... 53 3.3 Gliederung des Entwurfs ...................... 56 3.3.1 Grafische Benutzeroberfläche ............... 57 3.3.2 Netzwerkfunktionalität .................. 58 3.3.3 Nachrichtenhistorie ..................... 59 3.3.4 Plugin-Architektur ..................... 60 3.3.5 Konzepte für Plugins .................... 61 3.3.6 Sonstige Konzepte ..................... 63 3.4 Arbeitsumgebung .......................... 65 3.5 Vorgehensweise ........................... 67 3.6 Zusammenfassung ......................... 68 4 Design und Implementierung 69 4.1 Konventionen ............................ 69 4.2 Komponenten ............................ 70 4.2.1 Relais ............................. 73 4.2.2 Nachrichtenhistorie ..................... 77 4.2.3 Plugin-Verwaltung ..................... 81 4.2.4 Grafische Benutzeroberfläche ............... 85 4.2.5 Protokollierung ....................... 89 4.3 Plugins ................................ 91 4.3.1 Kopfdaten-Plugin ...................... 91 4.3.2 XML-Ansicht-Plugin .................... 94 4.3.3 XML-Baum-Plugin ..................... 96 4.3.4 Aufzeichnungs-Plugin ................... 98 4.3.5 Bearbeitungs-Plugin .................... 99 4.4 Internationalisierung ........................ 101 4.5 Dokumentation ........................... 103 4.6 Zusammenfassung ......................... 105 II Inhaltsverzeichnis 5 Ergebnisse 107 5.1 Voraussetzungen und Umgebung ................. 107 5.2 Konfiguration des DAVInspectors ................. 109 5.3 Einsatz im Anwendungsfall .................... 111 6 Zusammenfassung und Ausblick 119 Literaturverzeichnis 123 Glossar 133 CD-ROM 141 A Softwarekonfigurationsmanagement 143 B Programmierrichtlinien 147 C Lastenheft 151 D Marktstudie 187 E Pflichtenheft 233 III Inhaltsverzeichnis IV 1 Einleitung Die rechnerbasierte Verarbeitung und Bereitstellung von Daten verlangt aufgrund von stetig wachsenden Anforderungen und immer größer werden- den Datenmengen nach neuen Lösungskonzepten. Komplexe Projektstruk- turen, stetig größer werdende Datenmengen und auch räumlich verteilte Arbeitsgruppen erfordern effektive Werkzeuge zur Unterstützung und Op- timierung der Datenverwaltung [AGG03]. Das HTTP-Protokoll ist ein weit verbreitetes und stabiles Protokoll, das es erlaubt, Informationen vielen Nutzern ohne großen technischen Aufwand zur Verfügung zu stellen. Allerdings sind die Benutzer damit nicht direkt in der Lage auch Daten zu bearbeiten und zu verwalten. An dieser Stelle setzt das WebDAV-Protokoll als Erweiterung des HTTP-Protokolls an und stellt die nötigen Funktionalitäten zur Verfügung. Da sich das WebDAV-Protokoll derzeit noch in der „Etablierungsphase“ befindet, ist die Zahl der Anwendungen mit Unterstützung des WebDAV- Protokolls begrenzt, und auch entsprechende Entwicklungswerkzeuge sind noch nicht für alle Anwendungsfälle vorhanden. So existieren zwar Pro- dukte für den Test von WebDAV-Server-Anwendungen, und auch allge- meine Netzwerkanalyse-Programme sind verfügbar, jedoch kein Werkzeug, das die Möglichkeit der Fehlersuche sowohl für Client- als auch Server- Anwendungen in Hinblick auf das WebDAV-Protokoll bietet. Ziel der vorlie- genden Arbeit ist es, die Basis für solch ein Werkzeug zu schaffen. Dieses soll dem Entwickler von WebDAV-Applikationen die Fehlersuche und den Test von Server- und Client-Anwendungen erleichtern. Die vorliegende Arbeit entstand im Rahmen einer Kooperation zwischen dem Deutschen Zentrum für Luft- und Raumfahrt e.V. (DLR) und der Uni- versität Siegen. Betreut wurde die Arbeit auf universitärer Seite durch 1 1 Einleitung die Fachgruppe Technische Informatik, geleitet von Prof. Dr.-Ing. habil. Hans Wojtkowiak. Ansprechpartner war Dr.-Ing. Bernd Klose. Ansprech- partner in der Einrichtung „SC – Verteilte Systeme und Komponenten- software“ des Deutschen Zentrums für Luft- und Raumfahrt waren Ab- teilungsleiter Dipl.-Math. Andreas Schreiber und Dipl.-Inform. Markus Litz. 1.1 Motivation Das deutsche Zentrum für Luft- und Raumfahrt ist eine Forschungseinrich- tung der Bundesrepublik Deutschland mit den Schwerpunkten Luftfahrt, Raumfahrt, Energie und Verkehr. Das Spektrum der Forschungen reicht von der Grundlagenforschung bis hin zu fertigen Produkten und Anwen- dungen. Hierbei werden sowohl nationale, internationale als auch industri- elle Kooperationen umgesetzt. Wissenschaftliche Einrichtungen müssen in der Regel eine große Menge von Daten verwalten. Hierbei sind üblicherweise sowohl die Menge der Da- ten als auch die vielen verschiedenen Formate und Prozesszugehörigkei- ten der Daten problematisch. Zu einem Experiment gehören zum Beispiel Dokumentationen der verschiedenen Arbeitsschritte, Eingabe- oder Mess- daten, Modelle sowie Ergebnisdaten. Zusätzlich können die Daten noch in verschiedenen Versionen vorliegen. Für das Management dieser Daten wird im DLR auf Clientseite die Anwendung „DataFinder“ auf Grundla- ge des WebDAV-Protokolls eingesetzt. Als Server kann dafür jede Server- Software eingesetzt werden, welche die WebDAV-Spezifikation [RFC4918] hinreichend implementiert. Neben kommerziellen Servern (z. B. „Tami- no“ der Software AG oder „SharePoint“ von Microsoft) werden zunehmend Open Source Produkte eingesetzt. Im DLR wird daher an dem Open Sour- ce WebDAV-Server „Catacomb“ mitentwickelt. Für das Entwickeln des Ser- vers und des Clients sind genaue und automatisierte Tests sowie eine ein- fache Möglichkeit zur Fehlersuche eine wichtige Hilfe. 2 1.2 Aufgabenstellung 1.2 Aufgabenstellung Im Rahmen der Diplomarbeit sollen Konzept und Design für ein Open Sour- ce Werkzeug realisiert werden, mit dessen Hilfe WebDAV-Anwendungen grafikunterstützt getestet und ausgewertet werden können. Dabei soll das Werkzeug als Proxy zwischen Client und Server fungieren, um eine Analyse der Kommunikation zwischen Server und Client zu ermöglichen. Die Reali- sierbarkeit soll durch eine prototypische Implementierung des Werkzeugs belegt werden. Lasten- und Pflichtenheft sind obligatorischer