In dit AEM Dispatcher-artikel wil ik een algemeen beeld geven van wat een Dispatcher is en waarom we deze nodig hebben. Dit overzicht zal een beter begrip geven van wat we in de volgende delen zullen configureren.
Er zijn twee belangrijke benaderingen voor webpublicatie: statische webservers en contentmanagementservers.
Statische Webservers
Statische webservers, zoals Apache of IIS, zijn erg eenvoudig en snel. Een van de meest opvallende kenmerken van statische webservers is hun uitbreidbaarheid door plug-ins van derden.

De eerste statische webservers werden gecreëerd aan het begin van het internettijdperk, midden jaren ’90.
De Apache HTTP Server (“httpd”) was uniek in zijn soort, maar groeide al snel uit tot de meest populaire statische webserver. Gelanceerd in 1995, werd de Apache HTTP Server in april 1996 de meest populaire statische webserver en is sindsdien de meest populaire internetwebserver.
In februari 2015 vierde de server zijn 20e verjaardag. De creatie van de Apache HTTP Server bleek cruciaal voor de open-source wereld, inclusief Java open-source software. Deze server werd gemaakt door 10-15 ontwikkelaars die de oorspronkelijke Apache Group oprichtten. In 1999 vormden de leden van de Apache Group de gemeenschap van de Apache Software Foundation (ASF), wat het aantal open-source softwareprojecten aanzienlijk uitbreidde.
Deze Open Source projecten vereenvoudigden de ontwikkeling van Java-applicaties. Enkele opmerkelijke voorbeelden van Apache Open Source zijn Felix (OSGi-implementatie), Jackrabbit (JCR-implementatie) en Sling. Al deze worden gebruikt in AEM.
Contentmanagementservers
Contentmanagementservers zijn de tweede benadering voor webpublicatie. Ze bieden dynamische, real-time en intelligente content, maar vereisen meer verwerking en middelen.

Bij het werken met AEM gebruiken we standaard de tweede benadering. Minimale omgevingsconfiguratie voor webpublicatie met AEM bestaat uit twee AEM-instanties: author en publish.
Wat is een dispatcher in AEM?
De Dispatcher combineert de snelheid van een Statische Webserver met de flexibiliteit van een Content Management Server. De dispatcher werkt als onderdeel van een statische HTML-server (zoals Apache). Met andere woorden, de dispatcher is slechts een plug-in van derden (plug-ins worden “modules” genoemd voor Apache httpd) voor statische webservers. Adobe heeft deze plug-in geschreven.

Een dergelijke omgeving biedt caching met een focus op:
- Zoveel mogelijk sitecontent opslaan (of ‘cachen’) in de vorm van een statische website;
- Zo min mogelijk toegang tot de layout-engine.
Dit betekent dat:
- Statische content wordt met dezelfde snelheid en eenvoud verwerkt als op een statische webserver; bovendien kunt u de beheer- en beveiligingstools gebruiken die beschikbaar zijn voor uw statische webserver(s);
- Dynamische content wordt naar behoefte gegenereerd zonder het systeem meer dan noodzakelijk te vertragen.
De dispatcher bevat mechanismen om statische HTML te genereren en bij te werken op basis van de content van de dynamische site. U kunt in detail specificeren welke documenten als statische bestanden worden opgeslagen en welke altijd dynamisch worden gegenereerd.

Naast caching biedt de dispatcher de voordelen van load balancing. Load Balancing is de praktijk van het verdelen van de rekenbelasting van de website over meerdere AEM-instanties. U krijgt meer verwerkingskracht en een grotere fouttolerantie.

Samenvatting
De belangrijkste doelen van de dispatcher:
- Caching;
- Load balancing.
De dispatcher biedt de volgende aanvullende voordelen:
- Beveiliging;
- Beheer van aanvraagverwerking.
U kunt meer gedetailleerde documentatie bestuderen op de volgende pagina: https://docs.adobe.com/docs/en/dispatcher.html
Veelgestelde vragen
Wat is een dispatcher in AEM?
De dispatcher is een caching- en load-balancing-tool, ontwikkeld door Adobe voor AEM-implementaties. Het verdeelt inkomende verzoeken gelijkmatig over meerdere AEM publish-instanties om hun belasting te minimaliseren. Bovendien levert het, indien mogelijk, gecachte inhoud aan eindgebruikers, wat resulteert in verbeterde websiteprestaties.
Hoe werkt een dispatcher in AEM?
In AEM fungeert de dispatcher als een proxyserver tussen de website en de gebruiker. Wanneer de browser van een gebruiker een pagina opvraagt, controleert de dispatcher zijn cache op een vooraf opgehaalde versie van die pagina. Als de gecachte pagina actueel is, serveert de dispatcher deze aan de gebruiker. Als de gecachte inhoud echter verouderd is, stuurt de dispatcher het verzoek door naar de AEM publish-instantie. De publish-instantie genereert een nieuwe versie van de pagina, die de dispatcher cachet en aan de gebruiker aanbiedt. Dit proces verbetert de websiteprestaties door de belasting op AEM-instanties te minimaliseren en, waar mogelijk, gecachte inhoud te serveren.
Wat zijn de author-publisher en Dispatcher in AEM?
Het author-publisher-systeem is een tweelaags systeem dat contentcreatie (author-instantie) en contentlevering (publisher-instantie) scheidt. De dispatcher fungeert als een tussenpersoon tussen de AEM author-publisher-instanties en eindgebruikers. Het vermindert het aantal verzoeken aan de AEM-instanties door gecachte inhoud te serveren, wat resulteert in verbeterde websiteprestaties.
Hoe stel je AEM Dispatcher in?
Download eerst de AEM SDK en pak de Dispatcher Tools uit het zipbestand uit naar een speciale map op uw webserver. Configureer vervolgens de AEM Dispatcher-module om verbinding te maken met uw AEM-instantie en inhoud te cachen. Test ten slotte uw configuratie om er zeker van te zijn dat deze correct werkt. Raadpleeg de AEM-documentatie voor gedetailleerde instructies.
Wat is een Dispatcher URL?
De dispatcher cachet en bewaart AEM-sitepagina’s om deze aan gebruikers te leveren. Het webadres van gecachte pagina’s wordt Dispatcher URL’s genoemd.