© saicle/Shutterstock.com
In Java sind Application Server gang und gäbe - warum nicht davon lernen?

„Ich wünsche mir, dass die PHP-Welt offen für diese Technologie ist.“


Mit dem appserver.io Iron Horse wurde Version 1.0 der ambitionierten Infrastrukturlösung veröffentlicht. Der appserver.io soll klassische Enterprise-Ansätze in die PHP-Welt transferieren und Entwicklern dabei ein ganzes Set von Services bieten, mit denen sich die Arbeit in großen und performanceintensiven Applikationen erleichtern lässt. Das Beste daran: Es bietet Multi-Thread­ing von Haus aus, ist komplett Open Source und hat keine Probleme mit Systemen, die eigentlich gar nicht dafür entwickelt wurden. Wir haben die Gunst der Stunde genutzt und mit einem der Köpfe hinter dem Projekt gesprochen.

PHP Magazin: Stefan, ihr habt den appserver.io in Version 1.0 veröffentlicht. Erzähl mal, worum geht es dabei genau?

Stefan Willkommer: Wir haben uns die letzten zwei Jahre intensiv mit Threading und Multi-Threading im PHP-Umfeld beschäftigt. Letzten Endes geht es bei dem Projekt darum, einen Application Server, wie man ihn aus anderen Sprachen kennt – vor allem natürlich aus Java –, nach PHP zu portieren und da PHP-Anwendungen darauf aufbauen zu können, die dem klassischen Enterprise-Ansatz gerecht werden.

Ein Application Server ist letzten Endes ein Set von Services, die man als Entwickler in seiner Infrastruktur nutzen kann. Es ist also eigentlich eine Infrastrukturlösung, die weit mehr als ein klassischer Webserver wie Apache oder NGINX bietet, da wir nicht nur wie ein Webserver klassisch Anwendungen ausliefern können, sondern zusätzliche Dienste wie einen Timer-Service, eine Message Queue, einen Persistance Container und – eigentlich eines der spannendsten Themen, eine Servlet Engine, die Stateful-Applikationen zulässt, ausliefern können. Mit der Servlet Engine können wir Applikationen Request-übergreifend im Speicher halten und damit dementsprechend Performance gewinnen.

PM: Das Vorbild kommt natürlich aus dem Java-Umfeld; gerade dort gibt es aber bereits seit einiger Zeit Diskussionen über Sinn und Unsinn von Application Servern … Wo seht ihr also den Vorteil eines solchen Systems?

Stefan: Diese Diskussionen haben wir natürlich auch verfolgt. In Java gibt es aber meiner Meinung nach das Problem, dass das System über die Jahre hinweg extrem gewachsen und komplex geworden ist; das macht den Einsatz eines Application Servers nicht mehr so leicht, auch wenn es das wahrscheinlich noch nie so richtig war. Aber genau das ist es, was wir mit appserver.io bezwecken wollen.

Wir wollen eine Enterprise-Technologie auf einen Markt bringen, der genau das noch nicht bietet und ihn damit eben Enterprise-fähig machen. Das in der Konfiguration ebenso wie im Handling für den Entwickler. Unser oberstes Ziel lautet, dass es einfach zu benutzen und zu installieren sein muss. Wenn wir diesen Anspruch erfüllen und die Komplexität des Systems vor dem Entwickler verstecken können, dann bin ich überzeugt davon, dass es große Potenziale gibt, die sich damit entfalten lassen.

Das Gute daran ist aber auch: Wenn er einen Blick unter die Haube werfen will, dann kann er das tun. Der Application Server ist vollständig in PHP geschrieben – ein PHP-Entwickler kann also auch tief ins System einsteigen. Dennoch haben wir die Funktionalität so gut gekapselt, dass sie für den Entwickler in erster Linie keinen Overhead darstellt.

PM: Einfach zu installieren, einfach zu nutzen … was also genau muss man machen, um den Application Server zum Laufen zu bekommen?

Stefan: Wenn du es lokal testen willst, dann lad ihn dir herunter – im besten Fall hast du einen Mac, dann kannst du einfach das Installer-Paket nutzen. Einfach kurz durchklicken, und innerhalb weniger Sekunden ist er mit einer Congrats-Seite und einer Example-App einsatzbereit und lauffähig. In der Example-App sind zahlreiche Beispiele enthalten, die zeigen, wie man die einzelnen Services nutzen kann. Darunter sind auch Beispiele, die zeigen, wenn ich das einmal böse formuliere, wie man seine „Legacy-Applikationen“ darauf laufen lässt – also klassische PHP-Applikationen, die zunächst noch keinen Nutzen aus dem Application Server ziehen können. Die können trotzdem ganz normal über den mitgelieferten PHP-FPM ausgeführt werden.

Im Prinzip ist der appserver.io also erst einmal eine Runtime, die zusätzliche Services bietet. Man kann also jederzeit seine lokale Entwicklungsumgebung durch den appserver.io ersetzen.

Was die Serverseite angeht, haben wir ebenfalls eine breite Palette abgedeckt [1]. Wir haben Pakete für Debian, CentOS, Fedora, und auch für Windows gibt es mittlerweile einen Installer – wir haben also erst mal alle wichtigen Plattformen abgedeckt.

PM: Was muss ich beachten, wenn man als Entwickler eine Anwend...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang