WebSphere Extended Deployment, Version 6.0.x     Systèmes d'exploitation : AIX, HP-UX, Linux, Solaris, Windows, z/OS

Développement d'une application simple différée

Cette rubrique décrit comment écrire une application simple différée.

Avant de commencer

Avant de démarrer cette tâche, vous devez configurer votre environnement.

Pourquoi et quand utiliser cette tâche

Cet exemple de tâche suppose que l'utilisateur travaille sous Rational Application Developer (RAD). D'autres logiciels de développement peuvent également être utilisés.
  1. Créez un nouveau projet d'application d'entreprise intitulé PostingsSample2.
    1. Ajoutez un nouveau module de project EJB (Enterprise JavaBeans). Cela crée un nouveau fichier EAR et un nouveau projet EJB.
    2. Ajoutez BATCH_RUNTIME au chemin du générateur Java pour le projet PostingsSample2EJB.
    3. Supposez qu'il existe une classe Java, AccountOp, et un objet Java possédant deux méthodes d'interface publique, creditAccount(..) et debitAccount(..). Ces méthodes sont appelées par le bean différé si nécessaire. Importez cette classe à partir de l'espace de travail ou écrivez une classe d'appel différé.
  2. Créez la classe BatchStep. Le bean différé est un bean entity qui hérite d'une classe d'étape différée abstraite. Pour créer l'étape de travail abstrait PostingSample2Step, procédez comme suit :
    1. Dans le projet PostingsSample2EJB, créez une classe Java abstraite PostingSample2Step qui hérite de la BatchJobStepInterface.
    2. Ajoutez la BatchJobStepInterface.
    3. Rendez la classe abstraite.
  3. Créez le bean Batch (Entity EJB). Les étapes suivantes décrivent comment créer le bean Batch manuellement. Le bean Batch réutilise l'interface BatchJobStepLocalInterface, les classes BatchJobStepKey et BatchJobStepLocalHome à partir du modèle de programmation fourni ; ces classes ne sont pas récréées. Seule l'implémentation de bean Batch est générée.
    1. Dans le projet PostingSample2EJB, créez un nouveau EJB CMP, intitulé PostingsSample2Data.
    2. Pour la classe d'interface home locale, sélectionnez BatchJobStepLocalHomeInterface.
    3. Pour la classe d'interface locale, sélectionnez BatchJobStepLocalInterface.
    4. Désélectionnez Utiliser un type d'attribut de clé unique pour la classe de clés.
    5. Pour la classe de clés, sélectionnez BatchJobStepKey.
    6. Supprimez l'ID d'attribut CMP.
    7. Dans l'attribut CMP, ajoutez deux attributs CMP, jobID et stepID de type chaîne.
    8. Ajoutez jobID pour le nom et java.lang.String pour le type. Sélectionnez Key.
    9. De même, ajoutez stepID, entrez java.lang.String et placez-le dans la zone Key.
    10. Sélectionnez la classe BeanSuperclass. Créez un type correspondant appelé PostingStep2. Cela crée le nouvel EJB, mais seule la classe de bean EJB apparaît dans les projets. L'interface locale, l'interface home et la classe de clés sont extraites des classes fournies par le modèle de programmation.
    11. Corrigez le descripteur de déploiement. Apportez les modifications à PostingSample2Data dans le fichier ejb-jar.xml.
      1. Dans l'onglet Bean, remplacez le nom JNDI d'usine pour la connexion CMP par jdbc/lree et le type d'autorisation de conteneur par Per_Connection_Factory.
      2. Dans l'onglet Assemblage, pour les transactions de conteneur, définissez toutes les méthodes (*) de PostingsSample2Data par Requis.
      3. Dans les liaisons WebSphere, modifiez le nom JNDI par ejb/com/ibm/ws/batch/sample/PostingsSample2Data.
    12. Sauvegardez et fermez le descripteur de déploiement. Comme précédemment, vous ajouterez plus tard l'implémentation du EJB.
  4. Créez le bean session Batch Job Batch Job est un bean session qui est déclaré dans le descripteur de déploiement, mais pour lequel aucune classe n'est générée car elles font toutes partie de l'exécution.
    1. A partir de ejb-jar xml, dans l'onglet Bean, cliquez sur Ajouter pour créer un nouveau EJB Session, appelez-le PostingsJob2.
    2. Remplacez le type Transaction par Bean.
    3. Dans la classe Bean, l'interface home remote et l'interface remote, entrez les chaînes suivantes :
      1. Classe Bean : com.ibm.ws.batch.BatchJobControllerBean
      2. Interface Remote : com.ibm.ws.batch.BatchJobController
      3. Interface home Remote : com.ibm.ws.batch.BatchJobControllerHome
      Notez qu'aucune nouvelle classe n'est générée, car toutes les classes existent dans l'exécution. Nous déclarons uniquement le bean Job dans le descripteur de déploiement.
    4. Remplacez le nom JNDI des liaisons WebSphere par : ejb/com/ibm/ws/batch/PostingsSample2Job
    5. Ajoutez une référence au PostingsSample2Job de type référence EJB.
    6. Sélectionnez le Bean PostingsSample2Data et ajoutez le nom : ejb/PostingsSample2Data Sélectionnez le type de référence locale.
    7. Créez la référence du gestionnaire de travaux.
      1. Dans l'onglet Références, sur le bean PostingSample2Job, cliquez sur Ajouter. Sélectionnez Référence de ressource et cliquez sur Suivant.
      2. Nom : wm/BatchWorkManager
      3. Type : sélectionnez commonj.work.WorkManager
      4. Authentification : Conteneur
      5. Niveau de partage : partageable
    8. Remplacez le nom JNDI (Java Naming and Directory Interface) de wm/BatchWorkManager par wm/default.
    9. Sauvegardez et fermez ejb-jar.xml.
  5. Création du flux de données différé (BDS) d'entrée Les flux d'entrée et/ou de sortie peuvent être au nombre de zéro, 1 ou n. Dans cet exemple, il y a un flux d'entrée InputStream de lecture de fichier et pas de flux de sortie. Le flux de sortie est écrit dans la console. Les classes BDS sont de type POJO. Pour créer le flux d'entrée, procédez comme suit :
    1. Créez une nouvelle classe dans le package com.ibm.ws.batch.sample, appelé PostingsSample2InputStream.
    2. Implémentez l'interface BatchDataStream. Cela crée la nouvelle classe de flux PostingSample2Input. Vous pourrez ajouter des implémentations plus tard.
  6. Créez la classe Posting2 pour représenter un enregistrement du flux de données. Cette classe est la représentation d'objet d'un enregistrement dans le flux de données d'entrée différé. Elle est générée en lisant un enregistrement du BDS en entrée et est transmise au bean Batch. Cette classe peut être comparée à un bean de transport ou de données qui contient des attributs et les méthodes getter et setter correspondants des zones de flux d'entrée.
    1. Créez une nouvelle classe appelée Posting2 qui met en oeuvre l'interface qui peut être mise en série. Vous pourrez lui ajouter des implémentations plus tard.
  7. Ajout d'implémentations aux classes
    1. Ajoutez maintenant des implémentations à PostingSample2DataBean, PostingSample2Step et PostingSample2InputStream, comme dans les fichiers de classe ci-joints. Du point de vue du traitement, cet exemple reste volontairement simple pour mettre en évidence les étapes nécessaires au développement d'une nouvelle application différée. Après que les classes d'implémentation ont été ajoutées, vous pouvez déployer l'EJB.

Que faire ensuite

Dans l'arborescence de navigation de la console d'administration, développez Opérations d'exécution et sélectionnez Gestion des travaux. Vérifiez que dans le panneau de droite, le tableau des travaux est vide et qu'il ne contient pas de messages d'erreur.



Rubrique Tâche    

Conditions d'utilisation | Commentaires Dernière mise à jour le : Mar 16, 2006 9:58:13 AM EST
http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r0/index.jsp?topic=?topic=/com.ibm.websphere.xd.doc/info/scheduler/tbgridtutorial2.html

© Copyright IBM 2005, 2006. All Rights Reserved.
Ce centre de documentation s'appuie sur la technologie Eclipse. (http://www.eclipse.org)