Bachelor + Master Publishing
765 Bachelorarbeiten, 508 Masterarbeiten, 10.071 Diplomarbeiten

Evaluierung von AJAX-basierten Frameworks für das Web 2.0

Evaluierung von AJAX-basierten Frameworks für das Web 2.0
Über dieses Buch
  • Art: Studienarbeit
  • Autor: André Langer
  • Abgabedatum: März 2007
  • Umfang: 227 Seiten
  • Dateigröße: 1,2 MB
  • Note: 1,0
  • Institution / Hochschule: Technische Universität Chemnitz Deutschland
  • Bibliografie: ca. 31
  • ISBN (eBook): 978-3-8366-0332-4
  • Sprache: Deutsch
  • Prämierung:
  • Arbeit zitieren: Langer, André März 2007: Evaluierung von AJAX-basierten Frameworks für das Web 2.0, Hamburg: Diplomica Verlag
  • Schlagworte: Remote Scripting, Informatik, Web 2.0, Webapplication, DOM

Studienarbeit von André Langer

Einleitung:

Remote Scripting - Anwendungen erleben seit einigen Jahren einen regelrechten, stetig zunehmenden Anfrageboom. Während aus usability-Sicht bisher eine strikte Unterscheidung zwischen Desktop-Anwendungen und Web Applikationen herrschte, finden sich seit einiger Zeit zunehmend Angebote im World Wide Web, die diese strikte Trennung verwischen lassen. Interaktive Nutzerdialoge, nebenläufige Prozessabarbeitung und visuelle Unterstützungsmittel wie Drag & Drop- Effekte halten auf Webseiten Einzug, die dem Nutzer bisher nur aus eigenständigen Softwareprodukten in einer spezifischen Betriebssystemumgebung bekannt waren. Viele dieser neuen Anwendungs- und Interaktionsmöglichkeiten im weltweiten Datennetz werden inzwischen unter dem Oberbegriff Web 2.0 zusammengefasst. Für den Nutzer bringt dieser neue Entwicklungstrend viele Vorteile – ansprechende, intuitive Nutzerführungen ohne die Notwendigkeit, eine ganze Internetseite bei jedem Interaktionsschritt neu zu laden und ohne bemerkbaren zeitlichen Overhead.

Was für den Nutzer Erleichterung bringen soll, bedeutet für einen Programmierer häufig zunächst Mehraufwand. Eine Technik zur Realisierung solcher so genannten Rich Internet Applications, die sich in den letzten beiden Jahren immer mehr in den Vordergrund gedrängt hat, wird unter der Bezeichnung AJAX zusammengefasst. Einen einheitlichen Standard gibt es dabei nicht, sodass fast täglich neue AJAX-basierte frameworks veröffentlicht werden, die dem Programmierer (wenigstens einen Teil der) Komplexität der Programmflusssteuerung abnehmen sollen. Aufgabe der Studienarbeit soll es daher sein, das inzwischen unüberschaubar gewordene Angebot an AJAX frameworks zu systematisieren und einen Überblick über Vor- und Nachteile ausgewählter Programmbibliotheken zu geben.

Dafür ist ein Kriterienkatalog zu erarbeiten, der eine Bewertung der verschiedenen frameworks nach unterschiedlichen Gesichtspunkten ermöglicht. Besonderer Schwerpunkt ist dabei auf Kriterien aus Programmierersicht (Sprachunabhängigkeit, Overhead, Implementierungsmöglichkeiten,…) und Anwendersicht (Plattformanforderungen, Einarbeitungszeit, Ergebnisqualität, …) zu legen. Auf den Kriterienkatalog ist anschließend eine Auswahl an bereits existierenden, frei verfügbaren AJAX frameworks anzuwenden, die als zukünftig relevant eingeschätzt werden. Die Ergebnisse sind abschließend in einer Gesamtübersicht zu präsentieren, die eine objektive Empfehlung für Nutzer darstellen soll, die vor der Wahl stehen, welche AJAX Programmbibliothek sie zukünftig einsetzen sollten.

Gang der Untersuchung:

Die Studienarbeit besteht aus insgesamt sieben Teilen. Nach einer kurzen Einführung in die Thematik im vorliegenden Kapitel 1 beschäftigt sich Kapitel 2 zunächst mit einigen Grundlagen von AJAX, die für das spätere Verständnis der framework – Evaluation nötig sind. Die Ziele und Einsatzgebiete stehen dabei im Mittelpunkt und es wird versucht die Frage zu klären, was AJAX selbst eigentlich ist. Anhand von Fallbeispielen wird die Einsatzweise von AJAX geklärt, welche später als Grundlage für die Evaluierung der verschiedenen frameworks dienen.

Kapitel 3 klärt darauf aufbauend zunächst grundlegende Begriffe im Zusammenhang mit AJAX frameworks und gibt einen Überblick über das breite Spektrum an AJAX frameworks. In Kapitel 4 wird anschließend der Kriterienkatalog definiert, welcher der Durchführung der Evaluation und der Bewertung der AJAX frameworks zugrunde liegt und legt die Kriterien offen, unter welchen Gesichtspunkten die Auswahl an frameworks getroffen wurde, die von den knapp 200 Vertretern repräsentativ evaluiert wurden. Kapitel 5 stellt den experimentellen Teil der Studienarbeit dar, in dem kategorisiert nach den zugrunde liegenden Skriptsprachen einzelne frameworks untersucht und deren Vor- und Nachteile beschrieben werden.

Daran anschließend gibt Kapitel 6 eine Übersicht über die gewonnenen Ergebnisse aus der Evaluierung und versucht, eine objektive Bewertung der getesteten frameworks abzugeben. Empfehlungen über gute und weniger gute frameworks für bestimmte Einsatzgebiete werden getroffen und deren Potential in Verbindung mit anderen Techniken diskutiert. Kapitel 7 schließlich versucht als Abschluss der Studienarbeit einen Ausblick auf die Zukunft von AJAX sowie AJAX frameworks anhand aktuell verfügbarer Fakten und Prognosen zu geben.

Inhaltsverzeichnis:

Zusammenfassung III
Inhaltsverzeichnis IV
Abbildungsverzeichnis VII
Tabellenverzeichnis VIII
Listings IX
Abkürzungsverzeichnis X
1. Einleitung 12
1.1 AJAX – eine kurze Einführung 12
1.2 Zielsetzung der Arbeit 15
1.3 Aktueller Stand 17
2. Grundlegende Betrachtungen 20
2.1 Geschichtlicher Ursprung von AJAX 20
2.2 Begriffsklärung 24
2.2.1 MVC 24
2.2.2 Remote Scripting 24
2.2.3 RIA 25
2.2.4 Widget 25
2.2.5 Wrapper 26
2.2.6 Stub 26
2.3 Definition der Anwendungsdomäne 27
2.3.1 Web Remoting 27
2.3.2 DOM-Manipulation 29
2.3.3 Widgets 29
2.3.4 Visuelle Effekte 30
2.3.5 Browseranwendungen 30
2.4 Beispiel-Szenarien 32
2.4.1 „Hello World“ example 32
2.4.2 Adresskartei 36
2.4.3 AJAX-Bildergalerie 41
2.5 Was ist AJAX? 44
3. AJAX frameworks 48
3.1 Der Begriff „framework“ 48
3.2 Abgrenzung zu Funktionsbibliotheken 49
3.3 Anforderungen an ein framework 50
3.4 Klassifikation 51
3.5 Überblick 54
4. Beschreibung der Evaluierung 57
4.1 Allgemeiner Überblick 57
4.2 Testauswahl 57
4.3 Beschreibung der Durchführung 58
4.4 Testumgebung 59
4.5 Kriterien 60
4.6 Bewertungsmaßstab 63
5. Durchführung der Evaluierung 65
5.1 Clientframeworks 65
5.1.1 Javascript-basierte Bibliotheken (Basisframeworks) 65
5.1.1.1 ACE 65
5.1.1.2 AjaxToolbox 66
5.1.1.3 Bajax 67
5.1.1.4 HTMLHttpRequest 68
5.1.1.5 Lokris 69
5.1.1.6 MAJAX 70
5.1.1.7 Prototype 71
5.1.2 Javascript-basierte Effektbibliotheken (Applicationframeworks) 73
5.1.2.1 Adobe Spry 73
5.1.2.2 DOJO 74
5.1.2.3 jQuery 75
5.1.2.4 MochiKit 76
5.1.2.5 Mootools 77
5.1.2.6 Yahoo User Interface library 77
5.1.3 Basis- und Applikationsframeworks erweiternde frameworks 80
5.1.3.1 Freja 80
5.1.3.2 OpenRico 81
5.1.3.3 Script.aculo.us 82
5.2. Serverframeworks 84
5.2.1 PHP 84
5.2.1.1 AJAXAgent 84
5.2.1.2 Flexible AJAX 85
5.2.1.3 My-BIC 86
5.2.1.4 Sajax 87
5.2.1.5 tinyAjax 88
5.2.1.6 XAJAX 89
5.2.2 Perl 91
5.2.2.1 Catalyst 91
5.2.2.2 CGI::AJAX 92
5.2.3 Python 94
5.2.3.1 CherryPy 94
5.2.3.2 Nevow 95
5.2.4 Java 97
5.2.4.1 DWR 97
5.2.4.2 Google Web Toolkit 98
5.2.4.3 JSON-RPC-Java 100
5.2.5 DotNet 102
5.2.5.1 AJAX.NET 102
5.2.5.2 Anthem.Net 103
5.2.5.3 ASP.NET AJAX (Codename 'Atlas') 104
5.2.5.4 ComfortASP.NET 106
5.2.5.5 Visual WebGUI 107
6. Resultate 111
6.1 Übersicht 111
6.2 Fehlerbetrachtung 112
6.3 Testergebnisse 114
6.4 Bewertung der frameworks 118
6.4.1 Basisframeworks 118
6.4.2 Applicationframeworks 120
6.4.3 Basis- oder Applicationframeworks erweiternde Frameworks 121
6.4.4 Serverframeworks PHP 122
6.4.5 Serverframeworks Perl 124
6.4.6 Serverframeworks Python 125
6.4.7 Serverframeworks Java 126
6.4.8 Serverframeworks DotNet 127
6.5 Diskussion 128
7. Ausblick 133
7.1 Frameworkentwicklungen 133
7.2 Die Zukunft von AJAX 136
Literaturverzeichnis 138
Index 142
A Anhang 144
A.1 Messwert-Diagramme 146
A.2 Übersicht über AJAX frameworks 150
A.3 Testbögen 158

Inhaltsverzeichnis:

Zusammenfassung III
Inhaltsverzeichnis IV
Abbildungsverzeichnis VII
Tabellenverzeichnis VIII
Listings IX
Abkürzungsverzeichnis X
1. Einleitung 12
1.1 AJAX – eine kurze Einführung 12
1.2 Zielsetzung der Arbeit 15
1.3 Aktueller Stand 17
2. Grundlegende Betrachtungen 20
2.1 Geschichtlicher Ursprung von AJAX 20
2.2 Begriffsklärung 24
2.2.1 MVC 24
2.2.2 Remote Scripting 24
2.2.3 RIA 25
2.2.4 Widget 25
2.2.5 Wrapper 26
2.2.6 Stub 26
2.3 Definition der Anwendungsdomäne 27
2.3.1 Web Remoting 27
2.3.2 DOM-Manipulation 29
2.3.3 Widgets 29
2.3.4 Visuelle Effekte 30
2.3.5 Browseranwendungen 30
2.4 Beispiel-Szenarien 32
2.4.1 „Hello World“ example 32
2.4.2 Adresskartei 36
2.4.3 AJAX-Bildergalerie 41
2.5 Was ist AJAX? 44
3. AJAX frameworks 48
3.1 Der Begriff „framework“ 48
3.2 Abgrenzung zu Funktionsbibliotheken 49
3.3 Anforderungen an ein framework 50
3.4 Klassifikation 51
3.5 Überblick 54
4. Beschreibung der Evaluierung 57
4.1 Allgemeiner Überblick 57
4.2 Testauswahl 57
4.3 Beschreibung der Durchführung 58
4.4 Testumgebung 59
4.5 Kriterien 60
4.6 Bewertungsmaßstab 63
5. Durchführung der Evaluierung 65
5.1 Clientframeworks 65
5.1.1 Javascript-basierte Bibliotheken (Basisframeworks) 65
5.1.1.1 ACE 65
5.1.1.2 AjaxToolbox 66
5.1.1.3 Bajax 67
5.1.1.4 HTMLHttpRequest 68
5.1.1.5 Lokris 69
5.1.1.6 MAJAX 70
5.1.1.7 Prototype 71
5.1.2 Javascript-basierte Effektbibliotheken (Applicationframeworks) 73
5.1.2.1 Adobe Spry 73
5.1.2.2 DOJO 74
5.1.2.3 jQuery 75
5.1.2.4 MochiKit 76
5.1.2.5 Mootools 77
5.1.2.6 Yahoo User Interface library 77
5.1.3 Basis- und Applikationsframeworks erweiternde frameworks 80
5.1.3.1 Freja 80
5.1.3.2 OpenRico 81
5.1.3.3 Script.aculo.us 82
5.2. Serverframeworks 84
5.2.1 PHP 84
5.2.1.1 AJAXAgent 84
5.2.1.2 Flexible AJAX 85
5.2.1.3 My-BIC 86
5.2.1.4 Sajax 87
5.2.1.5 tinyAjax 88
5.2.1.6 XAJAX 89
5.2.2 Perl 91
5.2.2.1 Catalyst 91
5.2.2.2 CGI::AJAX 92
5.2.3 Python 94
5.2.3.1 CherryPy 94
5.2.3.2 Nevow 95
5.2.4 Java 97
5.2.4.1 DWR 97
5.2.4.2 Google Web Toolkit 98
5.2.4.3 JSON-RPC-Java 100
5.2.5 DotNet 102
5.2.5.1 AJAX.NET 102
5.2.5.2 Anthem.Net 103
5.2.5.3 ASP.NET AJAX (Codename 'Atlas') 104
5.2.5.4 ComfortASP.NET 106
5.2.5.5 Visual WebGUI 107
6. Resultate 111
6.1 Übersicht 111
6.2 Fehlerbetrachtung 112
6.3 Testergebnisse 114
6.4 Bewertung der frameworks 118
6.4.1 Basisframeworks 118
6.4.2 Applicationframeworks 120
6.4.3 Basis- oder Applicationframeworks erweiternde Frameworks 121
6.4.4 Serverframeworks PHP 122
6.4.5 Serverframeworks Perl 124
6.4.6 Serverframeworks Python 125
6.4.7 Serverframeworks Java 126
6.4.8 Serverframeworks DotNet 127
6.5 Diskussion 128
7. Ausblick 133
7.1 Frameworkentwicklungen 133
7.2 Die Zukunft von AJAX 136
Literaturverzeichnis 138
Index 142
A Anhang 144
A.1 Messwert-Diagramme 146
A.2 Übersicht über AJAX frameworks 150
A.3 Testbögen 158

Textprobe:

Kapitel 2.4.2., Adresskartei:

Anwendungsbeispiel 2 sei ein Standardbeispiel, welches bei vielen framework-tutorials als Einführungsbeispiel realisiert wird: Eine webbasierte Adresskartei.

Beschreibung: Es ist eine Webanwendung zu realisieren, die das Eintragen von Adressdaten in und das Abfragen von Kontaktdaten aus einer Adressdatenbank ermöglicht. Die Webseite dafür bestehe aus insgesamt drei Bereichen. Eine Ebene mit der ID eingabe enthalte ein Formular, dessen eingegebene Daten nach Absenden dieses Formulars in die Adressendatenbank übernommen werden sollen. Die zweite Ebene mit der ID namen enthalte eine Übersicht der Namen aller bereits in der Datenbank eingetragenen Kontakte. Die dritte Ebene mit der ID info enthalte schließlich nach Auswahl eines Kontaktes dessen vollständige Adressübersicht aus der Datenbank.

Alle Adressdaten werden in einer MySQL-Datenbank gespeichert. Eine entsprechende ausführbare Datei auf dem Webserver im gleichen Verzeichnis auf dem Server stelle dazu die nötigen Funktionen bereit, um per POST übertragene Formulardaten in die Datenbank zu übernehmen (Definition beispielsweise durch zugriff.php?cmd=insert).und eine Liste aller Vor- und Zunamen der in der Datenbank enthaltenen Kontakte bereitzustellen (zugriff.php?cmd=namen). Um die XML-Unterstützung in AJAX testen zu können, werden die vollständigen Adressdaten eines einzelnen Kontaktes im XML-Format bereitgestellt (daten.xml.php mit Parameter ?contact=[contactid]).

Zielsetzung:

- Datenübermittlung via POST.

- Umgang mit Formularen.

- Aufruf einer Funktion auf einem Webserver.

- Umgang mit XML-Daten.

- Behandlung von Zeichensätzen.

Des Weiteren soll dieses Beispiel später Möglichkeiten einer Erweiterung der Nutzerfreundlichkeit durch AJAX frameworks bieten, sodass beispielsweise die Ebene namen durch ein Eingabefeld mit einer Autocomplete-Funktion ersetzt werden könnte, die Formulardaten während der Eingabe automatisch validiert werden oder die Ebenen insgesamt beispielsweise als Registerkartenvoneinander getrennt werden können. Listing 4 zeigt die klassische Realisierung des gestellten Problemfalls mittels PHP. Die Variable $db sei ein Platzhalter für die konkrete Datenbankbezeichnung und die Funktion mysqldata() abstrahiere von den konkreten Anfrageoperartionen. Ebenfalls seien Funktionen zur Herstellung der Datenbankverbindung und zum Parsen der XML-Daten nicht aufgeführt.

Um dieses Beispiel zu „ajaxifizieren“ ist es nötig, die AJAX-Hilfsfunktionen aus Listing 2 zu erweitern, damit auch Daten via POST gesendet werden können. Des Weiteren steht nun das „X“ aus AJAX im Mittelpunkt, wie XML-Daten behandelt und eingebunden werden. Listing 5 zeigt eine beispielhafte Implementierung.

Kapitel 2.4.3., AJAX-Bildergalerie:

Das dritte Beispiel soll als Grundlage dazu dienen zu zeigen, was mit AJAX frameworks für unterschiedliche Effekte realisiert werden können und wo diese sinnvoll dosiert einsetzbar sind. Beschreibung: Es ist eine einfache Bildergalerie zu realisieren. Die entsprechende HTML-Datei besteht dazu aus drei Bereichen. Die erste Ebene mit der ID thumbs enthalte dazu drei Vorschaubilder (thumbnails), die in einem entsprechenden Verzeichnis auf dem Webserver liegen und exemplarischdie Dateinamen tpic1.jpg, tpic2.jpg und tpic3.jpg haben.

Eine zweite Ebene mit der Bezeichnung bild enthalte jeweils das korrespondierende Bild pic1.jpg, pic2.jpg oder pic3.jpg in Normalansicht, welches durch den Nutzer im Vorschaubereich ausgewählt wurde. Darunter existiert eine dritte Ebene mit der ID kommentar, welche vom Webserver dem Bild zugeordnete Kommentare abruft und entsprechend anzeigt. (Diese können auf verschiedenste Wege bereitgestellt werden, im Beispielquellcode als Tabelle in einer MySQL-Datenbank, welche analog zum Beispiel 2 über ein Skript auf dem Server abgefragt wird) Zielsetzung:

- Es ist nach Animationen und Effekten zu suchen, die diese Bildergalerie für den Benutzer interessant und intuitiv bedienbar erscheinen lassen. Vorstellbar sind Fade-In-Effekte (zum Beispiel Yellow-Fade-Techniken), aber auch Drag and Drop-Effekte oder eine alternative Bilderauswahl mithilfe geeigneter Widgets.

Die grundlegende Realisierung der Funktionalität sollte keine neuen Probleme oder Anforderungen im Vergleich zu den Beispielszenarien 1 und 2 aus den vorhergegangenen beiden Unterkapiteln darstellen und ist in den Listings 6 und 7 aufgezeigt.

Arbeit zitieren:
Langer, André März 2007: Evaluierung von AJAX-basierten Frameworks für das Web 2.0, Hamburg: Diplomica Verlag

Schlagworte:
Remote Scripting, Informatik, Web 2.0, Webapplication, DOM

Entdecken Sie mehr zum Thema

diplom.de
Bachelor + Master Publishing

Hermannstal 119 k
22119 Hamburg

Fon: +49 (0) 40 655992-0
Fax: +49 (0) 40 655992-22

Service-Telefon

Rufen Sie uns an:
+49 (0) 40 655992-0

Mo-Fr
09.00-16.00 Uhr

diplom.de in den Medien

Folgen Sie uns bei Twitter & werden Sie diplom.de-Fan bei Facebook!
Schreibtipps unserer Lektoren, Neuigkeiten aus dem Verlagsalltag und das Expertenwissen unserer Autoren als Tweet & Post!
Wir freuen uns auf Sie!

diplom.de BACHELOR + MASTER PUBLISHING

Bachelorarbeiten, Masterarbeiten, Diplomarbeiten, Magisterarbeiten, Dissertationen und andere Abschlussarbeiten aus allen Fachbereichen und Hochschulen können Sie bei uns als eBook sofort per Download beziehen oder sich auf CD oder als Buch zusenden lassen. Seit mehr als 15 Jahren ist diplom.de der seriöse, professionelle und erfolgreiche Partner für die Veröffentlichung wissenschaftlicher Abschlussarbeiten.

© Diplomica Verlag GmbH 1996-2011, AG Hamburg HRB 80293 - GF Björn Bedey, USt-IdNr.: DE214910002 - Verkehrsnummer: 12285 - Impressum
Index der Arbeiten - Index der Autoren