a) Do i really need to have a separate web container if i have selected "local" architecture, single ear deployment? wont my app server alone is not enough?
Note: i have a load balancer in-front of my app server.
b) if i need to have separate web container, there is any advantage over without having it?
If I choose to go with local architecture ( single ear with local ejbs) we cannot load balance EJBs right. what happens when a ejb is not available for some reason but the web container is fine. will it show service unavailable. And one more question when a ejb goes down in the middle of a transaction , when the request gets routed to another cluster , what is the status of in-flight transaction
when you really want something, all the universe always conspires in your favour.<br /> <br />SCJP1.5-77%<br />SCWCD-89%
As per my opinion scenario with both web & business tier are running in single JVM, web tier available & EJB tier down has a very low probability. In most of the cases when EJB tier is down the web tier will also be down, in this scenario the load balancer will not forward request to the node.
In flight transactions are lost in case node goes down while processing requests. Correct transaction handling will ensure that data is not corrupted in this scenario. Load balancer will detect that node is down & will not send subsequent requests to this node.