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?