DataNucleus AccessPlatform 3.0.0 is released. AccessPlatform provides JDO/JPA standards-compliant access to the widest range of datastores for Java applications. It currently supports persistence to RDBMS, ODBMS (db4o, NeoDatis), Documents (XML, Excel, ODF, OOXML), Web-based (JSON, Amazon S3, GoogleStorage), Map-based (HBase, BigTable, Cassandra, MongoDB) datastores, as well as some others (LDAP). It is Apache2 licensed. AccessPlatform additionally allows configuration of classes to be persisted using JDO annotations/XML/API or JPA annotations/XML providing access to both JDO and JPA persistence APIs regardless of which configuration method was chosen, offering flexibility not seen in any other persistence tool. Querying of the supported datastores can be performed using JDOQL, JPQL or SQL (dependent on the datastore). By making use of standardised APIs, the process of swapping persistence from one datastore to another is a simple URL change when specifying the datastore.
DataNucleus AccessPlatform 3.0.0 provides the following over and above what version 2.2 provides :-
- Split JDO, JPA APIs out into separate jars so you choose your API, and your datastore only
- Major restructuring to allow data federation
- MongoDB : Support for persistence to MongoDB datastores, providing a wide range of supported features
- HBase : Much enhanced support for persistence and querying
- RDBMS : Support for persistence to SQLite
- ODF : support for persisting maps, embedded fields, as well as value generation, and querying of interfaces
- Excel : support for persisting maps, as well as value generation, and querying of interfaces
- NeoDatis : support for unique constraints
- SchemaTool support for ODF, Excel, MongoDB, and HBase datastores
- Support for Xmemcached, and for current versions of EHCache
- Support for JDO "complete-table" inheritance
- Support for bulk update/delete via the JDO "Typesafe" Query API
- Extended non-transactional support
- Support for JPA Singleton EMF pattern
- Support for JPA merge of transient object to effect update of a persistence object
- Support for delete of detached objects
- Many many bug fixes, and minor feature additions.
Emphasis in version 3.0 is on availability of features across as many datastores as possible, providing for increased portability of applications. Cross-datastore support status can be viewed here.
There also exist third-party plugins for DataNucleus for other datastores (GAE/J BigTable, OrientDB, Cassandra, VMForce). While all of these currently require DataNucleus 2.x or earlier, the GAE/J plugin (in SVN) will work with DataNucleus 3.0, and we would expect the others to be updated before long to take advantage of the many new features.
Documentation for DataNucleus AccessPlatform is available to view online or available to download. Limited free support for AccessPlatform is provided by way of our forum. Commercial support and consulting is also provided.
Thanks to NightLabs for their continued hosting, and to SourceForge for source code repositories. Finally, thanks to everyone who has helped in the development of DataNucleus AccessPlatform 3.0 over the last 7 months.