InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Interview: Florent Benoit on the EasyBeans EJB3 Container and OSGi Support

Posted by Scott Delap on Sep 11, 2006

Sections
Development,
Operations & Infrastructure
Topics
Java ,
Application Servers
Tags
EJB ,
OSGi ,
JPA
The EasyBeans EJB3 container project recently announced support for deploying the container as a set of OSGi modules.  The name EasyBeans comes from the EJB 3.0 focus of ease of development.  EasyBeans is a continuation of work from the JOnAS open source application server.  Users complained that the EJB container was too closely tied to the application server.  Separating out EasyBeans allows it to be used in other application servers, standalone mode,  in other OSGi containers, and for JUnit/TestNG testing. InfoQ sat down with Florent Benoit of Bull R&D to dicuss this new feature as well as how EasyBeans compares to other EJB3 implementations such as JBoss and Gernonimo.

In regards to the relationship between EasyBeans and the JOnAS application server:

JOnAS 4.x is a J2EE 1.4 certified application server and it runs with the JDK 1.4. EasyBeans and EJB 3.0, as part of Java EE 5, has features requiring a new JDK version, the JDK 5.0.

EasyBeans is then available for JOnAS 4.x with a resource adapter. This allows to use EasyBeans and EJB 3.0 by using a JDK 5.0 and it's easy to enable or disable EasyBeans by adding or removing this resource adapter (.rar file). For example if developers switch from JDK 5.0 to JDK 1.4.

The next major version of JOnAS (JOnAS 5.x / Java EE 5) will provide EasyBeans by default for its EJB3 container.

As EasyBeans and JOnAS have two separated codebase, the projects can have a different lifecycle and then EJB3 container can be upgraded without upgrading the whole platform.

We then asked Benoit about EasyBeans in comparison to other open source EJB implementations such as Geronimo, JBoss, and Glassfish.  He replied that JOnAS has been an open source implementation since 1999, before projects such as Glassfish and Geronimo.  A large community in the US, Europe, and Asia contributes on EasyBeans and JOnAS development with deployments in banks, goverment, defense, etc.  One leading European telecom operator uses JOnAS for 1/3 of its applications.  EasyBeans is a natural progression of the support provided in previous versions of JOnAS for EJB's.  In addition Benoit commented that the upcoming version features numerous enhancements over:

Right now, EasyBeans provides some features that other EJB implementation may not have like the OSGi bundles (This is described at the end of this interview), bytecode enhancement using ASM ObjectWeb tool, easy deployment by providing a Smart InitialContext factory for clients downloading runtime classes on the server, easy configuration by using an easy-to-understand XML configuration file, etc. Also, for developers and contributors, the source code has a lot of comments which is not the case for all open source implementation.

The conversation then shifted to JPA support.  EasyBeans works with several entity managers such as Hibernate and Oracle Toplink Essentials.  The ObjectWeb community has also been continuing development of their Speedo JDO solution as a JPA provider as well.  The development version currently is 90% complete with a new release scheduled before the end of the year.

Next we asked Benoit about the recent OSGi support in EasyBeans:

OSGi is mainly used in the embedded domain but begins to be the basis of plugin application (like Eclipse for instance) at server level. It is the heart of dynamic and adaptable service oriented architecture which can bring many benefits:

  • On demand building of the application.
  • Deployment capabilities (installation, un-installation of the components).
  • Component lifecycle (start, stop of the components).
  • Update of a part of the application during runtime.

By relying on this framework, EasyBeans will benefit from the dynamic deployment (for the server, the associated services and the beans) and assembly of OSGi services to provide an EJB3 container service adaptable on demand.

Such a work has already been experimented on JOnAS and is available at JOnASOnDemand. As future JOnAS versions will be available on top of OSGi, it will allow a smooth integration of the EJB3 container technology inside the Java EE application server. BULL, the major contributor of JOnAS application server is also member of the JSR-291 , which address dynamic component framework / OSGi.

Finishing the interview, Benoit commented on the relationship between using OSGi as a building block for server deployed applications such as WAR's and having the entire EJB and/or appserver implementation available as a set of OSGi bundles.  JOnAS 5.x and upcoming versions of IBM's Websphere will be based on OSGi.  Benoit mentioned that a modular application server allows the developer to deploy only a subset of the application server if needed reducing memory requirements.  OSGi support also allows the application server to be deployed in other OSGi containers such as Equinox which is included in the Eclipse 3.2 IDE.  This should allow developers to develop, deploy and test full EJB 3.0 applications by deploying EasyBeans as an Eclipse Plugin.  No external application server would be needed, speeding up the deployment and testing cycle.

No comments

Watch Thread Reply

Educational Content

Questions for an Enterprise Architect

Erik Dörnenburg answers: What is Enterprise and Evolutionary Architecture?, discussing 4 issues: Turning strategy into execution, Ensuring conformance, Where do the architects sit? Buying or building?

Wrap Your SQL Head Around Riak MapReduce

Sean Cribbs explains what Map-Reduce and Riak are, why and how to use Map-Reduce with Riak, and how to convert SQL queries into their Map-Reduce equivalents.

Polyglot Persistence for Java Developers - Moving Out of the Relational Comfort Zone

Chris Richardson shows how he ported a relational database to three NoSQL data stores: Redis, Cassandra and MongoDB.

The Golden Circle – Why How What

Jean Tabaka challenges the audience to reflect on what Agile practices they are employing, how they are using them, ending with the questions “Why have their organization chosen to go Agile?

The Web Platform as a Limitless Pool of Innovation, with Andreas Gal

Andreas talks about the benefits of the Open Web and how it compares to proprietary stacks. He also talks about various projects that push the envelope like Boot to Gecko, Broadway and pdf.js.

Hadoop and NoSQLin a Big Data Environment

Ron Bodkin discusses early adoption of Hadoop, NoSQL and describes MapReduce and related libraries and Frameworks. Other topics include Hive, Pig, multi tenancy, and security in a big data environment

Spring and Platform Interoperability

Stephen Bohlen explains how Spring helps with interoperability between Java and .NET, demoing it with the help of a sample application.

How to Stop Writing Next Year's Unsustainable Piece of Code

Guilherme Silveira mentions some of the turning points in project development that may affect the quality of the code offering advice on avoiding writing crappy code.