Cette prise en charge vous permet de construire une application Java™ EE pour regrouper un ensemble de changements en une seule transaction, ou une seule unité de travail, de manière à ce que les changements au sein d'une transaction soient tous effectués ou annulés. Cette prise en charge signifie que votre application peut s'exécuter sur un serveur d'applications compatible avec Java EE (par exemple WebSphere Application Server) et accéder de manière coordonnée aux transactions et données IMS. La gestion de la transaction globale garantit quant à elle l'intégrité des données dans IMS.
Lorsque vous modifiez vos ressources protégées, vous souhaitez garantir que ces changements sont correctement effectués. En tant que client d'une banque, par exemple, vous voulez effectuer un transfert de votre compte épargne sur votre compte courant. Vous voulez être sûr que le débit sur votre compte épargne et le crédit sur votre compte courant sont effectuez simultanément. Vous ne souhaitez pas que cette transaction s'effectue en partie, c'est-à-dire que la somme prévue soit prélevée sur votre compte épargne mais ne soit pas déposée sur votre compte courant.
Prenons comme autre exemple un vol San Francisco-Paris. Vous voulez acheter un billet mais il n'y a pas de vol direct. A moins de réussir à réserver un billet jusqu'à Chicago puis un autre billet de Chicago à Paris, vous ne pourrez pas vous rendre à Paris. Vous allez donc "annuler" votre décision de vous rendre à Paris car il n'est pas intéressant pour vous d'avoir une place réservée pour une partie seulement de votre voyage.
Dans les deux exemples que nous venons de voir, plusieurs petites transactions sont nécessaires à l'accomplissement d'une plus grande transaction. Si vous rencontrez des problèmes avec l'une de ces petites transactions, vous ne souhaiterez pas valider la transaction globale (transférer votre argent ou partir pour Paris). Vous préférez annuler chaque étape de la transaction afin qu'aucune des petites transactions ne soit validée. Afin de pouvoir transférer votre argent ou de pouvoir vous rendre à Paris, vous souhaitez que la gestion des transactions soit coordonnée pour accomplir la transaction globale.
Afin de garantir un processus de transaction coordonné, la plateforme Java EE (qui consiste en un serveur d'application Java EE, des composants d'application Java EE et un adaptateur de ressources d'architecture J2EE Connector) fournit un environnement de traitement des transactions distribué dans lequel les transactions sont gérées de manière transparente et les ressources sont mises à jour puis récupérées de manière coordonnée entre plusieurs plateformes.