Montag, September 04, 2006

Reverse Ajax

Seit einer Weile schon beschäftige ich mich immer wieder mit AJAX und mache mir Gedanken über die Architektur eines neuen WebFrameworks, das die durch AJAX gegebenen Möglichkeiten so weit wie möglich ausreizt.

Bei der Webtechnologie gibt es eine Beschränkung, die am zugrunde liegenden Protokoll HTTP liegt. HTTP definiert ein striktes Anfrage/Antwort-Prozedere, das ausschließlich vom Client, dem Webbrowser, ausgehen kann. Der Client stellt eine Anfrage (request) an den Server, der Server antwortet mit einem Reply. Der Server kann den Client nicht eigenmächtig über neue Ereignisse informieren. Man muss sich etwas originelles einfallen lassen, wie ein Server einen Browser z.B. über neue News auf einem Nachrichtenportal informieren kann.

Eine Idee, auf die man rasch kommt, ist die regelmäßige Nachfrage. Der Client fragt im Hintergrund für den Surfer unbemerkt z.B. jede Minute beim Server nach: "Willst Du mir Infos übermitteln?" Falls ja, werden die Infos an den Client übermittelt. Das ist nichts anderes als eine ajaxifizierte Lösung einer altbekannten Technik, dem Polling.

Auf zwei weitere Ansätze bin ich selbst noch nicht gekommen. Wenn man sie gelesen hat, dann kann man sich fast fragen, wieso man selbst nicht gleich die Idee hatte, siehe Reverse Ajax. Ok, es gibt Leute, die kommen darauf ;-)

1 Kommentar:

Benedikt Schwinkendorf hat gesagt…

Interessante Ansätze. Am brauchbarsten wohl die "slow load technique".
Hier wäre es Denkbar eine "Update-Verbindung" zwischen Client und Server aufzusetzen, die sich bei Abbruch (durch Timeout o.ä.) erneut aufbaut.

Über diese "dauerhafte" Verbindung könnten dann unmittelbar neue Update-Signale an die entsprechenden AJAX-Module (Komponenten) gesendet werden.

Eine sicher brauchbare Funktionalität für ein AJAX-Komponenten-Framework!