This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Hi All, I would like to know what are the exact functionalities of a application server and a web server. I know that a web server is the one which takes the HTTP requests and delivers the HTTP response to the browser. I have some doubts regarding app server: 1.What is the role of application server in a n-tier architecture? 2.Is the business logic stored only in the application server or in any other server too? What technologies are used to write the business logic? 3.Is Apache Tomcat server a Web server or a Application server or both? 4. I think an Application server can also have the functionality of the Web server, am I right? Please clarify. Thanks, Priyha.
An Application server is more sophisticated and intelligent server when compared to a web server.A web server works on a request-response model.You make a request and it gives you the response.An application server does a lot more than that.It takes care of performance related features like Database connection pooling,bean instance pooling,transaction managenment,security etc.Application servers come into picture (as you righty said)in n-tier architectures (where n is normally > 2)when you are using business components(like EJB) in a distributed architecture. There are a lot of other things that could be discussed here on this topic.But for the time being i will just try to answer your questions.. 1)1.What is the role of application server in a n-tier architecture? The role of an application server is to assist the business components with various things like transaction management,Instance pooling,Security and a host of other system level plumbing features,which are vital for an enterprise application.A web-server cannot provide these facilities. 2)Is the business logic stored only in the application server or in any other server too? What technologies are used to write the business logic? Normally yes..The business logic is stored in the application server in the form of business components.(It is part of the j2ee specification).But you can also load your web components in the application server which might have a little of business logic and a lot of presentation. The technologies mostly used in the industry today to create business components are EJB,DCOM and CORBA. 3)Is Apache Tomcat server a Web server or a Application server or both? As far as i know TOMCAT is a webserver.The j2ee app server has tomcat as it's webserver. 4. I think an Application server can also have the functionality of the Web server, am I right? Yes..Most of the app servers come with built in webserver.As i said earlier the j2ee server has tomcat as it's webserver.
Just a correction to the previous post (a small one -- it was quite a good summary!) All J2EE application servers (from all vendors, including the reference implementation from Sun) come in two parts: (1) A Web Container that implements the Servlet and JSP specifications (2) An EJB container that implements the EJB specification. Tomcat from the Apache consortium IS the Reference implementation of the Servlet specification. Likewise Jasper (which is part of Tomcat) is the reference implementation of the JSP specification. The sun J2EE reference implementation does include Tomcat. You can download whichever one you need, based upon whether you just need servlets or JSP's, or EJB's also. Kyle BTW -- I suggest you read the Sun J2EE blueprints to understand this. It's available at http://java.sun.com ------------------ Kyle Brown, Author of Enterprise Java (tm) Programming with IBM Websphere See my homepage at http://members.aol.com/kgb1001001 for other WebSphere information.
Thanks Manjunath for the detailed explanation. Thanks Kyle for telling me abt the info in the web site (blue prints), this tutorial is very useful. regards, priyha [This message has been edited by Priyha Jootu (edited November 12, 2001).]