Développement d'une application de traitement intensif simple
Vous pouvez écrire une application à traitement intensif simple à l'aide d'un contrôleur de travaux de traitement intensif, de la ligne de commande ou de l'outil Apache ANT.
Procédure
- Créez un travail de traitement intensif à l'aide d'un contrôleur de travaux de traitement intensif.
- Créez une étape de travail de traitement intensif.
- Créez une classe Java™ qui implémente l'interface com.ibm.websphere.ci.CIWork.
- Implémentez la logique applicative (ou logique "métier").
- Facultatif : Pour les applications par lots, indiquez un
programme d'écoute de travail.
Fournissez une implémentation pour l'interface com.ibm.websphere.batch.listener.JobListener afin d'ajouter une initialisation supplémentaire et d'effectuer un nettoyage pour les travaux et les étapes. Spécifiez le module d'écoute de travail dans l'élément xJCL en utilisant l'élément de module d'écoute au niveau travail.
La méthode beforeJob() du module d'écoute du travail est appelée avant l'appel de l'artefact utilisateur. La méthode afterJob() du module d'écoute du travail est appelée après le dernier appel de l'artefact utilisateur. La méthode beforeStep() du module d'écoute de travail est appelée avant tout artefact utilisateur lié à une étape. La méthode afterStep() du module d'écoute de travail est appelée en tant que dernier artefact utilisateur lié à l'étape. Chaque fois que le module d'écoute de travail est appelé, il consigne un message dans le journal de travail.
- Facultatif : Pour les applications par lots, obtenez le
contexte d'étape de travail.
JobStepContext ctx= JobStepContextMgr.getContext();
La classe de service JobStepContextMgr permet à l'étape de travail par lots d'obtenir une référence à son objet JobStepContext. Le contexte d'étape de travail fournit les fonctions suivantes :- Accès aux informations qui identifient de manière unique le contexte dans lequel l'étape de travail par lots s'exécute, par exemple, l'ID de travail.
- Une zone de données utilisateur dans laquelle des informations spécifiques à une application peuvent être transmises aux méthodes d'infrastructure de programmation par lots pendant la durée de l'étape du travail par lots.
- Une zone de données utilisateur transitoire dans laquelle des informations spécifiques à une application peuvent être transmises d'une étape à l'autre.
- Une zone de données utilisateur permanente dans laquelle des informations spécifiques à une application sont stockées pour des redémarrages à des points de contrôle
Vous pouvez utiliser la classe auxiliaire PersistentMap pour simplifier le stockage des types de base tels qu'une valeur booléenne et double dans la zone de données utilisateur permanente du contexte de l'étape de travail.
- Déclarez un contrôleur de travaux de traitement intensif.
- Ajoutez un bean de session sans état à votre descripteur de déploiement et, pour sa classe d'implémentation,
désignez celle qui est fournie par le produit.
Pour ce faire, spécifiez com.ibm.ws.ci.CIControllerBean comme classe de bean. N'effectuez cette spécification qu'une seule fois par application de traitement intensif.
- Utilisez com.ibm.ws.ci.CIControllerHome pour la classe de l'interface home distante et com.ibm.ws.ci.CIController pour la classe de l'interface distante.
- Ajoutez un bean de session sans état à votre descripteur de déploiement et, pour sa classe d'implémentation,
désignez celle qui est fournie par le produit.
- Configurez le descripteur de déploiement EJB.
- Configurez une référence de ressource sur le bean du contrôleur sur la valeur par défaut WorkManager wm/CIWorkManager du type commonj.work.WorkManager.
- Créez une étape de travail de traitement intensif.
- Créez des travaux de traitement intensif à l'aide de la ligne de commande.
- Créez une étape de travail de traitement intensif.
- Créez une classe Java qui implémente l'interface com.ibm.websphere.ci.CIWork.
- Implémentez la logique applicative (ou logique "métier").
- Pour les applications par lots, obtenez le
contexte d'étape de travail.
JobStepContext ctx= JobStepContextMgr.getContext();
La classe de service JobStepContextMgr permet à l'étape de travail par lots d'obtenir une référence à son objet JobStepContext. Le contexte d'étape de travail fournit les fonctions suivantes :- Accès aux informations qui identifient de manière unique le contexte dans lequel l'étape de travail par lots s'exécute, par exemple, l'ID de travail.
- Une zone de données utilisateur dans laquelle des informations spécifiques à une application peuvent être transmises aux méthodes d'infrastructure de programmation par lots pendant la durée de l'étape du travail par lots.
- Une zone de données utilisateur transitoire dans laquelle des informations spécifiques à une application peuvent être transmises d'une étape à l'autre.
- Une zone de données utilisateur permanente dans laquelle des informations spécifiques à une application sont stockées pour des redémarrages à des points de contrôle
Vous pouvez utiliser la classe auxiliaire PersistentMap pour simplifier le stockage des types de base tels qu'une valeur booléenne et double dans la zone de données utilisateur permanente du contexte de l'étape de travail.
- Ouvrez une invite de commande et vérifiez que le répertoire dans lequel se trouve votre programme exécutable Java est inclus à votre variable PATH de sorte que vous puissiez exécuter la commande Java.
- Emettez une commande Java.
java -jar pgcbatchpackager.jar -appname=<application name> -jarfile=<jarfile containing POJO step classes> -earfile=<name of the output ear file without .ear> [-utilityjars=<semicolon separated list of utility jars>] [-debug] [-gridjob]
Par exemple, pour les travaux par lots, émettez la commande :java –jar pgcbatchpackager.jar –appname=SimpleCI –jarfile=SimpleCIEJBs.jar -earfile=SimpleCI –gridjob=true
- Créez une étape de travail de traitement intensif.
- Créez des travaux de traitement intensif avec ANT.
- Créez l'état de travail de traitement intensif.
- Créez une classe Java qui implémente l'interface com.ibm.websphere.ci.CIWork.
- Implémentez la logique applicative (ou logique "métier").
- Pour les applications par lots, obtenez le
contexte d'étape de travail.
JobStepContext ctx= JobStepContextMgr.getContext();
La classe de service JobStepContextMgr permet à l'étape de travail par lots d'obtenir une référence à son objet JobStepContext. Le contexte d'étape de travail fournit les fonctions suivantes :- Accès aux informations qui identifient de manière unique le contexte dans lequel l'étape de travail par lots s'exécute, par exemple, l'ID de travail.
- Une zone de données utilisateur dans laquelle des informations spécifiques à une application peuvent être transmises aux méthodes d'infrastructure de programmation par lots pendant la durée de l'étape du travail par lots.
- Une zone de données utilisateur transitoire dans laquelle des informations spécifiques à une application peuvent être transmises d'une étape à l'autre.
- Une zone de données utilisateur permanente dans laquelle des informations spécifiques à une application sont stockées pour des redémarrages à des points de contrôle
Vous pouvez utiliser la classe auxiliaire PersistentMap pour simplifier le stockage des types de base tels qu'une valeur booléenne et double dans la zone de données utilisateur permanente du contexte de l'étape de travail.
- Pour un travail de traitement intensif, vérifiez que pgcbatchpackager.jar se trouve sur le chemin de la classe.
- Déclarez la tâche. Utilisez la commande suivante pour déclarer la tâche :
<taskdef name="pgcpackager" classname="com.ibm.ws.batch.packager.PGCPackager" classpath="${FEBaseDir}/grid.pgc.packager/build/lib/pgcbatchpackager.jar" />
- Après avoir compilé les fichiers Java
dans votre application, appelez la tâche pgcpackager.
<pgcpackager appname="<appname>" earFile="<location name of EAR file to generate>" jarfile="location of the POJO jar file" gridJob="true"/>
- Créez l'état de travail de traitement intensif.
Résultats
Que faire ensuite
Sous-rubriques
Modèle de programmation à traitement intensif
Les applications à traitement intensif sont des applications qui effectuent des tâches de calcul intensif auxquelles le concept traditionnel de demande/réponse de Java Platform, Enterprise Edition (Java EE) ne convient pas.


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tgrid_bgridtutorialci
Nom du fichier : tgrid_bgridtutorialci.html