Hi there,
In my just-completed project, I was working getting distributed transactions working.
We implemented this using JBoss's Arjuna Transaction Manager, and Spring's declarative transaction boundaries.
Our request sequence looked like:
browser -> secured servlet -> 'wafer-thin' SLSB -> spring TX-aware proxy -> request-handler POJO
What this meant is that we had a WAR to serve our secured servlet and an EAR to serve our SLSB.
Our SLSB had a static initialiser block to bootstrap our Spring application context.
I don't like the mix of technologies, but I do like the separation of presentation and business tiers, which could reside on different physical locations.
I would be interested to know what others propose to separate tiers when using Spring?