Direkt zum Inhalt
Bild
Untitled%20design%20%281%29.jpg

Monolithische und entkoppelte Drupal-Architekturen

AI-Translated
article publisher

Gurpreet Kaur

Drupal

Websites sind im 21. Jahrhundert zu einer Notwendigkeit geworden. Von der Generierung von Traffic bis hin zur Erzeugung von Aufmerksamkeit für die Marke und der daraus resultierenden Steigerung der Umsatzzahlen können Websites alles leisten. Allerdings sind nicht alle Websites dazu in der Lage. Eine erfolgreiche Website zeichnet sich oft durch die beste User Experience und Performance aus. Ein niedriger Standard in diesen Bereichen kann das Aus für die Website-Entwickler bedeuten. Und wenn man die beeindruckende UX und Performance der Website mit ihrer allgemeinen Ästhetik und Produktqualität kombiniert, ist der Erfolg fast garantiert.

Daher muss der Prozess des Website-Aufbaus mit größter Sorgfalt und Expertise erfolgen, denn eine halbherzige Arbeit zu Beginn zu leisten und es später zu bereuen, wäre für niemanden klug. Der Aufbau und die Funktionalität der Website hängen vollständig von ihren Entwicklern und dem verwendeten CMS ab. Die Wahl des richtigen architektonischen Ansatzes sollte für alle Geschäftsinhaber und Website-Ersteller oberste Priorität haben. 

Wenn ich auf den architektonischen Aspekt eingehe, möchte ich die beiden Varianten hervorheben, die bei Drupal-Websites am beliebtesten sind: die monolithische oder traditionelle Architektur und die entkoppelte Architektur. Dieser Artikel wird alle Bereiche dieser beiden Architekturen beleuchten und ihre Eignung für unterschiedliche Geschäftsanforderungen erörtern. 

Vorstellung der Kandidaten: Monolithische und entkoppelte Drupal-Architekturen

Drupal ist ein sehr vielseitiges Content-Management-System, das in der Lage ist, Ihre Websites für Sie zu erstellen und sich um jeden Aspekt derselben zu kümmern. Das sollte die Fähigkeiten von Drupal zusammenfassen, aber das tut es nicht. Mit seinen verschiedenen architektonischen Optionen ist Drupal zur Verkörperung von Vielseitigkeit geworden. Die Wahl zwischen monolithischer und entkoppelter Drupal-Architektur ist der Beweis dafür.

Beginnend mit der monolithischen Architektur bedeutet dies aus der Sicht eines Software-Ingenieurs eine einzelne Software, die das Potenzial hat, jeden Aspekt der Arbeit zu bewältigen, die auf ihr oder mit ihr erledigt wird. Eine monolithische Architektur ist immer einschichtig, wobei die Benutzeroberfläche und der Code für den Datenzugriff in einer Plattform zusammengeführt werden. Und das ist es, was monolithische Drupal-Architektur oder traditionelle Drupal-Architektur bedeutet. Das gekoppelte Drupal ist gut gerüstet, um eine Website zum Laufen zu bringen, sowohl im Frontend als auch im Backend. Sie müssen sich auf nichts anderes verlassen, wenn Sie den monolithischen Ansatz wählen. Sie hätten alle Drupal-Ressourcen in Ihrer Ecke, da Ihr Projekt vollständig darin eingebettet wäre.

Drupal wird in der Community für seine Backend-Fähigkeiten sehr geschätzt, aber sein Frontend verdient die gleiche Anerkennung. Mit den vielen Verhaltensweisen, Themes und Vorlagen von Drupal können Sie auf einfache Weise beeindruckende visuelle Designs erstellen, die Ihrer Präsentationsebene eine hochmoderne Interaktivität verleihen, die im laufenden Betrieb angepasst werden kann. Und es gibt noch mehr: Jedes Problem mit dem Design, dem Verhalten, der Benutzerfreundlichkeit und der Verwaltung Ihrer Website kann leicht durch die Frontend-Aspekte von Drupal behoben werden. Es wäre also nicht falsch anzunehmen, dass das traditionelle Drupal eine vielseitige Software ist, die den Prozess der Erstellung von Webanwendungen vereinfacht. 

Wenn Sie jedoch die anderen Frontend-Technologien nutzen möchten, ist dies mit der entkoppelten Drupal-Architektur ebenfalls möglich.

Einfach ausgedrückt trennt die entkoppelte Drupal-Architektur das Frontend vom Backend. Das entkoppelte Drupal trennt die Benutzeroberfläche vom Präsentationsaspekt. Obwohl die Benutzeroberfläche und das Content-Management von Drupal bereitgestellt werden, haben Sie freie Hand über die Präsentationsebene. Sie wären nicht gezwungen, eines der Themes und Vorlagen zu verwenden. Dieser Ansatz erfordert hauptsächlich, dass Drupal wie sein Content-Repository fungiert. Obwohl es sich um einen relativ neuen Trend im CMS handelt, haben ihn viele in der Drupal-Community aufgegriffen. Er gewinnt immer mehr an Bedeutung, da die entkoppelte Architektur ihren Nutzern die Freiheit bietet, die vielen Frontend-Technologien außerhalb von Drupal zu nutzen. Erfahren Sie hier alles über entkoppeltes Drupal.

Zwei rechteckige Darstellungen zeigen den Unterschied zwischen traditioneller Drupal-Architektur und entkoppelter Drupal-Architektur.


Im Wesentlichen können sowohl monolithische als auch entkoppelte Ansätze in dem Sinne als ähnlich angesehen werden, dass sie die Backend-Drupal-Technologien haben. Wenn jedoch das Frontend oder der Präsentationsteil ins Spiel kommt, scheinen sie sich stark zu unterscheiden. 

Verschiedene Möglichkeiten zur Nutzung der entkoppelten Drupal-Architektur

Nachdem wir nun wissen, wie sich die traditionelle und die entkoppelte Drupal-Architektur auf der grundlegenden Ebene unterscheiden, wollen wir uns eingehender mit den verschiedenen Möglichkeiten der Entkopplung der Drupal-Architektur befassen.

Drupal wurde als monolithische Software gegründet, die jeden Aspekt der Website-Entwicklung abdeckt. Diese Architektur hat die totale Kontrolle über ein Projekt, sowohl in Bezug auf seine Präsentation, alle visuellen Elemente zusammen mit der In-Place-Bearbeitung und dem Layout-Management als auch in Bezug auf die Daten. Um nicht wie eine Schallplatte zu klingen, möchte ich hinzufügen, dass Drupal in seinem traditionellen Sinne immer noch die am häufigsten verwendete Version der Software ist, vor allem wegen der Kontrolle, die es den Redakteuren gibt.

Wenn wir zur entkoppelten Architektur kommen, ändert sich die Geschichte. Wie ich Ihnen bereits gesagt habe, verlässt sich der entkoppelte Ansatz hauptsächlich auf Drupal für seine Backend-Fähigkeiten, das Frontend kann mehr oder weniger vollständig unabhängig von Drupal werden. Es gibt zwei große Kategorien dieses architektonischen Ansatzes.

Das Drupal-Logo befindet sich in der Mitte mit vier Dialogfeldern, die die vier Ansätze der Drupal-Architektur beschreiben.


Progressiv entkoppelte Drupal-Architektur

Eine wichtige Motivation für den entkoppelten Ansatz ist der Wunsch des Entwicklers, mehr JavaScript zu verwenden. Die Verwendung von JavaScript bedeutet jedoch nicht unbedingt, dass Sie auf die Frontend-Aktion von Drupal verzichten müssen. Mit dem progressiven Ansatz können Sie beides tun. Sie können das Frontend von Drupal behalten und das JavaScript-Framework Ihrer Wahl hinzufügen. Das JavaScript-Framework kann für einen Block, eine Komponente oder den gesamten Textkörper einer Seite verwendet werden. 

Das Layout einer progressiv entkoppelten Drupal-Architektur wird gezeigt, um ihre vielen Köpfe darzustellen.


Es gibt jedoch eine Sache, die bei diesem Ansatz zu berücksichtigen ist: Die vermehrte Verwendung von JavaScript auf einer Seite führt dazu, dass die administrativen Fähigkeiten von Drupal weniger unter Kontrolle sind. Lesen Sie hier mehr über progressiv entkoppeltes Drupal.

Vollständig entkoppelte Drupal-Architektur

In einer vollständig entkoppelten Drupal-Anwendung sehen Sie eine vollständige Trennung der Präsentationsebene und anderer Elemente von Drupal. Das bedeutet, dass das Framework des Clients zu einem serverseitigen Pre-Renderer wird, was letztendlich zu einem ununterbrochenen Workflow führt. Das CMS ist in diesem Fall ein Datenprovider. Und eine API-Schicht fungiert als Verbindung zwischen den beiden, ruft Daten aus dem Backend ab und stellt sie dem Frontend zur Verfügung. Es muss verstanden werden, dass viele Drupal-Funktionen wie die In-Place-Bearbeitung ihre Funktionalität verlieren oder in diesem Ansatz nicht mehr verfügbar sind. Sie können jedoch mit anderen verfügbaren Technologien, wie React, Angular und Gatsby, eine große Kontrolle über die Präsentationsebene ausüben.

Sie können sich auch für vollständig entkoppelte statische Websites entscheiden. Um die gestiegene Komplexität von JavaScript zu bewältigen, ohne die Leistung einer Website zu beeinträchtigen, wurden statische Websites eingeführt. Damit dieser Ansatz funktioniert, ist ein statischer Site-Generator wie Gatsby ein großartiges Werkzeug, das Daten aus Drupal extrahiert und eine Site für Sie generiert. Drupal wird also im Grunde genommen zu einer Datenquelle während des gesamten Prozesses. 

API-First-CMS: Drupal-Webdienste

Wie der Name schon sagt, bedeutet API-First, eine API zu erstellen, bevor eine Webanwendung erstellt wird, die im Grunde um die API herum erstellt wird. Damit die entkoppelten Anwendungen effektiv funktionieren, muss Drupal mit einer erstklassigen API ausgestattet sein, die im Wesentlichen der Faden ist, der das Frontend und das Backend zusammenhält. Die Drupal-Community hat in dieser Angelegenheit großartige Arbeit geleistet. 

Der Beweis dafür ist die Bereitstellung von ziemlich beeindruckenden Webdiensten, an denen jahrelang gearbeitet wurde. Die REST-API kann hier als Paradigma betrachtet werden, aber für die Anwendungen, die nicht über sie kommunizieren, hat Drupal auch andere Webdienste-Module. Da Drupal in der Lage war, diese bereitzustellen und den von der REST-API bereitgestellten Funktionsumfang zu übertreffen, ist es bereit, das beste Open-Source-API-First-CMS zu werden.

In erster Linie ist bekannt, dass das entkoppelte Drupal eine der drei unten genannten APIs verwendet. Ich möchte hinzufügen, dass diese nicht relevant sind, wenn Sie den monolithischen Ansatz verwenden, da dieser keine API benötigt, um eine Verbindung herzustellen.

REST-API 

REST oder Representational State Transfer API ist eine der beliebtesten Möglichkeiten, um dem HTTP-Client die gewünschten Antworten vom Content-Repository, also Drupal, zu geben. Drupal bietet diesen Webdienst standardmäßig an, der RESTful Web Services, Serialisierung, HAL und HTTP Basic Authentication umfasst. Mit seiner Fähigkeit, HTTP-Anfragen und -Antworten auszuführen, unterstützt es auf einfache Weise die Bedienung der von Drupal verwalteten Daten, seien es Kommentare oder Nodes oder vielleicht sogar Benutzer. 

Ein Diagramm stellt die Funktionsweise einer HTTP-Anfrage und -Antwort über eine REST-API in der entkoppelten Drupal-Anwendung dar.


Einfacher ausgedrückt ist die REST-API wie ein Vermittler zusammen mit dem HTTP-Client, da sie dem Frontend und Backend helfen, harmonisch in jedem beliebigen Framework zusammenzuarbeiten. 

JSON-API 

JSON:API gewinnt als Vermittler im Entkopplungsprozess von Drupal an Bedeutung. Ein Grund dafür ist die Tatsache, dass es sich um die bessere Version der REST-API handelt. Es bietet im Vergleich zur REST-API einen relativ hohen Grad an Produktivität mit minimalen Anfragen an den Server und der Bereitstellung verwandter Ressourcen ohne Nachfrage. Es ist phänomenal in der Filterung, Paginierung und seine Sortierfähigkeiten zusammen mit der Verwendung von Caching sind fast tadellos. Sagen Sie mir, wie kann es hier nicht die erste Wahl sein?

GraphQL

GraphQL ist eine Abfragesprache, die von Facebook entwickelt wurde. Sie wird für benutzerdefinierte Abfragen verwendet, um Daten mit einer einzigen Anfrage aus dem Backend abzurufen. Das GraphQL Drupal-Modul funktioniert nach dem gleichen Prinzip und ermöglicht sogar das Aktualisieren und/oder Löschen von Inhalten oder einer gesamten Konfiguration. Darüber hinaus hat GraphQL die Fähigkeit, als Basis für die Generierung von benutzerdefiniertem Code-Schema oder dessen Erweiterung zu fungieren. Ich finde dieses eine Detail sehr hilfreich, wenn die Plugins zur Bildung eines Submoduls verwendet werden sollen. 

Sehen Sie sich hier weitere Alternativen zu den im entkoppelten Drupal-Ökosystem verfügbaren Modulen an

Frontend-Technologien

Abgesehen von den verschiedenen APIs, die in der entkoppelten Drupal-Architektur verwendet werden, unterscheiden sich auch die verwendeten Sprachen von der monolithischen Version der Software. Das liegt daran, dass das traditionelle Drupal sie nicht als Kern hat. Obwohl es seine eigene JavaScript-Bibliothek hat, liegt das JS-Framework außerhalb seiner Zuständigkeit. Und dies ist einer der Hauptgründe für die Suche nach dem entkoppelten Ansatz.
 
Werfen wir einen Blick auf einige davon.

JavaScript 

Ein Großteil der Frontends wird mit einem JavaScript-Framework im Kern entworfen. Da JS ein höheres Maß an Interaktivität bietet, ist es oft eine klügere Wahl. Es gibt drei beliebte Frameworks, die verwendet werden:

React 

Es ist bekannt, dass React die erstaunlichsten digitalen Erlebnisse liefert, wenn es mit Drupal kombiniert wird. Mit großen Namen wie Facebook, Reddit und Airbnb als Nutzer ist das keine Überraschung. React hat die Fähigkeit, einen Code in verschiedene Komponenten aufzuteilen, was bei der Fehlersuche und der Verbesserung der Wiederverwendbarkeit des Codes immens hilfreich ist. Wenn Sie Ergebnisse erzielen möchten, die sowohl SEO-freundlich als auch sehr reaktionsschnell sind, dann ist React die perfekte Option für Sie. 

Angular 

Angular wurde ursprünglich 2009 von Google eingeführt, aber die 2016 neu veröffentlichte Version wurde vollständig umgeschrieben, um die Entwicklung von mobilen und Webanwendungen sehr einfach zu machen. Dies gilt insbesondere, weil es HTML in seiner einfachsten Form verwendet, um Benutzeroberflächen klar zu definieren, wodurch Webanwendungen zu einem Dreiklang aus interaktiv, funktional und extrem schwer zu brechen werden. Vielleicht ist dies der Grund, warum The Guardian und Gmail stolze Nutzer von Angular für ihre Frontend-Aspekte sind.

Vue 

Vue ist ein JavaScript-Framework, das hauptsächlich für die Erstellung von UIs und Single-Page-Anwendungen verwendet wird. Seine beste Implementierung ist bei der Erstellung der View-Schicht einer Webanwendung zu sehen. Da Vue recht leichtgewichtig ist, ist es sehr anpassungsfähig. Es kann sich auch in andere Bibliotheken und Tools integrieren, um alles zu erhalten, was in einer Anwendung gewünscht wird. Die Kombination aus Drupal und Vue ist in der Tat eine leistungsstarke Kombination, da die Kontrolle des ersteren über das Backend und die clientseitige Handhabung des letzteren die Erstellung von groß angelegten Anwendungen zu einem Kinderspiel machen. 

Static Site Generator 

Ein Static Site Generator oder SSG ist ein Tool, das verwendet wird, um statische Websites zu erstellen, die über einen bereits vorhandenen Satz von Eingabedateien verfügen. Es wird oft als ein Mittelweg angesehen, bei dem eine handcodierte statische Website mit einem CMS verwendet wird. Es gibt einen bestimmten SSG, der erwähnt werden sollte.

Gatsby 

Ein Open-Source-Framework, das auf React basiert, mit allen Vorteilen des JAMstack (JavaScript, API und Markup), sei es Leistung, Skalierbarkeit oder Sicherheit. Dies ist die einfache Definition von Gatsby, beeindruckend, nicht wahr? Es würde ausreichen zu sagen, dass Gatsby vollgepackt mit Funktionen ist, von denen die beste natürlich seine Fähigkeit ist, Seiten vorab zu generieren, was es viel schneller macht als die dynamischen Sites. Sie werden tatsächlich in der Lage sein, eine komplette Website schneller zu erstellen, als viele nur einen Prototyp erstellen können.

Metalsmith

Metalsmith ist einer der einfachsten SSGs, die verwendet werden können, und er ist steckbar. Er kann effektiv statische Build-Dateien erzeugen, indem er Informationen aus den Quelldateien extrahiert, sie manipuliert und in Dateien in einem Zielverzeichnis schreibt. Das scheinen in der Tat eine Menge Dateien zu sein. Von der Gruppierung von Dateien bis zur Übersetzung von Vorlagen kann er zahlreiche Manipulationen durchführen, alles mit seinen Plugins und alles nacheinander. Die Verwendung von Plugins vereinfacht nicht nur die Dinge, sondern gibt dem Benutzer auch die Freiheit, nur die Plugins auszuwählen und zu implementieren, die er benötigt.

Tome 

Tome speichert Ihre Informationen in statischen JSON-Dateien, die aus statischem HTML von Ihrer eigenen Drupal-Site generiert werden. Mit Tome können Sie aus der großen Anzahl von Themes und Modulen in Drupal wählen, Inhalte erstellen und einfach das statische HTML in die Produktion schieben, und Ihre Arbeit ist erledigt. Die Tatsache, dass Sie Drupal ohne Sicherheits- oder Leistungsprobleme verwenden können, ist ein weiterer Bonus.

All dies gilt als die erstklassige Frontend-Technologie für den Website-Bau, und Sie wissen vielleicht sehr gut, dass nichts Drupal in seinem Backend-Spiel schlagen kann. Mit Decoupled Drupal erhalten Sie also das Beste aus beiden Welten, den Welten innerhalb und außerhalb von Drupal.

Fazit 

Der grundlegende Unterschied zwischen monolithischer und entkoppelter Architektur kann an dem Grad der Nutzung der gesamten Drupal-Software erkannt werden. Es gibt keinen richtigen und falschen Ansatz bei der Wahl von Drupal für Ihr Projekt. Ihre Wahl hängt von den Bedürfnissen Ihres Projekts und Ihren Absichten für dasselbe ab. Zum Beispiel möchten Sie vielleicht keine JavaScript-Interaktionen für Ihr Projekt erstellen, also könnten Sie Drupal so verwenden, wie es ist, also die monolithische Version. 

Wenn Ihr Projekt hingegen die Verwendung von JS oder statischen Site-Generatoren vorschreibt, reicht der traditionelle Ansatz nicht aus. Decoupled Drupal muss in Angriff genommen werden, und das ist auch nicht schlimm. Es gibt so viele große Namen wie Weather.com, NBC und Warner Music, die die entkoppelte Architektur verwenden und großartige Ergebnisse erzielt haben. 

Welchen Ansatz Sie auch immer für richtig halten, er muss mit den Bedürfnissen Ihres Projekts übereinstimmen. Und wenn sie das tun, vertrauen Sie mir, welcher Ansatz Sie auch immer wählen, er wird ein Gewinner für Sie sein.

Abonnieren

Ready to start your digital transformation journey with us?

Verwandte Blogs

Zurück von der DrupalCon Atlanta 2025: Ein Meilenstein für OpenSense Labs

Zurück von der DrupalCon Atlanta 2025: Ein Meilenstein für OpenSense Labs

„Fit. Schnell. Für die Ewigkeit gebaut.“ Das war nicht nur ein Slogan, sondern die Denkweise, mit der wir zur DrupalCon…

Erklärbare KI-Tools: SHAPs Stärke in der KI

Explainable AI tools Explainable AI And SHAP OpenSense Labs

Wissen Sie, was erklärbare KI-Tools sind? Erklärbare KI-Tools sind Programme, die zeigen, wie eine KI ihre Entscheidungen…

KI-Chatbots: Präzision und Persönlichkeit in Perfektion

Creating AI Chatbot OpenSense Labs

In der Welt der künstlichen Intelligenz ist die Entwicklung eines KI-Chatbots, der nicht nur akkurate Informationen liefert…