Cayenne team just announced a release of Cayenne 1.2 Beta.

You may already know Cayenne as a powerful, user-friendly ORM engine. 1.2 release extends this notion to web services area. One of the signature 1.2 features is Remote Object Persistence - a multi-tier persistence technology based on web services. The actual data transport currently uses Hessian binary protocol. XML-based transport will be available in the future.

From a Java application perspective, Cayenne Remote Object Persistence is to webservices what ORM is to JDBC - a technology that abstracts and optimizes remote data source access. This is done using the same techniques familiar from the ORM world, namely lazy resolution of relationships, local caching, data queries, single method call commits of multiple objects, etc. Also server and client tiers share the same abstract object model and the same Cayenne persistence API.

Other release highlights:

* A reworked access stack that is now interface-based, modular and highly customizable.
* Support for custom Queries
* Nested DataContexts.
* Extendable Ant tasks to generate arbitrary user-defined artifacts (such as UI sources) from Cayenne model.
* XML (de)serialization of persistent objects
* Automatic database type and version detection and "smart" configuration of the database adapter.