El soporte de transacciones en WebSphere Application Server

El servicio de transacciones proporciona soporte para el servicio de transacciones en WebSphere Application Server. La manera en que las aplicaciones utilizan las transacciones depende del tipo de componente de aplicación.

Una transacción es una unidad de actividad dentro de la cual se pueden convertir varias actualizaciones de recursos en un átomo (como una unidad de trabajo indivisible), de modo que, todas o ninguna de las actualizaciones pasan a ser permanentes. Por ejemplo, durante el proceso de una sentencia SQL COMMIT, el gestor de bases de datos compromete de manera atómica varias sentencias SQL en una base de datos relacional. En este caso, la transacción está contenida en su totalidad en el gestor de bases de datos y puede considerarse una RMLT (Transacción local de gestor de recursos). En algunos contextos, se hace referencia a una transacción como una unidad lógica de trabajo (LUW). Si una transacción implica a varios gestores de recursos, por ejemplo, varios gestores de bases de datos, se necesita un gestor de transacciones externo para coordinar los gestores de recursos individuales. Una transacción que abarca varios gestores de recursos se conoce como una transacción global. WebSphere Application Server es un gestor de transacciones que puede coordinar transacciones globales, participar en una transacción global recibida y proporcionar un entorno en el que se puedan ejecutar las transacciones locales del gestor de recursos.

El modo en que las aplicaciones utilizan las transacciones depende del tipo de componente de aplicación, por ejemplo:
  • Un bean de sesión puede utilizar transacciones gestionadas por contenedor (donde el bean delega la gestión de las transacciones al contenedor) o transacciones gestionadas por bean (transacciones gestionadas por componentes donde el propio bean gestiona las transacciones).
  • Los beans de entidad utilizan transacciones gestionadas por contenedor.
  • Los componentes web (servlets) y los componentes de cliente de aplicación utilizan transacciones gestionadas por componentes.

WebSphere Application Server es un gestor de transacciones que permite coordinar los gestores de recursos mediante la interfaz XAResource y participa en las transacciones globales distribuidas con gestores de transacciones que dan soporte al Protocolo CORBA OTS (Object Transaction Service) o al Protocolo WS-AtomicTransaction (Web Service Atomic Transaction). WebSphere Application Server también participa en transacciones importada mediante adaptadores de recursos Java™ EE Connector 1.5. Asimismo, puede configurar las aplicaciones WebSphere para que interactúen con bases de datos, colas JMS y conectores JCA mediante el soporte de transacciones locales, cuando no es necesaria la coordinación de transacciones distribuidas.

[z/OS]Además de dar soporte a la coordinación de gestores de recursos basados en XAResource, WebSphere Application Server para z/OS da soporte a la coordinación de gestores de recursos a través de RRS (Servicios de recuperación de recursos de z/OS). Los gestores de recursos compatibles con RRS son DB2, WebSphere MQ, IMS y CICS. IBM® WebSphere Application Server para z/OS puede coordinar una combinación de gestores de recursos RRSTransactional y gestores de recursos con posibilidades XA en la misma transacción global.

[z/OS]Los gestores de recursos que ofrecen soporte de transacciones se pueden clasificar en dos categorías: los que dan soporte a la coordinación de dos fases (mediante una interfaz XAResource o el soporte RRS) y los que dan soporte sólo a la coordinación de una fase (por ejemplo, mediante una interfaz LocalTransaction). El soporte de transacciones de WebSphere Application Server proporciona coordinación, dentro de una transacción, para cualquier número de gestores de recursos con capacidad de dos fases. También permite utilizar un solo gestor de recursos con capacidad de una fase dentro de una transacción, sin que haya otros gestores de recursos, aunque en este caso no es necesaria una transacción de WebSphere.

[AIX Solaris HP-UX Linux Windows][IBM i]Los gestores de recursos que ofrecen soporte de transacciones se pueden clasificar en dos categorías: los que dan soporte a la coordinación de dos fases (mediante una interfaz XAResource) y los que dan soporte sólo a la coordinación de una fase (por ejemplo, mediante una interfaz LocalTransaction). El soporte de transacciones de WebSphere Application Server proporciona coordinación, dentro de una transacción, para cualquier número de gestores de recursos con capacidad de dos fases. También permite utilizar un solo gestor de recursos con capacidad de una fase dentro de una transacción, sin que haya otros gestores de recursos, aunque en este caso no es necesaria una transacción de WebSphere.

En circunstancias normales, no puede combinar recursos con capacidad de compromiso de una fase y recursos con capacidad de compromiso de dos fases en la misma transacción global, ya que los recursos de compromiso de una fase no dan soporte a la fase de preparación del compromiso de dos fases. Existen casos especiales en los que se pueden incluir recursos de capacidad combinada en la misma transacción global:
  • En los casos en los que sólo hay un proveedor de recursos de compromiso de una fase que participa en la transacción y todos los proveedores de recursos de compromiso de dos fases que participan en la transacción se utilizan en modo de sólo lectura. En este caso, los recursos de compromiso de dos fases votan todos como sólo lectura durante la fase de preparación del compromiso de dos fases. Dado que el proveedor de recursos de compromiso de una fase es el único proveedor que realiza actualizaciones, el recurso de compromiso de una fase no se tiene que preparar.
  • En los casos en los que sólo hay un proveedor de recursos de compromiso de una fase que participa en la transacción con uno o más proveedores de recursos de compromiso de dos fases en los que está habilitado el soporte de último participante. El soporte de último participante permite utilizar un solo recurso con capacidad de compromiso de una fase con cualquier número de recursos con capacidad de compromiso de dos fases en la misma transacción global. Si desea obtener más información sobre el soporte de último participante, consulte Utilización de recursos de compromiso de una fase y de dos fases en la misma transacción.

El servicio de sesión de actividad proporciona un ámbito UOW (unidad de trabajo) alternativo al proporcionado por los contextos de transacciones globales. Se trata de un contexto distribuido que se puede utilizar para coordinar varios gestores de recursos de una fase. El contenedor de EJB de WebSphere y las herramientas de despliegue dan soporte a sesiones de actividad como una extensión del modelo de programación Java EE. Los enterprise beans se pueden desplegar con ciclos de vida influenciados por el contexto de sesión de actividad, como alternativa al contexto de transacción. De esta forma, una aplicación puede interactuar con un gestor de recursos el tiempo que dura una sesión de actividad de ámbito de cliente, en lugar de sólo el tiempo que dure un método EJB y hacer que la sesión de actividad dirija el resultado de transacción local del gestor de recursos. Si desea obtener más información sobre las sesiones de actividad, consulte Utilización del servicio de sesión de actividad.

[z/OS]Puede utilizar clases de transacción para clasificar la carga de trabajo de los clientes para la gestión de cargas de trabajo. La carga de trabajo consiste en distintas transacciones de WebSphere destinadas a regiones de servidor diferentes, cada una con unos objetivos definidos por las clases de servicios correspondientes. Cada transacción se asigna en su propio enclave WLM en un proceso de región de servicio, y se gestiona según los objetivos de su clase de servicio. El controlador del servidor, al que la gestión de cargas de trabajo ve como un gestor de colas, utiliza el enclave asociado con una solicitud de cliente para gestionar la prioridad del trabajo. Si el trabajo tiene una prioridad alta, la gestión de cargas de trabajo puede direccionar el trabajo a un servant de prioridad alta en el servidor. Si el trabajo tiene una prioridad baja, la gestión de cargas de trabajo puede direccionar el trabajo a un servant de prioridad baja. El efecto es crear una partición del trabajo según la prioridad en el mismo servidor.


Icon that indicates the type of topic Concept topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cjta_trans
File name: cjta_trans.html