The Source for Java Technology Collaboration
User: Password:



Jim Cushing's Blog

Endorsing the Candidates

Posted by jimothy on January 18, 2004 at 08:55 PM | Comments (5)

Today, residents of Iowa will participate in the state's causas, the first in this election. They will cast their vote for the Democratic party's presidential nominee. The Iowa caucus draws a lot of national attention because it is the first test for the candidates, and establishes the elections early leaders...and losers. After the votes are tallied, we'll see the field of prospects, currently at eight, thinned as the candidate (or candidates) who trails in votes will concede defeat and likely give his endorsement to one of the stronger candidates who remain. The party's resources are then more focused.

About a year ago, I considered candidates for an Java-based Object/Relational mapping tool. I had been spoiled after working with Apple's Enterprise Objects Framework (EOF), part of WebObjects, but I needed something that I could use in a J2EE and WebLogic environment. Fortunately, the field of candidates was large. I held a caucus, of sorts, where I established my platform and the "issues" the candidates would need to address. The ideal candidate would be open source, so the project need not be delayed while I sought approval for a procurement. Candidates which require byte-code manipulation, or inheritence of a particular base class, or implementation of a specific interface, were struck from the ballot. So were those that appeared to have abandoned their campaigns; the nominee must be actively developed and supported.

These criteria narrowed the field to two candidates: Hibernate and ObJectRelationalBridge (OJB). Eventually, I settled OJB because it best supported an object-oriented approach to creating queries. Hibernate, on the other hand, uses a proprietary languaged called Hibernate Query Language (HQL). One of my goals was to rid my Java code of the embedded SQL and associated string manipulation. Hibernate merely substituted another language, HQL, for SQL, but the string manipulation remains.

While I've been happy with OJB, and have since used it on additional projects as well as recommended it to colleagues for use on their own projects, OJB is not without its quirks. First, it remains in a "release candidate" state (though I would recommend it even for production applications). A more focused campaign, which abandoned support for the ODMG and JDO APIs, would have likely helped it reach release status much sooner. After all, one reason to use an O/R mapping tool like OJB is to avoid the complexities of JDO. Most noticible, though, is that it's documentation is a bit sparse (though it has admittedly, improved since I first used OJB).

I've now learned, from comments on this ONJava.com article, that Hibernate 2.1 supports query-by-criteria, similar to both OJB and EOF. And Hibernate's documentation is much more complete and readable than that of OJB. Hibernate claims to be the most popular Object/Relational Mapping solution for Java, and I'm sure that their impressive documentation is largely to thank for that. So I've decided to give it a second look at this candidate.

Nothing attracts a crowd like a crowd, so Hibernate's popularity is likely to grow. If Hibernate is the People's Choice, is OJB an Also Ran? Let's expand this issue beyond Hibernate, OJB, and other object-relational mapping tools, to the open source software market as a whole. When one project becomes the dominant or popular solution, would developers be better served by divided development efforts and the variety this affords, or by a focussed and collective development effort?

Stated another way, should OJB abandon its campaign and lend its endorsement (and resources) to Hibernate? I'm still an undecided voter; I'm far from abandoning OJB in favor of Hibernate. But it does look like Hibernate has some advantages over OJB. Likewise, OJB has features to offer that Hibernate may not. But what if developers of OJB were to endorse Hibernate, the apparent popular choice, and help that team create a product that is the best of both worlds?


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

  • Pros and Cons
    I'd be interested in hearing what you think are the pros and cons of the two, and a detailed comparison of the two. We know the results of your faux caucus, but didn't get to see the debates between the candidates...

    Posted by: prpatel on January 19, 2004 at 09:56 AM

  • Pros and Cons
    I do touch briefly on the reasons for the choice of OJB (primarily, query-by-criteria, which Hibernate did not support at the time), but as Daniel Steinberg points out in his blog, the point isn't so much about Hibernate or OJB, or O/R mapping in general, but about "competing" open source projects and whether it might be best for one project to abandon it's campaign and focus on supporting the front runner. It's ironic when somebody else makes your point for you better than you do yourself!

    That said, I agree that a detailed comparison between the two (and possibly others) would be valueable. As mentioned, I'm still an undecided voter at this point, and need to take a second, more thorough, look at Hibernate. I'll try to write an article or blog on the topic.

    Thanks for your interest!

    Posted by: jimothy on January 19, 2004 at 10:20 AM

  • One comparision
    Found this page that compares Hibernate, OJB and other Object-Relational mapping tools on many criteria:
    http://c2.com/cgi-bin/wiki?ObjectRelationalToolComparison

    But I miss from this something about CMP/CMR for Entity Beans... It looks to me the effort of using CMP, HIbertante or most other options is roughly the same, so why do people talk about CMP as a "bad thing" and praise JDO as a better option? Pardon if this is off-topic, but maybe you want to add this topic to future postings. :-)

    Posted by: flozano on January 24, 2004 at 01:59 PM

  • wow power leveling
    wow powerleveling
    wow power leveling
    wow gold
    wow items
    feelingame.com
    wow tips
    Most Valuable WOW Power Leveling Service
    wow power leveling faq
    cheap wow power leveling
    wow power leveling
    wow powerleveling
    wow power lvl

    Posted by: wowleveling3 on December 14, 2007 at 12:09 AM

  • 网络营销软件
    网络营销软件
    网络营销软件
    群发软件
    群发软件
    ---
    群发软件
    网络营销软件
    论坛群发软件
    网站排名软件
    群发软件
    推广小助手破解版
    论坛群发软件
    网站排名软件
    群发软件
    推荐给你很好的群发软件和信息群发软件和供求群发软件
    推荐给你很好的群发软件和信息群发软件和供求群发软件博客群发软件网络营销软件网络营销软件
    网站排名软件网站排名软件网站优化软件信息群发软件信息群发软件信息群发软件论坛群发软件网站推广软件网站推广软件博客群发软件博客群发软件
    群发软件
    网络营销软件
    网站推广软件
    群发软件群发软件博客群发软件论坛群发软件网络营销软件论坛群发软件
    信息群发软件推广软件网站推广软件网络营销软件网站推广软件群发软件网站排名软件网站推广软件博客群发软件论坛群发软件群发软件网站排名软件网站推广软件博客群发软件论坛群发软件
    网站排名软件
    博客群发软件
    网站排名软件
    网站推广软件
    群发软件信息群发软件
    免费论坛群发软件
    论坛群发软件
    网站排名软件
    免费博客群发软件
    网站推广软件

    群发软件
    博客群发软件
    网站排名软件
    网站推广软件
    群发软件信息群发软件
    免费论坛群发软件
    论坛群发软件
    网站排名软件
    免费博客群发软件
    博客群发软件
    信息群发软件
    论坛群发软件
    信息群发软件
    博客群发软件
    qq群发软件
    邮件群发软件
    博客群建软件
    企业名录搜索软件
    信息群发软件
    邮件群发软件
    论坛群发软件
    博客群发软件
    网站推广软件
    网络营销软件
    全能营销破解版
    网络营销软件
    论坛群发软件
    论坛群发软件
    论坛群发软件
    网络营销软件
    信息群发软件
    信息群发软件
    信息群发软件
    群发软件
    论坛群发软件

    Posted by: sun98989 on December 30, 2007 at 05:08 AM





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