Web Engineering für asynchrone Anwendungen
- Art: Diplomarbeit
- Autor: Jan Zahalka
- Abgabedatum: Februar 2006
- Umfang: 96 Seiten
- Dateigröße: 5,4 MB
- Note: 1,0
- Institution / Hochschule: Ludwig-Maximilians-Universität München Deutschland
- ISBN (eBook): 978-3-8324-9471-1
-
ISBN (Paperback) :
978-3-8324-9471-1 P - ISBN (CD) :978-3-8324-9471-1 CD
- Sprache: Deutsch
- Prämierung:
- Arbeit zitieren: Zahalka, Jan Februar 2006: Web Engineering für asynchrone Anwendungen, Hamburg: Diplomica Verlag
- Schlagworte: AJAX, Web2.0, Webentwicklung, UWE, Ruby on Rails
In den Warenkorb
98,00 €
Diplomarbeit von Jan Zahalka
Einleitung:
Das Internet hat sich im Laufe der letzten Jahre nachhaltig von einem reinen Informationsmedium zu einem Anwendungsmedium entwickelt - Webanwendungen sind mittlerweile vollwertige, komplexe Softwaresysteme, deren Entwicklung eine ingenieursmäßige und methodisch fundierte Herangehensweise erfordert.
Die formalen und praktischen Methoden des traditionellen Software Engineering können aufgrund der besonderen Charakteristika von Webanwendungen nicht unverändert auf das Webumfeld übernommen werden, daher wurden im Zuge der neu entstandenen Disziplin Web Engineering systematische und quantifizierbare Ansätze für die Entwicklung qualitativ hochwertiger Webanwendungen ermittelt. Insbesondere auf Modellierungsebene existiert eine Vielzahl verschiedenster Ansätze für Webanwendungen, darunter das UML-based Web Engineering (UWE), welches am Lehrstuhl für Programmierung und Softwaretechnik der Ludwig-Maximilians-Universität München entwickelt wurde. UWE setzt bei der Modellierung auf eine Erweiterung der UML und begegnet den speziellen Anforderungen von Webanwendungen mit einer separaten Modellierung von Content, Navigation und Präsentation.
Die altbekannte Hypertext-Struktur des Webs, d.h. die Verknüpfung von Informationseinheiten (im traditionellen Sinne Seiten) durch Links, auf der UWE und alle weiteren Web Engineering Ansätze aufbauen, ist durch neueste Entwicklungen im Webumfeld allerdings ins Wanken geraten: Der Web 2.0-Ansatz, von den Befürwortern als Zukunft des Internets propagiert, definiert das Web als vollwertige Anwendungsplattform und beschreibt zwei zentrale zugrundeliegende Konzepte: Zum Einen wird gefordert, dass Webanwendungen Daten über Web Services zur Verfügung stellen, um so neue, übergeordnete Applikationen zu ermöglichen.
Die zweite Forderung ist die Angleichung des Niveaus der Benutzerschnittstellen von Webanwendungen an das von Desktop-Applikationen. Die größten Probleme des Webumfelds in dieser Hinsicht ergeben sich dabei durch die Seitengebundenheit sowie den synchronen Charakter der Kommunikation zwischen Client und Server. Dieses statische Prinzip, „Request Cycle“ genannt, beschreibt den traditionellen Kommunikationsablauf innerhalb von Webanwendungen: Nach einem Aufruf für eine Serveranfrage seitens des Benutzers wird diese vom Browser abgeschickt und auf die Antwort gewartet. Auf Serverseite wird die Anfrage verarbeitet und eine HTML-Seite als Ausgabe generiert, welche anschließend im Browser des Clients angezeigt wird.
Dieses Konzept stellt eine deutliche Benachteiligung von Webanwendungen bezüglich Benutzerfreundlichkeit und Interfacegestaltung dar und bedarf dementsprechend im Sinne von Web 2.0 einer Alternative.
Der AJAX-Ansatz, eine Form der asynchronen Kommunikation im Rahmen des HTTPProtokolls, kommt hierbei als Lösung in Frage. AJAX ermöglicht asynchrone Kommunikation ohne Leerzeit auf Clientseite und eine Loslösung vom seitenorientierten Darstellungsprinzip von Webanwendungen, ohne dabei externe Plugins oder Bibliotheken zu erfordern. Dadurch offenbaren sich Entwicklern von Webanwendungen völlig neue Möglichkeiten hinsichtlich Benutzerfreundlichkeit, Kontextsensitivität und Design der Benutzerschnittstelle.
Aufgrund der massiven Einschnitte, welche der Einsatz der AJAX-Technologie in das bekannte Kommunikationsparadigma des Webs vornimmt, stellt sich die Frage, ob diese neue Generation von Webanwendungen innerhalb der bekannten formalen Konzepte ausreichend modelliert werden kann.
Die zentrale Aufgabe dieser Diplomarbeit teilt sich daher in zwei Aspekte auf, zum Einen die Ermittlung der Möglichkeiten, aber auch Grenzen der AJAX-Technologie, zum Anderen die Evaluierung der Modellierbarkeit von asynchron kommunizierenden Webanwendungen im Rahmen bekannter Web Engineering Methoden am konkreten Beispiel von UWE. Zu diesem Zweck wird eine Beispielanwendung auf AJAX-Basis mit integriertem Web Service von der Anforderungsspezifikation bis zum Entwurf dem UWE Prozessmodell entsprechend modelliert und anschließend implementiert. Die Erkenntnisse und entstehenden Probleme sowie deren Lösungen werden dabei in jeder Prozessphase festgehalten. Um den Einstieg in das Thema zu erleichtern, wird in Kapitel 2 zunächst ein Überblick über traditionelle und in Kapitel 3 über Web 2.0-Anwendungen gegeben. Kapitel 4 bietet dem Leser eine Einführung in die grundlegenden Konzepte von UWE, Kapitel 5 stellt das für diese Arbeit verwendete Beispielprojekt vor. Kapitel 6, 7, 8 und 9 befassen sich mit den Entwicklungsschritten Analyse, Design, Implementierung und Test und deren Anwendbarkeit für asynchron kommunizierende Anwendungen, der im Rahmen dieser Arbeit entwickelte Prototyp wird in Kapitel 10 präsentiert. Kapitel 11 liefert schlussendlich ein Fazit und einen Ausblick auf zukünftige Arbeiten in diesem Gebiet.
Inhaltsverzeichnis:
| 1. | Motivation | 1 |
| 2. | Webanwendungen | 3 |
| 2.1 | Definition und Klassifizierung | 3 |
| 2.2 | Unterschiede zu Standard-Applikationen | 4 |
| 2.3 | Request Cycle Prinzip | 7 |
| 2.4 | Überblick über aktuelle Web-Technologien | 8 |
| 3. | Asynchrone Webanwendungen | 15 |
| 3.1 | Das Web 2.0 | 15 |
| 3.2 | Unterschiede zu herkömmlichen Webanwendungen | 16 |
| 3.3 | Asynchrone Kommunikation im Web durch AJAX | 17 |
| 4. | UML Web Engineering | 24 |
| 4.1 | Allgemeines zu Web Engineering | 24 |
| 4.2 | UWE | 25 |
| 5. | Fallstudie: IT-Atlas | 30 |
| 5.1 | Beschreibung | 30 |
| 5.2 | Verteilter Aspekt | 31 |
| 5.3 | Nicht-Funktionale Anforderungen | 32 |
| 6. | Analyse | 33 |
| 6.1 | Use Case Modell | 33 |
| 6.2 | Content Modell | 41 |
| 6.3 | Datenhaltung regionaler/zentraler Daten | 43 |
| 6.4 | Modellierung und Einsatz asynchroner Kommunikation | 48 |
| 7. | Entwurf | 54 |
| 7.1 | Navigationsmodell | 54 |
| 7.2 | Präsentationsmodell | 59 |
| 7.3 | Modellierung des Verhaltens | 65 |
| 7.4 | Entwurf des Web Service | 67 |
| 8. | Implementierung | 69 |
| 8.1 | Einsatz der AJAX-Technologie | 70 |
| 8.2 | Der Web Service | 74 |
| 8.3 | Probleme/Hindernisse | 75 |
| 9. | Test | 77 |
| 9.1 | Testen asynchroner Anwendungen | 77 |
| 9.2 | Testen der IT-Atlas Anwendung | 78 |
| 9.3 | Testen des Web Service | 82 |
| 10. | Der Prototyp | 84 |
| 10.1 | Das Modul Suchen | 84 |
| 10.2 | Das Modul Eintragen | 85 |
| 10.3 | Das Modul Bearbeiten | 86 |
| 10.4 | Der Web Service | 88 |
| 11. | Fazit/Ausblick | 90 |
| Literaturverzeichnis | 92 | |
| Erklärung | 94 |
Um den speziellen Anforderungen bei der Modellierung von Webanwendungen (siehe Kapitel 2.2) gerecht zu werden, nutzt UWE den Erweiterungsmechanismus, den das UML-Metamodell gewährt. Über eine so genannte UML lightweight extension, auch UML Prole genannt, wird die Standard-UML um webspezische Sichten auf ein System erweitert, und bestehende Diagrammarten werden mit entsprechenden Stereotypen ergänzt. Auf diese Erweiterungen wird im Kapitel 4.2.3 explizit eingegangen. Das UWE-Vorgehensmodell ist objektorientiert, iterativ und inkrementell, wobei während des Entwicklungsprozesses alle existierenden UML-Diagrammtypen verwendet werden können. So können sowohl statische (z.B. durch Klassen- und Objektdiagramme) als auch dynamische (z.B. Zustands- oder Sequenzdiagramm) Sichten auf ein zu entwickelndes System erstellt werden, Anforderungen können in Use Case Diagrammen festgehalten werden. In der Tatsache, dass diese Notationen der UML weit verbreitet und standardisiert sind, liegt einer der gröÿten Vorteile gegenüber anderen Ansätzen, die eine völlig eigene und neue Notation denieren: Der Groÿteil der Entwickler ist mit den Diagrammund Darstellungsarten vertraut und die Einarbeitung sowie -gewöhnung gestaltet sich weit weniger kompliziert. Als CASE-Unterstützung für die Entwicklung von Webanwendungen mit UWE wurde das Tool ArgoUWE entwickelt, eine Erweiterung des lizenzfreien UML-Editors ArgoUML. ArgoUWE umfasst alle Erweiterungen der UML in grascher Form, ein integrierter Generator für Code-Gerüste soll in naher Zukunft folgen. [...]
Das gröÿte Problem mit dem Einsatz von asynchroner Kommunikation im Web stellt die Kontrolle des Datenusses, welcher vom Client zum Server übertragen wird, dar: Durch die kontextsensitiven Auslöser für eine Datenübermittlung können Eingaben eines Benutzers übermittelt werden, welche dieser versehentlich getätigt hat. In (Castledine, 2005) wird hierfür beispielhaft das Szenario der versehentlichen Eingabe eines vertraulichen Passwortes einer sicherheitskritischen Anwendung (wie z.B. Banking) in eine harmlose Anwendung, für welche der Benutzer ein anderes Kennwort vergeben hat, skizziert. Bevor der Benutzer seinen Irrtum bemerkt hat, ist das Passwort asynchron versendet und kann serverseitig gespeichert sein. In diesem Zusammenhang müssen sich Internetbenutzer in ihrem Verhalten neu orientieren und von der trügerischen Sicherheit befreien, ihre eingegebenen Daten seien bis zum Versenden per Submit-Knopf für niemanden zugänglich. Da das Versenden einer AJAX-Anfrage transparent geschieht, sind auch gezielte und versteckte Spionage-Angrie auf Web-Benutzer sehr einfach zu realisieren. Jede Mausbewegung und jede Eingabe kann protokolliert und unbemerkt an den Server verschickt werden, ohne jegliches Einverständnis seitens des Benutzers. Solange die Web-Browser dem Benutzer keinerlei Kontrolle über die asynchrone Kommunikation in einer Webanwendung gewährleisten (denkbar wäre eine Sicherheitsabfrage ähnlich den Cookies), ist diese Tatsache eine durchaus beachtenswerte Problematik, welche dringend einer Lösung bedarf. [...]
Benutzer von Webanwendungen haben sich (gezwungenermaÿen) daran gewöhnt, in ihrem Navigationsverhalten durch Informationsknoten die Zurücktaste des Webbrowsers für die rückwärtige Navigation zu verwenden. In asynchronen Anwendungen, welche dem Single Interface-Prinzip folgen, bedeutet dies jedoch nicht das Rückgängigmachen der letzten Aktivität, sondern das Verlassen der Webseite und damit der gesamten Anwendung. Die aktuellen Webbrowser bewerten eine AJAXKommunikation, selbst wenn diese durch eine explizite Handlung des Benutzers ausgelöst wird, nämlich nicht als eine Aktion im eigenen Verlauf. Sind die vorher getätigten Eingaben nicht serverseitig in einer Session für den Benutzer gespeichert, so sind diese mit dem Verlassen der Seite verloren. Diese Problematik hat zur Folge, dass Entwickler mehr als vorher Augenmerk auf eine sauber strukturierte Navigation in beide Richtungen, insbesondere auch die rückwärtige, legen müssen, da diese nicht wie vorher implizit durch den ZurückKnopf im Browser gegeben ist. [...]
In den Warenkorb
98,00 €
Link zur Arbeit:
http://www.diplom.de/ean/9783832494711
Arbeit zitieren:
Zahalka, Jan Februar 2006: Web Engineering für asynchrone Anwendungen, Hamburg: Diplomica Verlag
Schlagworte:
AJAX, Web2.0, Webentwicklung, UWE, Ruby on Rails



