On Fri, Apr 3, 2009 at 1:23 AM, Jeremy Norris <jnorri...@gmail.com> wrote: > So far in this thread, no one has mentioned vendor independence as a > pro for EJB3. Why do people not care about this? Is the general > feeling that this is a myth? With EJB3 and JEE, I can move freely > from Websphere to JBoss to Glassfish, etc. This seems like a really > big deal. With Spring, I am tied to a single vendor for the core of > my middle-ware stack. Granted, with Spring you get vendor > independence for a lot of the aggregated pieces (ie: JMS, JTA, JPA, > etc.), but you are still tied to a single vendor for the backbone.
IMHO, the EJB vendor independence IS a myth. It is also a myth on other JEE standards like Servlet and JSP. Yes, even JSP works different on Websphere, JBoss and Glassfish. The reality is that you cannot move from one platform to another without getting bitten by some corner case. Making an application run in every JEE application server is like making a web application run in every browser. The subtle differences kill you. > Rod is continually talking about the the monolithic application server > being dead. Fine, but what's the difference between JBoss, Glassfish > and Tomcat/Spring? Tomcat/Spring is really an "application server" > and is no more modular than JBoss. But with JBoss I get a certain > level of vendor independence because of the standards. JEE6 > standardizes this modularity further, but the modularity has been > there outside the spec for years. With JEE, I get the advantages of > Spring but with the safety of the standards. Every application server is a huge piece of software. It has libraries to manage SOAP, to do persistence, etc. You are tied to thouse implementations, or at least you have to be conscious of what lies inside the application server when developing. If you need to override any of those, you have to start fiddling around the application server configuration to look for classloader settings. That's a subtle way of locking yourself in. Is not platform independence, it is lock-in. For instance. A client of mine wanted to receive by email all the log records any applications log. With tomcat it was easy. I changed the logging implementation to log4j and confugured the mail logger accordingly. The applications can use log4j or the standard jdk logging. Now all "error logs" appear on the qa inbox. Beautiful. They also have a full fledged application server for some applications, and I got lost in complexity. Maybe after understanding osgi and the app server architecture I might be able to solve it. For now, that business belongs to others. > Spring is usually compared with *pure* JEE, but this is not a valid > comparison. The JEE standards were not designed to be used solely > without ever using proprietary extensions. Take JPA for example: It > was designed to standardize 80% of the problem. You're *supposed* to > go outside the spec for the remaining 20%. Therefore, you can't > compare JPA to hibernate and say that hibernate is better because it > can do X, Y and Z. JPA consciously refrained from standardizing those > parts because those parts are very hard to get right and they want to > make sure they get them right before they are standardized. In the > mean time, you are supposed to use JPA *with* Hibernate (or toplink, > whatever). This same is true with EJB3. Frameworks like Seam really > complement it well. In fact, Spring can complement it! I think > JSR299 JCDI (formerly WebBeans) is very important to further to > standardize the ideas learned from Seam. It is true that using > proprietary extensions impedes the ability to move from vendor to > vendor slightly, but at least you *can*. I like powerful tools... that I can use anywhere. That's why we all are into Java, aren't we?. Proprietary extensions are... well... proprietary. > Finally, if Rod really feels this way about JEE, I wonder what he is > intending to bring to the JEE6 table since SpringSource is on the > expert group. The illusion of standardization is a powerful marketing tool. As you made clear. He *has* a vested interest. > Don't get me wrong, I love Spring. I just love JEE (with proprietary > extensions) more because it provides the best of both worlds. That's what I am trying to find. What's in there to love? > Overall, I loved the interview! Rod is an excellent communicator. > Great things to think about! However, please interview Gavin King to > add some balance here! Agreed. -- 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 -~----------~----~----~----~------~----~------~--~---