This chapter has explained how to implement distributed transactions between Java EE and .NET applications. With respect to best practices, messaging remains the main method to realize distributed transactions across two heterogeneous applications. With messaging, a critical factor pertains to whether all correct requirements are met (no reply, guaranteed delivery, and successful execution at the receiver). As the Web services transaction market-place matures and gains wide product support, transactional interoperability with Web services will become another viable way to integrate Java EE and .NET systems. Unlike the messaging strategy, integration with Web services will not be bound to the same three requirements. The request-reply style of communication is possible within a transaction scope. The message delivery does not have to be reliable. Finally, the successful request execution is no longer required, but rather handled by the transaction manager. Aside from the integration technology, there are at least a couple of considerations that have to be taken into account when implementing distributed transactions across Java EE and .NET. It is important that the designer of the integration use case attend to systemic qualities including performance, scalability, security, and reliability. |