Project co-lead Doug Clarke tells us the latest about EclipseLink

EclipseLink Goes Cloud – Q&A

JamesTrew
EclipseLink

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
words?

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
    in combination.
  • 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
    (IDE). 
  • 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
EclipseLink?

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
on-the-fly.

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
databases.

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
Databases?

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.

 

Author
Comments
comments powered by Disqus