The Source for Java Technology Collaboration
User: Password:



John Reynolds

John Reynolds's Blog

Public plea to the EJB 3.0 expert group: Please review the EJB 2.0 CMP and JDO FAQ

Posted by johnreynolds on July 29, 2004 at 12:41 AM | Comments (4)

Lance Anderson's recent blog " EJB 3.0 Spec is available for Early Draft Review" got me fired up again. My apologies in advance for sounding like a broken record, but I just can't help it.

I believe that Sun's EJB 2.0 CMP and JDO FAQ by Mark Hapner and Craig Russell makes a good case for embracing JDO as the standard persistence mechanism for EJB Entity Beans.

This excellent FAQ points out the relationships between EJB Entity Beans and JDO, and gives insight into the reasons that JDO wasn't embraced at the time.

From the FAQ:

"There has been a long history of debate between proponents of persistence that uses the functional approach vs. language transparent persistence. The debate about CMP vs. JDO is just another chapter in this book. The EJB expert group was willing to accept EJB function based persistence as a requirement but not Java transparent persistence." (I added the emphasis)

Clearly, the EJB expert group has now reversed their position on transparent persistence. The rationale for rejecting JDO is no longer valid.

There is a standard for Java transparent persitence, and the EJB expert group ought to embrace it.

When the JSR#243 (JDO 2) was voted on, IBM voted no. IBM's comments were as follows:

"This JSR proposes to develop extensions to JDO that apparently overlap with existing Java technologies and with other JSRs that are already in-progress. In a context where the Java community is working to simplify J2EE, it is undesirable to produce multiple overlapping ways of programming the same function."
I completely agree with the second statement, but not with the first. With respect, it is the EJB 3.0 draft specification that is overlapping with an existing Java technology. JDO, the standard for Java transparent persistence, pre-dates the EJB 3 efforts, not the other way around.

Java needs one standard for transparent persistence. If JDO is broken, fix it.

For a great vision of a world where EJB and JDO cooperate, check out Dion Almaer's blog.


Bookmark blog post: del.icio.us del.icio.us Digg Digg DZone DZone Furl Furl Reddit Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment

  • thanks
    Thanks John.

    I think the vast majority of java developers agree with you, and wholeheartedly would applause sun, ibm, bea, oracle, ... if they delegated persistence to jdo.

    It would be a great day for java developers.

    Carlo.

    Posted by: ygmarchi on July 30, 2004 at 01:42 AM

  • Let's hope it does some good.
    And to echo Tom Davies: "I should make it clear that my desire to see JDO 2.0 in EJB 3.0 is in no way a 'Hibernate vs. JDO' issue."

    Hibernate, Toplink, and other O/R products are great, but JDO is "official" standard, and it shouldn't be ignored.

    Posted by: johnreynolds on July 30, 2004 at 05:02 AM

  • I agree completely
    and since the major J2EE vendors won't give us an EJB 3 implementation for at least 18 months, we could all use one of the 20 or so commercial or open source JDO implementations that exist today (many of which already implement a lot of the new JDO 2 features), and then easily migrate to EJB 3 when it's provided by your favourite appserver.

    Dave.

    Posted by: dave_clark on July 30, 2004 at 06:31 AM

  • Very well said.
    EJB should handle persistence just as it handles messaging and transactions: define the details in another spec, and show how to interoperate. EJB 3 should remove persistence completely. Both Hibernate and JDO are outstanding solutions. Don't make me choose. Let me pick the best for the job.

    Posted by: batate on July 30, 2004 at 11:53 AM





Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds