What is a Server?
In Java terms, there are some codes, application, modules that need a certain type of environment to get executed. The software that provides this environment is called as server.
A server can be classified as broadly into two categories:
A web server is the software or utility which takes http/https based request from browsers and generate html response which can be shown on web browsers.
In Java technology, web servers are generally used to deploy html and jsp pages and for the business logic the request is forwarded to application servers.
e.g. of Web Servers : Apache Web Server , Iplanet/SunOne Web Server etc.
An application server is the software or utility used to deploy complex business logic modules. It provides other facilities to the deployed application such as transaction management , security management etc .
Most important use of the application server is to deploy EJB ( enterprise java beans ) which is used to create Distributed Enterprise Applications.
Java has specified some specification as J2EE-Specifications and all the application container has to follow this specification to become a J2EE compatible application server.
e.g. of application server : oracle weblogic server, IBM websphere server , Jboss server , glassfish server etc.
Difference between Application server and Web Server :
- The most basic difference is , web server is used to deploy html and jsp pages to fulfill client request whereas application server is used to deploy Enterprise Java Beans, Servlets and JSP’s .
- Web Server is mainly used to generate the only request and response for the clients and for most of the business logic web server forwards the request to the application server. So web server is mainly used for proxy-ing the client request to application server.