Als die IBM vor einigen Jahren mit XPages einen neuen Ansatz für die Web-Entwicklung auf dem IBM Domino-Server eingeführt haben, wurde auch die Basis für einen deutlich flexibleren Ansatz bei der Web-Entwicklung gelegt. Die Rede ist von REST-Services.
Sehr vereinfacht ausgedrückt, begreifen REST-Services jegliche Kommunikation zwischen zwei Systemen, wie z.B. zwischen einem Browser und dem Domino-Server, als einen Austausch von Ressourcen. Wobei mit Ressource nicht nur die in diesem Zusammenhang zu erwartenden Elemente, wie HTML-Seiten, Grafiken oder JavaScript-Dateien, gemeint sind. Eine Ressource in einem REST-Service kann genauso gut auch eine Information zu einem Kunden, eine Buchbesprechung oder ein Textentwurf sein.
REST-Services sind in den letzten Jahren zu der favorisiertesten Form der Kommunikation zwischen Computer-System und insbesondere in Web- und Mobile-Anwendungen geworden. Das ist zum einen auf die oben erwähnte Flexibilität bei der Abbildung der fachlichen Aspekte einer Anwendung zurückzuführen. Zum anderen erlaubt das zugrundeliegende Protokoll eine sehr schlanke Implementierung und ist entsprechend leicht umzusetzen.
Der Domino-Server verfügt über vielfältige Möglichkeiten REST-Services anzubieten. Interessierte seien auf unseren Vortrag beim EntwicklerCamp 2016: "REST Services in Domino" verwiesen. In dem Vortrag wird auch noch tiefer auf die technischen Aspekte von REST-Services im Allgemeinen eingegangen.
Weitere Trends der letzten Jahre bei Web-Anwendung sind die Verlagerung der Anwendungslogik in die Browser und die Segnungen des responsive Designs. Die Verlagerung der Anwendungslogik in die Browser hat viele Vorteile. Die verfügbaren Endgeräte werden immer leistungsfähiger. Wenn wesentliche Teile der Anwendungslogik im Browser ausgeführt werden, wird die Last auf den Web-Servern reduziert. Somit kann der Server mehr Anfragen in kürzerer Zeit verarbeiten. Außerdem lassen sich die Web-Anwendungen wesentlich flüssiger bedienen, wenn die Anwendungslogik direkt im Browser ausgeführt wird.
Eine mit einem modernen JavaScript-Framework, wie z.B. Angular oder React, erstellte Web-Anwendung nutzt die Leistungsfähigkeit des Browsers optimal aus. Für viele gängige Anforderungen sind Open-Source-Komponenten frei verfügbar. Der Anwendungsentwickler kann sich auf die fachlichen Aspekte seiner Anwendung zu konzentrieren.
Nachdem die Web-Anwendung einmal geladen wurde, werden nur noch Daten via REST-Services zwischen dem Browser und dem Web-Server ausgetauscht. Gerade bei Smartphones und der leider in Deutschland nicht immer optimalen Internetkonnektivität ist dieses von entscheidenen Vorteil.