Even a chimp can write code

Friday, January 21, 2005

Leave the gun; take the cannoli: The JDO tragedy

Some people just don't let the facts get in the way of a good opinion. The recent throttling of the JSR-243 on Java Data Objects (JDO) 2.0, is one such example. Companies like IONA, HP, Fujitsu, Intel and Nortel (all of whom have with such hard work made Java/J2EE the way you and I see it today) along with relational database vendors like Oracle, IBM (that otherwise like JDO and love their O-O database vendor competitors) and of course JBoss (who "developed" Hibernate, the other persistence technology) among others have made it amply clear that the JDO spec dies a premature, undeserved death. Technically, after the Public Review Ballot was not approved, the Spec Lead and Expert Group do have 30 days to create a draft for reconsideration. Small consolation though.

I must make my affiliations clear: I am a member of the Java Community Process (JCP) but do not and have not served on the expert groups of JSR-243 or JSR-220 on EJB 3.0.

My problem is not with these companies exercising an opinion, rather it is with the reasons some of them have provided us in their voting comments. Certainly, as elected members of the Executive Committee, they have the privilege of voting on such matters. By that token, they are the Java community's representatives on the EC.

Some have voiced the concern that multiple persistence technologies would end up "confusing" the development communities. Kids, that's you and me. With our fancy degrees and years of design and development experience, We would be led astray by a new persistence option. I think the JDO spec should have lived to face a Darwinian end. It should be you and I, the Java development community that decides if we think JDO is a viable option in our frameworks, products and projects. By preempting that decision, these folks have done us a great disservice. As the Apache Foundation has suggested in its comments, "...we believe that this is something for the market to decide, rather than one company." I agree commercial interests are important and most companies are guided by those more than anything else. That is not bad in itself. I just cannot help but think that the JDO spec was shot by the wayside with the pretension that it was for the common good.

I encourage anybody who has read this far to also look at the results of the JSR-243 Public Review Ballot. There certainly are some gems in there, as far as comments go. You can make up your own mind and may even reach a different conclusion than I have. That's fair. At least you made that decision.

I also encourage you to consider joining the JCP, or if you already are a member, please think hard and weigh all options when you vote.

Email this | Bookmark this


  • the general problem, and the *real* reason there exists such groups as the EC, is that a gang of idiots will often overwhelm by sheer force of numbers.

    now, as to which of JDO/Hibernate/EJB/etc. is closer to the ideal of Application Independent Data Store (tm), i don't have a clue. i *do* know that java folk, generally, treat data much as COBOL/VSAM coders of 1970: the data belongs to my application; you have to go through my application to see it; the data is understandable only through my application (a VSAM copybook is really not all that different from an 'object': you need the application code to interpret the data).

    i have used the following from Mr. King as an e-mail tag:

    Technologies like OODBMS sacrifice sound, application technology agnostic data management for short-term convenience (convenience for one single application, written using one particular programming language). Relational technology essentially completely replaced network or hierarchical database technology, and there were excellent reasons why that happened. We should most certainly not be reviving either of those discredited approaches by slapping on the latest buzzwords (OO, XML, etc) as window dressing....We don't see any future for JDO

    i pulled that before the (untimely) death of JDO.

    if killing JDO means that java folk will actually learn something about data, all well and good. as things stand, they're (we're) just COBOL programmers.

    the current state of database intelligence among java coders is very poor. too many don't have Date, never read it; and are damn proud of it. it's kind of like having your gall bladder taken out by a guy who doesn't have Gray's Anatomy; never read it; but asserts he's a surgeon.


    By Anonymous Anonymous, at January 27, 2005 at 9:12 AM  

  • Sorry, but anonymous commenter "Robert" has no idea what he's talking about. JDO != OODBMS. In fact, most JDO implementations are for RDBMSs. I wish people would take two seconds to learn about a technology themselves before they bash it (or praise it, for that matter).

    By Anonymous Anonymous, at January 27, 2005 at 10:34 PM  

Post a Comment | Home | Inference: my personal blog