Friday, December 09, 2005

Major Overactive Logistics refactoring II (EJB 3.0)

One of the core ideas behind the Overactive Logistics architecture is to stay wide open to innovation and new Java/J2EE technologies, because of this taking the decision to migrate the object model to Hybernate and making the Session Beans regular Facade objects felt a little bit like taking an step backwards.

Since its inception the project was planned on top of EJB technology due to the immediate benefits and services that this platform offers to the developer.

After analyzing more the EJB 3.0 public draft specification and doing some prototyping with JBoss EJB3 implementation I have decided that migrating to EJB 3.0 is the right way to go.

It is my second day porting Overactive Logistics from EJB 2.1 to EJB 3.0 and I must say that I'm completely astonished!.

The EJB 3.0 simplifications are totally awesome, I'm reducing all the code written in a 40% due to the elimination of EJB Home interfaces, deployment descriptors, EJB exceptions and EJB create/remove method calls.

The use of annotations is not a natural act for a developer however it is easy to get used to them once you pass that first shock and start typing them, it feels specially great when you get rid of the deployment descriptors.

JBoss has done a terrific job, it took me less than a few hours to configure my development enviroment for EJB 3.0 and their documentation even though is incomplete is a great help.

No comments: