• Post Reply Bookmark Topic Watch Topic
  • New Topic

Web server  RSS feed

 
Pankaj Kumarkk
Ranch Hand
Posts: 112
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,
In a lot of web applications I see the deployment structure as follows:
Web Server > Application Server

e.g Iplanet > Websphere

As per my understanding every application server has a web server embedded in it(e.g websphere has ihs). I want to know what could be then the reason for the above deployment structure.
 
Piotr Nowicki
Ranch Hand
Posts: 611
1
IntelliJ IDE Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Pankaj!

It's just better to leave the HTTP connection service for one (independent) module and more application-related operations for another.

It's just a separation of concerns which makes the whole architecture more maintainable and flexible as it allows to reuse particular parts - i.e. application servers can reuse web servers.

Cheers!
 
Pankaj Kumarkk
Ranch Hand
Posts: 112
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Pedro,
Thanks for the response. As per understanding a web server simply listens for a HTTP Request and responds by providing the desired resource. I thought this doesn't require a separate software stack to be used(we can use the app server's web server implementation)

When you say that separating web server and application server is essentially to implement separation of concerns, this would mean that there is a lot of things a web server does which warrants its responsibility to given to a separate module.
Can you point me to appropriate link/reference/book where I can learn what all a web server does so that I can understand the things better.
 
Piotr Nowicki
Ranch Hand
Posts: 611
1
IntelliJ IDE Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Sure thing - just take a look at some web server documentation (like apache web server). Then you can proceed to clustering application and load balancing. I think then you will see why application server is separated from web server in production systems.

Using web server embedded in application server should not be used in production if you really are interested in high performance, scalable and flexible solution.

Edit: also think about serving static content like images, css, html, etc. Is it really needed to put those simple requests to fully fledged application server? Or maybe these could be served by web server which only forwards business logic requests to app serv?

Cheers!
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!