I've been a zone leader with DZone since 2008, and I'm crazy about community. Every day I get to work with the best that JavaScript, HTML5, Android and iOS has to offer, creating apps that truly make at difference, as principal front-end architect at Avego. James is a DZone Zone Leader and has posted 639 posts at DZone. You can read more from them at their website. View Full User Profile

Win a Free T-shirt: Who Are The Heroes of Java Data Persistence?

  • submit to reddit

When Java started out, one of the big features that it offered was JDBC, providing a database independent way for Java developers to use relational databases. We've moved on a lot since then with the Java Persistence API (JPA), Hibernate and embedded databases.

As with any technological movement, the success of data persistence in Java is down to a number of people.

For a start there's James Gosling, as the father figure of Java. Getting more specific into persistance Gavin King, founder of the Hibernate project gave developers an even easier way to deal with databases.  Related to Hibernate, Rod Johnson's work around Spring helped achieve more simplicity in how enterprise applications are developed. More recently, I think the work done around EclipseLink by Mike Keith from Oracle has been great. 

I'd like to know who you think are the most important contributors to Java Data Persistence. So, if you nominate who you think the most important person is with a few sentences stating why in the comment section, you'll be eligable to win some free stuff. If we like what you have to say we will send you a free DZone tshirt along with a printed copy of a Java Data Persistence poster we are creating here at DZone.


Jim Bethancourt replied on Thu, 2010/07/01 - 9:18am

We just had a JUG meeting at the Houston JUG last night with a presentation on JDBC Performance Tuning, given by Peter Tran. It was really impressive, and one of the highest-attended meetings we've had in a long time.

In his presentation, he covered a number of JDBC performance issues that have plagued him and that he's seen others run into on both Oracle and Microsoft SQL servers. He discussed optimal batch sizes for batch insert/update statements, the differences between no-parse/soft-parse/hard-parse scenarios and the performance penalties that come with soft and hard parses, and other subtle JDBC issues that can significantly impact performance that should be properly investigated when looking at database access bottlenecks.

I'd like to nominate Peter based on the insights he's shared on JDBC performance tuning. Although I'm not sure if this is quite the type of contribution you're looking for, his sharing of his knowledge on this relatively obscure but performance-critical topic, I believe that his sharing his knowledge on the topic merits nomination.

I'll post the slides on the HJUG website when he makes them available and comment on this post when they become available so folks can view/download them.


Simon Martinelli replied on Fri, 2010/07/02 - 3:19am

You shouldn't forget where EclipseLink comes from. O/R Mapping was done before Java! http://en.wikipedia.org/wiki/TopLink

Srikanth Shenoy replied on Fri, 2010/07/02 - 7:34am

Just like milliseconds are counted from 1970 (even though time existed before), you are tracking persistence history after Hibernate came into picture :-)

  1. TopLink for Smalltalk (folks from Canada) created the first Persistence framework in Smalltalk and followed that by migrating to Java.
  2. I first used the Java version in 1999 - long before Hibernate became a household name.
  3. TopLink was a commerical paid product then. The only decent open source in Java in 1999 was Apache. JBoss was taking baby steps.
  4. TopLink for java worked great - but the Java landscape itself lacked the tools essential for transparent persistence - There was no cglib, no AOP.
  5. We still used POJOs then (and back to POJOs now) as model objects to persist data into RDBMS.
  6. TopLink tried to do a decent job in keeping as much persistence details out, but sometime contamination of POJO was inevitable.
  7. They had lazy loading ever since the weakref support came in java platform and made the best of what was available to them.
  8. All this was available right in 1999. But in the end, it was still a commerical product and was ahead of its times. They sold the values to large projects, but did not capture the grassroot imagination like Hibernate did. I stil recall Donald Smith and Dennis Leung answering the question on TopLink forums tirelessly.
  9. After Hibernate came into picture, I have been tracking both and both are using similar approaches for achieving similar goals. There were differences. I will not go into them here.
  10. But the arrival of Hibernate into the market meant a lot of competition and TopLink improved too. They got bought over by WebGain, BEA/Intel bought WebGain, then threw WebGain away. Oracle caught the nice catch, and with BEA back in Oracle fold - its all the same now - Oracle WebLogic Server + TopLink
  11. Somewhere in between they tried to open source parts of it and finally opensourced the entire TopLink as EclipseLink. I have a strong hunch that they were driven by Sun's strategy of open sourcing and selling (Glassfish, OpenSSO) etc. Anyway, now I believe the open source EclipseLink framework is bundled as TopLink with lot of addons, and productivity enhancers. Name change apart, the folks working on EclipseLink are the same - (the usual suspects) from Oracle.
  12. All this said and done, contribution of Gavin King etal goes without saying. By writing a O/R framework and open sourcing and riding on its wave, he did pretty well. JBoss and Hibernate were the original folks that provided commercial suport for open source and brought cool technology to the masses and are grand daddyies (no they are not that old, but the term implies their dominance :-D) of contemporary Java open source revolution in the middleware market.
  13. Ok I am done. If I have managed to act as an alternative to to sleeping pills to at least one of you, I consider my work well done :-)

    So - to summarize, I believe it is TOPLink and Mr. King (Gavin himself) both deserve a joint shot at being called the heroes of persistence. Otherwise you will do injustice to both.

    Note: I am content to share half of the T-Shirt, if anybody would name the heroes of other not so successful yet heroic efforts from JDO side of the house and oh, I cannot even remember the name of that Sun's effort way back in late 1998 to create a Object Query Language - that began it all in the Java landscape. Not many people recall it though. Oh Well, I have been too long in this field now (Either that or I am getting old)


    CTO and Chief Architect

    ObjectSource (http://objectsource.com)

    The Java EE experts

Simon Martinelli replied on Fri, 2010/07/02 - 8:52am

Hi Srikanth, Thanks a lot for the in deep TOPLink history. But at one point you are wrong. WebGain's IDE VisualCafé was bought by Borland and TopLink was bought by Oracle. That was 2002/2003 and one effect of the take over from Oracle was an increase of the licence fees. BEA was never involved with TOPLink. Beside Donald Smith, who was once meeting our project in Switzerland 2001 I also like to mention Doug Clark as one of the TOPLink chief developers. Regards, Simon

Rick Ross replied on Fri, 2010/07/02 - 8:55am in response to: Srikanth Shenoy

Great reply, Srikanth. Very thoughtul. Thanks!

Srikanth Shenoy replied on Fri, 2010/07/02 - 10:37am

Hi Simon,

Thanks for reminding about the Visual Cafe acquisition by Borland and also the year of Oracle acquisition and also about Doug Clark. 1998-99 were the days when I furiously posted questions on many to many relation persistence on their message board and Doug and Donald were the ones answering them:-)

But BEA did indeed invest in WebGain upto may be 50%. Just found this nice history of TopLink written by none other than Donald Smith http://www.oracle.com/technology/tech/java/newsletter/articles/toplink/history_of_toplink.html

Very cool.

And also found this: http://www.karlahaley.net/portfolio/webgain/pr/backgrounder.pdf.

Anyway, it is good that we have two open source players innovating and extending the limits and competing.

To quote Newton - If we have seen further today it is only by standing on the shoulders of (persistence) giants



Tom Wheeler replied on Fri, 2010/07/02 - 10:37am

Doug Cutting, among others, for the Hadoop Distributed Filesystem (HDFS).

Tom Wheeler replied on Fri, 2010/07/02 - 10:43am

I meant to add why that's important in my previous post.  First, Hadoop provides a high-performance serialization protocol.  The data you store is distributed across machines for better performance and failover.  Finally, it scales very well, as there are petabyte clusters in use by Yahoo and others.  So while it may not be a traditional data storage mechanism like JDO or Hibernate, it's definitely helped make large-scale data processing on Java a reality.

I'd give second place to Java Content Repository (JSR-177 and JSR-283).  Although many developers overlook it thinking it's only for content management systems, it's really a unified Java API for data storage and retrieval.

Neil Stockton replied on Sat, 2010/07/03 - 1:30am in response to: Srikanth Shenoy

good that we have two open source players innovating and extending the limits and competing.

Not sure who you mean, but there are many more than 2. I can think of at least 4 products just in the RDBMS-space ... OpenJPA, DataNucleus, EclipseLink, and Hibernate.

Srikanth Shenoy replied on Sat, 2010/07/03 - 5:28am in response to: Neil Stockton

Okay I stand corrected. 4 is the right number. :-) So we have 4 players competing and innvoating.

And by the way, you know very well who I meant as 2 from my context.

The discussion was around the heroes of data persistence and the 2 players that always come to my and anybody's mind are TopLink and Hibernate. That does not belittle other's contribution in any way.

But please remember that OpenJPA started its life in early 2006 (and in some form in 2001 at Solarmetric - Patrick Lindsay) and Data Nucleus in mid 2008 as offshoot of JPOX. [ Hibernate: 2001, TopLink: 1997(?) ]

As of 2010, adoption and community wise - the two big names are TopLink and Hibernate. That could certainly change in future (DataNucleus in GAE etc), and when that change happens, new heroes will emerge. But that is future. It is still 2010.

Yana Ukraintseva replied on Tue, 2010/09/07 - 3:17am

Ignoring Broken Windows Sticking with the Pragmatic Programmer series of books, one of the big lessons for software development is to have "no broken windows". A broken window is a piece of badly written code that exists in your codebase. If the window isn't fixed, then it will lead to other broken windows. While I might not be the first one to pollute a codebase, I'm as guilty as that person for not fixing, or at least logging, the issue. I don't know how many times I've gone through code, looking for where I need to add in my fix, and ignored rows of broken windows on the way. Once again, there's no excuse for this - I'm aware of the rule, I know that it makes sense, but I'm too caught up in getting my part done.

Jim Bethancourt replied on Sat, 2010/10/23 - 4:13pm in response to: Jim Bethancourt

For those of you who are interested in Peter Tran's JDBC Performance Tuning presentation, it's posted on the Houston JUG website at http://www.hjug.org/calendar.php


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.