Overblog
Suivre ce blog Administration + Créer mon blog
27 juin 2014 5 27 /06 /juin /2014 16:08

===============================================================

    Yakoliv Gen Tool Assistant est désormais disponible sur sourceforge.net à l'adresse

    https://sourceforge.net/projects/yakoliv/

    Veuillez y télécharger la version la plus à jour. Merci.

===============================================================

 

 

Tel que promis à l'article précédent, nous allons développer le serveur pour notre application présentée à cet article: http://yakamyale.over-blog.com/2014/06/le-projet-de-demonstration-de-yakoliv-framework.html

Les fichiers ayant été générés au post précédent (http://yakamyale.over-blog.com/2014/06/creation-du-projet-de-demonstration-dans-yakoliv-gui.html), nous allons utiliser Netbeans pour les assembler.

Commençons par créer la base de données. Précisons que Yakoliv ne produit actuellement des scripts que pour des projets java utilisant le SGBD PostgreSQL. Créons la base de données pour notre application, nous la nommerons 'students'. Nous le ferons manuellement à travers l'interface graphique de pgAdmin.

Nous exploiterons pour ce faire les fichiers '.sql' générés par l'outil. Les scripts générés sont les suivants:

 

 

Mise en place de la partie serveur pour une application basée sur Yakoliv Framework

Pour créer une table, nous devons tenir compte des contraintes d'intégrité référentielles. Ainsi, la table 'School' devra être créée avant la table 'Student' qui à son tour devra être créée avant la table 'Photograph'.

Commençons donc par la table 'School', son script généré est le suivant:

 

Mise en place de la partie serveur pour une application basée sur Yakoliv Framework

Le script de la table 'Student' est présenté ci-dessous:

Mise en place de la partie serveur pour une application basée sur Yakoliv Framework

Puis, celui de la table 'Photograph':

Mise en place de la partie serveur pour une application basée sur Yakoliv Framework

 

Dans l'interface principal de PGAdmin (ci-dessous), après avoir créé notre base de données que nous appellerons 'schools', lançons le gestionnaire de requête SQL, et tour à tour, exécutons les scripts présentés ci-dessus.

Mise en place de la partie serveur pour une application basée sur Yakoliv Framework

Après exécution des trois scripts ci-dessus, nous obtenons notre base de données avec les trois tables telles que présentées ci-dessous:

Mise en place de la partie serveur pour une application basée sur Yakoliv Framework

 

Maintenant, passons à l'étape de la programmation. Nous suivrons le schéma classique.

 

1- Ouvrons NetBeans et créons un premier projet de type Java Class Library. Appelons le 'schoolsdto'.

Copions le contenu du dossier 'src' qui a été créé dans le dossier racine de notre projet, et collons le dans le dossier 'source packages' de notre projet dans NetBeans. Nous obtenons un ensemble de paquetages. Ajoutons à notre classpath les librairies des annotations de Yakoliv (yakoliv-annotations.jar) et des utilitaires de Yakoliv (yakoliv-utils.jar) pour éliminer les erreurs signalées par le compilateur. Ce dernier fichier se trouve dans le dossier 'both', sous dossier du dossier 'ext-lib'. Une fois ce fichier ajouté au classpath, construisons notre projet (clean and build). Nous obtenons ici un fichier '.jar' qui n'est en rien différent du fichier 'schools.jar' que nous avons à la base de notre projet yakoliv. Cependant, il peut nous arriver de vouloir modifier le code produit par yakoliv, par exemple pour la méthode toString qui visiblement n'est pas très commune et utilise le built-in behaviour prévu par le framework qui compare deux éléments (entités) à partir des clés primaires des tables associées.

 

2- Créons un deuxième projet pour les services simples (Java Class Library). Appelons le 'schoolsssrv'

Ouvrons le dossier des services simples.

Copions le contenu du sous-dossier 'java' et collons le dans le dossier 'sources packages' de notre projet. Pour éliminer les erreurs signalées par le compilateur, ajoutons à notre classpath les librairies 'mbouop.jar' et 'schoolsdto.jar' puis construisons notre projet (clean and build).

 

3- Créons un troisième pour le contrat (Java Class Library), et appelons le 'schoolscontract'.

Ouvrons le dossier Contract.

Copions le contenu du sous-dossier 'java' et collons le dans le dossier 'sources packages' de notre projet. Pour éliminer les erreurs signalées par le compilateur, ajoutons à notre classpath la librairie 'schoolsdto.jar' et construisons notre projet.

 

4- Créons un quatrième projet pour les classes métier (Java Class Library). Appelons le 'schoolswsrv'

Ouvrons le dossier des Web Services.

Copions le contenu du sous-dossier 'java' et collons le dans le dossier 'sources packages' de notre projet. Pour éliminer les erreurs signalées par le compilateur, ajoutons à notre classpath les librairies 'schoolsdto.jar', 'schoolscontract.jar' 'schoolsssrv.jar' et 'mbouop.jar', puis construisons notre projet.

 

5- Créons un cinquième projet pour l'exposition de nos web services (Java Web Application). Appelons le 'schoolswebservice'. (JavaEE version: 1.4)

Ouvrons le dossier Web-Inf-Files.

Copions son contenu dans le dossier 'WEB-INF' de notre application. Bien entendu, ne pouvant remplacer le fichier web.xml de l'application créée par le notre, nous devons plutôt remplacer son contenu.

Ajoutons à notre classpath les librairies 'schoolsdto.jar', 'schoolscontract.jar' 'schoolsssrv.jar', 'schoolswsrv.jar' et 'mbouop.jar', puis construisons notre projet.

Maintenant, ajoutons spring et les librairies utiles à Apache CXF. Nous pouvons trouver spring dans NetBeans.

Ajoutons aussi le driver de PostgreSQL et ibatis pour les accès aux données. La version d'ibatis que j'ai toujours utilisée est '2.3.0.677', elle est très stable et ne m'a jamais causé d'ennuis.

Ibatis doit être configuré pour fonctionner, et c'est ce que nous allons faire maintenant.

 

6- Créons un sixième projet pour la configuration d'Ibatis. Appelons le 'schoolsconfig'.

Ouvrons le dossier 'Config',

Copions son contenu dans le dossier 'source packages' de l'application.

Dans le paquetage 'org.yakoliv.mbouop.cfg.mapper', ouvrons le fichier 'SqlMapConfig.properties' et ajoutons les informations manquantes. Si vous avez suivi ce tutoriel jusqu'ici, elles devraient être les suivantes:

driver=org.postgresql.Driver

url=jdbc:postgresql://localhost:5432/schools

user=postgres

pswd=<votre_pass>

Construisons notre projet et ajoutons le fichier 'jar' résultant au classpath de notre projet web.

Construisons notre projet 'schoolswebservice' et déployons le. J'ai utilisé pour cela Tomcat 7.0.42. En réalité, la version n'est pas importante. Même sous glassfish, nous aurions pu le faire, un peu comme nous avons utilisé une version récente de Spring alors que yakoliv avait été monté au moment où Spring était à la version 3.0. Cependant, je n'ai pas encore testé yakoliv avec une version de CXF supérieure à 2.4.1.

 

Tout ceci fait, testons le déploiement de nos services web à l'adresse:

http://localhost:8080/schoolswebservice/

Nous obtenons l'image ci-dessous:

Mise en place de la partie serveur pour une application basée sur Yakoliv Framework

Dans l'article suivant, nous écrirons un client pour ces web services et nous l'utiliserons pour monter une application fenêtrée ayant pour fonctionnalités celles décrites à cette adresse: http://yakamyale.over-blog.com/2014/06/le-projet-de-demonstration-de-yakoliv-framework.html

Bien entendu, nous utiliserons des éléments générés par Yakoliv Gen Tool

Restez scotchés, à bientôt!

Partager cet article
Repost0

Présentation

  • : Le blog de YAKAM OLIVIER
  • : Blog de partage d'idées en mathématiques et en programmation avancée JAVA
  • Contact

Recherche

Archives

Mes Sources Favorites