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
-~----------~----~----~----~------~----~------~--~---

Reply via email to