Während normalerweise jede Aktion eines Anwenders einen HTTP-Request zur Folge hat, zügelt die Ajax-Engine dieses langatmige und ressourcenfressende Verhalten. Sie entscheidet autark, ob eine solche Server-Anfrage überhaupt notwendig ist oder eine Aktion der Ajax-Engine ausreicht. Der Clou an diesem Verfahren ist nicht nur, dass damit die Leitungen und der Web-Server wie beim vorher beschriebenen Validator geschont werden. Diese Methode hat auch den großen Vorteil, dass sie Daten im Hintergrund nachladen kann, während sich der Anwender noch mit weiteren Eingaben auf der Seite beschäftigt.
Kontinuierliche Kommunikation
Um Daten dynamisch vom Web-Server nachzuladen, setzt Ajax auf eine Datenschnittstelle namens "XMLHttpRequest". Diese XML-Schnittstelle geht ursprünglich auf Microsoft zurück und fand im Internet Explorer 5 erstmals Verwendung. Sie verleiht Ajax die Fähigkeit, asynchron XML-Daten vom Web- Server anzufordern, ohne dass dazu die Seite komplett neu aufgebaut werden muss. Die Kommunikation verläuft hier nicht mehr in starren Intervallen, in denen ein Partner agiert und der andere auf ihn wartet. Stattdessen können beide Teile asynchron agieren - der Datenfluss erfolgt nach Bedarf nahezu kontinuierlich und nicht sprunghaft wie bei konventionellen Anwendungen.
Literatur und Links
-
Garrett, Jesse James: Ajax - A New Approach to Web Applications http://www.adaptivepath.com/publications/essays/ archives/000385.php/
-
Mauerer, Jürgen: Ajax und Asp.net; http://www.microsoft.com/germany/msdn/library/web/ AJAXUndASPNET.mspx
-
Dojo - DojoToolkit.org; http://www.dojotoolkit.org/
-
Ajax Test Page: http://smirnov.org.ru/myfaces-ajax/ajax.jsf
-
Murray, Greg: http://java.sun.com/developer/technicalArticles/J2EE/AJAX/Ajax with Java 2 Platform, Enterprise Edition
-
Open Ajax soll AJAX populärer machen, http://www.computerwoche.de/produkte_technik/software/571671
-
The AJAX Toolkit Framework (ATF) Project: http://www.eclipse.org/proposals/atf/
Datenaustausch
Die XML-Daten, die der Browser vom Server via XML HTTP Request erhält, nutzt die Ajax-Engine dazu, nur die Teile einer Web-Seite zu aktualisieren, deren Austausch erforderlich ist. Um herauszufinden, welche das sind, bedient sich Ajax des Document Object Models. Mit Hilfe dieses Datenmodells lässt sich jede Web-Seite als objektorientierte Baumstruktur darstellen und ein einzelner Bestandteil wie eine Datentabelle auf objektorientierte Weise manipulieren - beispielsweise um einen Teil der Daten auszutauschen. Was Ajax dazu benötigt, ist lediglich ein DOM-fähiger Browser wie beispielsweise der aktuelle Internet Explorer oder Mozillas Firefox, der auch einen DOM-Inspektor zur Anzeige der Baumstruktur besitzt.