Flux de données par lots

Les flux de données par lots (BDS) sont des objets Java™ qui fournissent une abstraction pour le flux de données traité par une étape du travail par lots. Une étape du travail par lots peut être associée à un ou plusieurs objets BDS. Les noeuds finaux de grille rendent les BDS associés à une étape disponibles à l'exécution. Ils gèrent également le cycle de vie d'un BDS en invoquant des rappels (callbacks) spécifiques au travail par lots.

Un objet BDS implémente l'interface com.ibm.websphere.batch.BatchDataStream. Cette interface n'est affiliée à aucun type de serveur particulier. L'objet d'implémentation peut extraire les données de n'importe quel type de source de données tel que des fichiers et des bases de données. Les méthodes de rappel de l'interface BatchDataStream permettent aux noeuds finaux de grille de gérer le flux de données par lots lors de l'exécution. L'une des principales caractéristiques d'un BDS est sa capacité à transmettre aux noeuds finaux de grille sa position actuelle dans le flux et sa capacité à se placer à un point donné du flux. Cette fonction permet aux noeuds finaux de grille d'enregistrer (dans la base de données noeuds finaux de grille) la quantité de données traitée par une étape du travail par lots. Cette information est enregistrée à chaque point de contrôle. Les noeuds finaux de grille peuvent donc relancer un travail par lots à partir d'une position enregistrée dans le flux de données en cas d'annulation ou d'échec du travail.

Les principales méthodes de l'interface BatchDataStream sont les suivantes. Consultez l'API de cette interface pour plus de détails.

void open()
Appelée par les noeuds finaux de grille pour ouvrir le BDS
void close()
Appelée par les noeuds finaux de grille pour fermer le BDS
void initialize(String ilogicalname, String ijobstepid)
Appelée par les noeuds finaux de grille pour initialiser le BDS et lui communiquer son nom logique et l'ID de l'étape de travail par lots
String externalizeCheckpointInformation()
Appelée par les noeuds finaux de grille avant un point de contrôle pour enregistrer le curseur courant du BDS
void internalizeCheckpointInformation(String chkpointInfo()
Appelée par les noeuds finaux de grille pour communiquer au BDS le curseur précédemment enregistré, chkpointInfo. La méthode positionAtCurrentCheckpoint est généralement appelée après cet appel pour positionner le BDS à ce curseur.
void positionAtCurrentCheckpoint()
Appelée par les noeuds finaux de grille après un appel à internalizeCheckpointInformation pour positionner le BDS au curseur indiqué par la chaîne chkpointInfo passée en argument à internalizeCheckpointInformation.

L'interface BatchDataStream n'a pas de méthodes pour extraire ou écrire des données. Elle ne définit pas de méthodes getNextRecord ou putNextRecord qu'une étape du travail par lots pourrait appeler pour lire ou écrire dans l'objet BDS. Les méthodes de passage de données entre l'étape et l'objet BDS doivent être définies dans l'implémentation de l'objet BDS. Reportez-vous aux exemples fournis avec ce produit pour déterminer comment implémenter des flux de données par lots.

Environnement de transactions
Toutes les méthodes d'un objet BDS sont appelées dans une transaction globale. Il n'est pas garanti que les appels de méthode envoyés consécutivement à un objet BDS aient lieu dans la même transaction, car celle-ci appartient aux noeuds finaux de grille, et non à l'objet BDS.

Icône indiquant le type de rubrique Rubrique de concept



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cgrid_xdbatchds
Nom du fichier : cgrid_xdbatchds.html