The Sad State of J2EE (Francis Shanahan)
Grails June 12th, 2007
Francis Shanahan has an interesting take on J2EE, Groovy, and Grails:
Let’s say you want to put up a simple Hello World website that saves some information to a database. In ASP.NET that’ll take you about 5 minutes if you’re slow. You won’t get much for your 5 minute investment but you can iterate on the implementation and ultimately “evolve” it to production quality code. You never need to leave the IDE and there’s practically no configuration.
In Java, you’d better start out on the right foot. J2EE is abismal so you’ll need to choose a presentation framework, the most popular arguably being Struts. You might need a middle-tier framework, why not choose Spring. Next you’ll need a data access layer, like JDO, iBATIS or Hibernate . Of course all these frameworks are terrific, “light-weight” and incredibly generic. What does that mean to you??? You’ll have to configure them for about a week.
It’s because of this that the java community has woken up in favour of things like Ruby. But Ruby on it’s own was pretty useless until 37Signals created Rails (you guessed it, a framework for Ruby). Such a struggle to actually get something done. But it doesn’t stop there. Someone said “hey, why do I have to learn a new language?” I’d like a language that looks like java but without all the overhead. So they made “Groovy”. And that of course needed a framework, which is how you arrive at “Groovy on Grails”. It get’s worse, Groovy doesn’t use servlets, it uses groovelets. grooBarf.
Now each to his own but it seems to me that J2EE has arrived at a rather embarrassing conclusion that it’s basically unusable as an agile development platform. Maybe I’m wrong but when your platform is so convoluted that you need to actually look elsewhere to get stuff done, perhaps it’s time to rethink.
Comments on the original post:
Max : It’s not cheap either.
Max : Java abstracts the platform, but so many folks have made their own implementations that it’s gotten to the point where you have to specialise in an vendor or a framework. So you lose your portability, both of skills and code.
Beano : It gets better/worse - ever heard of JRuby???
Jordan : It’s such a crazy misconception that you can’t do rapid prototyping in J2EE. If you’re starting point is equivalent to .NET Visual Studio, so a decent IDE (Eclipse) with App Server plug-ins (like Tomcat) and a database (maybe mySQL) than you could pop something out in five minutes. 1) Create a JSP page and use the java standard tag libraries (JSTL) SQL tags to do it. 2) Run… You don’t need to assemble all these crazy frameworks to do the simple stuff.
Tags: Grails



About
Graeme Rocher about 18 hours later:
nteresting, though I find that in the beginning it seems like a good idea to extend BuilderSupport, but later you realise it is too limiting and overriding invokeMethod is far more flexible as far as the syntax options you have available to you
It of course depends on the DSL you are writing
Cheers Graeme
Warner Onstine 1 day later:
This comment came from Guillaume Laforge (Groovy lead) on the Groovy users list:
Warner Onstine 1 day later:
Guillaume, I definitely agree. I wanted to come up with some basics, but the user-level involvement definitely has to be there. It’s hidden right now in the Prototype phase I talk about, but should be more fully discussed in a future post. I have several posts in my head right now so I’ll jot this down as one to write up