One of my friends (who is a J2EE consultant) recently mentioned that one of his customers is planning to build an application that requires transaction interoperability between application servers from two different J2EE vendors. What they want to do is to initiate a transaction from one container (let us assume OC4J) and want to pass the transaction context to another container (say Weblogic). Is this a real need for many customers? I do not know of anyone who actually built and deployed an application in production that uses transaction interoperability between J2EE containers from two different vendors.
In my opinion, transaction propagation between J2EE containers from the same vendor is a bad idea in the first place. Then why propagate transaction between two foreign containers. Theoretically this should work if both J2EE containers support transaction interoperability with OTS. J2EE does not require either transaction propagation between J2EE container or transaction propagation between OTS. This could be a support nightmare for you if something goes wrong in a transaction and this type of architecture must be avoided in mission critical transactions.
I will really appreciate if you post a comment if you disagree and have encountered situations that this is a real need for customer applications and you have implemented applications that used this architecture.