The Apache Software Foundation has delivered new details on its recently launched Cayenne 3.0, the latest version of the group's open-source Java framework for object relational mapping (ORM), persistence and caching.
ASF announced the availability of Cayenne 3.0 in May 2010, and released a new technical fact sheet about it on July 7. However, the technology has been in development for nearly 10 years, and has existed as an ASF Top-Level Project since 2006, said Sally Khudairi, ASF vice president of marketing and publicity. Apache Cayenne is the backbone for high-demand applications and Websites accessed by millions of users each day, such as Unilever, the National Hockey League and the Law Library of Congress, the world's largest publicly available legal index, said an ASF press release about the software.
Moreover, in the technical fact sheet, Apache Cayenne Vice President Andrus Adamchik described how Cayenne meets an extensive range of persistence needs, flexibly scaling to support database generation, reverse engineering, Web services and non-Java client integration, schema mapping, on-demand object and relationship faulting, database auto-detection, and more.
Adamchik said the foundations of Cayenne's design are "rich" persistent objects and a clean separation of the mapping model from the Java code. Cayenne features attributes such as transparent and lightweight transactions, context nesting, remote object persistence, generic objects and dynamic mapping, and modeling tools such as the CayenneModeler. CayenneModeler is a cross-platform, integrated development environment (IDE) independent graphical user interface (GUI) mapping tool. It frees you from the need to deal with a raw model, provides support for various ORM-related DB operations and ensures seamless upgrades between the versions of Cayenne.
Meanwhile, Apache has made a slew of updates and enhancements in Cayenne 3.0, to the tune of more than 225 issues that have been addressed in the new version, Adamchik said.
Cayenne 3.0 supports the use of generics. It also supports flattened attributes and vertical inheritance, as well as lifecycle events and pluggable query cache. Other new features in Cayenne 3.0 are performance improvements, support for object queries as strings, SelectQuery improvements and updates to the Cayenne modeler.
""In 3.0, Modeler got a serious facelift. We added undo/redo, copy/paste, contextual menus, model search, auto-complete, merging model changes back to DB and of course support for mapping of all the new 3.0 concepts like callbacks/listeners, flattened attributes, embeddables, etc.""
Adamchik also addressed the future of Cayenne, saying planning and development of another major release, Version 3.1, is well under way. "The most exciting new piece that is already available on the SVN [Subversion version control system] trunk is a small and easy-to-use dependency injection [DI] container," he said.
""Another important thing is to take a hard look at the existing features that appeared in 3.0 as a result of our diversion into the JPA land and see how to improve them and make more 'native' to Cayenne design philosophy. E.g. EJBQLQuery and SelectQuery need to be merged into a single query that provides both String and object APIs and supports the features of both current queries. As a part of that process we will also finalize the use of generics in queries." "