EclipseLink Goes Cloud Q&A
EclipseLink is a universal persistence solution, and version 2.3.0 sees some notable updates such as multiple application tenants and external meta date.
Could you describe the EclipseLink project in a few
The EclipseLink project offers a comprehensive set of open
source Java persistence capabilities focused on standards, advanced
extensions, performance and flexibility. EclipseLink provides
object-relational mapping as the Java Persistence API (JPA)
reference implementation as well as Object-XML Mapping/binding
support implementing JAXB. EclipseLink also combines these features
together to provide Database Web Services (DBWS).
What is the difference between EclipseLink and other
Persistence Frameworks like Hibernate?
There are a number of differences that make EclipseLink a very
compelling choice for developers, architects and managers who are
evaluating Java persistence options.
- JPA and a lot more: The EclipseLink project
offers the reference implementation of JPA as well as its native
Object-Relational Mapping (ORM) solution supporting use of leading
database vendors. JPA is still the most popular feature of
EclipseLink but it is not alone. EclipseLink also offers Object-XML
mapping and binding support with a compliant Java Architecture for
XML Binding (JAXB) implementation. These additional mapping
technologies as well as the EclipseLink DBWS offering provide
developers with a single persistence framework for all of their
needs. These persistence solutions can be used individually or even
greater functionality when multiple persistence services are used
- PERFORMANCE and SCALABILITY:
EclipseLink is heavily optimized and provides unmatched performance
and scalability. For many years now EclipseLink has been an
integral part of Oracle’s record-setting application server
benchmark results and continues to be optimized for future
benchmarks. Additionally, the EclipseLink team works hard on its
own benchmarking to ensure performance and scalability features
improve release to release as well as against our leading
competitors. Developers will find EclipseLink’s performance
features combined with its out-of-the-box support for caching in an
application cluster can deliver them great scalability.
- STANDARDS Focused: We encourage the use of
standard persistence APIs and offer extended functionality when
needed. We work closely with the expert groups delivering the
reference implementations of leading standards and provide feedback
on usage of our extensions to help deliver popular features in the
next release of these specifications.
- LICENSING: Many customers find EclipseLink’s
more flexible dual-licensing under Eclipse Public License (EPL) and
Eclipse Distribution License (EDL, a BSD license) to be easier to
integrate and receive approval on from their legal teams.
- AVAILABILITY: EclipseLink is available
directly from the project’s downloads pages, Maven and Eclipse P2
repositories, as well as being packaged with a number of open
source and commercial products including GlassFish (both commercial
and open source), Oracle TopLink, Spring Framework, JEUS, Oracle
WebLogic Server and Oracle WebLogic Suite, Oracle Fusion
Applications, and the Eclipse Indigo Java EE package
- UPGRADE PATH: EclipseLink has a shared
codebase with Oracle TopLink, which offers contractual technical
support, and additional commercial features like TopLink Grid, for
integration with other Oracle Fusion Middleware like the Oracle
Coherence in-memory data grid.
What´s new in the Indigo version of
The EclipseLink 2.3.0 release, included in the Eclipse Indigo
release train, offers many new and exciting features for Java
developers. This release provides developers with greater
flexibility in deployment architectures allowing for the
development of applications which can more easily address future
requirements and operate within cloud solutions delivering Software
as a Service (SaaS) features.
Multi-tenant: Allows multiple application
tenants to store their entities in the same shared table.
EclipseLink manages the tenant context limiting results and ensures
tenant identifiers are used on writes and bulk operations.
Extensible: Developers can now author JPA
entities or JAXB beans that include support for extending the
mappings in the application simply by providing additional
mappings/bindings for the ‘virtual’ attributes.
External Metadata: Developers can also override
or extend their mappings through an external metadata
store/repository. When a JPA persistence unit or JAXB context is
initialized EclipseLink will retrieve these overrides and include
them. This allows for dynamic applications including multitenant
applications with tenant specific extensions defined and used
Composite Persistence Units: Developers will
now be able to compose multiple JPA persistence units together
within their application. This will allow access to entities stored
in different databases using a single persistence unit as well as
supporting relationships between entities stored in different
In addition to these key features there are also mapping
enhancements to improve flexibility. The EclipseLink 2.3.0 release
addresses 260 bugs or enhancement requests. The community
will find many updates to examples, tutorials, and documentation to
help them use the new features as well as our ongoing commitment to
providing great community support through the EclipseLink newsgroup
and mailing lists.
What do you think about the hype around NoSQL
NoSQL databases are a bright new space with a lot of potential.
The EclipseLink project is always interested in offering
persistence services that meet the needs of our users. Our
project’s charter in this space with respect to persistence
solutions is in standards-based implementations. As the NoSQL
offerings mature and Java persistence to these stores develops we
will monitor and watch for opportunities to provide a persistence
solution that meets the needs of our user community and addresses
the standards that develop.
What are the next steps for EclipseLink in the upcoming
Juno release Train?
The EclipseLink team has already started planning its 2.4.0
release tentatively scheduled for the fall of 2011 as well as our
2.5.0 release planned to coincide with Eclipse Juno. The features
added in 2.3.0 go a long way to simplifying the development of next
generation applications targeting the cloud as their deployment
platform. Our plan is to continue to lead the way in making the
Java persistence platform cloud ready with Software as a Service
(SaaS) enabling features and integration points for Platform as a
Service (PaaS) solutions.
As with all of our releases, we encourage Java developers to try
out the features and provide feedback to help shape the future of
the EclipseLink project.
Author: Doug Clarke
BIO: Doug is the co-lead of the EclipseLink project
(www.eclipse.org/eclipselink) and a Director of Product Management
for Oracle Fusion Middleware with responsibility for TopLink,
Oracle’s strategic Java Persistence solution.