TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet



Documents pareils
TP architecture N-tiers en Java EE ou Java EE, Android : la synthèse. Le serveur GereCompteBancaireServlet

TP réseau Android. Bidouilles Tomcat. a) Installer tomcat : il suffit de dézipper l'archive apache-tomcat windowsx64.zip.

Utilisation de GCM (Google Cloud Messaging) pour Android. Partie préliminaire éventuelle : Création d'un AVD lisant GCM

Java ME : une présentation. Jean-Marc Farinone

RMI le langage Java XII-1 JMF

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

contact@nqicorp.com - Web :

Création d un service web avec NetBeans 5.5 et SJAS 9

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

IFT287 Exploitation de base de données relationnelles et orientées objet. Laboratoire Mon premier programme Java en Eclipse

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Procédure d'installation complète de Click&Decide sur un serveur

et Groupe Eyrolles, 2006, ISBN :

Etude de cas : PGE JEE V2

Assistance à distance sous Windows

Guide d'installation. Release Management pour Visual Studio 2013

2010 Ing. Punzenberger COPA-DATA GmbH. Tous droits réservés.

Bases de données. Table des matières. Introduction. (ReferencePlus.ca)

Présentation du logiciel Cobian Backup

Utiliser Freemind à l'école

Foucart Digeon SISR1-CH7 Mise en place d'un serveur FTP BTS SIO 08/04/2013. SISR1 CH7 Mise en place d'un serveur FTP. - Page 1 -

Tutorial et Guide TeamViewer

cbox VOS FICHIERS DEVIENNENT MOBILES! POUR ORDINATEURS DE BUREAU ET PORTABLES WINDOWS ÉDITION PROFESSIONNELLE MANUEL D UTILISATION

wxwidgets dans un environnement Microsoft Windows

Installation et prise en main

Avant-propos 1. Avant-propos Organisation du guide À qui s'adresse ce guide?...4

GesTab. Gestion centralisée de tablettes Android

Documentation utilisateur, manuel utilisateur MagicSafe Linux. Vous pouvez télécharger la dernière version de ce document à l adresse suivante :

Une mise à jour du logiciel du lecteur FreeStyle InsuLinx est nécessaire. Veuillez lire l'ensemble de ce document avant de commencer.

Installation d'un serveur DHCP sous Windows 2000 Serveur

1. Installation d'un serveur d'application JBoss:

L accès à distance du serveur

Proposition d'installation du PackEPS sur Scribe

MANUEL D INSTALLATION Sous WINDOWS

Installation locale de JOOMLA SEPIA

Mettre Linux sur une clé USB bootable et virtualisable

INSTALLATION CONFIGURATION D OWNCLOUD. La réponse informatique

LOGICIEL KIPICAM : Manuel d installation et d utilisation

Encadré par : Michel SIMATIC

Un serveur FTP personnel, ça ne vous a jamais dit?

Bases Java - Eclipse / Netbeans

Application de lecture de carte SESAM-Vitale Jeebop

Menu Fédérateur. Procédure de réinstallation du logiciel EIC Menu Fédérateur d un ancien poste vers un nouveau poste

HP Data Protector Express Software - Tutoriel 4. Utilisation de Quick Access Control (Windows uniquement)

Guide de l'agent de notification

Web service AREA Manuel d installation et d utilisation du mode déconnecté. Version du 18 mars 2011

Application web de gestion de comptes en banques

Guide d'utilisation du Serveur USB

contact@nqicorp.com - Web :

FileZilla. Sauvegarder son site Guppy à l aide de. Sommaire:

Installation et paramétrage. Accès aux modèles, autotextes et clip- art partagés

Installer et configurer Oracle Forms 11gR2 Windows 7 64 bits

But de cette présentation

SAUVEGARDER SES DONNEES PERSONNELLES

Procédure d'installation de PostgreSQL pour Windows

Manuel d installation Version Evolution réseau Ciel Compta Ciel Gestion commerciale Ciel Associations

Procédure d'installation de Oracle Client pour Windows

TP3. Mail. Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose.

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN

GRETA SISR1 TP Installation et mise en place d un serveur FTP sous Windows Server 2013

Table des matières. 1 À propos de ce manuel Icônes utilisées dans ce manuel Public visé Commentaires...

Symantec Backup Exec 12.5 for Windows Servers. Guide d'installation rapide

SRAL Saint Raphaël. Maison des associations 213, rue de la Soleillette Saint Raphaël. : : dromain.jean-pierre@neuf.

cbox VOS FICHIERS DEVIENNENT MOBILES! POUR CLIENT MAC OS X MANUEL D UTILISATION

Guide d utilisation. Table des matières. Mutualisé : guide utilisation FileZilla

Création d une connexion VPN dans Windows XP pour accéder au réseau local de l UQO. Document préparé par le Service des technologies de l information

Contrôle de la DreamBox à travers un canal SSH

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Synchro et Threads Java TM

Réparer un disque dur passé en RAW

Machine virtuelle Java pour Palm TX

Acronis Backup & Recovery 10 Advanced Server Virtual Edition. Guide de démarrage rapide

MANUEL D INSTALLATION

A. Architecture du serveur Tomcat 6

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

TP 1 : prise en main de Windows. TP 1 : prise en main de Windows

Situation professionnelle n X

Préconisations Techniques & Installation de Gestimum ERP

IBM SPSS Statistics Version 22. Instructions d'installation sous Windows (licence nominative)

KeePass - Mise en œuvre et utilisation

Contrôler plusieurs ordinateurs avec un clavier et une souris

Vous y trouverez notamment les dernières versions Windows, MAC OS X et Linux de Thunderbird.

Master Poly Trader. Manuel d utilisateur. Group IV Benoît Perroud Marius Erni Lionel Matthey David Wenger Lotfi Hussami

Système clients serveur Kwartz Vulgarisation, identification, dossier personnel

Windows 8 Installation et configuration

Manuel Utilisateur MISE A JOUR DU CLIENT SOFIE VERS LA VERSION 5. v0.99

Procédure d installation des logiciels EBP sous environnement MAGRET

Sauvegarder ses données avec Syncback Windows 98, 2000, Me, NT, XP

Tutoriel pour la gestion des bases de données du Serveur Mysql virtualisé par le Gip Récia

2) Téléchargement de l'application pour contrôler vos caméras :

TUTORIEL: INSTALLATION D'UN SERVEUR LOCAL SOUS WINDOWS 7 POUR APPINVENTOR version du 06/04/2013

Pour plus de détails concernant le protocole TCP conférez vous à la présentation des protocoles Internet enseignée pendant.

Panda Managed Office Protection. Guide d'installation pour les clients de WebAdmin

Emporter Windows XP sur une clé USB

La base de données XML exist. A. Belaïd

IBM SPSS Statistics Version 22. Instructions d'installation sous Windows (licence simultanée)

Transcription:

TP Composants Java ME - Java EE Vous allez, dans ce TP, construire une architecture client serveur, plus précisément MIDlet cliente, servlet serveur. Pour cela, on va d'abord installer la partie serveur : une application web. Puis la tester par un navigateur web. Vous développerez ensuite la MIDlet cliente en vous appuyant sur le TP MIDlet sur les IHM haut niveau en Java ME (code en grande partie donné). A la fin du TP vous aurez ainsi deux clients (un téléphone portable et un navigateur web) qui pourront gérer le même compte bancaire (c'est pas beau ça ;-)). Le serveur GereCompteBancaireServlet Le programme qui va recevoir les requêtes de la MIDlet et y répondre est une servlet. 1 ) Récupérer à l'url http://cedric.cnam.fr/~farinone/smb111/annee1011/recuptp/ le fichier ADistribuer.zip. Ouvrer ce fichier dans votre répertoire de travail. Vous devez désormais avoir une arborescence comme : Vous avez donc, dans le répertoire ADistribuer : le.war de l'application web (contenant l'arborescence du répertoire CopieSiteWeb) une copie du site web qui sera finalement mise sous tomcat (grâce au.war) les sources *.java pour votre servlet un script qui permet de construire cette application web Certaines ressources données dans ce.zip ne le sont qu'à titre indicatif. 2 ) Lancer tomcat sur votre machine. Si vous ne l'avez pas, vous pouvez le récupérer et l'installer à partir de l'url http://tomcat.apache.org/download-60.cgi. Déployer le fichier GestionnaireCompteBancaire.war dans tomcat (utiliser Tomcat Manager cf. le cours que vous pouvez récupérer à l'url Composants Java ME - Java EE 1/7 Jean-Marc Farinone

http://cedric.cnam.fr/~farinone/smb111/annee1011/composantsavecjavameetwebapp.pdf) 3 ) Lisez le code de la servlet GereCompteBancaireServlet (fichier GereCompteBancaireServlet.java) ainsi que le fichier web.xml. 3.1) En déduire l'url qu'il faut utiliser pour obtenir le solde du compte bancaire (vous devriez avoir déjà 300 euro!). 3.2) De même en lisant le code de la servlet GereCompteBancaireServlet, déduire l'url pour débiter 52 euro. 3.3) De même en lisant le code de la servlet GereCompteBancaireServlet, déduire l'url pour créditer 52 euro. 3.4) Vérifier vos réponses aux questions 3.1, 3.2, 3.3 en accédant à ces URLs par un navigateur. Le client Java ME ClientCompteBancaireMIDlet Installation du "Wireless Toolkit 2.5.2" de Sun L'environnement de Sun pour commencer à faire du développement pour Java Micro Edition s'appelle le Wireless Toolkit. Nous utilisons dans ce TP la version 2.5.2. Dans tout cet énoncé on le désignera par WTK (son nom habituel). 4 ) Préparez vous un répertoire de travail. Il devra contenir : un sous répertoire de nom Telecharger qui contiendra les données téléchargées. un sous répertoire de nom WTK qui contiendra le WTK installé. 5 ) Télécharger cet environnement à partir de l'url http://java.sun.com/products/sjwtoolkit/index.jsp On utilisera le lien "Sun Java Wireless Toolkit 2.5.2_01 for CLDC ". Il y a plusieurs pages web à parcourir, lisez rapidement ces pages! Vous devez finir par télécharger le programme sun_java_wireless_toolkit-2.5.2_01-win.exe. Mettez-le dans votre répertoire Telecharger. 6 ) Lancer l'installation de cet environnement. Il y a plusieurs écrans qui apparaissent lors de cette installation. On placera cet environnement dans le répertoire WTK. 7 ) Lancer l'exécution de cet environnement. Pour lancer cet environnement aller dans le répertoire ou vous avez installé le WTK, puis dans son sous répertoire bin et lancer le programme ktoolbar.exe. Vous devez obtenir la fenêtre ci-dessous : Composants Java ME - Java EE 2/7 Jean-Marc Farinone

Remarque : Dans une ancienne version un raccourci était installé dans le menu des programmes. et on pouvait lancer donc cet environnement par : démarrer Programmes Sun Java (TM) Wireless Toolkit 2.5.2 for CLDC Wireless Toolkit 2.5.2 (sous Windows XP) L'environnement "Wireless Toolkit" 8 ) Quand cet environnement a été lancé, exécuter les démonstrations proposées par exemple : Demos, CityGuide, UIDemo par OpenProject puis Run. Votre souris ne doit servir qu'à appuyer sur les touches de l'émulateur. 9 ) Changer de Device (de DefaultColorPhone à QuertyDevice) et tester certaines midlets. Le client Java ME ClientCompteBancaireMIDlet 10 ) Vous allez compléter une MIDlet qui sera un client permettant d atteindre et de faire des opérations sur un compte bancaire. 10.1) Dans la KToolbar, cliquer New Project, Entrer un nom de projet (EDJavaMECNAM) et un nom de classe (ClientCompteBancaireMIDlet) puis cliquer Create Project. Accepter les configurations par défaut dans la fenêtre suivante : cliquer OK. 10.2) Vérifier qu'un nouveau projet a été créé : le répertoire EDJavaMECNAM a été créé sous C:\Documents and Settings\nomDUtilisateurDeVotreMachine\j2mewtk\2.5.2\apps. Dans ce répertoire EDJavaMECNAM ont été créés plusieurs fichiers et sous-répertoires. 10.3) Dans un éditeur de texte, éditer la MIDlet ci dessous dans le fichier ClientCompteBancaireMIDlet.java : fichier ClientCompteBancaireMIDlet.java import javax.microedition.midlet.*; import javax.microedition.lcdui.*; import javax.microedition.io.*; import java.io.*; public class ClientCompteBancaireMIDlet extends MIDlet implements CommandListener, Runnable { private Form mmainform, connectform; private ChoiceGroup cg; Composants Java ME - Java EE 3/7 Jean-Marc Farinone

private Command cmdexit, cmdtransaction; private TextField tf; private String reponsedelaservlet = ""; // les 3 méthodes abstraites de MIDlet public void destroyapp(boolean condition){ public void pauseapp(){ public void startapp(){ Display.getDisplay(this).setCurrent(mMainForm); // La methode de l'interface CommandListener public void commandaction(command c, Displayable d) { if (c == cmdexit) { destroyapp(true); notifydestroyed(); else if (c == cmdtransaction) { Thread t = new Thread(this); t.start(); Display.getDisplay(this).setCurrent(connectForm); public void run() { envoirequete(); public void envoirequete() { HttpConnection hc = null; InputStream in = null; String url = "http://localhost:8080/gestionnairecomptebancaire/gerecomptebancaireservlet"; try { int choix = cg.getselectedindex(); String urlcomplete = url; String valeur = null; switch (choix) { case 0 : // A FAIRE 1 // Compléter urlcomplete pour pouvoir obtenir le solde du compte bancaire // On pourra s'inspirer du code lignes suivantes break; case 1 : valeur = tf.getstring(); urlcomplete += "?operation=debiter&quantite="+valeur; break; case 2 : valeur = tf.getstring(); // A FAIRE 2 // Compléter urlcomplete pour pouvoir crediter valeur euro sur le compte bancaire // On pourra s'inspirer du code lignes précédentes! break; System.out.println(urlComplete); hc = (HttpConnection)Connector.open(urlComplete); in = hc.openinputstream(); int contentlength = (int)hc.getlength(); byte[] raw = new byte[contentlength]; int length = in.read(raw); in.close(); hc.close(); // traite la réponse Composants Java ME - Java EE 4/7 Jean-Marc Farinone

reponsedelaservlet = new String(raw, 0, length); mmainform = null; mmainform = new Form("MIDlet JMF pour manipuler le compte bancaire"); remplirmainform(); Display.getDisplay(this).setCurrent(mMainForm); catch (IOException ioe) { System.out.println("Pb dans l'envoi de la requête : " + ioe); private void remplirmainform() { cg = new ChoiceGroup("Sur votre compte bancaire voulez vous : ", ChoiceGroup.EXCLUSIVE); mmainform.append(cg); cg.append("obtenir le solde\nou bien", null); cg.append("retirer\nou", null); cg.append("crediter", null); tf = new TextField("la somme de : ", "", 7, TextField.DECIMAL ); mmainform.append(tf); mmainform.append(new StringItem(null, "euro")); mmainform.append(new StringItem(null, reponsedelaservlet)); cmdexit = new Command("Exit", Command.EXIT, 0); mmainform.addcommand(cmdexit); cmdtransaction = new Command("Lancer transaction", Command.EXIT, 0); mmainform.addcommand(cmdtransaction); mmainform.setcommandlistener(this); private void remplirconnectform() { StringItem messagelabel = new StringItem(null, "En cours de connexion (eh oui!)"); connectform.append(messagelabel); connectform.setcommandlistener(this); public ClientCompteBancaireMIDlet() { mmainform = new Form("MIDlet pour manipuler le compte bancaire"); remplirmainform(); connectform = new Form("Connexion à la servlet"); remplirconnectform(); 10.4) Sauvegarder cette MIDlet ClientCompteBancaireMIDlet.java dans ce répertoire (C:\Documents and Settings\nomDUtilisateurDeVotreMachine\j2mewtk\2.5.2\apps\src) 10.5) Construire la MIDlet par l'environnement WTK en cliquant Build. Lancer l'exécution en cliquant Run. Vous devez obtenir l'interface graphique ci dessous : Composants Java ME - Java EE 5/7 Jean-Marc Farinone

Évidemment, toute la partie réseau ne fonctionne pas encore : c'est l'objet de la suite de ce TP. Vous avez néanmoins et faute de temps, beaucoup de code (fort intéressant) qui vous ai déjà donné. 11 ) Lorsque l'utilisateur actionne la Command "Lancer transaction", votre programme : lance une thread d'envoi d'une requête à la servlet affiche un écran d'attente de réponse de la requête Ce code est donné. Par contre, à vous de programmer de sorte que la requête contacte la servlet en lui passant (éventuellement) des paramètres (cf. question 3.4) pour effectuer l'opération bancaire demandée. Le choix de l'opération à effectuer coté serveur est déterminée en récupérant le choix de l'utilisateur dans le ChoiceGroup. Après réponse du serveur, une Form de réponse sera construite et affichée sur le téléphone. Composants Java ME - Java EE 6/7 Jean-Marc Farinone

L'architecture client-serveur (MIDlet client, servlet serveur) Vous devez désormais pouvoir manipuler votre compte bancaire par un client web ou un téléphone portable et vérifier les opérations faites par un client à l'aide de l'autre client. Bonus 12 ) Si votre compte bancaire est en fait géré par la servlet de l'ordinateur voisin, modifier votre MIDlet pour qu'elle puisse manipuler ce compte bancaire. Vous aurez besoin du numéro IP de l'ordinateur voisin. 13 ) De même, puisque votre servlet gère un compte bancaire, en supposant que celui ci est celui de votre voisin, demander lui de gérer son compte en se connectant sur votre servlet. Vous devrez, pour cela, lui communiquer le numéro IP de votre machine et il devra modifier le code de sa MIDlet. Conclusion Dans les questions 12 ) et 13 ) on obtient un véritable architecture client-serveur où le client et le serveur sont sur deux machines différentes. On pourrait même envisager une architecture 3- tiers si la sauvegarde de la donnée pérenne était sur une troisième machine (avec une connexion de la servlet sur une base de données déposée sur cette troisième machine par exemple). Composants Java ME - Java EE 7/7 Jean-Marc Farinone