...
Component Front-End to Back | Purpose | Summary | Notes | Key Reading Matrial | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Akamai | CDN (Content Distribution Network) | |||||||||
Apache Web Server with Adobe Dispatcher Module | Web 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. Is the Adobe Dispatcher module what also receives cache expirey information from the Publisher? | |||||||
AEM Publisher | CMS Publisher | Assembles and serves the published content as static html. 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. | ||||||||
Content Repository | CMS Publisher Database Cache | 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 called CRX (Code Repository Extreme) 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 solution. |
| |||||||
Mongo | Sharding no longer supported. Only added as of 6.1. | |||||||||
Solr powered by Lucene | Search Engine | Bonsai Framework evaluation is to not use embedded and keep the CMS function purely to Authoring. Instead use an external Solr based search engine. | ||||||||
AEM Instance for Author | CMS Author | Create, upload and edit content and to administer the website. | ||||||||
CMS Author Database | ||||||||||
Microsoft AD | Centralized 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. | ||||||||
CRX | Code Repository Extreme. Adobe's own proprietary implementation of JCR by extending Apache Jack Rabbit Oak. Get list of what CRX adds to Apache Sling (instructor thought it might be Jack Rabbit Oak ). | |||||||||
Apache Felix | OSGi Implementation | Can redeploy code pieces without requiring a restart. Each bundle requires a unique name space. Manages service discovery and registry. | ||||||||
Apache Sling | Control to expose and access resources. | REST Architecture. | ||||||||
JCR | Object 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. | |||||||||
Jetty | Container | Ahhh... not super clear but in Error 404 starting up noticed it's powered by Jetty. | ||||||||
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 |
...