Las aplicaciones de proceso por lotes son aplicaciones J2EE (Java 2 Platform Enterprise Edition) basadas en EJB (Enterprise JavaBeans). Estas aplicaciones se ajustan a unas interfaces bien definidas que permiten que el entorno de tiempo de ejecución por lotes gestione el inicio de los trabajos por lotes destinados para la aplicación. El método preferido para crear una aplicación de proceso por lotes es crear una aplicación de proceso por lotes basada en POJO.
Un trabajo por lotes puede constar de uno o más pasos por lotes. Todos los pasos de un trabajo se procesan de manera secuencial. La división de una aplicación de proceso por lotes en pasos permite la separación de tareas distintas en una aplicación de ese tipo. Un paso por lotes se implementa como un bean de entidad local de persistencia gestionado por contenedor que utiliza las interfaces de claves, de empresa y de inicio proporcionadas por WebSphere Extended Deployment. La interfaz de empresa com.ibm.websphere.batch.BatchJobStepLocalInterface de un EJB de pasos por lotes proporciona métodos que el entorno de tiempo de ejecución por lotes invoca para controlar una aplicación de proceso por lotes.
Puede someter planificaciones de trabajo para que los trabajos se procesen a una determinada hora. Asimismo, puede configurar planificaciones de trabajo para que un trabajo se repita a una hora concreta del día o la semana, etc. Cuando esté preparado para someter un trabajo, puede retardar el sometimiento especificando la fecha y la hora iniciales en las que desea ejecutar el trabajo.
En el descriptor de despliegue de una aplicación de proceso por lotes, ésta es necesaria para declarar un bean de sesión sin estado especial. Este bean actúa como un controlador de trabajos por lotes y debe contener referencias de enterprise beans a todos los enterprise beans del paso por lotes que se estén utilizando en una aplicación de proceso por lotes. La implementación de este bean la proporciona WebSphere Extended Deployment, no la aplicación de proceso por lotes. El bean sólo debe declararse en el gestor de despliegue de la aplicación de proceso por lotes. Únicamente un bean de controlador puede definirse por aplicación de proceso por lotes.
Un paso por lotes puede tener cero o más secuencias de datos por lotes (BDS) asociadas con él. Una BDS es una clase Java que implementa la interfaz com.ibm.websphere.batch.BatchDataStream. Una BDS es un objeto Java que lee la corriente de entrada que contiene los datos que va a procesar un paso por lotes. Una BDS también puede ser una corriente que escribe los datos en lugar de leerlos.
Los datos de la interfaz BatchDataStream permiten que el entorno de tiempo de ejecución por lotes gestione la corriente de datos utilizada por un paso por lotes. Por ejemplo, uno de los métodos recupera la información de cursor actual de la corriente para hacer un seguimiento de la cantidad de datos ha procesado el paso por lotes.
El entorno de tiempo de ejecución por lotes utiliza algoritmos de punto de control para decidir con qué frecuencia se van a comprometer transacciones globales bajo las cuales se invocan los pasos por lotes. La definición xJCL (Lenguaje de control de trabajos XML) de un trabajo por lotes define los algoritmos de punto de control que se van a utilizar. Las propiedades especificadas para los algoritmos de punto de control en xJCL permiten que se personalice, para los pasos por lotes, el comportamiento de los puntos de control como, por ejemplo, los tiempos de espera excedido de transacción y los intervalos de puntos de control. WebSphere Extended Deployment proporciona algoritmos de punto de control basados en el tiempo y basados en el registro. También se facilita una SPI de algoritmos de punto de control para construir algoritmos de punto de control personalizados adicionales.
Un aplicación de proceso por lotes se empaqueta como un aplicación EJB de J2EE (Java 2 Platform Enterprise Edition) estándar contenida en un archivo EAR (archivador empresarial) de J2EE. Debe empaquetar con la aplicación los enterprise beans de entidad de pasos por lotes y las clases de secuencia de datos por lotes. También es necesario que el bean de controlador de trabajos por lotes se declare en el descriptor de despliegue de enterprise bean de cada aplicación de proceso por lotes. Utilice las herramientas de desarrollo de J2EE estándar para desarrollar y empaquetar el archivo EAR de aplicación de proceso por lotes.
Los algoritmos de resultados son una característica opcional del modelo de programación por lotes. Los algoritmos de resultados se aplican a pasos por lotes a través del lenguaje de control de trabajos XML (xJCL). Los algoritmos se utilizan para manipular los códigos de retorno de los trabajos por lotes. Asimismo, estos algoritmos son marcadores de los desencadenantes basándose en los código de retorno de los pasos.
Los códigos de retorno de trabajos por lotes se encuentran en dos grupos denominados sistema y usuario. Los códigos de retorno del sistema se definen como enteros negativos. Los códigos de retorno de aplicación de usuario se definen como enteros positivos. Tanto los rangos de sistemas como los rangos de usuarios incluyen en el código de retorno cero (0). Si un código de retorno de aplicación de usuario se especifica en el rango de códigos de retorno del sistema, se anota un mensaje de aviso en las anotaciones de trabajo y del sistema.