Support de transactions dans WebSphere Application Server

Cette rubrique décrit la prise en charge des transactions fournie par le service de transaction de WebSphere Application Server. La manière dont les applications utilisent les transactions varie en fonction du type de composant d'application.

Une transaction est une unité d'activité dans laquelle plusieurs mises à jour de ressources peuvent être atomiques (définies comme unités de travail individuelles), de sorte que toutes les mises à jour, ou aucune, sont permanentes. Par exemple,pendant le traitement d'une instruction SQL COMMIT, le gestionnaire de la base valide atomiquement plusieurs instructions SQL dans une base de données relationnelle. En pareil cas, la transaction figure entièrement dans le gestionnaire de base de données et peut être considérée comme une transaction locale du gestionnaire de ressources (RMLT). Dans certains contextes, une transaction est qualifiée d'unité logique de travail (LUW). Si une transaction inclut plusieurs gestionnaires de ressources (par exemple, plusieurs gestionnaires de base de données), un gestionnaire externe de transactions est requis pour les coordonner. Une transaction portant sur plusieurs gestionnaires de ressources est qualifiée de transaction globale. WebSphere Application Server est un gestionnaire de transactions pouvant coordonner des transactions globales, prendre part à une transaction globale reçue et fournir un environnement dans lequel des transactions locales d'un gestionnaire de ressources peuvent être exécutées.

La manière dont les applications utilisent les transactions varie en fonction du type de composant d'application :
  • Un bean session peut utiliser des transactions gérées par conteneur (le bean délègue la gestion des transactions au conteneur) ou des transactions gérées par bean (transactions gérées par composant et dans lesquelles le bean gère lui-même les transactions).
  • Les beans entity utilisent les transactions gérées par conteneur.
  • Les composants Web (servlets) et les composants de clients d'applications utilisent des transactions gérées par composant.

WebSphere Application Server est un gestionnaire de transactions qui prend en charge la coordination des gestionnaires de ressources via leur interface XAResource, et participe à des transactions globales distribuées avec des gestionnaires de transaction qui prennent en charge le protocole OTS (Object Transaction Service) CORBA ou le protocole WS-AtomicTransaction (Web Service Atomic Transaction). WebSphere Application Server prend également part à des transactions importées via des adaptateurs de ressources Java™ EE Connector 1.5. Vous pouvez également configurer les applications WebSphere de manière à interagir avec les bases de données, avec les files d'attente JMS et les connecteurs JCA grâce à leur prise en charge de la transaction locale, lorsque la coordination de la transaction distribuée n'est pas nécessaire.

[z/OS]Outre la prise en charge de la coordination de gestionnaires de ressources basés XAResource, WebSphere Application Server pour z/OS prend en charge celle de gestionnaires de ressources via RRS (services de reprise de ressources z/OS). Les gestionnaires de ressources compatibles RRS sont DB2, WebSphere MQ, IMS et CICS. IBM® WebSphere Application Server pour z/OS peut coordonner une combinaison de gestionnaires de ressources RRSTransactional et de gestionnaires de ressources compatibles XA dans la même transaction globale.

[z/OS]Les gestionnaires de ressources prenant en charge les transactions peuvent être classés en deux catégories : ceux qui assurent une coordination en deux phases (avec une interface XAResource ou le support de RRS) et ceux qui assurent une coordination en une seule phase (par exemple avec une interface LocalTransaction). Le support de transactions WebSphere Application Server permet la coordination, dans le contexte d'une transaction, de n'importe quel nombre de gestionnaires de ressources disposant d'une capacité de validation en deux phases. Elle permet également l'utilisation d'un seul gestionnaire de ressources disposant d'une capacité de validation à phase unique dans le contexte d'une transaction en l'absence de tout autre gestionnaire de ressources, bien qu'une transaction WebSphere ne soit pas requise dans ce cas.

[AIX Solaris HP-UX Linux Windows][IBM i]Les gestionnaires de ressources prenant en charge les transactions peuvent être classés en deux catégories : ceux qui assurent une coordination en deux phases (avec une interface XAResource) et ceux qui assurent une coordination en une seule phase (par exemple avec une interface LocalTransaction). Le support de transactions WebSphere Application Server permet la coordination, dans le contexte d'une transaction, de n'importe quel nombre de gestionnaires de ressources disposant d'une capacité de validation en deux phases. Elle permet également l'utilisation d'un seul gestionnaire de ressources disposant d'une capacité de validation à phase unique dans le contexte d'une transaction en l'absence de tout autre gestionnaire de ressources, bien qu'une transaction WebSphere ne soit pas requise dans ce cas.

Dans des circonstances normales, vous ne pouvez pas combiner des ressources de validation à une phase avec des ressources de validation à deux phases dans la même transaction globale car les premières ne prennent pas en charge la phase de préparation de la validation en deux phases. Dans certains cas, il est possible de combiner des ressources de validation mixtes dans la même transaction globale :
  • Dans les scénarios où un seul fournisseur de ressources de validation à une phase participe à la transaction et où tous les fournisseurs de ressources de validation à deux phases qui participent à la transaction sont utilisés en mode lecture seule. Dans ce cas, les ressources de validation à deux phases sont toutes en lecture seule lors de la phase de préparation de la validation à deux phases. Etant donné que le fournisseur de ressources de validation à une phase est le seul fournisseur qui effectue des mises à jour, la ressource de validation à une phase n'a pas besoin d'être préparée.
  • Lorsqu'un seul fournisseur de ressources de validation à une phase participe à la transaction avec un ou plusieurs fournisseurs de ressources de validation à deux phases et que la support du dernier participant est activé. Celui-ci permet d'utiliser une seule ressource de validation à une phase avec n'importe quel nombre de ressources de validation à deux phases dans la même transaction globale. Pour en savoir plus sur le support du dernier participant, voir Utilisation de ressources de validation à une phase et deux phases dans la même transaction.

Le service ActivitySession offre une autre portée d'unité de travail (UOW) que celle fournie par les contextes de transactions globales. Il s'agit d'un contexte réparti pouvant être utilisé pour coordonner plusieurs gestionnaires de ressources à phase unique. Le conteneur d'EJB et les outils de déploiement d'EJB WebSphere prennent en charge le service ActivitySession en tant qu'extension du modèle de programmation Java EE. Les beans enterprise peuvent être déployés avec des cycles de vie influencés par le contexte ActivitySession, comme alternative au contexte de transaction. Une application peut alors interagir avec un gestionnaire de ressources pour la durée d'un service ActivitySession orienté client, et non seulement pour la durée d'une méthode EJB. En outre, le résultat de la transaction locale du gestionnaire de ressources peut être acheminé par la session ActivitySession. Pour plus d'informations sur ce service, voir Utilisation du service ActivitySession.

[z/OS]Vous pouvez utiliser les classes de transaction pour classer la charge de travail des clients en vue de la gestion de la charge de travail. La charge de travail correspond à différentes transactions WebSphere ciblées sur des régions servantes, chacune ayant des objectifs définis par des classes de service appropriées. Chaque transaction est distribuée dans sa propre enclave WLM dans un processus de région serviteur et est gérée en fonction des objectifs de sa classe de service. Le contrôleur du serveur, que la gestion de la charge de travail considère comme un gestionnaire de files d'attente, utilise l'enclave associée à une demande client pour gérer la priorité du travail. Si la priorité du travail est élevée, le système de gestion de la charge de travail peut l'acheminer vers un servant à priorité élevée du serveur. Si la priorité du travail est faible, le système de pondération de charge de travail peut l'acheminer vers un servant à faible priorité. L'objectif consiste à répartir les travaux en fonction de leur priorité sur un même serveur.


Icône indiquant le type de rubrique Rubrique de concept



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cjta_trans
Nom du fichier : cjta_trans.html