© saicle/Shutterstock.com
PHP Magazin
appserver.io als RESTful Service für AngularJS-Apps

Der erste Ritt auf dem eisernen Pferd

Seit geraumer Zeit steht Version 1.0 aka Iron Horse der Enterprise-PHP-Infrastrukturlösung appserver.io zur Verfügung. Gerade für die Anforderungen heutiger Single-Page-Apps, die mit AngularJS oder auch Ember realisiert werden können, bietet der appserver.io ein ganzes Set von Services, welche einem die Arbeit vor allem in großen und performanceintensiven Applikationen erleichtern.

Johann Zelger


Fast alle Single-Page-Apps benötigen irgendwann eine Anbindung an Web Services, um Funktionalitäten wie z. B. Authentifizierung zu ermöglichen. Gerade auch aus dem Grund, dass SPAs zustandsorientiert „stateful“ sind und das bestenfalls auch von einem ernstzunehmenden Backend erwartet werden sollte, spricht alles dafür, einen RESTful Service auf Basis des appserver.io [1] zu realisieren.

Im Gegensatz zu zustandslosen Services können hier instanziierte Objekte persistent im Speicher gehalten und für die parallele Bearbeitung aller eingehenden Requests gemeinsam verwendet werden. Diese Vorgehensweise spart zum einen wertvolle Rechenzeit, optimiert die Ausnutzung der vorhandenen Serverinfrastruktur hinsichtlich CPU und Speichernutzung und verspricht neben dem Potenzial von Energiesparmöglichkeiten eine höhere Performance bei der Bearbeitung von Requests und somit geringeren Antwortzeiten bei Serviceanfragen.

Wir werden in diesem Artikel eine AngularJS-Anwendung erstellen, die durch den appserver.io selbst ausgeliefert wird. Diese wird dann um einen Authentifizierungsservice erweitert, der wiederum mit einem RESTful Service basierend auf dem appserver.io kommuniziert und Features wie Servlets, Dependency Injection, AOP und Annotated Validation nutzt, um immer wiederkehrende Probleme elegant zu lösen.

Voraussetzungen

Als Erstes laden wir uns den appserver.io für das entsprechende Betriebssystem in der aktuellsten Version unter [2] herunter. Eine Anleitung zur Installation findet man dort ebenfalls. Sofern alles korrekt installiert wurde, wird man unter http://127.0.0.1:9080 die Welcome Page des appserver.io zu Gesicht bekommen.

Für die Entwicklung der AngularJS-Applikation müssen wir die Entwicklungsumgebung, wie unter [3] beschrieben, noch um einige JavaScript- und CSS/SASS-Tools erweitern, damit wir unsere AngularJS-App bequem mit Yeoman generieren können.

Vorbereitungen

Als Erstes setzen wir unsere appserver.io-Umgebung mit sudo /opt/appserver/server.php -s dev in den Entwicklermodus. Dadurch lassen sich unter anderem regelmäßig auftretende Probleme mit Dateizugriffsberechtigungen während der lokalen Entwicklung vermeiden. Wir starten mit unserer App namens „myapp“, indem wir zunächst das Verzeichnis am dafür vorgesehenen Ort /opt/appserver/webapps/ erstellen.

Um unsere AngularJS-App automatisch mit Yeoman generieren zu können, muss vorerst der entsprechende Yeoman-Generator für AngularJS installiert werden: sudo npm install -g generator-angular.

Nun können wir uns...

PHP Magazin
appserver.io als RESTful Service für AngularJS-Apps

Der erste Ritt auf dem eisernen Pferd

Seit geraumer Zeit steht Version 1.0 aka Iron Horse der Enterprise-PHP-Infrastrukturlösung appserver.io zur Verfügung. Gerade für die Anforderungen heutiger Single-Page-Apps, die mit AngularJS oder auch Ember realisiert werden können, bietet der appserver.io ein ganzes Set von Services, welche einem die Arbeit vor allem in großen und performanceintensiven Applikationen erleichtern.

Johann Zelger


Fast alle Single-Page-Apps benötigen irgendwann eine Anbindung an Web Services, um Funktionalitäten wie z. B. Authentifizierung zu ermöglichen. Gerade auch aus dem Grund, dass SPAs zustandsorientiert „stateful“ sind und das bestenfalls auch von einem ernstzunehmenden Backend erwartet werden sollte, spricht alles dafür, einen RESTful Service auf Basis des appserver.io [1] zu realisieren.

Im Gegensatz zu zustandslosen Services können hier instanziierte Objekte persistent im Speicher gehalten und für die parallele Bearbeitung aller eingehenden Requests gemeinsam verwendet werden. Diese Vorgehensweise spart zum einen wertvolle Rechenzeit, optimiert die Ausnutzung der vorhandenen Serverinfrastruktur hinsichtlich CPU und Speichernutzung und verspricht neben dem Potenzial von Energiesparmöglichkeiten eine höhere Performance bei der Bearbeitung von Requests und somit geringeren Antwortzeiten bei Serviceanfragen.

Wir werden in diesem Artikel eine AngularJS-Anwendung erstellen, die durch den appserver.io selbst ausgeliefert wird. Diese wird dann um einen Authentifizierungsservice erweitert, der wiederum mit einem RESTful Service basierend auf dem appserver.io kommuniziert und Features wie Servlets, Dependency Injection, AOP und Annotated Validation nutzt, um immer wiederkehrende Probleme elegant zu lösen.

Voraussetzungen

Als Erstes laden wir uns den appserver.io für das entsprechende Betriebssystem in der aktuellsten Version unter [2] herunter. Eine Anleitung zur Installation findet man dort ebenfalls. Sofern alles korrekt installiert wurde, wird man unter http://127.0.0.1:9080 die Welcome Page des appserver.io zu Gesicht bekommen.

Für die Entwicklung der AngularJS-Applikation müssen wir die Entwicklungsumgebung, wie unter [3] beschrieben, noch um einige JavaScript- und CSS/SASS-Tools erweitern, damit wir unsere AngularJS-App bequem mit Yeoman generieren können.

Vorbereitungen

Als Erstes setzen wir unsere appserver.io-Umgebung mit sudo /opt/appserver/server.php -s dev in den Entwicklermodus. Dadurch lassen sich unter anderem regelmäßig auftretende Probleme mit Dateizugriffsberechtigungen während der lokalen Entwicklung vermeiden. Wir starten mit unserer App namens „myapp“, indem wir zunächst das Verzeichnis am dafür vorgesehenen Ort /opt/appserver/webapps/ erstellen.

Um unsere AngularJS-App automatisch mit Yeoman generieren zu können, muss vorerst der entsprechende Yeoman-Generator für AngularJS installiert werden: sudo npm install -g generator-angular.

Nun können wir uns...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang