Published on dev2dev (http://dev2dev.bea.com/)
 http://dev2dev.bea.com/pub/a/2006/02/interview-kodo-opensource.html
 See this if you're having trouble printing code examples

Interview Series: Kodo—Towards an Open Source EJB 3.0 Persistence Engine

Neelan Choksi interviewed by Jon Mountjoy
02/14/2006

Neelan Choksi is a Senior Director at BEA, and is currently responsible for the Kodo data access business. Neelan joined BEA with the acquisition of SolarMetric in 2005 where he served as president of the company. After co-founding SolarMetric in 2001, Neelan helped build a solid business with no external funding that was profitable for 13 straight quarters before the acquisition. At BEA, Neelan has been heavily involved in the strategic decision to donate much of Kodo's source code to start the open source project named Open JPA.

Dev2Dev interviewed Neelan about the open sourcing of Kodo, what it means to EJB 3.0 developers and how other frameworks, such as Spring, can take advantage of it.

About the Open Sourcing

Dev2Dev: I'll start with the big question: Is Kodo going to be open sourced?

Neelan Choksi: Yes - the project is called Open JPA. Open JPA will include a significant portion of the Kodo code base that will be open sourced, specifically the Kodo kernel and the technical preview of the EJB 3 Persistence specification. Once the EJB 3 specification is approved, Open JPA will be an open source implementation of the EJB 3 Persistence standard under an Apache software license.

Dev2Dev: Kodo is a well-respected piece of software. Why have you decided to open source it?

Neelan Choksi: There are several reasons for Open JPA. I think foremost was to get a quality tool into the hands of the most developers. We feel that too many developers have had to settle for "good enough," and we think the community should have better than that.

Dev2Dev: You mentioned open sourcing the kernel and EJB 3 components. Are any other components going to be open sourced?

Neelan Choksi: The core Kodo engine and the EJB 3 Persistence APIs. We'll also be transitioning the GUI tools (Kodo Workbench, Kodo Query Editor, Kodo Management Console and the Kodo Profiler) over to the Workshop team to make the Workshop Studio product even more compelling for customers.

Dev2Dev: When will the product be open sourced?

Neelan Choksi: You will see Open JPA available in the first half of this year. We have a lot of work to do to from finding a home for Open JPA to getting legal approval on the code that needs to be open sourced, but the commitment is there. Also, over the next months, we will be working with other community leaders to gain support for Open JPA. A big part of our work is going to be expanding the community around Kodo and Open JPA.

Blended Development, and Integrating with Open JPA

Dev2Dev: How does this play into BEA's Blended Development Model? Here we have a part open source and part closed source product all in one!

Neelan Choksi: This decision is all about BEA's Blended Development and Deployment Model. By creating Open JPA from the code base of the closed source BEA Kodo product, BEA is actually putting its money where its mouth is with regards to the Blended Model.

BEA is going to foster a community around Open JPA and the community will include much more than just Weblogic Server users; we welcome all comers from WebSphere and JBoss users to Tomcat and Spring users. This simply makes sense because at the heart of Open JPA is an open industry standard.

Dev2Dev: What will this mean to a developer? After you open source it, will I immediately be able to start playing with it? How would I integrate it into an application server for example?

Neelan Choksi: This means that developers will have a free, Apache-licensed implementation of the EJB 3 Persistence specification. Equally importantly, customers will have access to the enterprise-quality support services that BEA has long offered customers and tooling available through the BEA Workshop Studio product if desired.

We absolutely want to encourage developers to play around with Open JPA as soon as it is available because the EJB 3 specification is still not final. The EJB 3 specification team needs more feedback from the community to make sure they are delivering on the promise of making enterprise Java easier to use.

Dev2Dev: Will I be able to run it without a full application server?

Neelan Choksi: Yes, Open JPA will work with both an application server and outside an application server as specified in the EJB 3 specification.

Dev2Dev: Oh, that's worth repeating! I hadn't realized that the specification mandates that the engine may be used outside of a full application server. That's good to know.

Dev2Dev: I understand that there is some overlap between the persistence in JDO 2.0 and EJB 3. How does this play a role in your open sourcing?

Neelan Choksi: We are open sourcing the code related to the EJB 3 Persistence preview. We are not open sourcing the code related to JDO and JDO 2 as this will continue to be available for purchase from BEA Systems.

Dev2Dev: We speak about the Spring Framework quite a lot here on Dev2Dev, and Spring provides some great mechanisms for interfacing with persistence engines. Do you have plans to do any integration work with Spring, or will it work out of the box?

Neelan Choksi: Currently, the Spring Sample in Kodo includes a sample of best practices of using the Spring Framework with Kodo JDO and the new Spring JDO bindings developed collaboratively by Kodo and Spring developers. Although Spring and Open JPA will work out of the box together, we anticipate that there will be tighter integration and more best practices with the Spring Framework over time.

Interest in EJB 3, and Tooling

Dev2Dev: We ran a poll on EJB 3 and JDO on Dev2Dev recently, and there was a lot of positive interest. How do you see the JDO and EJB 3 markets developing during 2006?

Neelan Choksi: Yes, the concepts that JDO introduced and that EJB 3 are bringing mainstream is simply a better way of doing object/relational mapping so I am not at all surprised by the results. This is one of the big reasons that we have chosen to donate Open JPA. It is important that customers using these technologies for the first time have a great experience and it is also important that they have the option of an enterprise product and support as well as tooling to make their lives better.

Dev2Dev: I think O/R tools play an important part in developing large applications and I know you have a workbench that supports a lot of these activities. BEA Workshop Studio also has O/R tools. What's going to happen to all of these tools?

Neelan Choksi: The Kodo Developers Workbench will be folded into BEA Workshop Studio. In addition, we will be transitioning the rest of Kodo's popular graphical tools (the Kodo Query Editor, the Kodo Management Console and the Kodo Profiler) into Workshop Studio. I am very excited about this move because the Workshop Studio developers are experts in development of graphical tools and I think we are going to see a step function improvement in our tooling once this work is complete.

Workshop Studio already supports the preview EJB 3 Persistence APIs available in Kodo 4. An early access of Kodo 4 can be downloaded from the Dev2Dev Persistence Technology Center, and Workshop Studio is available from the Workshop Product Center too.

SolarMetric, Kodo, and the move to BEA

Dev2Dev: Kodo was acquired back in December of last year. What has this meant to SolarMetric, the company, and to you in particular?

Neelan Choksi: SolarMetric was acquired in November actually and it has been a whirlwind of activity. It has been great being a part of BEA and having resources to make Kodo more successful and to really meet our customers' needs. BEA's blended strategy is also something that makes a lot of sense from our customers' perspective as they are trying to navigate a fairly complicated world of traditional, commercial software and a variety of open source projects. For me, I am having a lot of fun. BEA has given me the freedom and the rope to be successful and to introduce bold ideas like Open JPA.

Dev2Dev: What does the acquisition mean to the product and the users of the product? Will it still be targeted to all application servers for example?

Neelan Choksi: As the transition from SolarMetric to BEA finishes, customers will get the resources of a 4000-person global company providing support for them. We have already seen the start of customers seeing the advantages of the BEA acquisition.

One of the reasons why the acquisition made so much sense to us was BEA's commitment to maintaining Kodo's multi-platform support from client/server to open source frameworks like Tomcat and the Spring Framework and also its support for other application servers beyond WebLogic Server such as WebSphere and JBoss.

Dev2Dev: Finally, can you tell me a little about the future for Kodo. We've just learned about the open sourcing, but what else is around the corner?

Neelan Choksi: Right now, the focus is on supporting the JDO 2 specification and the EJB 3 Persistence specification and offering customers interoperability between the two specs. Both of these specifications are very close to being submitted to the JCP for final approval, and we would very much like to be right on the heels of the approvals with GA versions of Kodo and Open JPA.

References

Jon Mountjoy worked as the editor-in-chief of Dev2Dev and Arch2Arch until April 2008.

Neelan Choksi is a Senior Director in the Products group at BEA. Neelan came to be as part of the acquisition of SolarMetric where he served as a co-founder and president of the company. Neelan has also worked at Exxon and Andersen Consulting Strategic Services.


Return to Dev2Dev.