This chapter first described how you can achieve interoperability by sharing a database between two platforms. It covered the current best practice for accessing data stores, including protecting code against changes. The second part of the chapter covers message-based interoperability mechanisms that provide support for transactions and for long-running operations. It described how you can use message queuing products from either Microsoft or J2EE vendors to make connections to Data tier components hosted either on the .NET Framework or on J2EE. With this knowledge, you can now look at the application architecture of the XBikes Web site and see how the developers applied the techniques in Chapters 4 and 5.