Difference between a Web Server, Web Container, and an Application Server

Difference between a Web Server, Web Container, and an Application Server

Web Server is a server capable of receiving HTTP requests, interpreting them, processing the corresponding HTTP Responses and sending them to the appropriate clients (Web Browsers). Example: Apache Web Server.

Web Container is a J2EE compliant implementation which provides an environment for the Servlets and JSPs to run. Putting it differently we can say that a Web Container is combination of a Servlet Engine and a JSP Engine. If an HTTP Request refers to a Web Component (typically a Servlet or a JSP) then the request is forwarded to the Web Container and the result of the request is sent back to Web Server, which uses that result to prepare the HTTP Response for the particular HTTP Request. Example: Tomcat is a typical Web Container. A typical setup would be to have Apache HTTP Server as the Web Server and Tomcat as the Web Container.



An Application Server is a complete server, which provides an environment for running the business components (EJBs, ADF BCs, etc.) in addition to providing the capabilities of a Web Container as well as of a Web Server. Example: Bea WebLogic, IBM WebSphere, Oracle Application Server,Jboss etc.




Tomcat - is run by Apache community - Open source and has two flavors Tomcat - Web profile - light weight which is only servlet container and does not support Java EE features like EJB, JMS etc. Tomcat EE - This is a certified Java EE container, this supports all Java EE technologies.
No commercial support available (only community support)


JBoss - Run by RedHat This is a full stack support for JavaEE and it is a certified Java EE container. This includes Tomcat as web container internally. This also has two flavors Community version called Application Server (AS) - this will have only community support Enterprise Application Server ( EAP) - For this, you can have subscription based license (It's based on number of Cores you have on your servers.)

Comments

Popular posts from this blog

Angular JS