< Précédent | Suivant >

Leçon 3 : Configurer la connexion de base de données

Dans cette leçon, vous connectez votre projet à la base de données que vous avez importée dans la leçon précédente.
L'objectif de ce tutoriel n'étant pas de vous apprendre comment vous connecter à une base de données, cette leçon n'expliquera pas ce processus en détail. Vous allez configurer une connexion qui permettra à votre application EGL de se connecter à la base de données aussi bien pendant sa conception (connexion pour phase de conception) que lors de son exécution sur le serveur (connexion pour phase d'exécution).

Comme nous l'avons vu dans la leçon précédente, WebSphere Application Server utilise les informations de connexion de base de données situées dans le projet EAR. Tomcat utilise les informations de connexion de base de don nées dans le projet Web. Les étapes de connexion à la base de données ne sont donc pas les mêmes pour les deux types de serveur.

Création de la connexion

Quel que soit le serveur utilisé, vous devez créer une connexion de base de données qui servira pendant la phase de conception. Si vous utilisez WebSphere Application Server, EGL créera automatiquement une connexion correspondante pour la phase d'exécution. Si vous utilisez Tomcat, une procédure complémentaire, à la fin de cette leçon, vous montrera comment associer cette connexion à Tomcat. Dans la prochaine leçon, vous utiliserez également la connexion pour phase de conception afin de créer le code EGL de démarrage.

  1. Dans la vue Explorateur d'entreprise, cliquez avec le bouton droit de la souris sur le projet EGLWeb, puis cliquez sur Propriétés.
  2. Dans la fenêtre Propriétés, cliquez sur Source de données de l'environnement d'exécution EGL.
  3. Sur la page correspondante, sélectionnez Charger les valeurs d'une connexion créée avec les outils de données et cliquez sur Nouveau. La fenêtre Nouvelle connexion s'ouvre.
  4. Dans la fenêtre Profil de connexion, sous Types de profil de connexion, cliquez sur Derby.
  5. Pour le nom, tapez :
    EGLDerbyDB
  6. Vous pouvez ne pas entrer de description. Cliquez sur Suivant.
  7. Dans la liste des pilotes, laissez la valeur par défaut BIRT SampleDb Derby Embedded Driver.
  8. Sous Propriétés, dans la zone Emplacement de la base de données, cliquez sur Parcourir afin d'accéder au dossier suivant :

    emplacement_plan_travail/EGLWeb/WebContent/EGLDerbyDB

    emplacement_espace_travail est le chemin complet de votre espace de travail actuel. Cliquez sur OK.

  9. Effacez la zone Nom d'utilisateur et n'entrez rien dans la zone Mot de passe. Vous n'avez pas besoin d'un nom d'utilisateur et d'un mot de passe pour cette base de données.
  10. Acceptez la valeur par défaut pour Adresse URL. Vous pouvez décocher la case Créer une base de données (si nécessaire) car la base de données existe déjà. Sélectionnez Se connecter à la fin de l'assistant.
  11. Cliquez sur Tester la connexion. Si toutes les informations sont correctes, la fenêtre Nouvelle connexion apparaît comme suit, avec vos propres informations d'espace de travail et d'emplacement dans les zones Emplacement de la base de données :
    La fenêtre de définition d'un pilote et des informations de connexion indique l'aboutissement de la connexion
  12. Cliquez sur OK pour fermer la fenêtre Tester la connexion.
  13. Cliquez sur Terminer. La nouvelle connexion est créée et les informations nécessaires à son établissement sont entrées dans les zones ci-dessous :
    Nouvelle source de données d'exécution dans la page des propriétés

    Notez qu'EGL a attribué à cette connexion un nom JNDI qui est son identificateur. Par défaut, le nom JNDI est dérivé de celui de la base de données et est donc jdbc/EGLDerbyDB. A l'exécution, l'application utilisera ce nom pour accéder à la connexion de base de données.

  14. Cliquez sur OK.
  15. Il est possible qu'une fenêtre de message apparaisse et vous demande si vous voulez mettre à jour les options de génération par défaut du projet. Si vous voyez cette fenêtre, cliquez sur Oui.
  16. Dans la vue Explorateur de projets, développez le projet EGLWeb et le dossier EGLSource. Ouvrez le fichier de génération du projet en double cliquant sur le fichier EGLWeb.eglbld dans la vue Explorateur de projets. Le fichier de génération s'ouvre dans l'éditeur de composants de génération.
  17. Vérifiez que les informations entrées dans la fenêtre Source de données de l'environnement d'exécution EGL sont bien reflétées dans les options du descripteur de génération. Les options du descripteur de génération doivent être les suivantes pour WebSphere Application Server :
    Illustration des options du descripteur de génération montrant les paramètres de la connexion de base de données
    Pour que la connexion de base de données puisse fonctionner, les options suivantes doivent être définies :
    dbms
    Cette option du descripteur de génération indique le type de base de données ; dans le cas présent, il s'agit de DERBY.
    sqlDB
    Cette option du descripteur de génération indique l'URL de connexion, chaîne que le serveur utilise pour trouver la base de données. Le format de l'URL de connexion diffère pour chaque type de base de données ; dans le cas de Derby, l'URL comprend, dans l'ordre, le protocole (ici, JDBC), un signe deux-points, le type de base de données (Derby), un autre signe deux-points, le chemin de la base de données sur le disque et les paramètres de la connexion. Dans le cas présent, l'URL de connexion se présente comme suit, avec le chemin d'accès à la base de données à la place de D:\MyData\workspace_jsf_tutorial :
    jdbc:derby:D:\MyData\workspace_jsf_tutorial\EGLWeb\WebContent\EGLDerbyDB
    sqlValidationConnectionURL
    Cette option du descripteur de génération spécifie une URL de connexion à utiliser pour valider la connexion à la base de données. Dans le cas présent, comme dans la plupart des cas, il s'agit de la même URL que pour sqlDB.
    sqlJDBCDriverClass
    Cette option du descripteur de génération spécifie le nom du pilote de base de données, programme utilisé pour accéder à la base de données. L'assistant Nouvelle connexion a obtenu ce nom du fichier derby.jar : org.apache.derby.jdbc.EmbeddedDriver.
    sqlJNDIName
    Nom JNDI représentant la connexion à l'exécution.
  18. Si les options du descripteur de génération ont été définies en fonction des données que vous avez entrées dans l'assistant Nouvelle connexion, fermez le descripteur de génération sans rien changer. Si les options du descripteur de génération n'ont pas été définies, procédez comme suit pour les spécifier :
    1. Dans la liste Charger les options de BD en utilisant la connexion, sélectionnez votre connexion EGLDerbyDB. Les options sont alors définies, sauf sqlJNDIName.
    2. Spécifiez le nom JNDI suivant pour l'option sqlJNDIName, en veillant à le saisir exactement tel qu'il est présenté ici :
      jdbc/EGLDerbyDB
      Remarque : Pour éditer l'option sqlJNDIName, cliquez deux fois lentement dans la colonne Valeur, sur la cellule correspondant à cette option. Vous pouvez aussi cliquer trois fois rapidement dans la colonne Valeur.
      Les valeurs des options du descripteur de génération sont maintenant conformes à celles décrites plus haut.
    3. Sauvegardez et fermez le descripteur de génération.
    4. Au besoin, configurez la préférence de mise à jour automatique du descripteur de génération d'après les informations saisies dans la fenêtre Source de données de l'environnement d'exécution EGL. Cliquez sur Fenêtre > Préférences, puis sur EGL > Descripteur de génération par défaut. Dans la section Mettre à jour les options de génération par défaut du projet lorsque la source de données de l'environnement d'exécution est modifiée, sélectionnez Toujours pour que les options du descripteur de génération soient mises à jour automatiquement dans tous les cas. Sinon, sélectionnez Invite pour avoir le choix à chaque fois. Cette préférence prendra effet à la prochaine utilisation de la fenêtre Source de données de l'environnement d'exécution EGL.

Récapitulatif de la leçon

Dans cette leçon, vous avez configuré une connexion de base de données pour le projet.
Lors de l'utilisation de la page Source de données de l'environnement d'exécution EGL de la fenêtre de propriétés du projet, vous avez d'abord créé, à l'aide des outils de données du plan de travail, une connexion à la base de données pour phase de conception. Puis, si vous utilisez WebSphere Application Server, EGL s'est servi des informations de cette connexion pour créer une connexion correspondante à utiliser lors de l'exécution. Dans ce cas, les changements apportés au projet par EGL incluent les suivants :
  • Les valeurs de certaines options du descripteur de génération en rapport avec la base de données ont été définies comme expliqué plus haut dans cette leçon.
  • Un nom JNDI a été créé et associé à la connexion. Par défaut, le nom JNDI créé pour votre projet est dérivé du nom de la base de données et est donc jdbc/EGLDerbyDB.
  • Pour les versions de WebSphere Application Server antérieures à la version 7, une source de données a été ajoutée au descripteur de déploiement du projet EAR. Elle associe le nom JNDI à la base de données elle-même. La version 7 n'exige plus de définir la source de données dans EAR.
  • EGL a ajouté une référence de ressource à ce nom JNDI dans le descripteur de déploiement Web du projet EGLWeb, WebContent\WEB-INF\web.xml. A présent, le projet EGLWeb peut utiliser la source de données définie dans le projet EAR, en utilisant le nom JNDI. L'éditeur peut varier selon la version du serveur d'applications que vous utilisez. L'exemple suivant présente l'éditeur pour WebSphere Application Server version 7.
    Descripteur de déploiement Web montrant la référence de ressource

Si vous utilisez Tomcat, votre projet n'a pas de projet EAR et EGL a ajouté un fichier de contexte au projet Web qui fournit les informations de la connexion. Le rôle de ce fichier de contexte est essentiellement le même que les informations ajoutées aux descripteurs de déploiement dans le cas du serveur WAS : il associe le nom JNDI à l'emplacement de la base de données et d'autres informations dont le serveur a besoin pour s'y connecter. La connexion n'est valide que pour ce projet.

Remarque : A partir de ce point, et jusqu'à la fin du tutoriel, la plupart des étapes seront les mêmes pour les deux serveurs.
< Précédent | Suivant >

Retour d'informations