If you don't need to deploy business logic or JMS or any configurable transaction features as we have in case of applicationservers like weblogic go for web servers.
As far as security and system level functionalities are concerned application servers are far better.
Go with web servers for easy to develop and deploy servers.
There is no unique definition of an "application server", so what it might or might not be capable of doing is up to one's own definition. What *is* strictly defined is a "JEE server" or "JEE application server" - it must implement everything the JEE spec says is mandatory. So I disagree with this:
Seetharaman Venkatasamy wrote:
* IS-A webserver
* some server, also support other protocal example: BEA support sip
An application server need not also be a web server. Those roles are often separated out into different (logical or physical) servers. As regards SIP, support for that can easily be added to a servlet container like Tomcat (which, by the way, I wouldn't call a "web server": if people need a web server -and specifically *not* a servlet container- then Tomcat is not the server of choice).
Ulf Dittmer wrote: I wouldn't call a "web server": if people need a web server -and specifically *not* a servlet container- then Tomcat is not the server of choice.
True. but most of the time people get confused between web server vs web container. so to make it simple I use web server
Joined: Mar 22, 2005
The problem with the term "web container" is that it's so infrequently used that people just don't know what it is. What a "servlet container" does, OTOH, is clear, at least in the Java world. Whereas referring to something as "web server" that is predominantly not used as that but as a servlet container, just muddies the water, IMO.
Joined: Sep 19, 2006
Thanks for all your replies.
From my perspective,
- "Web Server" should host all JSP/Servlet/HTML where as any business logic should be implemented in "Application server".
- For security reason the Web server and Application server should be properly firewalled to effectively secure the two layers.
- "Web Server" should manage the user session and can propagate the security context to "application server" on a call.