Hello everybody Rod Johnson made it clear that he thinks EJB is on the decline. He believes there is no compelling reason to use EJB, even with the newer enhancements in EJB 3.1.
Does anybody think Rod Johnson is wrong?. Is still some live inside EJB?. Do you think it pays to have a closer look at 3.1? Allow me quickly review the enhancements on EJB 3.1 (merged it from a theserverside article and the technical session on javaone 2008), and compare them to spring's features. Maybe I am missing something and there is real value on EJB. 1 - "Optional Local Business Interfaces". EJB is catching up. Spring transaction demarcation and AOP use CGLIB automatically when there is no interface. It's been working this way for years now. 2 - "Support for direct use of EJBs in the servlet container". More catching up. I've deploying transactional-aware spring components using spring since the JavaCast days. 3 - "EJB Timer Service enhancements to support cron-like scheduling". Moore catching up. Spring has supported the Quartz scheduler since 2005 aprox. 4 - "Support for stateful web services". This seems interesting. There is an excess of web services frameworks and I am still looking for the "one true way". On the spring side there is spring web services and apache CXF. 5 - "Simplification of JMS, JavaMail and database injected resources". Every feature here was in use in spring since 2004. 6 - "A Service Provider Interface (SPI) for EJB". I am not sure what this really means. 7 - "The ability to add EJB support to a lightweight servlet container like Tomcat".... and more catching up! 8 - "The ability to use local transactions in addition to JTA in EJB". I believe (could be wrong) spring went in the opposite direction, but I am certain it had support for JTA using JOTM back in 2005. 9 - "Application startup / shutdown callbacks". I believe spring has always supported this. 10 - "Simple asynchrony". Spring has supported a simplified API for JMS for years. Projects like apache camel and activemq use spring extensively. 11 - "The Singleton Beans". This is the ONLY feature that I don't have first hand experience working with any spring equivalent. AOP I guess. Annotations like @ConcurrencyAttribute and @AccessTimeout seem interesting. I don't know what's new on JPA 2.0. But it is going it's own way, and should not count. JPA 1.0 is way behind hibernate and other persistence frameworks. No criteria queries, no query by example, no custom dialects, no automatic auditing, no integration with lucene, no bean-level validation, and a long etc. Thanks for reading Marcelo Morales --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "The Java Posse" group. To post to this group, send email to javaposse@googlegroups.com To unsubscribe from this group, send email to javaposse+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/javaposse?hl=en -~----------~----~----~----~------~----~------~--~---