Baseportal bringt Server-Programme in den Browser

01.09.2006
Mit Hilfe von Templates und Ajax lassen sich Perl- oder PHP-Programme wie Javascript im Browser ausführen.

Web-Entwickler können sich der Trendtechnik Ajax kaum noch verschließen. Mit ihr kommt Dynamik in Web-Anwendungen, denn Daten lassen sich zum Server senden beziehungsweise von dort empfangen, ohne eine Seite neu laden zu müssen. In Verbindung mit Dynamic HTML lassen sich mit Ajax Programme entwickeln, die sich nahezu wie Desktop-Applikationen verhalten, aber vollständig im Browser ablaufen.

Problematisch ist dabei die getrennte Server- und Client-seitige Entwicklung. Das Web-Entwicklungssystem "Baseportal" der gleichnamigen Berliner Firma integriert Ajax nun so, dass diese Trennung wegfällt: Durch den Zusatz eines einzigen Parameters kann jedes beliebige Server-Programm als Javascript-Funktion im Browser definiert werden, so der Hersteller. Dazu ersetzt das in Baseportal integrierte Template-System XML-Tags durch entsprechende Funktionen. So kann zum Beispiel mittels des neuen "perl"-Tags Perl-Code oder mit dem "php"-Tag PHP-Code ausgeführt werden. Üblicherweise werden diese Tags bei der Ausgabe des Templates erkannt und durch das Ergebnis des Programms an der entsprechenden Stelle ersetzt. Durch den Zusatz des Parameters "script" wird der Code nun nicht sofort Server-seitig ausgeführt, sondern als Javascript-Funktion im Browser bereitgestellt und kann wie in Javascript üblich aufgerufen werden.

In diesem Fall verbindet sich der Browser im Hintergrund mit der aufrufenden Seite, führt den Befehl aus und schickt das Ergebnis an eine Rückgabefunktion zurück. Die Kommunikation mit dem Server läuft dabei asynchron ab, das heißt während auf das Ergebnis gewartet wird, bleibt der Browser inaktiv, und es können weitere (Javascript-)Aktionen ausgeführt werden. All dies geschieht für den Entwickler völlig transparent. Er muss nichts von den im Hintergrund nötigen Aktionen wissen und kann beliebige Server-Programme im Browser einsetzen, als ob sie eingebaute Javascript-Funktionen wären. (ue)