InfoQ

News

OpenJPA adopted by both IBM and BEA; becomes top-level Apache project

Posted by James Kao on Jun 26, 2007 09:00 AM

Community
Java
Topics
Data Access
Tags
Open JPA ,
JPA ,
IBM ,
EJB ,
BEA
Apache OpenJPA has been gaining momentum in the JEE world, having been adopted by BEA as the EJB3 JPA implementation in WebLogic Server 10 and in the most recent EJB3 Feature Pack for IBM WebSphere Application Server (the first step before becoming a core feature of future commerical WebSphere releases).  OpenJPA started its life in BEA's Kodo product, whose code was donated to the ASF in 2006. Since then, the project has grown to include broad application server and tool support:
To assist in developing persistence applications OpenJPA works out-of-the-box with popular IDE's such as Eclipse and Netbeans. Additionally, plugin modules are available for the Apache Maven software project management and comprehension tool.

Many projects have adopted OpenJPA to provide the Object Relational Mapping for their needs, including Apache ActiveMQ, BEA Kodo, BEA WebLogic Server, Apache Camel, Apache Geronimo, Apache Ode, Apache OpenEJB, and IBM WebSphere Application Server. The community plans shortly to release version 1.0.0 of OpenJPA, reflecting the maturity and production quality of the code base.

Additionally, OpenJPA has been integrated with numerous other frameworks including Spring Framework, GlassFish, JOnAS Application Server, Sun Java System Application Server.
The OpenJPA website also notes:
BEA Kodo: Kodo is the project from which the OpenJPA source code was derived. Kodo is now, in turn, based on the Apache OpenJPA project and is in production use in hundreds of mission-critical applications around the world. OpenJPA is included as part of Kodo 4.1 and higher

WebSphere Application Server Version 6.1 Feature Pack for EJB 3 Alpha: The Alpha release of the IBM WebSphere Application Server Feature Pack for EJB 3.0 contains a preliminary implementation of the Enterprise JavaBeans Version 3.0 specification, commonly known as EJB3. Associated with the Enterprise JavaBeans Version 3.0 specification is the Java Persistence API specification, commonly known as JPA. The Alpha JPA implementation is powered by OpenJPA.
OpenJPA recently graduated from the Apache Incubator to become a top-level project. The project's implementation of JSR-220 (Java Persistence API) also recently passed the JCP TCK at 100%, indicating full compliance with the standard. 

InfoQ last May reported on OpenJPA possibly becoming a viable competitor to Hibernate, it seems that  the liberal Apache license and quality Kodo implementation is allowing the project to get significant adoption from most of the other players in the community, both commercial and open source.    One notable exception is Sun's Glassfish server (the Java EE RI), which bundles Toplink Essentials from Oracle.  Oracle announced in March that it will be contributing all of the commercial Toplink to the Eclipse foundation as part of the Eclipselink project, the first releases set to be available sometime in July.
How's the Spring support for additional functionality coming? by Jason Carreira Posted Jun 26, 2007 4:34 PM
Congratulations! by Julien Dubois Posted Jun 27, 2007 2:41 AM
Re: Congratulations! by Marc Logemann Posted Jun 27, 2007 3:12 AM
  1. In that other thread linked from May 2006, Rod Johnson talked about implementing added functionality such as QBE or Criteria on top of JPA in a vendor-neutral way... How's that coming? I'm sticking with Hibernate APIs until Filters and Criteria are available elsewhere.

  2. Back to top

    Congratulations!

    Jun 27, 2007 2:41 AM by Julien Dubois

    Congratulations to Marc P. and Patrick L. :-) I hope to soon drop Hibernate and replace it with OpenJPA for my Tudu Lists project. It will be interesting to see if there is any performance boost, and at least it will solve some ASM version incompatibility between Hibernate 3 and Spring 2...

  3. Back to top

    Re: Congratulations!

    Jun 27, 2007 3:12 AM by Marc Logemann

    I have no doubt that OpenJPA ist a great piece of software. I am using it for years :) Of course not directly but in the way of using Kodo. I am also thinking about using OpenJPA instead of Kodo, but due to the fact that i am still use the JDO interface of Kodo, i cant change that easily. So perhaps i will stick with BEA Kodo 4.x which is essentially OpenJPA + JDO. I wonder if Abe White is still on board...

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.