de.comp.lang.php.* FAQ

2.11. Gibt es Application Server für PHP?

Keywords: Application | Server | SRM | Pooling | Daemon | Session

Antwort von Sebastian Bergmann

Der Begriff "Application Server" ist ein sehr schwammiger.

Man könnte unter einem solchen beispielsweise einen Daemon (Server) verstehen, der die Ausgabe von Programmen (Application) über das Internet zur Verfügung stellt. Dieser Definition zufolge wäre bereits ein Webserver mit PHP Unterstützung ein "Application Server".

In der Java Welt hingegen versteht man jedoch etwas anderes unter dem Begriff des "Application Servers":

In einem "Application Server" laufen die Applikationen permanent ab. Kommt ein Request per HTTP, so wird eine entsprechende Methode einer bereits laufenden Anwendung aufgerufen. Diese liefert ein Ergebnis, das an den Client ausgeliefert wird.

Dies bringt mehrere Vorteile mit sich: Die Umgebung der Sprache, in der die Applikation geschrieben wurde -- im Falle von PHP der PHP Interpreter, im Falle von Java die Java Virtual Machine (JVM) (naja, eigentlich ist auch der PHP Interpreter eine virtuelle Maschine, und die Java Virtual Machine ein Bytecode Interpreter -- aber das soll jetzt hier nicht diskutiert werden) -- muss nicht für jeden einzelnen HTTP Request neu initialisiert werden. Ferner können Ressourcen, wie zum Beispiel Datenbankverbindungen, gemeinsam genutzt und somit effizienter verwaltet werden.

Noch schwerer fällt als Vorteil ins Gewicht, dass komplexe Datenstrukturen nur einmal zu Beginn der Applikation aufgebaut werden müssen -- man denke hierbei nur an die OOHForms von Ulf Wendel.

Auch erschließen sich dem Applikationsentwickler neue Möglichkeiten, da er mit einem Application Server Daten zwischen verschiedenen Requests an seine Applikation tauschen kann: denn eigentlich arbeitet ja nur eine Instanz der Applikation sämtliche Anfragen ab.

Zur Zeit gibt es für PHP noch keinen Application Server, der dem Begriff aus der Java Welt gerecht wird. Unter dem Namen Script Running Machine (SRM) arbeiten einige PHP Developer an einem Daemon, der PHP Applikationen permanent ausführen, Datenbankverbindung poolen und Datenstrukturen im Speicher halten kann.

Valid HTML 4.01! Valid CSS!

2.11. Gibt es Application Server für PHP?
http://www.php-faq.de/q/q-php4-application-server.html
de.comp.lang.php.* FAQ | (c) Copyright 2000-2007 Das dclp-FAQ-Team