Las aplicaciones con una actividad de proceso intensiva son aplicaciones que realizan trabajo con una actividad de proceso intensiva que no se adapta con comodidad al paradigma tradicional de solicitud y respuesta de J2EE (Java 2 Platform Enterprise Edition).
Las secciones siguientes proporcionan información adicional sobre las extensiones del modelo de programación de beans asíncronos.
<session id="proporcionar un nombre adecuado aquí"> <ejb-name>CIController</ejb-name> <home>com.ibm.ws.ci.CIControllerHome</home> <remote>com.ibm.ws.ci.CIController</remote> <ejb-class>com.ibm.ws.ci.CIControllerBean</ejb-class> <session-type>Stateless</session-type> <transaction-type>Bean</transaction-type> <resource-ref id="WorkManager_ResourceRef"> <description> WorkManager que se utiliza para ejecutar trabajos. <res-ref-name>wm/CIWorkManager</res-ref-name> <res-type>commonj.work.WorkManager</res-type> <res-auth>Container</res-auth> <res-sharing-scope>Shareable</res-sharing-scope>
La lógica de una aplicación con una actividad de proceso intensiva (un número de objetos CIWork más las clases necesarias para dar soporte a estos objetos CIWork) se empaqueta en un módulo de enterprise bean del archivo EAR (Enterprise Archive) de una aplicación J2EE. Tenga en cuenta que el descriptor de despliegue del módulo de enterprise bean debe contener la definición del bean de sesión sin estado que se ha descrito anteriormente. Si la aplicación utiliza otros enterprise beans o recursos, las definiciones de esos beans y recursos también pueden aparecen en el descriptor de despliegue. Puede utilizar las herramientas de desarrollo J2EE como, por ejemplo, IBM Rational Application Developer para desarrollar y empaquetar aplicaciones con una actividad de proceso intensiva del mismo modo que se utilizan para construir las aplicaciones J2EE que contengan módulos de enterprise bean y beans asíncronos.
Si el se cancela el objeto antes de que se devuelva el método run(), CIControllerBean invoca al método release() del objeto CIWork en una hebra independiente. Es competencia del desarrollador de la aplicación de larga ejecución hacer que la lógica del método release() devuelva el método run() con prontitud. El trabajo permanece en un estado cancel_pending hasta que se devuelva el método run().
Si no se cancela el trabajo y se devuelve el método run() sin devolver ninguna excepción, el trabajo se ha completado correctamente. Si el método run() devuelve una excepción, el estado del trabajo es execution failed. Una vez devuelto el método run() (satisfactoriamente o con una excepción), no se realizarán más llamadas al objeto CIWork y se eliminarán todas las referencias a éste.
Como todos los trabajos de larga ejecución, los trabajos con una actividad de proceso intensiva se dividen en varios pasos de trabajo. En el caso de los trabajos con una actividad de proceso intensiva, cada paso de trabajo se representa mediante una instancia de un clase que implementa a la interfaz com.ibm.websphere.ci.CIWork. La interfaz CIWork amplía la interfaz de trabajo commonj.Work del modelo de programación de beans asíncronos de servidor de aplicaciones y la solicitud de especificación Java (JSR) 237. Estas extensiones constan de dos métodos que proporcionan un modo de pasar las propiedades específicas del paso de trabajo indicadas en el trabajo para el objeto CIWork.
Consulte la documentación de la API para obtener información detallada.
Para obtener más información sobre los beans asíncronos, vaya a la sección Utilización de beans asíncronos del Information Center de WebSphere Application Server.