Diplom- und Bachelorarbeiten


Ansätze zur Qualitätssicherung bei der Entwicklung mit JavaScript
(PDF, deutsch, 2,3 MB)
Diese Bachelorarbeit beschreibt verschiedene Ansätze zur Sicherung interner Qualität bei der Entwicklung mit JavaScript bzw. ECMAScript3. Empirische Daten belegen die Notwendigkeit von früher Qualitätssicherung im Projektverlauf zur Ermittlung und Vermeidung von Qualitätsrisiken. Wie diese Arbeit zeigt, hat ECMAScript3 in Verbindung mit den einzelnen Ausführungsplattformen eine, im Vergleich zu anderen Programmiersprachen, große Zahl von Schwächen und Problemen, die ein Qualitäts- und somit Projektrisiko darstellen. Ausgehend von den ermittelten Schwächen und Problemen werden verschiedene Ansätze zur Vermeidung oder Minimierung dieser gezeigt. Es werden Vorschläge zur Ausgestaltung von Richtlinien und Konventionen beschrieben. Außerdem wird gezeigt, wie Annotationen und die Zuhilfenahme von Werkzeugen zur Qualitätssicherung beitragen können. Des Weiteren werden einige Metriken vorgestellt, die gewisse Qualitätsziele messbar machen. Die Notwendigkeit von zeitnahen automatisierten Tests und die Vorteile einer hohen Testabdeckung werden erläutert. Hierzu werden jeweils eine Reihe von Werkzeugen vorgestellt. Die Arbeit zeigt, wie Prinzipien der Softwarearchitektur helfen, die Portabilität, Testbarkeit, Wiederverwendbarkeit und Evolvierbarkeit zu steigern oder zu erhalten. In diesem Zusammenhang wird auf Schichtung, Modularisierung, Namensräume und Inversion of Control eingegangen. Bezüglich der Schichtung werden Kriterien zur Auswahl von Bibliotheken zur Abstraktion der Zielplattformen beschrieben. Es werden konkrete Ansätze gezeigt, wie Plattformen mit deaktivierter, eingeschränkter oder nicht standardkonformer ECMAScript3-Implementierung bedient werden können.
Webbasierte Anwendungsintegration nach REST-Prinzipien
(PDF, deutsch, 1,6 MB)
Die Arbeit führt in die Grundlagen von RESTful Web-Services ein und demonstriert deren Konzeption und Implementierung. RESTful Web-Services liegen die Architekturprinzipien des World Wide Webs wie Ressourcenorientierung und zustandslose Kommunikation zugrunde. Sie werden ausschließlich auf Basis der Web-Standards wie HTTP, URI und XML implementiert, ohne eine zusätzliche Protokollschicht einzuführen.
Es findet eine allgemeine Einführung in Web-Services statt, indem deren Entwicklung, zentrale Eigenschaften und Anwendungsfelder beschrieben werden. Anschließend werden RESTful Web-Services vorgestellt, deren Grundlage der Representational State Transfer (REST) Architekturstil bildet. Auf Basis dieser Grundlagen werden RESTfulWeb-Services für eine bestehende Java-Anwendung entworfen. Für die Implementierung der entworfenen Schnittstelle wird das Restlet-Framework evaluiert, das die REST-Terminologie auf Java-Klassen abbildet und eine leichtgewichtige Alternative zur Servlet-Technologie darstellt.
Nach der Beschreibung der Implementierung der entworfenen Web-Services findet eine Bewertung der realisierten Schnittstelle im Vergleich zu klassischen RPC-basierten SOAP Web-Services statt.
Spring und OSGi: Analyse der leichtgewichtigen Komponentenplattform hinsichtlich ihres Einsatzes bei serviceorientierten Enterprise-Anwendungen
(PDF, deutsch, 1,9 MB)
Die vorliegende Arbeit befasst sich mit der serverseitigen Integration der dynamischen, serviceorientierten Komponentenplattform OSGi sowie deren Verschmelzung mit dem flexiblen, objektorientierten Applikations-Framework Spring als leistungsfähiges Fundament moderner JavaEE-Systeme.
Einleitend werden die Kerntechnologien OSGi und Spring kurz vorgestellt, hinsichtlich ihrer innovativsten Konzepte untersucht und über die subsumierten Charakteristika der Service- und Komponentenorientierung in einem umfassenden Programmiermodell eingeordnet. Aus dieser Perspektive wird anschließend die Motivation für eine Kombination der Technologien beleuchtet und der aktuelle Entwicklungsstand präsentiert. Eine Architekturbetrachtung führt als evolutionäre Stufe die serverseitigen OSGi-Infrastrukturen der Rich Server Platform (RSP) ein und bietet den Grundstein für die Diskussion potentieller Strukturierungsmöglichkeiten von Enterprise-Anwendungen.
Um die theoretischen Erkenntnisse zu festigen, wird ein reales Produktivsystem im Zuge eines optimistischen "Proof of Concept" auf die RSP-Umgebung portiert. Die dabei zu lösenden Schwierigkeiten und notwendigen Erweiterungen an der Prototypeninfrastruktur werden gesondert in einer Detailbetrachtung extrahiert, theoretisch erklärt und in abstrakten Konzepten oder Vorgehensempfehlungen für zukünftige Entwicklungsarbeiten festgehalten. Als Gesamtergebnis wird eine auf Servlet-Containern wie Tomcat oder Jetty basierende, voll funktionstüchtige RSP-Plattform erreicht, das Produktivsystem um service- und komponentenorientierte Aspekte angereichert, eine Vielzahl an typischen Enterprise-Frameworks wie Hibernate, Tapestry oder Hivemind auf der RSP ablauffähig gemacht und eine angepasste Build-Unterstützung für Maven2 realisiert.
Rich Server Environment: Analyse, Konzeption und Implementierung komponentenbasierter und servicegestützter Web-Applikationen basierend auf der Eclipse-Basisinfrastruktur
(PDF, deutsch, 3,1 MB)
Die vorliegende Ausarbeitung gibt sowohl theoretische als auch praktische Einblicke in die Konzeption und Implementierung dynamisch rekonfigurierbarer, servicegestützter und auf Komponenten basierender Serverapplikationen.
Zu Beginn werden die für die Arbeit zentralen Begriffe Softwarekomponente und Service eingeführt und deren Bedeutung für eine moderne Softwareentwicklungsmethodik aufgezeigt. Anschließend wird das serviceorientierte Komponenten-Framework OSGi vorgestellt. Es dient in einer modifizierten Ausprägung als Laufzeitumgebung der sehr erfolgreichen Open-Source Java-Entwicklungsumgebung Eclipse und stellt zugleich den Kern der Eclipse-eigenen Rich Client Architecture dar. Ein Rich Client ist eine plattformunabhängige Client-Anwendung, die durch reichhaltige grafische Benutzererfahrungen, ein zugrundeliegendes dynamisch erweiterbares Komponentenmodell und einen Aktualisierungsmechanismus überzeugen kann.
Diese charakteristischen Eigenschaften eines Rich-Clients sollen nun auch auf Serverumgebung für die Entwicklung dynamisch rekonfigurierbarer Serverapplikationen nutzbar gemacht werden. Dieses Umfeld wird als Rich Server Environment umschrieben. Die Eigenschaften hierzu denkbarer Softwarearchitekturen werden ausführlich diskutiert und schließlich eine entsprechend den Anforderungen des Aufgabenstellers geeignete Architekturausprägung ausgewählt. Eine für diese Architektur passende Implementierung liefert die Eclipse-Community. Diese Lösung wird auf Stärken und Schwächen analysiert und bewertet. Außerdem werden die für den praktischen Einsatz zwingend notwendigen Anpassungen erläutert.
Zum Abschluss wird eine eigene, beispielhaft implementierte und auf der Eclipse-Laufzeitumgebung basierende Web-Applikation vorgestellt. Diese setzt auf der zuvor genau analysierten Lösungsimplementierung der Eclipse-Community auf. Illustrativ wird anhand eines ausführlich behandelten Beispielszenarios in die komponentenorientierte Web-Anwendungsentwicklung mit Services einführt und damit die praktische Einsatztauglichkeit der Gesamtlösung unter Beweis gestellt.