AJAX... Was ist das? AJAX steht für
Asynchronous
JavaScript
and
XML und
beschreibt eine Technik, Inhalte einer Webseite je nach Kontext
nachzuladen, ohne die Seite im Ganzen zu aktualisieren. Dr.
Schwichtenberg zeigte dies am Beispiel einer Demowebsite für
Flugauskünfte und Flugbuchungen. Hierbei wurde nach einer Suchanfrage
lediglich der Bereich des Suchergebnisses nachgeladen.
Ich habe
bereits ähnliches programmiert, jedoch ohne die Verwendung der
Michrosoft ASP.NET AJAX (früher Codename "Atlas") Erweiterung - s.
http://www.fdp-bottrop.deDie Beispiele aus dem Webcast hat Dr. Schwichtenberg auf seiner Homepage unter
http://www.IT-Visions.de/WWWings
zum Download bereitgestellt. Zu laden ist das Paket für .NET 3.0, da
dieses die AJAX Komponenten enthält. In seinem Vortrag unterschied
Schwichtenberg zwischen AJAX im engeren und AJAX im weiteren Sinne.
AJAX im engeren Sinne ist nach seiner Aussage alles, was unmittelbar
mit der Webseite und den asynchronen Requests zurück zum Server
zusammen hängt. AJAX im weiteren Sinne hingegen sind Erweiterungen rund
um das Thema AJAX, wie clientseitige Control-Bibliotheken. So hat auch
Michrosoft auf der Website
http://ajax.asp.net
neben der ASP.NET AJAX Komponente auch eine Sammlung mit etwa 30
Client-Controls zum Download bereitgestellt (s.
ASP.NET AJAX Control
Toolkit). Auf der Website
http://www.ajaxian.com hingegen findet sich bereits eine Liste von über 260 AJAX Bibliotheken für die unterschiedlichsten Plattformen.
AJAX verwendet die jeweilige Browser Implementierung des
XmlHttpRequest Objektes. In den Browsern Firefox, Safari u.ä. ist dieses Objekt Bestandteil der JavaScript Engine. Im Internet Explorer bis Version 6 einschließlich wird das
XmlHttpRequest Objekt über eine
ActiveX Komponente realisiert. Zu beachten ist jedoch bei allen Browsern, dass die jeweilige Implementierung unterschiedlich sein kann. Hier ist also gründliches Testen erforderlich.
Bevor man sein eigenes AJAX Projekt mit ASP.NET 2.0 starten kann, müssen die AJAX Komponenten von der Website
http://ajax.asp.net geladen und installiert werden. Anschließend kann im Visual Studio 2005 ein neues Webprojekt gestartet oder ein bestehendes Projekt mit AJAX Komponenten erweitert werden. Damit eine Seite AJAX Funktionalitäten besitzt muss zunächst aus der Toolbox das
Script Manager Element auf der Seite platziert werden. Dieses Element erzeugt zur Laufzeit die notwendigen JavaScript Codeblöcke. Danach ist das
Update Panel Element in der Seite zu verwenden und alle übrigen ASP.NET Controls, die innerhalb eines AJAX Requests verwendet werden sollen dort hinein zu ziehen. Auf diese Art und Weise können einfache Datenbindungen und Datenaktualisierungen mit wenigen Mausklicks realisiert werden.
Für erweiterte Funkionalitäten müssen eigene Webservices erstellt werden. Wichtig hierbei ist, das es sich bei diesen Webservices um
JSON Webservices und nicht um klassische SOAP Webservices handelt. Die Abkürzung JSON steht für
Java
Script
Object
Notation und ist eine auf AJAX optimierte Webservice Variante. Ein solcher Webservice kann einfach durch das Class Attribute
[System.Web.Script.Services.ScriptService()]über der Klassendeklaration erstellt werden. Anschließend muss im oben bereits genannten
Script Manager ein Verweis auf diesen Webservice erstellt werden. Für eine detaillierte Beschreibung der Vorgehensweise empfehle ich jedoch die Folien des Vortrages und die Beispiele von Dr. Schwichtenberg.
Der nächste Webcast zu diesem Thema findet am 6.2., der dritte Teil am 8.2. statt.