Tech Me More

To quench our thirst of sharing knowledge about our day to day experience & solution to techincal problems we face in our projects.

Advertise with us !
Send us an email at diehardtechy@gmail.com

Thursday, July 3, 2014

What is the difference between an application server and a web server. (Java/J2EE)

The most widely asked question in Java interview is what is the difference between an application server and a web server?




Web server: A web server is nothing but a container which provides an environment in which a web application can be deployed. Web server serves the static contents and supports HTTP protocol. 

Web server does not offer supports for connection pooling, integrity management, security by itself. Web servers just provide an environment to execute server side application, whenever a request arrive a web server give away it to the program which can best handle the request, the program serves the request and send off the response to server mostly in form of HTML pages, image (static content). 

Web servers allows only Http request and are suitable for small and medium scale applications. 

Example of web servers:


TOMCAT 
Apache
Open source
JETTY
ECLIPSE FOUNDATION
Commercial





Application server: An application server on the other hand provides additional facilities along with all other facilities provided by web server, it provides support for connection pooling; also provides support for both HTTP and non-HTTP request, if an application uses business logic an application server is required.  

Most of application server itself contains web server. Application servers provide support for EJB (enterprise java bean), and are based upon SERVLET, JSP,EJB, JMS etc. specification, provides more middle ware services in compare to web servers, and are very suitable for large scale applications.

List of application servers:



WebLogic Application Server 
Oracle corporation
Commercial
WebSphere Application Server
IBM
Commercial
JBOSS
Redhat
Open source
Oracle corporation
Open source
 Resin Java Application Server
Caucho Technology
Open source

No comments: