April 21, 2020
Estimated Post Reading Time ~

AEM/CQ Architectural Overview

CQ Deployment Model
  • Scalability (Sharding)
  • Availability (Replication)
  • Disaster Recovery (DR, Replication)
  • Monitoring (JMX)
  • Build (Maven, Gradel)
  • Deployment (Any deployment Tool)
  • Templating (Slightly)
  • Portal Management (OOTB)
  • More ...
What is covered ?
Adobe AEM/CQ
  • Enterprise product for Web Content Management
  • Build on top of CRX / Granite Platform
  • Provide following features apart from CRX
  • Authoring UI (Template and component management)
  • Digital Asset Management
  • Personalization
  • Mobile Module
  • Ecommerce module
  • Plugin feature with Adobe Cloud services for all web related task (AB testing, Analytics etc)
  • SOCO (Social Collaboration Module)
  • TaggingReport and Monitoring
  • AEM stands for Adobe Experience Manager and CQ Stands for CommuniQue
  • AEM provide you platform to create, manage, and optimize digital customer experiences across every channel, including web, mobile apps, digital forms, and communities. With the ability to deliver next-generation experiences across both online and in-person interactions, you can increase demand and build lasting brand loyalty.
  • Originally created by Day Software. First version of CQ was released in 2002
Adobe Granite / CRX
AEM/CQ Overview

  • Background
  • AEM 6
  • Building Blocks of AEM
  • Small Demo (If Have Time ...)
What Is AEM/CQ ?
  • Enterprise version of Content Repository
  • Based on Apache Sling / Felix / JCR
  • Provide following additional features
  • Package Manager
  • Additional persistence Plug in (Tar, Oracle, MySQL, DB2)
  • UI for all JCR operations including version management, node type management, user management
  • CRXDE light code code management
  • Repository Backup and Clustering Support
  • Replication
  • LDAP Support
  • Operation support (Tar optimization)
Building Blocks Of AEM
Persistence: Apache Jackrabbit Oak
Request Processing: Apache Sling
Dynamic Library Management: Apache Felix
Adobe Granite (Enterprise version of Oak, Sling, Felix, some more feature) used to be called CRX. It is infact OSGI wrapper of CRX
Authoring Experience: ExtJS, CoralUI, JQuery, Handle Bar
Publishing Experience: Any Framework

AEM 6 Architecture
Apache Sling
Apache Jackrabbit
  • REST Based Web Framework for HTTP request processing
  • It uses JCR for content repository to store content
  • Uses Apache felix for dynamic module management
  • Support for Scripting (JSP, ECMA, Scala)
  • Building Block for resource resolution within AEM
  • Provide API for Servlet Support, Scheduler, Event Handling (Both Synchronous and non synchronous), Discovery (For Load distribution), Resource CRUD operations (READ, DELETE, CREATE, UPDATE), Sling Models, Thread pools, JMX, Sling Mock, Sling Adapt, XSS
Apache Felix
  • Implementation of JCR Spec JSR-283
  • Stateless, sessionless, JSON model
  • Provide feature like Node Type Management, Query, versioning, Observation, Security (ACL, Authentication, Authorization), Locking
  • MVCC (MultiVersion Concurrency Control) model
Jackrabbit Architecture
  • One of the implementation of OSGI framework
  • Provides web based console for managing Dependency and configuration.
  • Provide services like (All based on OSGI Specification)
  • Dependency Manager
  • HTTP service (For servlet,filter, resource registration, This run within Jetty for AEM6)
  • Maven Bundle and SCR Plugin
  • Event Admin (Bundle based Event)
  • Config Admin
  • OSGI Bundle repository
  • Logger
  • File Install
  • Microkernel API org.apache.jackrabbit.mk
  • Oak API org.apache.jackrabbit.oak
  • JCR API javax.jcr and all existing API


By aem4beginner

No comments:

Post a Comment

If you have any doubts or questions, please let us know.