• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Web server

 
Ranch Hand
Posts: 112
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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.
 
Ranch Hand
Posts: 623
1
IntelliJ IDE Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
    Number of slices to send:
    Optional 'thank-you' note:
  • 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: 623
1
IntelliJ IDE Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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!
 
I'm doing laundry! Look how clean this tiny ad is:
a bit of art, as a gift, the permaculture playing cards
https://gardener-gift.com
reply
    Bookmark Topic Watch Topic
  • New Topic