Les applications par lots sont des applications J2EE (Java 2 Platform Enterprise Edition) qui s'appuient sur des EJB (Enterprise Java Beans). Ces applications sont conformes à une série d'interfaces clairement définies qui permettent à un environnement d'exécution par lots de gérer le traitement de travaux par lots de l'application.
Un travail par lots peut comprendre une ou plusieurs étapes. La division d'une application par lots en étapes permet de définir des tâches distinctes au sein de l'application. Une étape de travail par lots est mise en oeuvre sous la forme d'un bean entité CMP (Container-Managed Persistence) local qui utilise des interfaces home, des interfaces métier et des interfaces de clé fournies par WebSphere. L'interface métier com.ibm.websphere.batch.BatchJobStepLocalInterface de l'EJB d'une étape fournit des méthodes que l'environnement d'exécution du traitement par lots appelle pour contrôler l'application par lots.
Bean contrôleur du travail par lots.
Une application par lots doit déclarer un bean session sans état (stateless) spécial dans son descripteur de déploiement. Ce bean est chargé de contrôler les travaux par lots et doit contenir des références à tous les beans enterprise des étapes utilisés dans l'application par lots. L'implémentation de ce bean est assurée par WebSphere, pas par l'application par lots. Il suffit de le déclarer dans le descripteur de déploiement de l'application par lots. Un seul bean contrôleur peut être défini par application par lots.
Une étape du travail par lots peut être associée à plusieurs flux de données par lots (BDS). Un flux de données par lots est une classe Java qui implémente l'interface com.ibm.websphere.batch.BatchDataStream. Il s'agit d'un objet Java qui lit le flux en entrée contenant les données qu'une étape du travail par lots doit traiter. Il peut également s'agir d'un flux en sortie qui copie des données au lieu de le lire.
Les méthodes de l'interface BatchDataStream permettent à l'environnement d'exécution de gérer le flux de données utilisés par l'étape du travail par lots. Par exemple, l'une des méthodes extrait les informations du curseur en cours à partir du flux pour suivre la quantité de données traitées par l'étape du travail par lots.
Algorithmes de point de contrôle
L'environnement d'exécution par lots utilise des algorithmes de point de contrôle pour déterminer la fréquence de validation des transactions globales au cours desquelles les étapes du travail par lots sont appelées. La définition xJCL d'un travail par lots établit les algorithmes de point de contrôle à utiliser. Les propriétés indiquées pour ces algorithmes dans la définition xJCL permettent de personnaliser le comportement des points de contrôle, tel que le délai d'expiration des transactions et les intervalles des points de contrôle, pour les étapes de traitement par lots. WebSphere Extended Deployment fournit des algorithmes de points de contrôle définis en fonction d'intervalles etd'enregistrements. Une interface SPI des algorithmes de point de contrôle est également fournie pour générer d'autres algorithmes personnalisés.
Intégration
Une application par lots est intégrée sous la forme d'une application EJB J2EE standard au sein d'un fichier EAR J2EE. Les beans enterprise de type entity et les classes des flux de données par lots (BDS) utilisés par les étapes du travail par lots doivent être intégrés avec l'application. Le bean contrôleur des travaux par lots doit également être déclaré dans le descripteur de déploiement du bean enterprise de chaque application par lots. Des outils de développement J2EE standard peuvent être utilisés pour développer et intégrer le fichier EAR de l'application par lots.
Les algorithmes de résultats sont une fonction facultative du modèle de programmation des applications par lots. Ils sont appliqués aux étapes du travail par lots en fonction des codes retour associés et sont utilisés pour manipuler les codes retour des travaux par lots. Ils représentent également des points de référence pour déclencher des procédures en fonction des codes retour de l'étape.
Related concepts
Développement des applications à exécution longue