Friday, December 23, 2005

Merry Overactive Christmas!

From this little corner of the world the Overactive Logistics project wishes you a Merry Christmas!
And by the way!!... even though the posts during this month decreased the hard work to make Overactive Logistics a reality is alive and well.

Most of my time has been spent working on the migration to EJB3.0 and doing research on on how to improve the current architecture during this important milestone.

More concrete, the session beans have been ported to the new specification and are now homeless, the entity beans have represented a very nice and smooth challenge. I plan to have the application fully ported and back on track before mid Jan.

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.

Sunday, December 04, 2005

Major Overactive Logistics Refactoring.

During the analysis for the shipments module I found that the domain model requires changes that can't be implemented in a clean way without the extensive use of object inheritance and object reusability based on interface implementation. The EJB 2.1 specification states that inheritance is not supported in entity beans. Due the complexity of the current requirements plus the need for greater flexibility during object modeling I have decided to port the domain model to POJOs using Hibernate and port the Session Beans to normal Facade classes.

This will extend my current scope for the release of the first beta version of Overactive Logistics, however it will reduce dramatically the complexity of the system architecture resulting in shorter development cycles as a reward.