Most of the time, you will only cluster what external clients use from your applications. Consequently, most of the time you will only cluster the facade SLSB and not the EB. Then, you deploy your *complete* application on *all* nodes. What is absolutly to avoid is to have some calls using some EB running on one node and then failing over to another node: performance is crap, adminstration is a nightmare, plus you would have to use distributed transaction (and it is not even sure it would work as XA drivers have limitations in this area)
Keep it simple: cluster only what you need. Here I made the hypothesis that you have swing clients. If you have servlet clients, then that is even easier: simply cluster your HTTP session and make all your servlets only access the local EJBs (no remote calls to the other nodes, stay local)
Thank you Sacha, at least one clear answer about where the J2EE is now (I do not want to complain, I just like when things are clear and not misty (like chapters dedicated to clustering in Mastering EJB2 and Professional EJB)).
Thank you also for really quick response. Have a safe and productive rest of the day :-)