I am new to Java EE and I need to get some facts straight.
I do know that GlassFish, JBoss and JSP/servlets are all servers. Could anyone differentiate them and are they all used to build applications in Java EE?
If yes, are they like platforms for building them?
GlassFish and JBoss are application servers – meaning they implement the Java EE specifications for implementing enterprise level solutions- for ex, messaging, web services, servlets, JTA etc. JBoss is an opensource server and is quite popular. GlassFish server has a community edition and is originally from Sun (now Oracle) and is mainly used as a reference implementation for Java EE although I have heard some companies use the server in their production environments.
Tomcat is an example of a servlet container – means that it can host JSPs and servlets to render dynamic content. Tomcat implements the Servlet specification and EJBs cannot be natively hosted within Tomcat. There is a way to host EJBs within Tomcat using Apache OpenEJB within Tomcat.
Weblogic and Websphere are two other popular commercial Java EE servers.
These servers are not used to build applications but rather to host applications. Hope this differenciation helps. For more information, refer to the Java EE specs.