First time i crossed roads with this word and its definition it would've been great for me to have been given the following description: "A hierarchical data repository system based on java and mainly used for web content rendition"; that would've given me the idea that i wouldn't be using a regular DBMS to store and retrieve my website's content but a different kind of repository instead.
The word itself stands for Content Repository Extreme but to me that is pretty much more a marketing brand than a technical definition; if you want a more technical definition then turn to CRX basis. There is a well defined path from the conception of the idea of having a repository for rendering web content all the way to its must recent commercial product CRX 2.3 (March 2012). CRX is a Java Content Repository (JCR) with its own set of Java Specification Requests (JSR 170 which was updated to JSR 283 and most recently JSR 333 which is still under work).
There are four well-defined groups that
participate in the Process of Creating a Java Specification Request (JSR). It all starts with the Specification Lead
who has to be a Java Community Process (JCP) member and is the expert responsible for leading the effort
to develop or make significant revisions to a Specification and for completing
the associated Reference Implementation and Technology Compatibility Kit (the
other two major products from the Process); for the Java Content Repository (JCR) specifications the Specification Lead is David Neuschuler currently CTO of Adobe Content Experience Manager (CEM).
The Expert Group is a group of experts with a deep understanding of the
technology in question, they are responsible to hash out the technology,
develop or make significant revisions to a Specification; they are gathered in
two groups, one group responsible to oversee the Java technologies for the
desktop/server space (Java SETM and Java EETM) and the
other group to oversee the Java technologies for the consumer/embedded space
(Java METM). The Executive
Committee are the Members who guide the evolution of the Java technologies,
they are responsible of the many approval ballots. The public
who are any individuals willing to review and comment on the draft
specification.
If you wish to Master CRX you need to follow the road from start to end, i mean you need to study the specifications (JSR 283), its open source implementation Apache Jackrabbit and finally dive into CRX. If you already use any DBMS then you might be looking for some analogies, the first two that i can come up with are: [tables and attributes] are almost equivalent to [nodes and properties].
No discussion about CRX would be complete without mentioning Apache Felix and Apache Sling Technologies. Apache Felix provides the Application Framework for CRX's bundles and Apache Sling is sort of gatekeeper to acces CRX. We will be covering the specifications, the open source implementation, inner workings of CRX and other related technologies in future blogs.
Good article Julio. Congrats!
ReplyDeleteNice job, and congratulations on the initiative!
ReplyDeleteAwesome, this is a great explanation about CRX. Thank you.
ReplyDelete