Comments on: JavaOne 2008 day 0: CommunityOne http://technology.amis.nl/2008/05/06/javaone-2008-day-0-communityone/ Friends of Oracle and Java Fri, 19 Dec 2014 15:08:31 +0000 hourly 1 http://wordpress.org/?v=4.0.1 By: Lucas Jellema http://technology.amis.nl/2008/05/06/javaone-2008-day-0-communityone/#comment-5313 Tue, 06 May 2008 11:11:55 +0000 http://technology.amis.nl/blog/?p=3131#comment-5313 Wouter,
Thanks for a great write up. I would like to add one or two observations on EclipseLink. I have the feeling that the TopLink team simply do not grasp why the Java Community is so slow in recognizing that with EclipseLink they have been offered nothing short of pure gold. Sure, in the past you had a choice when it came to the persistence layer. TopLink was not free, so if you had no or a tight budget, you could consider using Hibernate or even some other ORM framework.

But now that EclipseLink – mind you that is all of TopLink, nothing held back! – has been open sourced, you do not need to choose. TopLink is by far the superior persistence product, much more advanced than Hibernate and any other tool. With advanced caching support (L2 cache that shares objects across all sessions – the entire JPA Persistence Unit – instead of an L1 per EntityManager or per session cache) that gives much better performance and smaller resource usage. With advanced configuration options for native database features leveraging the best of most popular databases, with advanced support for using Stored Procedures, special data types such as XMLTypes and user defined database Object Types, etc. etc. Besides plain old database to object mapping (JPA 1.0), EclipseLink provides SDO 2.1 and JAXB support for alternative mappings. Why would you ever consider not using EclipseLink?

It is an honest puzzlement that sometimes can grow into frustration. Why does the world not (yet) recognize what is plain to see? Well, of course they realize that they have to catch up in building a community. Doug Clark I believe said something to the effect of: “what we lacked in developer involvement, we made up for in functionality”. And now, they realize, is the time to build that developer and community involvement.

What not seems to help is the name: EclipseLink sort of suggests a PlugIn for the Eclipse IDE – which is very much not what EclipseLink is. It is a full blown ORM framework that can be used just like Hibernate is used. And the fact is that TopLink is not as well known as Hibernate. I for one hope that Java developers and technical architects will take the opportunity to take some time for a second – or perhaps even a first – look at EclipseLink. It really is powerful and solves a number of common problems with Persistence Layers in a very elegant way. Having a growing community would mean having more resources, developer guides, WIKI entries, blog articles, case studies, etc.

EclipseLink can be found at http://www.eclipse.org/eclipselink/. You will find a Wiki, downloads (milestones that are picked up for GlassFish V3 milestones), a newsgroup slowly growing in activity, etc. There is also the EclipseLink team blog at http://eclipselink.blogspot.com/.

Plans for the immediate future – to timeline yet – include support for JPA 2.0 of which EclipseLink will provide the Reference Implementation, support for Database WebServices – which I understand as “EclipseLink publishes WebServices for Database resources” ( in the words of the original EclipseLink project proposal: “EclipseLink-DBWS will provide a web services capability for developers to easily and efficiently expose their underlying relational database (stored procedures, packages, tables, and ad-hoc SQL) as web services. The metadata driven configuration will provide flexibility as well as allow default XML binding for simplicity.”.

One final note on what I liked in the presentation: the callback features that you can configure in EclipseLink. Hooks – very much like database triggers such as the After Logon trigger or the After Startup trigger in addition to more common DML triggers – that we can use to instruct EclipseLink to call our handlers on specific events in the Persistence Unit and/or Entity lifecycle. In a simple, annotation (or XML configuration if that is what you prefer) way, you configure those callbacks, such as SessionCustomizer and DescriptorCustomizer.

With over 40 committers – most of the staff from Oracle and Sun – and a history that started in 1992, EclipseLink is a very mature product, even though we still have not seen its 1.0 release! The challenge for the EclipseLink team is primarily to grow that community, to get airtime and the visibility the product deserves. I have no doubt that we will make some contributions on our weblog, as we clearly see the potential for EclipseLink.

regards, Lucas

]]>