The main purpose of standardized Java Content Repository is to provide standardized, reliable intermediary layer between custom applications and data storage. The documents could be stored in a relational database or in a native XML DB but your client code would not change.In a prior article about integrating JCR implementations with Spring, InfoQ had this to say about JSR-170:
Sitting on top of the data storage, JCR offers content services like granular access control, versioning, content events, full-text search and filtering among others. With an impressive expert group behind JSR-170 led by Day Software, including Content Management Systems (CMS) vendors like Vignette, Hummingbird Ltd., Stellent and the usual Java-driven solution providers like BEA Systems, IBM and Oracle, the specification is likely to become the de-facto standard for content management and document storage.The referenced InfoQ article discusses a number of implementations of the JCR spec including eXo JCR as well as Apache Jackrabbit, which is the reference implementation of the JSR-170 specification. Since the original writing of the article, both Jackrabbit and eXo JCR have experienced a number of releases and enhancements.
The main changes in the 1.8 release of eXo JCR include:
- Backup service with full and incremental modes
- Improved replication, decoupled from JCR core
- JCR WebDAV service is optimized for big files
- JCR CIFS improvements with real NTLM (1,2) authentication, locks and notification support
- Owner inheritance support
- Several fixes for JCR core, import/export and versioning related improvements
- Performance improvements, particuarly related to MySQL
The complete list of changes in eXo JCR 1.8 is available on the issue tracking site.