Bye Bye EE platforms
I would like pointed out issues with EE implementations. Theoretically EE spec are much better of choice if we compare it with .NET’s spec. Unfortunately most of the implementation of the EE spec ( i.e WebSphere, WebLogic and JBoss etc); I can say all of them are bundle of open-source components; as you know WebSphere and JBoss host tomcat as their servlet server. Log4J, Hibernate are among several others. And unfortunately all of them wrap those open-source components very badly.
First of all, Please, please do not assume that I am not capable of writing EE based application; I have developed and successfully deployed several SessionBean (stateless or state full) and web-services based applications. That puts me in better position to comment on it.
As far as today technologists are concerned; And the way industry leads us kind of makes it necessary for us to follow bandwagon theorists.
The fact that Sun and Microsoft do not sell any software-product that is developed based on their own frame-works/architectures; is the best indicator that those technologies will get you sooner somewhere; where you will continue to struggle to keep them up and running. And as you all know those technologies work most of the time, but have more unknown issues than reported/recorded.
I posted some quotes from the interview of webtide team (the team that has developed Jetty); I am not going to post the whole here but the main points:
1) “The key features that Google would have chosen jetty for were size and flexibility. In the cloud, size is important…”
2) “We also do not take for granted the optimization of code by design and we take it with a grain of salt every time somebody tells us how good JVMs are now at optimization and garbage collection. This may be true, but carefully crafted code can still be optimized better and it's still best to avoid creating object.” (that is reducing the load on Garbage collection process)
I am not just talking the talk I have given a proven micro-services architecture and that is preforming flawlessly, and I am not against open source either as I am using some open source component in my implementation.
There are two demands HA and DR (High Availability and Disaster Recover respectively), for high availability the things should be constructed in such a way that they must not just crash or hang to render full-death. And if that at a cost of saying good bye to a very dear technology so be it. I would like to mention the main reason Steve Jobs did not support Flash on IPhones is that Flash was a resource hog”. Likewise 100% of EE implementations that exist today are resource hogs. And that is exactly the reason Google adopting Jetty vs Tomcat, now lets compare Tomcat and JBoss; I do not think I should go into details, but 2000 class vs 269,000 class is a big difference.
Thanks! Ryan