1. In Development and/or Test Environment WAS would be sufficient to handle everything you would need from a typical J2EE Web/EJB Application.
2. IBM highly recommends front-ending the WAS Server with HTTP Server (IBM HTTP Server or IHS), which could be anyone of the 5-6 servers they support. IBM provides a plug-in, which sits with the HTTP Server and does some intelligent handling of the requests.
Here are some findings from IBM Red Book that I had copied for my research sometime back:
Page 73 - Book: SG246392
The Web container in WebSphere Application Server has an embedded
HTTP transport (the so-called WebContainer Inbound Chain), which allows for
direct connection to the application without the need for a separate Web
server. While using this transport as a Web server is very handy for testing or
development purposes it should not be used in production environments. For
performance and security reasons, it is recommended that you use a
stand-alone Web server and the HTTP plug-in for the Web server in a
production environment.
[b]Page 231 - Book: SG246392[/b]
However, it is strongly recommended that this internal Web server should not be
used in production environments. If the users connect directly to the
WebContainer Inbound Chain, then they bypass the plug-in and the workload
management it performs, as well as the failover and session affinity mechanisms
it provides — not to mention the ESI dynamic caching function in the Web server
plug-in, if enabled.
Page 1016 - Book: SG246392
– The plug-in load-balancing and failover algorithms work more efficiently in
a multi-threaded HTTP server. If one plug-in
thread marks an application
server unavailable, all other connection threads of the plug-in within the
same process will share that knowledge, and will not try to connect to this
particular application server again before the RetryInterval has elapsed.
See 6.10, “WebSphere plug-in behavior” on page 309 for information
about the RetryInterval parameter and plug-in load balancing and failover
issues.