Sun Microsystems is looking to make life easier for Java developers by seeking a common ground on a data persistence model.
In a letter to the “Java Technology Community” on Friday, specification leads on Java Specification Request (JSR) 220, which is the proposal for Enterprise JavaBeans 3.0, and JSR-243, for Java Data Objects, state that the two technologies feature divergent persistence models. “This divergence has caused confusion and debates among Java developers, and is not in the best of interest of the Java community,” said JSR-220 leader Linda DeMichiel who also is a Sun employee, and Craig Russell, a staff engineer at Sun who leads JSR-243.
“In response to these requests [for an end to the unwanted divide], Sun Microsystems is leading a community effort to create a single POJO (Plain Old Java Object) persistence model for the Java community,” the letter said. POJO will serve as a temporary name for the model until a permanent one is devised.
“The technical objective for this new POJO persistence model is to provide a single object/relational mapping facility for all Java application developers that works in both J2SE [Java 2 Standard Edition] and J2EE [Java 2 Enterprise Edition]. The work will be done within the J2EE 5.0 timeframe,” the specification leaders wrote. J2EE 5.0 is due to be finalized in 2006.
A persistence model provides an abstraction layer that allows data to be manipulated from within an application. Data is viewed as an object rather than as database tables. “Both EJB and JDO have looked at [persistence] from somewhat different viewpoints,” said DeMichiel in an interview on Friday. “They’ve approached it with different needs in mind and come up with different architectures.”
Enterprise JavaBeans is an API specification for building distributed, component-based, multi-tier applications. JDO is a simple Java class mapped to a persistent data store, such as a relational database.
The reconciliation effort will feature expanding the JSR-220 Expert Group to include members of the JSR-243 Expert Group. Work to define a single POJO persistence model for Java will be done under the JSR-220 effort but delivered as a separate specification.
The JDO expert group, meanwhile, will aim to deliver JDOQL (Java Data Objects Query Language) to work with the POJO persistence model.
A founder of a Java developer community was pleased with the data persistence effort but advised that the results be made available through an open source format.
“It is good to see that the EJB 3.0 effort will more directly consider the achievements of the JDO community and its supporters. It would appear that the two [specification] leads are expressing harmony between their groups,” said Rick Ross, founder of Javalobby.org.
“I would like to know, however, whether the reference implementation of this new ‘POJO persistence model’ will be free, open source software under the LGPL [Lesser GNU Public License], as Hibernate is,” Ross asked. Hibernate is an object/relational persistence and query service for Java.
A Sun representative said the POJO technology would be available under the regular, fee-based J2EE license, not under LPGL. Sun lately has heard calls in the industry to make Java available under an open source format, but the company has resisted doing so, citing a need to maintain compatability in Java implementations.