NatBraille webservice Introduction et mise en service Présentation de Nat Braille Présentation du service web : NatBWebservice Installation de la solution sur un serveur Points forts et points a améliorer Réalisé par Lucas Traore
NatBraille webservice Introduction et mise en service NATBRAILLE : Un transcripteur universel de documents standards en texte braille. C’est un logiciel libre de transcription automatique capable de convertir plusieurs formats de fichiers en braille. Il est développé en java et fonctionne sous tout les systèmes d’exploitation. Réalisé par Lucas Traore
NatBraille webservice Introduction et mise en service NatBWebservice: Etant donné l’évolution des normes brailles ainsi que celle de l’informatique, des système d’exploitations, et des besoins, Nat c’est voulu être un logiciel facilement maintenable. Pour éviter aux utilisateurs d’avoir a télécharger régulièrement les nouvelles versions de nat. Il a été décidé de créer une version web qui serai toujours a jour et grâce a laquelle les utilisateurs n’auraient qu’a se connecter et transcrire leurs documents directement en ligne profitant de la dernière version. Le but était de ne pas tout refaire et avoir une version web utilisant la version java ainsi en mettant a jour la version java quelques clics suffiraient a mettre a jour la version web. C’est pour cette raison que nous avons décidé d’utiliser les normes JEE. Réalisé par Lucas Traore
NatBraille webservice Introduction et mise en service NatBWebservice est donc une application java possédant une interface web. NatBWebservice ce divise donc en 5 grosses parties : Gestionnaire d’utilisateur Base de donnée Applications Nat ( les même applications qui sont installées sur les Postes d’utilisateurs classiques ) Interface Web Gestionnaire d’application Nat Réalisé par Lucas Traore
NatBraille webservice Introduction et mise en service Voici donc les rôles de chaque partie : Elle sert a stocker les informations sur les utilisateurs ainsi qu’a garder les chemins des fichier pour que les utilisateurs puissent les télécharger a n’importe quel moment. ( dans notre code, on intéragit avec elle grace a un entity manager nommé « em » ), des tables ont préalablement été créé pour accueillir nos éléments. Base de donnée Il contient toute les méthode concernant concernant les utilisateurs ( créer un utilisateur, enregistrer un fichier sur le disque et son chemin dans la base de donnée, enregistrer les informations de l’utilisateur en base de donnée … ) Gestionnaire d’utilisateur Réalisé par Lucas Traore
NatBraille webservice Introduction et mise en service Voici donc les rôles de chaque partie : Regarde si il y a une application nat qui est disponible, si il y en a une qui est disponible alors il demande la transcription du fichier qui lui a été transmit par l’interface sinon il renvoi un message d’erreur a celle-ci. ( grâce a lui et a plusieurs instances du programme NAT nous pouvons avoir plusieurs transcriptions concurrentes ). Gestionnaire d’application Nat Applications NAT C’est un ensemble de programmes NAT tel que décrit dans le 2eme slide, chaque programme est indépendant et possède tout les moyens pour transcrire un fichier. Réalisé par Lucas Traore
NatBraille webservice Introduction et mise en service Voici donc les rôles de chaque partie : Interface Web L’interface Web est la partie de NatBWebservice qui sera visible pour l’utilisateur elle possède une interface graphique agréable permettant de faire des transcription en etant ou pas inscrit. Permet de s’inscrire, de stocker des fichier, d’enregistrer ses configurations, et de réaliser de transcriptions. L’interface Web est codée en JSP et en HTML elle appelle les méthodes des autre parties Réalisé par Lucas Traore
NatBraille webservice Introduction et mise en service Mise en relation avec JEE : Dans les spécification JEE les parties applicatives sont appelées EJB. Ce sont des applications normales dont les méthode sont appelables par d’autre module de notre application globale. Ainsi nous avons ici 3 EJB : Gestionnaire d’utilisateur Base de donnée Applications Nat (appelées NatBWebService-ejb1, NatBWebService-ejb2,… dans les dossiers) EJB * Interface Web Gestionnaire d’application Nat EJB * EJB * * Après compilation les EJB ont pour extension .jar Réalisé par Lucas Traore
NatBraille webservice Introduction et mise en service Mise en relation avec JEE : Les parties application web en JEE sont appelée WAR, nous n’avons donc qu’une WAR ( web application archive ) qui appelle les méthodes des EJB. Gestionnaire d’utilisateur Base de donnée Applications Nat (appelées NatBWebService-ejb1, NatBWebService-ejb2,… dans les dossiers) Interface Web Gestionnaire d’application Nat WAR * * Après compilation les WAR ont pour extension .war Réalisé par Lucas Traore
NatBraille webservice Introduction et mise en service Mise en relation avec JEE : Pour la persistance des données on utilise une base de donnés, le couplage Objet/table est fait grâce aux annotations dans les classes objets, ces classes sont appelées entity classes Gestionnaire d’utilisateur (contient des entity classes) Base de donnée (contient les tables enregistrant les instance d’entity classes) Applications Nat (appelées NatBWebService-ejb1, NatBWebService-ejb2,… dans les dossiers) Interface Web Gestionnaire d’application Nat * Après compilation les WAR ont pour extension .war Réalisé par Lucas Traore
NatBraille webservice Introduction et mise en service Exemple de fonctionnement : Pour s’inscrire un utilisateur arrive sur l’interface web , il va sur la page inscription et rempli les informations, lorsqu’il a fini il valide la WAR appelle une méthode ( située dans l’entity-manager UserManager ) de l’ EJB gestionnaire d’utilisateur en lui passant les paramètres ( nom prenom … ). Cette méthode va ensuite enregistrer en base de donnée ( dont les paramètre se situe dans le fichier jndi.properties ) l’utilisateur . Gestionnaire d’utilisateur (contient des entity classes) Base de donnée (contient les tables enregistrant les instance d’entity classes) Interface Web * Après compilation les WAR ont pour extension .war Réalisé par Lucas Traore
NatBraille webservice Introduction et mise en service Exemple de fonctionement : Pour transcrire un fichier l’utilisateur va dire quel fichier il souhaite transcrire et le fichier de configuration qu’il souhaite utiliser. L’interface web va donc via le gestionnaire utilisateur voir si la configuration existe pour cet utilisateur et récupérer son chemin. Il va ensuite utiliser la méthode transcrire du gestionnaire d’application Nat qui lui-même va chercher une instance de NAT non-utilisée et appeler l’une de ses méthode permettant de transcrire en passant en paramètre le fichier de conf et le fichier de base ( qui aura été enregistré sur disque et en BD ) Applications Nat (appelées NatBWebService-ejb1, NatBWebService-ejb2,… dans les dossiers) Gestionnaire d’application Nat Interface Web EJB * EJB * * Après compilation les EJB ont pour extension .jar Réalisé par Lucas Traore
NatBraille webservice Introduction et mise en service Installation sur serveur : Pour installer NatBWebservice, il vous faut installer le serveur d’application glassfish3.0.1 et donc le JRE et le JDK correspondant, allez a la page : https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=jre-6u21-oth-JPR@CDS-CDS_Developer Téléchargez le JRE et installez le ensuite allez a la page : https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_SMI-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=java_ee_sdk-6u1-wjdk-oth-JPR%40CDS-CDS_SMI Téléchargez le JDK et installez le. Une fois ceci fait, Téléchargez glassfish 3.0.1 a la page : http://dlc.sun.com.edgesuite.net/glassfish/v3.0.1/release/ Selectionnez la version correspondant a votre système. L’ idéal étant de telecharger le kit netbeans+glassfish disponible a la page : http://netbeans.org/downloads/index.html Selectionnez le kit java, il contient tout ce qu’il faut et dans la suite de ce tutoriel je vous montrerais comment mettre en place NatBWebservice avec netbeans (méthode la plus simple et permettant la modification du service). Réalisé par Lucas Traore
NatBraille webservice Introduction et mise en service Installation sur serveur sans netbeans : Vous avez installé le JRE, le JDK et Glassfish, ouvrez un terminal et ajoutez les répertoires bin dans le PATH et les repertoires d’installation dans le CLASSPATH tel que fait dans le fichier nat-set-var ( distrib/NatBWebservice/scripts, utilisez la 1ere parties ). Ensuite creez les tables dans la base de donnée ( utilisez la derniere ligne de nat set var ) Vous etes maintenant sur l’outil de gestion de la BD, utilisez les 1eres lignes de CreerDB.txt ( distrib/NatBWebservice/scripts ) pour créer la BD puis les tables nécessaires. Réalisé par Lucas Traore
NatBraille webservice Introduction et mise en service Installation sur serveur sans netbeans : Faites un copier/coller du répertoire NatBWebService dans glassfish\domains\domain1\autodeploy Ensuite utilisez le fichier startNetworkServer (glassfish/javadb/bin) pour lancer la base de donnee et le fichier startserver (glassfish\bin) pour lancer le serveur d’application. Au démarage de celui-ci l’application devrait se déployer automatiquement, vérifiez qu’il n’y ai aucun message d’erreur lors du lancement de celui-ci. Votre application est déployée et le serveur lancé, allez a la page http://localhost:8080/NatBwebservice Réalisé par Lucas Traore
NatBraille webservice Introduction et mise en service Installation sur serveur avec netbeans : Avec netBeans la procédure est beaucoup plus simple, une fois téléchargé, lancez netbeans, faites Crtl+Maj+N pour créer un nouveau projet, Sélectionnez javaEE –> Entreprise application with existing source Creez un répertoire ou vous copierez le dossier NatBWebservice et selectionnez le, terminez la procédure en selctionnant les EJB ( cf page8 ) Et le web module ( page 9 ) . Votre projet ce charge, faites un clear and build ( Maj+F11 ) si il y a une erreur effacez tous les dossier build et dist dans NatBwebservice puis relancez l’opération. Creez la BD comme expliqué précédement. L’application est compilée, lancez la ( F6 ) netbeans démarre le serveur la base de donnée et ouvre une page web correspondant a l’application. Réalisé par Lucas Traore