Para crear un componente de aplicación que utilice el soporte de actividades empresariales, debe establecer Ejecutar métodos EJB bajo un ámbito de actividades empresariales en el
descriptor de despliegue del componente de aplicación relevante y, si es necesario, cree y especifique un manejador de compensaciones para que la aplicación lo utilice si se produce un error. A continuación, compile el componente en la aplicación y despliegue la aplicación en un servidor con el soporte de actividades empresariales habilitado. El componente de aplicación puede ser un
enterprise bean o un servicio web que se implementa como enterprise bean.
Antes de empezar
Para obtener información sobre la edición de descriptores de despliegue con
Rational
Application Developer, consulte la información de
Rational
Application Developer.
Acerca de esta tarea
Realice esta tarea para que una aplicación que se ejecuta en un
servidor habilitado para las actividades empresariales utilice el soporte de
actividades empresariales durante la ejecución y para realizar trabajo que más
adelante se pueda compensar mediante un manejador de compensaciones. Si la aplicación requiere compensación cuando finaliza un ámbito de actividad empresarial, la aplicación pasa los datos que el proceso de compensación necesita a un manejador de compensaciones indirectamente utilizando la API de actividades empresariales. Los datos que el proceso de compensación necesita pueden estar en la forma de un objeto serializable o de un objeto de datos de servicio (SDO).
Procedimiento
- Diseñe el componente de aplicación que requiere el soporte de actividades empresariales. En concreto, defina los requisitos de componentes de aplicaciones para las actividades de compensación y cierre. Si el componente de aplicación requiere compensación, defina la clase de los datos en el objeto serializable o en el SDO que el componente de aplicación pasa al manejador de compensaciones.
- Utilizando la información del diseño de aplicación, cree el manejador de compensaciones para el componente de aplicación, si es necesario. Este manejador define la lógica de cierre y compensación que se ejecuta en la finalización de un ámbito de actividades empresariales al que se le ha añadido el manejador a través de un componente de aplicación.
- Abra la herramienta de ensamblaje de WebSphere Application Server que desee.
- Cree una nueva clase Java™ que implemente la interfaz adecuada, según el formato de los datos que el proceso de compensación necesite:
- Para un objeto serializable, implemente la interfaz com.ibm.websphere.wsba.serializable.CompensationHandler.
- Para un SDO, implemente la interfaz com.ibm.websphere.wsba.CompensationHandler.
- Implemente los métodos close
y compensate en un nuevo objeto de
manejador de compensaciones, para realizar las acciones adecuadas en función de
los datos serializables o de SDO que se pasan el manejador cuando éste se
invoca.
La clase de manejador de compensaciones está preparado para su referencia por el componente de aplicación y para ensamblarse en una aplicación.
- Abra el componente de aplicación de la herramienta de ensamblaje.
- Abra el descriptor de despliegue para el componente de aplicación en el visor del descriptor de despliegue.
- Desplácese a la sección Compensación y seleccione el recuadro de selección
Ejecutar métodos EJB bajo un ámbito de actividades empresariales.
- En el campo de texto Clase del manejador de compensaciones, escriba el nombre de clase totalmente calificado de la clase del manejador de compensaciones que ha creado anteriormente.
- Guarde el descriptor de despliegue.
- Cree la aplicación, incluido el componente de aplicación y el manejador de compensaciones. Si la aplicación es un servicio web, la aplicación debe cumplir con el estándar JSR
(Java Specification
Request) 109.
- Despliegue la aplicación en el servidor de aplicaciones que está habilitado para actividades empresariales.
Resultados
La aplicación está habilitada para actividades empresariales y puede utilizar
el soporte de actividades empresariales durante la ejecución a través de la API de actividades empresariales. El componente de aplicación tiene asociado un manejador de compensaciones y por lo tanto puede llamar a los métodos setCompensationDataImmediate y setCompensationDataAtCommit durante la ejecución para añadir el manejador de compensaciones al ámbito de actividades empresariales. Para obtener más información sobre estos métodos, consulte los temas sobre la
API de actividad empresarial. Si la unidad de trabajo con el que está asociado el ámbito de actividades empresariales sufre una anomalía, el manejador de compensaciones realiza acciones para compensar el error.
Qué hacer a continuación
Asegúrese de que la clase de manejador de compensaciones está en la classpath de la aplicación para el entorno de ejecución de WebSphere Application Server.