It hadn’t really been brought home to me until I read Jeff Hanson’s piece on Java modularity that a lot of people consider EJBs to be a flop. They figure large in anybody’s rant about Java standards, as one of the most rantworthy among them. They sort of jumped into my mind when I saw a thread on the ServerSide questioning whether Spring violates the JEE spec. The short answer, it seems was that Spring — beloved, trendy, subject of many recent articles here — primarily runs into standards trouble when tangling with EJBs, which, of course, everyone hates, though they technically are a Java standard, and Spring isn’t. Which leads me to this post on Andy Gibson’s blog, in which he says that the Springers are maybe a little too quick to write off EJBs: EJB users are having to defend a technology which has the appearance of being stodgy and has a terrible legacy even though its modern day incarnation is far more hip, cool and even Spring-like. Few negative comments about EJBs appear to be about flaws in the current implementation other than the fact that EJBs require a container. The Spring users have to defend a technology that is in essence proprietary as opposed to standards based, and while the core Spring functionality (DI, AOP) is very good, a number of people believe that it is starting to spread itself a little too thin, and starting to suffer from the dreaded ‘Bloat’. It is now facing competition from EJB, a technology that is not only as easy to use and powerful but is also a standard, which, all things being equal, is a positive. If nothing else, being a standard will also give it a helping hand in being adopted in some of the more corporate shops. So which team are you on: Spring lover? Contrarian EJB proponent? Can’t we all just get along? Software Development