The management of transactions is a vitally important part of any integration strategy. Why is transactional support important when talking about Java EE and .NET application communication? First, to ensure data integrity when interoperating between Java EE and .NET applications, it is often necessary to operate in the scope of a distributed transaction. Both the Java EE platform and the .NET Framework provide flexible models for parallel access of shared resources and ensure that at the end of a transaction data are not corrupted or lost. The challenge is that supported native mechanisms are neither interoperable nor compliant with each other. This chapter outlines various strategies and considerations pertaining to Java EE and .NET component integration in the scope of an atomic transaction. Specifically, it discusses distributed transaction support across Java EE and .NET using messaging and Web services technologies. In the context of the Java EE .NET integration, a transaction is used to coordinate multiple operations that span across multiple platforms and control the commit or abort of any changes submitted to the underlying data source. The cross platform transactional support depends on a mechanism selected for application interconnection and the required level of transactional integrity. Before exploring distributed transaction strategies, it is important to get familiar with the concept of transactional integrity as well as the mechanics of Java EE and .NET transaction management. |