|
Google App Engine (TM) platform
provides Java persistence (JDO or JPA) to its BigTable datastore using the
datanucleus-appengine
plugin. This plugin was developed by Google with the assistance of the DataNucleus project
and its capabilities are documented on their site.
The following persistence properties will connect to AppEngine
datanucleus.ConnectionURL=appengine
So you create your PersistenceManagerFactory or
EntityManagerFactory with these properties.
Thereafter you have the full power of the JDO or JPA APIs at your disposal, for your
Google BigTable datastore.
|
Please read our blog
about the current shortcomings of GAE/J and its implementation of JDO/JPA
|
Whilst stating that DataNucleus supports Google AppEngine we also need to point out the
following to answer some comments made about GAE/J and DataNucleus.
-
DataNucleus is an independent project and provides complete JDO/JPA implementations
for RDBMS, as well as quite complete implementations for ODBMS, XML, Excel, ODF, HBase,
JSON, Amazon S3, LDAP etc. DataNucleus did not provide the plugin for BigTable, though we
did offer help in creating it
-
Limitations of GAE/J's DataNucleus plugin (provided by Google) are limitations in that
and in the BigTable datastore. They are not limitations in DataNucleus, nor are they
limitations in the JDO/JPA specifications
-
GAE/J's DataNucleus plugin supports some non-standard JDO query syntax. This is against
the JDO spec and has been raised with them.
-
GAE/J's documentation for JDO implies that each field needs to be marked @Persistent.
This is wrong and misleading and has also been raised with them. The definitive documentation
for JDO is in the JDO spec and the DataNucleus documentation, nowhere else
-
GAE/J's DataNucleus plugin will be extended in the future to remove some of the
obvious limitations
-
GAE/J's DataNucleus plugin could easily be changed to take advantage of DataNucleus provided
in-memory query evaluation and this would alleviate many concerns of users about missing
query constructs. Code to do this was contributed to Google but is not included in their
plugin yet
Google AppEngine (TM) for Java provides developers with a simple environment in which
to develop and deploy web based applications. There have been many blogs about this in
recent days. Below are some
If you find others and think others would benefit from them please notify us via the forum
|
|