Building Block of AEM or Basics of AEM


Solution :

Building Blocks Of AEM


  1. Persistence: Apache Jackrabbit Oak
  2. HTTP Request Processing: Apache Sling
  3. Dynamic Library Management: Apache Felix 
  4. Adobe Granite (Enterprise version of Oak, Sling, Felix, some more feature) used to be called CRX. It is infact OSGI wrapper of CRX
  5. Authoring Experience: ExtJS, CoralUI, JQuery, Handle Bar
  6. Publishing Experience: Any Framework


Apache Sling:

  1. REST Based Web Framework for HTTP request processing
  2. It uses JCR for content repository to store content
  3. Uses Apache felix for dynamic module management
  4. Support for Scripting (JSP, ECMA, Scala)
  5. Building Block for resource resolution within AEM
  6. 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 sling script resolution understanding- 
  • Http request --> 
  • content resolution -->
  • Get resource type -->
  • script location -->
  • script name-->
  • Script -->
  • include options.

Apache Felix
  1. One of the implementation of OSGI framework
  2. Provides web based console for managing Dependency and configuration.
  3. Provide services like (All based on OSGI Specification) 
    1. Dependency Manager
    2. HTTP service (For servlet,filter, resource registration, This run within Jetty for AEM6)
    3. Maven Bundle and SCR Plugin
    4. Event Admin (Bundle based Event)
    5. Config Admin
    6. OSGI Bundle repository 
    7. Logger
    8. File Install

Adobe Granite / CRX
  1. Enterprise version of Content Repository
  2. Based on Apache Sling / Felix / JCR
  3. Provide following additional features
    1. Package Manager
    2. Additional persistence Plug in (Tar, Oracle, MySQL, DB2)
    3. UI for all JCR operations including version management, node type management, user management
    4. CRXDE light code code management
    5. Repository Backup and Clustering Support
    6. Replication
    7. LDAP Support 
    8. Operation support (Tar optimization)
Adobe AEM / CQ
  1. Enterprise product for Web Content Management
  2. Build on top of CRX / Granite Platform
  3. Provide following features apart from CRX
    1. Authoring UI (Template and component management)
    2. Digital Asset Management
    3. Personalization
    4. Mobile Module
    5. Ecommerce module
    6. Plugin feature with Adobe Cloud services for all web related task (AB testing, Analytics etc)
    7. SOCO (Social Collaboration Module)
    8. Tagging 
    9. Report and Monitoring 
    10. Additional Features ...
    11. Scalability (Sharding)
    12. Availability (Replication)
    13. Disaster Recovery (DR, Replication)
    14. Monitoring (JMX)
    15. Build (Maven, Gradel)
    16. Deployment (Any deployment Tool)
    17. Templating (Slightly)
    18. Portal Management (OOTB)
    19. 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.
    20. Originally created by Day Software. First version of CQ was released in 2002
Apache Jackrabbit
  1. Implementation of JCR Spec JSR-283
  2. Stateless, sessionless, JSON model
  3. Provide feature like Node Type Management, Query, versioning, Observation, Security (ACL, Authentication, Authorization), Locking
  4. MVCC (MultiVersion Concurrency Control) model
  5. Jackrabbit Architecture 
  6. Microkernal API org.apache.jackrabbit.mk
  7. Oak API org.apache.jackrabbit.oak
  8. JCR API javax.jcr and all existing API


No comments:

Post a Comment