Over the years, I've valued session replication as a "must have". Many decisions about how the application works have revolved around the low-level implications of serializing large quantities of data to node members within a cluster.
Recognizing that each application server has its own way of providing session replication, there are still implications on how your application is built. My thinking is, it is easy to replicate data, but challenging on handling a recovery.
My question to this community is: Do you use session replication, and if so how does it influence the design and execution of your transactions?