Headless CMS

Headless CMS Programmierung

Flexibilität durch Trennung von Backend und Frontend

Das Netz ist ein Medium im Fluss. Aus den statischen Websites der 1990er Jahre sind im Laufe der letzten Jahrzehnte anspruchsvolle, dynamische Webanwendungen geworden. Mit der zunehmenden Verbreitung von Web-Contentmanagement-Systemen (CMS) wie Drupal oder WordPress ist es immer einfacher geworden, professionelle Internetseiten zu betreiben und mit frischen Inhalten zu bestücken.

Von Anfang an stand bei der Entwicklung solcher CMS-Lösungen die Trennung von Content und technischer Umsetzung der Website im Vordergrund. In den letzten Jahren werden sogenannte Headless CMS für die Realisierung größerer Web-Projekte immer populärer. Das noch junge Entwicklungsparadigma API First zeigt an, wohin die Reise führen kann. Flexible Webanwendungen dank Headless CMS.

Skalierbarkeit

Skalierbarkeit als Herausforderung

Ob es um eine vergleichsweise einfache Unternehmenswebsite geht, auf der Sie über aktuelle Nachrichten und Angebote informieren, oder um einen umfangreichen Webshop inklusive Multichannel-Angeboten und Werbeinhalten:

Die Skalierbarkeit Ihres Webauftritts stellt auf allen Ebenen eine Herausforderung dar.

Das fängt beim Software Engineering (Requirements Engineering, Software Design) an und reicht bis zur Bereitstellung der Daten auf den Servern. Da Technik, Inhalt und Design bei herkömmlichen Content Management Systemen zwar bereits getrennt, aber weiterhin als ein monolithisches Paket ausgeliefert werden, ist es kompliziert, Content für mehr als ein Medium aufzubereiten. Die Auslieferung einer Website wird dadurch unnötig verkompliziert. Nicht zuletzt bedeutet die Entwicklung von Angeboten auf Basis herkömmlicher Content Management Systeme, sich beim Development der eigentlichen Webseite mit den systembedingten Einschränkungen des CMS zufriedengeben zu müssen. Innovative, neue Features und Funktionen von Technologien wie Vue.js, React oder Angular können daher nicht immer zeitnah eingesetzt werden.

Gerade beim Design mobiler Frontends oder von Webviews für die Verwendung in Mobile-Apps, ist es aber wichtig, das Seitenrendering so performant wie möglich zu gestalten. Untersuchungen zeigen, dass schon wenige Sekunden Wartezeit beim Abruf einer Website den Unterschied zwischen einer erfolgreichen Conversion und einem verlorenen Kunden machen können. Dazu kommt, dass Google und Co. die Lade- und Renderzeiten von Websites inzwischen maßgeblich heranziehen, um das Ranking von Treffern in den Suchergebnissen zu bestimmen. Performantes Webdesign ist damit auch aktive Suchmaschinenoptimierung.

Vor allem das Aufkommen zusätzlicher Geräteklassen hat in den letzten Jahren dazu geführt, dass traditionelle Content Management Systeme zunehmend an ihre Grenzen stoßen. Für die Nutzung im Web funktionierte das Kombi-Modell aus Back- und Frontend noch sehr gut.

Doch mit mobilen Handsets, Konferenzbildschirmen, Smartspeakern und Wearables gibt es mittlerweile immer häufiger den Bedarf, die per CMS vorgehaltenen Inhalte auf verschiedensten Medien auszugeben.

Unsere Empfehlung: Spätestens dann, wenn in den kommenden Jahren neue IoT-Devices für den E-Commerce wichtiger werden, sollten Sie als Anbieter über die klassische Website hinausdenken.

Nachfolgend ein Projektbeispiel Headless CMS:

Headless Content Management Systeme

Flexible Endgeräte Lösung

Um diesen Herausforderungen zu begegnen, setzen in den letzten Jahren immer mehr Entwicklerinnen und Entwickler auf sogenannte Headless-Lösungen beim Aufbau von Websites und anderen digitalen Formaten. Als 'headless' (also 'kopflos') wird im Softwarebereich ganz allgemein Software beschrieben, die ohne Benutzeroberfläche auskommt und nur im Hintergrund arbeitet. Auf normalen Desktop-Rechnern können das zum Beispiel Hintergrunddienste des Betriebssystems sein, die wichtige Grundfunktionen für andere Programme bereitstellen. Ganz ähnlich funktionieren Headless CMS. Statt die Software, die Datenbank und Backend bereitstellt, fest mit der Oberfläche der Website auszuliefern, stellen Headless Content Management Systeme lediglich eine sogenannte API zur Verfügung. Über diese Programmierschnittstelle können andere Programme oder Websites auf die Daten zugreifen. Dadurch lassen sich zum Beispiel ein Unternehmensblog, ein Webshop und eine Smartphone-App alle aus demselben Datenbestand speisen.

Headless entwickelte CMS sind front-end-agnostisch und lassen sich von allen denkbaren Anwendungen und Geräten nutzen. Bei herkömmlichen Content Management Systemen bedeutete der Wunsch, verschiedene Endgeräte anzusprechen, die Notwendigkeit, zusätzliche Workarounds und Plug-ins zu entwickeln. Solche Lösungen führen, wenn das eigentliche CMS aktualisiert wird, oft zu Kompatibilitätsproblemen, die Kosten und im schlimmsten Fall Sicherheitsprobleme verursachen. Werden Oberfläche und Datenbestand ohnehin strikt getrennt, sind Abwärtskompatibilität und Sicherheit der nach außen offenen Schnittstellen des Systems von Anfang an die wichtigsten Faktoren des Softwaredesigns. Damit ist der Betrieb einer vorhandenen Website oder Anwendung auch dann möglich, wenn das CMS wesentliche Aktualisierungen erfährt. Headless Content Management Systeme sind wesentlich schlanker und agiler als andere CMS-Pakete, Updates lassen sich unabhängig von der Front-End-Entwicklung ausspielen.

Vorteile

Kostensparende, schnelle Entwicklung

Da die Schnittstellen eines guten Headless Content Management Systems klar definiert sind, fällt es Software- und Webentwicklern wesentlich leichter, Anwendungen für die Nutzung mit dem CMS zu entwickeln. Das spart nicht nur Kosten, sondern kann vor allem auch zu einer schnelleren Entwicklung beitragen. Denn die eindeutige Trennung der Entwicklungsbereiche ermöglicht es, dass völlig verschiedene Arbeitsgruppen das CMS, die Website oder zum Beispiel die Anbindung an externe Handelsplattformen entwickeln. Selbst Teams aus unterschiedlichen Unternehmen und Agenturen können einander so problemlos zuarbeiten ohne alle Details der Arbeit der jeweils anderen Entwicklerinnen und Entwickler zu kennen.

Frei von den Einschränkungen monolithischer CMS lassen sich mit Headless Systemen dynamische neue Nutzungsszenarien entwerfen und ausprobieren. Die Entwicklung einer neuen Website, eines Alexa-Skills oder einer App für den Smart-TV erfolgt unabhängig von den Möglichkeiten des genutzten CMS. So entstehen keine Abhängigkeiten der einzelnen Anwendungen voneinander. Fehler oder Sicherheitsprobleme in der App führen damit nicht zu einer Situation, in der auch die Website eilig mit Security-Patches versorgt werden muss oder umgekehrt. Überhaupt hilft die Nutzung einer Headless-CMS-Lösung dabei, vielen der Sicherheitsrisiken zu begegnen, denen moderne Webanwendungen ausgesetzt sind. So lässt sich das Back-End zum Beispiel unabhängig von den Endanwender-Seiten und Anwendungen sichern und im Ernstfall zurückspielen. Die Möglichkeit, das CMS als fertigen Container zu speichern und redundant bereitzustellen, hilft dabei, mögliche Downtimes auf ein absolutes Minimum zu reduzieren.

Projekt Beispiel eines Headless CMS

Beispiel eines Headless CMS und der integrierten RESTful-API

Für Europa's größtes Sports Resort PLAYITAS haben wir ein Headless CMS auf Basis von Drupal und GraphQL entwickelt.

GraphQL stellt dabei eine performante REST-API für die im CMS bereitgestellten Inhalte bereit. Diese Variante bietet aus unserer Sicht zusätzlich den Vorteil, dass das Rendering wesentlicher Teile der ausgegebenen Seiten bereits auf dem Host-Rechner (also im CMS) erfolgt.

Dadurch lassen sich in den genutzten Webanwendungen und -views dann blitzschnell ladende Pages auf Grundlage des React.js-Frameworks bauen. Die Anwendungsserver benötigen dazu wesentlich weniger Leistung als bei anderen Lösungen. Dank der Möglichkeit, über die GraphQL-API auch Aktualisierungen zu abonnieren, können die so entwickelten Seiten direkte Updates vom Drupal-Server beziehen und diese per React und Next.js dynamisch auf den Endgeräten der Anwenderinnen und Anwender anzeigen. Damit lassen sich mit dieser beispielhaften Implementation eines Headless Content Management Systems außerordentlich schnelle und für die Benutzerinnen und Benutzer datensparsame Websites entwickeln.

Selbstverständlich bauen wir für Sie auch maßgeschneiderte Lösungen auf Grundlage weiterer Frameworks und können Ihnen damit individuell an Ihren Bedarf angepasste Systeme anbieten.

API First

Welche Entwicklungen rund um Headless Content Management Systeme sind absehbar?

Zentraler Vorteil von Headless Content Management Systemen ist die Trennung von Content Management und Anzeige. Momentan entstehen, in Reaktion auf diesen Trend, zahlreiche Softwarelösungen und spezialisierte Anbieter, die das Hosting von API-First-Lösungen als zentralen Service anbieten.

Gerade bei Lösungen wie der von uns entwickelten Variante eines Headless-Drupals auf Grundlage von GraphQL könnte sich das als attraktive Möglichkeit zur weiteren und verbesserten Skalierbarkeit erweisen. Während die verschiedenen Endanwender-Frontends weiterhin vom eigenen Server ausgeliefert werden, können die automatisch skalierenden Cluster bei den großen Cloud-Anbietern dynamisch auf Lastspitzen reagieren. Vor allem bei Angeboten, die über sehr viele unterschiedliche Anwendungen oder mehrere Websites angeboten werden, kann das vorteilhaft sein. Mit traditionellen CMS erstellte Webangebote müssen für jeden Kanal eine separate Lösung zum Abfangen der Lastspitzen aufbauen. Im Falle einer Headless-Lösung dagegen fängt das CMS einen Teil der Spitzen für alle Channels auf einmal ab.

In Zukunft werden wir immer mehr Webangebote auf Basis von Headless-Systemen sehen. Gerade Angebote und Apps, die auf allen Plattformen vertreten sein wollen, kommen mittelfristig nicht um eine adäquate Lösung herum, Daten für alle Kanäle gebündelt anzubieten. Maintenance- und Verwaltungsaufwand für die Bespielung ganz neuer technologischer Entwicklungen und Geräte sinken erheblich. Im Moment noch gar nicht verfügbare Geräte oder Plattformen lassen sich so sehr schnell mit einer eigenen Anwendung versorgen.