Patrick directed us to A Letter to the Java Technology Community, a rather generic title for a very significant announcement: Sun Microsystems (working through the JCP) intends to develop a unified spec for persisting POJOs that combines the best features of both entity beans and JDOs. (Commentary: Javalobby, TheServerSide, JDOcentral) For the time being, Patrick has dubbed this new feature the Unnamed Persistence Specification (UPS).
This new feature will be part of both J2SE and J2EE (like JDBC is) and will be available in the J2EE 5.0 (JSR 244) timeframe. It will be developed as part of the EJB 3.0 JSR, yet will be run by a separate committee (consisting of six members from the JDO JSRs and six members from the previous EJB JSRs) and the resulting spec will be usable with or without EJB and therefore with or without an EJB/J2EE container. Thus Patrick predicts that this UPS effort will be spawned off into a separate JSR from the rest of the EJB 3.0 effort (such as Hibernate-like annotations on the bean class), which seems sensible but has not yet been decided.
Parts of the current vision for "UPS beans":
- They will not support remoteness like an entity bean with a remote interface, since that would require an ORB.
- They will not support declarative security like EJBs do, since that would require a container.
- They will support the EJB container-managed transactions (CMT) model so that you don't have to write transaction delimiter code, can manage the transaction model in the deployment descriptor, and (very importantly) so that UPS beans and other EJBs (i.e. session beans) can participate in the same transaction.
In a previous entry, I made the case that WebSphere customers should stick with entity beans for persistence because they're part of the J2EE spec and thus supported by WebSphere Application Server and WebSphere Studio Application Developer. On the other hand, JDO does seem to support developing much purer Java domain models. So hopefully this new UPS solution will be the best of both worlds. This is getting interesting.