Teil 2: Chatsystem unter AJAX
Das Herzstück einer AJAX-Implementierung ist das XmlHttpRequest Objekt. Dieses läuft im Client-Browser und agiert als Händler zwischen der Benutzeroberfläche und dem Server. Anstatt jedes Benutzerereignis im Server zu verarbeiten, werden die Benutzerereignisse beim Client-seitigen Objekt ausgefÃ...
Das Herzstück einer AJAX-Implementierung ist das XmlHttpRequest Objekt. Dieses läuft im Client-Browser und agiert als Händler zwischen der Benutzeroberfläche und dem Server. Anstatt jedes Benutzerereignis im Server zu verarbeiten, werden die Benutzerereignisse beim Client-seitigen Objekt ausgeführt. Das XmlHttpRequest-Objekt dient dem asynchronen Datenaustausch mit dem Server. So kann der Nutzer mit der Anwendung interagieren, während das Objekt im Hintergrund läuft. Das XmlHttpRequest-Objekt auf der Clientseite kann Seitenelemente aktualisieren, ohne die Seite neu aufbauen zu müssen. Dazu rufen Sie Funktionen per JavaScript auf, um Elemente im DOM-Modell zu verändern. Da AJAX keinen vollständigen Seitenaufbau nach jedem Benutzerereignis braucht, verringern sich die Ladezeiten.

Jeder Vorteil hat seinen Preis. Denn es ist schwer, mit dem XMLHttpRequest-Objekt Browser-unabhängige Lösungen zu konzipieren. Doch das DWR (DirectWeb Remoting) ist eine Open-Source-Lösung, welche die Entwicklung von AJAX-basierten-Websites erleichtert. DWR besteht aus zwei Hauptkomponenten:
- Ein Servlet auf dem Server bearbeitet Anfragen und antwortet dem Browser.
- Zusätzlich senden Java Scripte auf dem Browser Anfragen an den Server und aktualisieren die Website.
DWR kann auf Basis von Javaklassen dynamisch JavaScripte generieren. Die AJAX-Anwendung agiert so, als ob sie komplett auf der Browser-Ebene ausgeführt würde. In Wirklichkeit steuern entfernte Funktionsaufrufe Funktionen auf dem Server. Diese entfernten Funktionsaufrufe erwecken den Eindruck, dass man mit RPC-Mechanismen (Remote Procedure Call) wie RMI (Remote Method Invocation) oder SOAP (Simple Object Access Protocol) arbeitet. DWR ruft also einfacher entfernte Funktionen auf. Zudem brauchen Sie keine Webbrowser Plug-ins.