Difference between Tomcat, JBoss and Glassfish
Tomcat is merely an HTTP server and Java servlet container. JBoss and GlassFish are full-blown JEE application servers, including an EJB container and all the other features of that stack. Tomcat has a lighter memory footprint (~60-70 MB), while others are much heavier.
Tomcat did not have support for EE components in the earlier days.But now, this is no longer the case and Tomcat is able to handle most of the stuff other web servers can.
First, with the emergence of OpenEJB, (a standard that allows Tomcat like servers to deploy EJBs simply by using the OpenEJB plugin), lots and lots of differences between the two type of servers have been eliminated.
Second was the rise of several third party frameworks like Spring, Hibernate, Grails, Rails etc. each of which provides functionalities of some of the Java EE components and together they compete very well with Java EE components. The use of these frameworks gives the extra advantage that the developer can deploy only the component which he requires and gain full control over those components. Thus, he does not need to go for the full fledged EJB application servers which are often heavy to use and some of them are pretty costly.
Lastly, Java continues to add features to its core library which borrows features from all of them and hence the functionalities keep moving from other areas to become part of Java itself. Due to this, these features are available directly inside the plain vanilla Tomcat too.
To sum up, these days, Tomcat can provide almost the same functionality as the other enterprise servers. While Tomcat can be configured to use any component, other servers have the risk of vendor tie-in which means that if server from a specific company is used, then it becomes difficult to integrate the best available software in market as the same might not be supported.
|Email:||(Your email is not shared with anybody)|