Monday, February 13, 2006

Starting a J2EE project from scratch

As an architect I don't usually have the chance to sit down and write a lot of code. I spend most of my time just drawing models, solving client problems, helping with deployment and ensuring most developers are doing their job. I admit it, probably I'm not the best architect out there but I'm just starting.

My past 2 project were in .NET. When the projects begin I usually sit down and write some reference code myself and then let the developers continue. Lately I felt technology was getting by me since and I missed coding in Java. Wow how things have changed since Jbuilder 9!

I want to start a new project from scracth and know how I want the architecture to be based on my previous knowledge and reading countless forums and mails. I want the persistence to be based on hibernate, I need Spring for IoC and AOP for things like Transaction and logging. For the front end I'm still not sure. The application server is going to be JBoss since I need JMS and other goodies.

After much struggeling I realize what M$ has in it favor: it is stupidily easy to set up a project. I am overwhlmed by the amount of option and not sure how to even start this project in Eclipse. I even downloaded AppFuse in order help me jumpstart the project. I'll keep posting on how I advance as I go along.


Sergio Bossa said...

Hi Roni,

When I "jumpstart" a J2EE project from scratch I use Spring as IOC/AOP framework, Acegi for web security, Hibernate for persistence and, for the presentation, Spring MVC if you want an MVC framework, or Cocoon if you want to try something different (and powerful).

Moreover, I'd take a look at Rife and Wicket.


Sergio B.

Roni Burd said...

Thanks for the comments!

Choosing and glueing together hibernate/struts/ACEGI/etc usually is the fun part when you are trying these components at home, but when you want to just start coding at work ala Microsoft it can get a bit cumbersom.

I still fell a bit overwhelmed by the complexities of starting to code my application.