Win a copy of Murach's Python Programming this week in the Jython/Python forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

use of WebServers infront of enterprise app server  RSS feed

 
mathew lawrence
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
we have a scenario where the webservers like iplanet or apache, has been placed where our jsp,css,html files are placed and where the request and response are handled. we then have an enterprise app server lying which does the further processing. this is in the production server and done in the development also.

I have done this way, where I do not have a separate web server and have all web-tier files in weblogic server only and she being the only contact for the client for request and response processing.

why do we do this? why do we need a separate web server. why can't we have all in one app server and work.

any thoughts on this? please let me know the pros and cons.

Thanks in advance.
 
Adeel Ansari
Ranch Hand
Posts: 2874
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
BEA Weblogic is an application server plus web server. whereas apache is just a web server. that is the reason you have to integrate it with an application server.

usually we integrate apache with tomcat. but here tomcat primarily is a servlet container. it doesn't support ejb kinda stuff. we can handle simple html page request with tomcat but it is a bit slower in that.

we have some well known server which doesn't need any external web server like apache etc.

BEA Weblogic
IBM Websphere
ORACLE 9i Application Server
JBoss (open source)
MACROMEDIA JRun

i think you dont really configure web & app server, unless you really need to.
 
mathew lawrence
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
thanks adeel. But is there any specific reason why we have. because, certan people say that the static files will be kept in web server and not in app server and hence, we do that kind of.

other point is, some say webserver is good interms of request response processing and faster compared to app server as they are designed for that.so the production server generally have things like that.

anybody have any thought about this.thanks in advance.
 
Paul Sturrock
Bartender
Posts: 10336
Eclipse IDE Hibernate Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Typically we always deploy applications with Apache HTTP Server in front of whatever web container/applciation server combination we are using. The reason is that it makes reconfiguring the applciation to handle a larger load easier - you can do software based load balancing in the HTTP Server layer (which will probably sit on seperate servers to the application server) and spread the requests accross different instances of clustered app servers. Also I believe that web servers are more performant at serving static content than application servers - this is a bit of a sweeping generalization and I must qualify it by saying I've never tested this so I may be wrong (if someone can shout me down - please do). In theory anyway there's less to do if you use a HTTP Server for static content - would you really need requests for a backgroung image to be authenticated by the application server for example?
 
David Harkness
Ranch Hand
Posts: 1646
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Exactly, Paul. We do the same thing where I work. Apache is geared specifically for serving static content (well, originally, and it still excels at it), and does it more cheaply than application servers. Given that most web pages (a single appserver request) will contain many pieces of static content (images, javascripts, css files, etc), you'll want more web servers than application servers.

You'll certainly need to do load testing to see what ratio you need. And as mentioned, you can load balance across the web servers and yet still peg each user to a single application server to take advantage of session caching.

Of course, the latest trend is to move away from EJB containers to servlet containers like Tomcat. This is precisely what we are about to embark upon. The main reason is the huge licensing costs of WebLogic and complexity. Tomcat+Spring+Hibernate is a very effective combination.
 
Stan Sokolov
Ranch Hand
Posts: 120
Hibernate IntelliJ IDE Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have read in Websphere documentation that separation between App Server and Web Server is done to increase security of the system. Assume your webserer IBM HTTP Server (Apache+some IBM stuff) has own IP address. It accepts request for static content like images, css files, some html files etc. Then whenever some request to dynamic context has come then it establish connection with APP server. This is a tricky point because connection could be established using encrypted SSL protocol. Connection is established by special pluging that should be installed. As far as I know IBM provides plugins for Apache, IIE, IPlanet and sure for IBM HTTP Server.
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!