Application servers and web servers two type of servers need to know in web application development in software world. Developer write the piece code,packs this code as war and deploy/host the code in
one of the web server or application server, then users of the application can access the features of the application from any where in the world
Webservers are used to generate the dynamic content as well as static content. Clients send the http requests, process the request and gives response back to the user. Web servers process the html content, images, stylesheets elements. Popular webserver are apache webserver and Microsoft IIS. Webserver is hardware and software, machine which has IP Address assigned to domain name, for example, client browser request for wwww.domainname.com/index.html, webserver on that box request index.html content and give back the response to the browser. This communication from client to webserver is happening over http protocol defined by w3c org web server is most basic server to know in web based application development. The application s are packed as folder as well as web archives developed in java, php or Microsoft net technologies. webserver is used for small scale projects.
Application Servers is a java server which provides different following set of reusable following services. Application servers are used mostly in N-tier based projects, in which webserver act as front controller for application servers. Application servers host the EJB projects in the form of ear i.e. enterprise archive structure which contains jars and war modules
1.Object lifecycle management:- This service is basic service in any application servers, and create a pool of objects, does garbage collection and share this objects states in among user sessions calls. 2. Connection pooling :- Provides pre created pool of connections to the different databases and manages the connections, returns the connections to the pool whenever the connections are not used by the applications 3. Security Management:- application servers provides different levels of securities including authorization and authentication with different providers like databases realms, text files, and different LDAP Providers. Provides security at domain object level, web resource level as well as web context level. 4.java messaging services:- Application servers provides in build java messaging services as well as integrated with different JMS providers like SUN MQ providers. 5. Transaction management:- To maintain the ACID properties for the application transaction, application servers integrate with JTA and ORM Transactions 6. Load Balance and clusters:- To accommodate the load on the servers, group of application servers act as node, connected with group of nodes and serve the response even one of the node in group of node fails. 7. Fault Tolerance: - application servers provide the 99.999 up time to provide the reliable application with 367X24 up time.
I have listed few services here, but there are more services provided by application servers. Developers need not write the above services when developing any j2ee applications, and write his business functionality code and can reuse those above services
Difference between Application server and web servers is a basic interview question on j2eee world. application servers are used to provide the different business services as mentioned below, web servers provides receives the request and get the dynamic content and send the response to the client. Application servers are used in large scale enterprise projects, web servers are used in small scale projects. the architecture for application servers is N-tier node architecture where number of nodes are connected as clustered environment. webserver can be used in 2 tier as well as n tier architecture, and act as front controller for n tier architecture
The following are the list of popular application servers in java
1.apache Tomcat 2.Cauche resin 3.BEA Weblogic later acquired by Oracle 4.Linux Jboss 5.IBM Websphere 6.SAP Netweaver WebAs 6.4 7.Oracle Application Server 6.Apache Geronima application server List of popular web servers for **webapplicaiton development ** 1. Apache web server 2. Microsoft IIS