Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Component Front-End to BackPurposeSummaryNotesKey Reading Matrial





Content Delivery Network





AkamaiCDN (Content Distribution Network)







Content Management System





Apache Web Server with Adobe Dispatcher ModuleWeb Server, Caching and Load Balancing

Caches into static content pages generated by CMS to improve performance.

The Adobe Dispatcher Module is proprietary Adobe software.

The Adobe Dispatcher module loads like any other Apache module but is closed source.

(question) Is the Adobe Dispatcher module what also receives cache expirey information from the Publisher?






AEM PublisherCMS Publisher

Assembles and serves the published content as static html.


Content RepositoryCMS Database CacheSee Content. Repository further below AEM Instance for Author for details.






AEM Instance for AuthorCMS Author

Create, upload and edit content and to administer the website.

Powered as follows,

  • Uses Apache Sling for Web framework to expose the repository RESTfully.
  • Bundles CRXDE Lite web interface to manage the repository.
  • Powered by Apache Felix (implementation of OSGi) running inside of Jetty.

Has two user interfaces, old and new (add more to this later).

If possible, ensure only available within the Intranet.
Content RepositoryCMS Database

NoSQL File based data storage for content-centric applications, implementing Content Repository API for Java Technology (JCR 2.0).

Uses Apache Jackrabbit as JCR implementation and Apache Jackrabbit Oak as module manager (searching, versioning, transactions, etc.) of repository with additional customization on top of Oak called CRX3 (Code Repository Extreme 3) to add features (synchronous updates, key-value persistence, clustering, static extension, individual workspace index).

This finally communicates to a MK (MicroKernel).

Default and recommended storage format is to use tar files TARMK (Tar Micro Kernel) which also offers Cold Standby to sync repositories. MongoDB is an alternative data storage introduced in AEM 6.0 which provides active site redundancy. However, Adobe does not yet endorse full fledged as of 6.0 for active site redundancy (ie sharding support was problematic and dropped). Adobes only reason to recommend MongoDB is if author instance has load requiring one instance. Even then, a larger Author machine likely the better solutionAlternative is MongoDB. More details on selection further down in Technical Notes.

Gliffy Diagram
nameAdobe AEM Repository Architecture






Deep Content Management Technology Components
TarMK



Mongo
Sharding no longer supported. Only added as of 6.1.

Solr powered by LuceneNative System Search EngineUsed by the native system to perform lookups and performs indexing.

Solr powered by LuceneSite Search EngineBonsai Framework evaluation is to not use embedded and keep the CMS function purely to Authoring. Instead use an external Solr based search engine.







CMS Author Database







Microsoft ADCentralized Authentication Directory

Optional and should fail back to local authentication repository if AD fails.

Currently AEM does not support one-time email users. As such decision is to not use AD in a large org to quickly provision Business users in and out of the system.

Confirm users deactivated do not take license seats. Check if deleted users can be recreated with same GUID to pass audit and compliance.







CRXDE Lite

Adobe's web user interface to interface with Apache Sling. CRXDE Lite looks to be Adobe's own extension sitting on top of Apache Sling Web Console and Apache Felix Web Console.



Apache FelixImplementation of OSGi Specification

Can redeploy code pieces without requiring a restart.

Each bundle requires a unique name space.

Manages service discovery and registry.



Apache SlingControl to expose and access resources.REST Architecture.

JCRObject Oriented Database


JackRabbit
Handles multi version control with refresh function to handle real-time updates.






Microkernel
Provides an abstraction layer for the storage of content in JSON.

Vault
Extract out of TarMK for normal file system.

JettyContainerAhhh... not super clear but in Error 404 starting up noticed it's powered by Jetty.






Granite








Roy Fielding
http specifications, sling, JSOP Thesis

David N
JCR



Note to incorporate more clarity from this article in https://www.terrabeata.com/2015/03/aem-interview-questions-what-is-the-technology-stack-of-adobe-experience-manager/

Also more good stuff in this technical deep dive http://dev.day.com/content/ddc/en/gems/technical-deep-dive-of-the-aem-6-platform.html








Site Search





Solr powered by LuceneWebsite Search

Keep distinct from CMS system.

Some products offer as a plugin, but only implement if outside of the CMS system for load and security purposes.


...

Technical Notes

General

AEM 6.x with Apache Sling uses TarMK with Apache Jackrabbit Oak. Key aspect of speed is the combination deserializes the repository into memory. It is not caching the repository in memory. The repository exists in memory and uses the tar files to serialize and persist the data. It will deserialize the entire repository into memory if enough memory available. So give AEM lots of memory.

...

Since most Enterprise use a CDN, uses TARMK. From Adobe's microkernal recommendations,

  • TarMK is designed for performance
  • MongoMK is used for scalability
  • TarMK is designed for performance
  • of Authoring servers

"Adobe highly recommends TarMK to be the default persistence technology used by customers in all deployment scenarios, for both the AEM Author and Publish instances".

MongoDB is an alternative data storage introduced in AEM 6.0 which provides active site redundancy. However, Adobe does not yet endorse full fledged as of 6.0 for active site redundancy (ie sharding support was problematic and dropped). Adobe's only reason to recommend MongoDB is if author instance has load requiring one instance. Even then, a larger Author machine likely the better solution.

SDD or HDD? - Ask Adobe how often the microkernal writes?

...

You should see "Adobe Experience Mgr" but it says "No Serial Number Required". This is not true. Instead look for "AEM Standard" with Production Version "5.6" and you will see a serial number under the "Serial" column. Copy and paste into a standard text file for later.

Setup of Web Server Dispatcher

...

AEM

...

The advantage is that the Web Server will build a cache of the content reducing load on the AEM Publisher. This is because the AEM Publisher dynamically builds the web pages at every request (even if they do not change). In addition, the Dispatcher can perform load balancing with multiple AEM Publishers.

You may want to read the Adobe Dispatcher online documentation for further background.

Install Apache Web Server per BonsaiFramework with hardening instructions.

Download module and load into Apache per the Adobe Instructions. If following the BonsaFramework you can copy and paste these instructions,

Code Block
su - serveradmin
mkdir aem
cd aem
mkdir aem-dispatcher
cd aem-dispatcher
 
# Initial instructions will use non-ssl version between Web
wget https://www.adobeaemcloud.com/content/companies/public/adobe/dispatcher/dispatcher/_jcr_content/top/download_6/file.res/dispatcher-apache2.4-linux-i686-4.2.0.tar.gz
tar -xvpf dispatcher-apache2.4-linux-i686-4.2.0.tar.gz

...

...

Application Server

AEM package comes in two flavours,

...

Code Block
CQ_JVM_OPTS # may modify in serverctl or start script

...

Author Server

Rename file,

Code Block
languagebash
 mv cq-quickstart-6.2.0.jar cq-author-p4502.jar

This will result in an author instance running on port 4502.

Publish Server

Rename file,

Code Block
languagebash
 mv cq-quickstart-6.2.0.jar cq-publish-p4502.jar

This will result in an publish instance running on port 4502.

Next Steps

In a large organization you will also need to consider the following,

...