Originally posted by Jeroen T Wenting:
and many of those people seem to think that EJB are all of J2EE which is of course completely false.
Indeed, and I'm actually quite surprised to see that nearly every reference to this discussion focuses solely on EJBs. I agree that the EJB architecture is bloated and an absolute nightmare to get to grips with - there are so many types of components and different extensions.
But so far, I've never onced used EJBs on a project... all my clients are looking for stable, easily (and quickly) implemented websites, and I have only
ever needed to use the Web container to achieve this. I've never needed anything more than
Tomcat. Plus, although there are only a few Java EE hosting companies around, the vast majority only run Web servers and not EJB containers.
Having worked with other solutions in the past (Perl, PHP and some ASP and .NET), I firmly believe Java EE Web is the best solution out there for building comprehensive sites (it can be considered excessive for small projects however). Not only does it have a great architecture, but you get the power of an entire programming language as well, unlike in PHP for instance, where you'd need to obtain further native libraries, or Perl which isn't the most pleasant thing to debug and maintain.
To add to this, J2EE 1.4 added new features to make pages really easy to work with, even for Web developers not familiar with Java (using scriptless JSPs with tags and EL); and you've only got three basic types of components:
servlets, JSPs and helper classes (including tags). There's nothing else fundamentally to it! If you need additional support, build some standard Java components or JavaBeans to add that functionality.
So although opinion may say that EJB will "collapse under its own weight", I challenge the view that Java EE Web is going anywhere too quickly. Indeed, the only changes which occured between J2EE 1.4 and Java EE 5 are a few minor alterations* which most developers won't use often, which just shows how significantly the technology has matured.
* The biggest change has in fact been the
addition of
JSF. I'm not necessarily in favour of adding a framework such as JSF to the Java EE 5 Web specs. - I'd actually prefer to keep specific frameworks and implementations out of the core distribution, since JSF is built only using the core Servlet and
JSP technologies anyway. I can see the Web tier becoming as bloated as EJB if this continues just for the sake of "adding features" to every new version of the platform. Hopefully this will not happen.