• 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

Why is IBM HTTP Server needed with WebSphere 6.1?

 
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I realize this is a very newbie question so my apologies in advance. But I simply don't understand why IBM HTTP Server is needed when WebSphere (6.1) already has an embedded HTTP server. Or isn't it actually needed?

Would some be kind enough to explain?
 
Bartender
Posts: 3904
43
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
The very basic explanation (could be more reasons):

1) Imagine you serve image for web site - WAS is slow - it can do this via some servlet sending binary response, while IHS (Apache) can do this natively, not through some Java code. So, main reason - IHS serves static content, and in pair with Web Plugin - IHS can understand which request goes to dynamic content (servlet) and forward this request to WAS.

2) You can setup some BASIC authentication (protected resources), or mod_rewrite rules (all what supported by Apache modules)

HTH,
MZ
 
Aylwin Cal
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thank you very much for the reply! That makes sense.

Now I'd like to describe the specific environment I'm working with. We have WebSphere ND across multiple physical machines. Each machine has both WAS and IHS installed. All web applications are provided by WAS only (no static content). The only purpose of IHS is load balancing: port redirection and forwarding HTTP/HTTPS to WAS on each physical machine. Since IHS is running on each machine, each instance is doing load balancing toward WAS across all machines. Despite IHS though, another load balancer is still needed. In this case, we use LVS.

The need for LVS is clear to me as we obviously need a single access point to the web applications running on WAS. IHS though just seems like an unnecessary "middle man" that provides an extra layer of load balancing which I don't see the point for.

I understand now the need for IHS in other cases but I just feel that IHS is not needed in this case. Or am I missing something?
 
Ranch Hand
Posts: 859
IBM DB2 Chrome Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Wow..

Anyway, it may be possible that even you don't think IHS is serving static content (css, gifs, etc.),
it may actually be caching the responses from WAS on first invocation.

This can be configured quite easily and really does improve performance.

If you are not caching and WAS is serving all static content as well as JEE requests, then I wish you luck!

WP
 
Marshal
Posts: 28193
95
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
It's quite common for organizations with large internal networks (perhaps like yours) to protect them with a firewall. And so there's a strategy where you put the Websphere machines inside the firewall, to protect them from attacks over the web. When you do that, you also have to put a simple web server outside the firewall, whose job is mostly to pass requests on to the Websphere servers.
 
Aylwin Cal
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

William P O'Sullivan wrote:Anyway, it may be possible that even you don't think IHS is serving static content (css, gifs, etc.),
it may actually be caching the responses from WAS on first invocation.

This can be configured quite easily and really does improve performance.



Hmmm, interesting. I never thought of caching. How do I check if it's configured? httpd.conf looks pretty standard. In plugin-cfg.xml, I can see the load balancing configuration, server definitions and port redirections. I'm not sure what to look for that's related to caching.
 
Aylwin Cal
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Paul Clapham wrote:It's quite common for organizations with large internal networks (perhaps like yours) to protect them with a firewall. And so there's a strategy where you put the Websphere machines inside the firewall, to protect them from attacks over the web. When you do that, you also have to put a simple web server outside the firewall, whose job is mostly to pass requests on to the Websphere servers.



In this case, there's no firewall. IBM HTTP Server and WebSphere Application Server are installed on the same physical servers. HTTP/HTTPS (port 80/443) reaches the physical servers, IHS then redirects to WAS (port 9080/9443) either on the same physical server or any of the other physical servers running the IHS-WAS combo.

Sorry to be a pain. I didn't build the system but I'm kinda tasked with maintaining it. So I'm just trying to understand what's going on and why certain things have been implemented this way.
 
Paul Clapham
Marshal
Posts: 28193
95
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Aylwin Cal wrote:Sorry to be a pain. I didn't build the system but I'm kinda tasked with maintaining it. So I'm just trying to understand what's going on and why certain things have been implemented this way.



No problem, questions are exactly what this forum is for.

I might speculate that your system is the way it is because the Websphere management and configuration guide (I don't remember the exact name) suggested that using a separate web server could be a good architectural decision. I'm a little surprised that the two servers are on the same physical machine, but then the document was nearly 1,000 pages long and reading it definitely led to glazing-over of the eyes. It wouldn't be difficult for an inexperienced Websphere architect (which I was one at the time I read that document) to make decisions that seemed like a good idea at the time.

 
Mikalai Zaikin
Bartender
Posts: 3904
43
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Aylwin Cal wrote:

Paul Clapham wrote:It's quite common for organizations with large internal networks (perhaps like yours) to protect them with a firewall. And so there's a strategy where you put the Websphere machines inside the firewall, to protect them from attacks over the web. When you do that, you also have to put a simple web server outside the firewall, whose job is mostly to pass requests on to the Websphere servers.



In this case, there's no firewall. IBM HTTP Server and WebSphere Application Server are installed on the same physical servers. HTTP/HTTPS (port 80/443) reaches the physical servers, IHS then redirects to WAS (port 9080/9443) either on the same physical server or any of the other physical servers running the IHS-WAS combo.

Sorry to be a pain. I didn't build the system but I'm kinda tasked with maintaining it. So I'm just trying to understand what's going on and why certain things have been implemented this way.



Aylwin, please refer this redbook for differend WAS 6.1 concepts and designs. Specifically, you might be interested in "Topology" chapter.

(similar books are available for WAS 7.0, 8.0 and 8.5 if you will migrate to newer version later)

HTH,
MZ
 
Aylwin Cal
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Mikalai Zaikin wrote:Aylwin, please refer this redbook for differend WAS 6.1 concepts and designs. Specifically, you might be interested in "Topology" chapter.



Thank you!!! I wasn't aware of this document. I can see clearly now that our system uses the "Horizontal scaling with IP sprayer topology" as described in section 5.7 under "Topology". IHS is installed on the same servers as WAS with the following explanation:

"Both Web servers perform load balancing and failover between the application servers in the cluster through the Web server plug-in. If any component on Server C or Server D fails, the other can continue to receive requests."

The above explanation is kind of obvious to me but it doesn't really say why the web servers (IHS) are needed. The IP sprayer (LVS, in our case) already performs load balancing and fail over should happen anyway between LB and WAS regardless of IHS. The purpose of IHS is clearer with the other topologies where IHS is installed on a different server on the opposite side of a domain firewall. But it's purpose is not so clear to me when IHS is installed on the same server as WAS is as in the case of "Horizontal scaling with IP sprayer topology" (and "Reverse proxy topology").

Yes, I realize now that there can be various reasons why IHS would be needed under certain conditions or applications. But in the absence of those certain conditions or applications, why is IHS still needed? For example, why couldn't we use the "Horizontal scaling topology" but replace IHS with a proper load balancer like IBM EDGE or LVS?

It seems that WAS can't exist without IHS and that brings me back to the question: why? Why is IHS an absolute must?
 
Paul Clapham
Marshal
Posts: 28193
95
Eclipse IDE Firefox Browser MySQL Database
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Aylwin Cal wrote:It seems that WAS can't exist without IHS and that brings me back to the question: why? Why is IHS an absolute must?



Well, it isn't an absolute must. I regularly connect to our Websphere machines directly (via port 9081 or some similar number) when I'm testing, rather than going through the web server which is officially in front of them. And I'm pretty sure (check the redbook) that you could configure Websphere to listen to port 80 rather than port 9081. I think it's just that architects would be embarrassed to implement Websphere in such a simple way.

Or to put it more politely, that would be an inflexible way of implementing it. If you had just one instance of Websphere and nothing else, then if you wanted to move to any other architecture, you would have to start by inserting a web server. (I say "a web server" and not "IHS" because other web servers such as Microsoft IIS can also be used.)
 
This parrot is no more. It has ceased to be. Now it's a tiny ad:
a bit of art, as a gift, that will fit in a stocking
https://gardener-gift.com
reply
    Bookmark Topic Watch Topic
  • New Topic