DataNucleus AccessPlatform 3.0.0 was released at the start of August. AccessPlatform provides standardised (JDO, JPA) 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, MongoDB) datastores, as well as some others (LDAP), in addition to those provided by third parties (GAE/J BigTable, Cassandra, OrientDB, Salesforce.com). 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. AccessPlatform is licensed under the flexible Apache 2 license.
DataNucleus Access Platform 3.0 provides the following over and above what DataNucleus 2.2 provides :-
- JDO, JPA, REST APIs split out into separate plugins with JPA no longer piggybacking on JDO.
- Major restructring to provide initial support for Data Federation
- Ability to specify classes as "read-only"
- Major changes with non-transactional operations, providing atomic persistence/delete
- SchemaTool : added support for ODF, Excel, MongoDB, HBase
- MongoDB : New plugin for MongoDB document store, providing quite complete feature set
- HBase : Much enhanced support for HBase map store
- RDBMS : Added support for SQLite
- ODF : support added for embedded fields, maps, value generation, query of interfaces
- Excel : support added for maps, value generation, query of interfaces
- NeoDatis : support for unique constraints
- Cache : added support for Xmemcached, and enhanced support for EHCache
- JDO : Support for "complete-table"
- JDO : Support for bulk update/delete via typesafe API
- JPA : support for singleton EMF pattern
- JPA : support for merge of transient object when it has identity fields mapping to persistent object
- Now works with JBoss 6+
- Many many bug fixes, and minor feature additions.
Particular emphasis in this release is on portability, and making more features available in more of the supported datastores, meaning that users have more portable applications, switchable to another datastore with a simple URL change. The current datastore feature matrix is viewable here.
A version of the third party plugin for GAE/J BigTable using DataNucleus v3 is available in their SVN. It is expected that the other third-party plugins for Cassandra, VMForce, and OrientDB will be migrated to DataNucleus v3 before long.
Documentation is available to view online (HTML) 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.