Eclipse Zone is brought to you in partnership with:

Doug has posted 2 posts at DZone. View Full User Profile

TopLink Makes Transition to Open Source

  • submit to reddit

The Eclipse Persistence Services project (EclipseLink) has completed its incubation phase and the 1.0 release is available for download. This release completes the transition of the persistence functionality developed in Oracle TopLink to being fully developed and maintained as an open source project at Eclipse. This also signifies the first release of a project under the recently created top-level Runtime (RT) project at Eclipse.

EclipseLink delivers persistence services for efficiently working with Java and relational, XML, and non-relational data sources. The highlights include:

  • Compact: Standard Java distribution is composed of a single implementation jar and utility jars that can be used in any Java SE, IDE, or Java EE hosted environment.
  • OSGi: EclipseLink is also available as a set of OSGi bundles. This distribution offers out of the box support for compliant OSGi implementations, as well as Equinox-specific extensions.
  • JPA: Superior Java Persistence API 1.0 implementation with many advanced features offering greater flexibility and performance for mapping, caching, querying and transaction processing.
  • MOXy: Object-XML binding support with JAXB, offering highly flexible mappings as well as a meet in the middle configuration approach.
  • SDO: Service Data Objects 2.1 implementation enabling flexible service integration with dynamic and static models.
  • Utils: Migration utilities to assist developers currently using Oracle TopLink or TopLink Essentials in their upgrade to EclipseLink as well as the workbench for compatibility with classic object-relational and object-XML mapping.

A complete index of features and the full user documentation for EclipseLink is available on the Eclipse wiki.

Standards Focused

The mandate of the EclipseLink project is to deliver a set of persistence services that leverage the leading Java standards. In addition, advanced features were added based on user requests but implemented in a way that allows developers to leverage them when needed but not be obstructed by them when they are not needed.

This is particularly true in JPA, where many advanced features are available through JPA persistence unit properties and query hints, in addition to custom annotations and XML. With EclipseLink replacing TopLink Essentials as the reference implementation for JPA 2.0, some of these advanced features will evolve into the specification defined metadata and interfaces. This approach of leading through delivery of advanced functionality, and then contributing back to the standards, is an important aspect of the EclipseLink project.

Growing The Community

The EclipseLink committers understand very well that developing in open source is much more than just providing access to the source code. Building a successful open source project is really about building an active community based on open communication and a transparent development process. We encourage the Java community to try out the 1.0 EclipseLink release and provide feedback. Your contributions and suggestions are valuable to us and will help ensure the project meets your current and future needs.

EclipseLink is currently available directly from the EclipseLink project web site and is also included within the GlassFish and Spring Framework distributions. Going forward, the Oracle TopLink product releases within the Oracle WebLogic Server will also include EclipseLink as its strategic persistence provider.

At present the project has committers from Oracle and Sun but we also have a growing community of users and developers contributing back enhancements. We are eager to expand this community on all fronts to establish the EclipseLink project as the leading persistence solution across Java EE, Java SE, and OSGi.

Published at DZone with permission of its author, Doug Clarke.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)


Donny A. Wijaya replied on Thu, 2008/07/10 - 12:05pm

Congrats on the release!! BTW I enjoyed reading your prev article and really hope you would write more on EclipseLink in the future :)

replied on Thu, 2008/07/10 - 3:55pm

Can you please clarify which zip I need to download in order to utilize the api in Eclipse 3.4?

On the Eclipselink site they have a zip download as well as an osgi zip download.

I would like to upgrade my current EE5 projects, deployed on Glassfish 2.0 b258, to use the ehanced Eclipselink features.

Does Glassfish 2.1 b39 default to this api or need I put the Eclipselink jar into Glassfish's (2.1) /lib?

And back to the original question, in order to compile (and deploy) against the api in Eclipse 3.4, do I need the osgi version?


Thank you much.


Piero Sartini replied on Fri, 2008/07/11 - 1:28am in response to:

[quote=nat101]I would like to upgrade my current EE5 projects, deployed on Glassfish 2.0 b258, to use the ehanced Eclipselink features.

Does Glassfish 2.1 b39 default to this api or need I put the Eclipselink jar into Glassfish's (2.1) /lib?[/quote]

Glassfish v2 uses Toplink Essentials as its JPA Provider. You can change it by

- copying the JAR to domain/lib and change your persistence.xml to use the provider org.eclipse.persistence.jpa.PersistenceProvider


- copying the JAR and set com.sun.persistence.defaultProvider with the admin gui of glassfish.

[quote=nat101]And back to the original question, in order to compile (and deploy) against the api in Eclipse 3.4, do I need the osgi version?[/quote]

No - Eclipse IDE has nothing to do with EclipseLink. Since glassfish v3 is OSGi based, I think this is the reason for it :) It may become handy if you are developing with Eclipse RCP but I do not know much about it.

Gordon Yorke replied on Fri, 2008/07/11 - 7:47am in response to: Piero Sartini

This is correct but I would just like to add some clarification.  The OSGI zip contains a collection of bundles for use in an OSGi runtime environment like glassfish v3, Equinox (Eclipse RCP) and others.  To develop and compile your Java EE application in Eclipse you only need the eclipselink.jar file, the bundles can be used if you want but only add complexity.  If you are running in an OSGi environment then the bundles are needed.  Also, if you are using the bundles then the eclipselink.jar file is not needed.


replied on Fri, 2008/07/11 - 9:07am

It is good to hear that I can use Eclipselink in GF v2.0 just like any jpa provider.

I certainly read *somewhere* that in order for Eclipselink to function properly in GF v2.x, it required GF 2.1.

Thank you both, very much.


Comment viewing options

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