JBoss ModeShape
JBoss ModeShape is a descendent of JBoss DNA, a JCR product. It is itself a JCR product with a slew of additional services and functionality, including a REST/HTTP API, additional query languages (including full-text search), clustering and federation, and automatic disassembly of ingested content into repository nodes.
From the ModeShape website:
ModeShape is a distributed, hierarchical, transactional, and consistent data store with support for queries, full-text search, events, versioning, references, and flexible and dynamic schemas. It is very fast, highly available, extremely scalable, and it is 100% open source and written in Java. Clients use the (JSR-283) standard Java API for content repositories (aka, JCR) or ModeShape's REST API, and can query content through JDBC and SQL.
Features
Prototype
The Fedora Futures prototype using ModeShape is available here.
Pro/Con Overview:
Pro: | Con: |
---|---|
Supports JCR semantics (including optional functionality) | Commits us to JCR semantics or a superset |
Offered by JBoss as a product with several years of history | Not clear how far community extends beyond JBoss |
Due to JCR semantics, could persist content as well as relationships | |
Has many beyond-JCR functionalities that could be useful to FF | Additional functionalities are unique to ModeShape |
Open source (code hosted on GitHub) | Not clear what kind of licensing complexities exist given (LGPL v2.1) licensing |
Fully streaming persistence | But not asynchronous access to that persistence |
Offers prebuilt HTTP/REST API | Which doesn't take account in any way of the Fedora object model |
Relies largely on JBoss Infinispan for persistence, which is well-supported technology | But would limit FF to Infinispan-supported persistence options, or implementing ModeShape-specific interfaces |
Installation Package of ModeShape has a size of 179MB | |
JNDI enabled | Sparse documentation about Apache Tomcat deployment |