El servicio de sesión de actividad
El servicio de sesión de actividad proporciona un ámbito UOW (unidad de trabajo) alternativo al proporcionado por los contextos de transacciones globales. Un contexto de sesión de actividad puede durar más que un contexto de transacción global y puede encapsular transacciones globales.

Aunque la finalidad de una transacción global es coordinar varios gestores de recursos, las aplicaciones empresariales suelen utilizar un contexto de transacción global como un contexto de "sesión" a través del cual se accede a las instancias de Enterprise JavaBeans (EJB). Un contexto de sesión de actividad es un contexto de sesión, que puede utilizarse en lugar de una transacción global en aquellos casos en los que no se necesita la coordinación de gestores de recurso de confirmación de dos fases. Además, una sesión de actividad puede asociarse con un objeto de sesión Http para ampliar una "sesión de cliente" a un cliente HTTP.
El soporte de sesión de actividad está disponible para componentes de cliente web, EJB y de plataforma Java™ para aplicaciones empresariales. Los componentes EJB se pueden dividir en beans que explotan sesiones de actividad gestionadas por contenedor y beans que utilizan sesiones de actividad gestionadas por bean.
El servicio de sesión de actividad proporciona una interfaz de programación de aplicaciones UserActivitySession disponible para los componentes de aplicación empresarial que utilizan sesiones de actividad gestionadas por beans para que las aplicaciones gestionen la demarcación del contexto de sesión de actividad. El servicio de sesión de actividad también proporciona una interfaz de programación de sistema para demarcaciones gestionadas por contenedor de contexto de sesión de actividad y para alistamiento gestionado por contenedor de recursos de una fase (transacciones locales de gestor de recursos, RMLT) en dichos contextos.
La interfaz UserActivitySession se obtiene mediante una búsqueda JNDI Java Naming and Directory Interface) de java:comp/websphere/UserActivitySession. Esta interfaz no está disponible para enterprise beans que utilizan sesiones de actividad gestionadas por contenedor y cualquier intento por parte de dichos beans de obtener la interfaz producirá una excepción NotFound.
Un escenario común es una aplicación empresarial que accede a uno o más enterprise beans soportados por recursos que no son de transacción (de confirmación de una fase). La aplicación o su contenedor, utilizan la interfaz UserActivitySession para definir los límites de la demarcación por la que se agrupan las operaciones realizadas en los enterprise beans y para controlar si se deben descartar estas operaciones agrupadas o si se debe realizar un punto de comprobación. La lógica de empresa de los enterprise beans no necesita utilizar ninguna interfaz de sesión de actividad. El contenedor en el que se despliegan los enterprise beans garantiza la coordinación de las actualizaciones en los gestores de recursos de una fase subyacentes.
La aplicación puede aplicar un punto de comprobación en una sesión de actividad para crear un nuevo punto de coherencia en la sesión de actividad sin finalizar la sesión de actividad. La aplicación también puede utilizar una operación de restauración para que el trabajo realizado en la sesión de actividad vuelva al último punto de coherencia. La aplicación puede finalizar la sesión de actividad con una operación para aplicar un punto de comprobación o para restaurar todos los recursos.