How/When is CRX and Apache Jackrabbit used in CQ5/AEM?
Asked Answered
D

2

22

Lately, I have spent some time trying to better understand the AEM technology stack. There are so many pieces, it seems easy to get confused. I have been looking over the JCR implementations on AEM. I keep reading that it uses CRX. However, I know that it uses Apache Jackrabbit as well. Is it using both? What is the logic behind using both implementations? When and where is each used?

A better question might be what is the relationship between CRX and Jackrabbit?

Deryl answered 8/7, 2013 at 21:1 Comment(0)
C
30

JCR (JSR-170) is the a standard Java API for content repositories. It provides an interface for Java applications to interact with content repositories, however it does not provide a repository implementation.

Apache Jackrabbit is an open source content repository implementation that fully implements the JCR API.

Adobe CRX is the commercial content repository component used in the AEM, which uses some elements of Jackrabbit (e.g. some of the security APIs). CRX provides additional features such as development tools & clustering capabilities and has its own storage mechanism which differs from the Jackrabbit implementation.

Culler answered 8/7, 2013 at 22:46 Comment(5)
Looking at the Day CRX API bundle in the Felix Console, it shows that Jackrabbit is imported by it. From what I understand (correct me if I am wrong), CRX is just Jackrabbit with additional features provided alongside it?Deryl
It certainly uses bits of Jackrabbit (e.g. UserManager). It replaces bits (like the persistence mechanism) and also adds things which aren't a part of Jackrabbit (e.g CRXDE).Culler
Besides its extra tools, it feels like it is a forked version of jackrabbit.Deryl
Adobe form a large part of the team that work on Jackrabbit. It's actively developed as a key component of CRX, but there is some stuff that they keep behind for their commerical offering. When the [Jackrabbit Oak] (jackrabbit.apache.org/oak) project (that implements an alternative storage mechanism) comes to fruition, I expect that this will be adopted by CRX.Culler
@Deryl CRX is not actually forked. It really is just Jackrabbit, with some pieces replaced and other pieces added (mainly tools), just like diffa wrote. (I'm one of the developers of Jackrabbit and CRX.)Polarimeter
U
3

CRX is commercial implementation of Apache Jackrabbit with features like :

  • TarPM
  • List item
  • Shared Nothing Clustering
  • LDAP Integration
  • Content Package Management

Shared Nothing Clustering 3/ LDAP Integration 4/ Content Package Management

Refer following in adobe forum

Unstring answered 10/9, 2014 at 10:49 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.