Initiation à Google Web Toolkit (GWT) - Communication Client-Serveur
|
|
- Émilie Huguette Pinard
- il y a 8 ans
- Total affichages :
Transcription
1 TP 8 Initiation à Google Web Toolkit (GWT) - Communication Client-Serveur 8.1 Avant-propos Lors du premier, nous avons découvert le fonctionnement de GWT par l intermédiaire d un exemple simple : gestion d une liste d étudiants. À l issue de cette première séance, nous avons la possibilité de : afficher la liste des étudiants enregistrés, ajouter un étudiant, supprimer un étudiant. Cette gestion est réalisée exclusivement côté client. Plus précisément, le code Java développé et compilé génère du code Javascript exécuté sur le navigateur du client. Il n y a pas, à ce stade, d utilisation d un quelconque mécanisme AJAX et de communication client-serveur. Lors de cette séance, nous allons découvrir une introduction de ces nouvelles notions. 8.2 Définition de GWT RPC Le framework GWT RPC permet de faciliter la communication entre un client et les différents composants du serveur d une application web et ainsi d échanger des objets Java à travers le protocole HTTP. Le code côté serveur que le client peut invoquer définit ce que l on nomme un service. L implémentation d un service GWT RPC est basée sur l architecture des servlets Java. Dans le code côté client, nous utiliserons une classe proxy générée automatiquement qui se chargera de faire les appels aux services. Le framework GWT s occupe de sérialiser aussi bien les objets échangés que les objets passés en arguments ou retours de méthodes. Il est à noter que GWT RPC est complètement propre au framework GWT et n est pas similaire à la notion de services web tels que REST ou encore SOAP. C est une fonctionnalité propriétaire et optimisée permettant l échange d objets client-serveur. Le mécanisme de GWT RPC (voir la figure 8.1) s apparente au mécanisme proposé par Corba. Au niveau architectural, pour un service donné, nous avons : une interface de service (signature de méthodes distantes), une interface similaire à l interface de service, mais asynchrone : c est elle qui sera utilisée dans le code du client GWT, une implémentation du service, située côté serveur. Le point faible de ce mécanisme réside dans le couplage fort entre le code client et le code serveur, car le contrat d interface utilise une interface Java. 8.3 GWT RPC et la gestion des étudiants Suivant la figure 8.1, afin de définir une interface GWT RPC (ou RPC, tout simplement), nous avons besoin d écrire trois composants : 1
2 Figure 8.1: Architecture générale du mécanisme GWT RPC 1. définir une interface EtudiantService pour notre service qui étend la classe RemoteService et qui liste toutes les méthodes RPC, 2. créer une classe EtudiantServiceImpl qui étend RemoteServiceServlet et qui implémente l interface que nous venons de définir, 3. définir une interface asynchrone EtudiantServiceAsync pour notre service et qui sera appelée par le code coté client. L implémentation d un service doit étendre RemoteServiceServlet et doit implémenter l interface de service correspondante. Notons que l implémentation du service n implémente pas la version asynchrone de l interface de service. Chaque service est obligatoirement une servlet, mais plutôt que d étendre HttpServlet comme dans le cas d un développement JEE classique par exemple, elle étend RemoteServiceServlet. Cette dernière s occupe automatiquement de la sérialisation des données échangées entre le client et le serveur et invoquées par la méthode correspondante à l implémentation de notre service Création du service Dans ce TP, nous allons transférer la gestion des étudiants de la partie cliente vers la partie serveur (il ne faut jamais faire confiance au client). Actuellement, vous avez l affichage de tous les étudiants dans un widget GWT, l ajout (et la suppression) d un étudiant. 1 public class GestionEtudiant implements EntryPoint { 2 3 [...] 4 5 private FlexTable gridetd = new FlexTable (); 6 private TextBox addname = new TextBox (); 7 private TextBox addlastname = new TextBox (); 8 private Button btnaddetd = new Button (" Ajouter "); 9 T. Morsellino, version du November 6, / 7
3 10 11 private void addetd () { 12 final String nom = addetd. gettext (). trim (); 13 final String prenom = addetd2. gettext (). trim (); 14 addetd. setfocus ( true ); addetd. settext (""); 17 addetd2. settext (""); int row = gridetd. getrowcount (); gridetd. settext (row, 0, nom ); 22 gridetd. settext (row, 1, prenom ); 23 } public void onmoduleload () { List < Etudiant > list = new ArrayList (); 28 list. add ( new Etudiant (" Toto ", "L asticaot ")); 29 list. add ( new Etudiant (" Mickey ", " Mouse ")); 30 list. add ( new Etudiant (" Luke ", " Donald - Skywalker ")); gridetd. settext (0, 0, " Nom "); 33 gridetd. settext (0, 1, " Prenom "); int i = 1; 36 for ( Etudiant etd : list ){ 37 gridetd. settext (i, 0, etd. getnom ()); 38 gridetd. settext (i, 1, etd. getprenom ()); 39 i ++; 40 } gridetd. addstylename (" grid "); addpanel. add ( addetd ); 45 addpanel. add ( addetd2 ); 46 addpanel. add ( btnaddetd ); mainpanel. add ( gridetd ); 49 mainpanel. add ( addpanel ); RootPanel. get ().add ( mainpanel ); addetd. setfocus ( true ); 54 addetd. settitle (" Nom "); 55 addetd2. settitle (" Prenom "); btnaddetd. addclickhandler ( new ClickHandler () { 58 public void onclick ( ClickEvent event ) { 59 addetd (); 60 } 61 }); [...] Question 1 Suivant les explications précédentes, la figure 8.1, en utilisant Eclipse correctement (génération automatique du corps de l interface), créer le service correspondant : définir l interface de service (client) : EtudiantService, implémenter l interface (serveur) : EtudiantServiceImpl, ajouter l manager ) à la classe EtudiantService qui associe le service avec un chemin relatif par défaut à l URL de base du module. Attention de ne pas se tromper de package. T. Morsellino, version du November 6, / 7
4 Noter que l implémentation d un service se place coté serveur et que celui-ci est exécuté en tant que bytecode Java. En conséquence, il est possible d utiliser toutes les bibliothèques Java classiques (List, Random,... ). Une fois ces deux classes écrites, il est nécessaire d inclure le code serveur dans le module GWT qui va être déployé par le serveur web (Tomcat). Pour cela, il faut ajouter les balises <servlet> et <servlet-mapping> dans le descripteur de déploiement de l application web (fichier projet /war/web-inf/web.xml) et pointer vers la classe d implémentation (EtudiantServiceImpl). 1 [...] 2 <web -app > 3 <welcome -file -list > 4 <welcome -file > Etudiant.html </ welcome -file > 5 </ welcome -file -list > 6 7 <servlet > 8 < servlet - name > etudiantserviceimpl </ servlet - name > 9 <servlet - class > com.lp. student. server. EtudiantServiceImpl </ servlet - class > 10 </ servlet > <servlet - mapping > 13 < servlet - name > etudiantserviceimpl </ servlet - name > 14 <url - pattern >/ student / manager </ url - pattern > 15 </ servlet - mapping > 16 </web -app > Invocation du service Les appels de méthodes depuis un client se font de manière asynchrone afin de suivre la logique du mécanisme proposé par AJAX et ainsi de concevoir des applications web de type RIA. Nous avons besoin d ajouter un paramètre AsyncCallback sur toutes les méthodes d un service. Pour cela, nous devons définir une nouvelle interface comme suit : elle doit avoir le même nom de que l interface de service suffixé avec le mot-clé Async (p. ex. EtudiantServiceAsync), elle doit être situé dans le même package que l interface de service (client), chaque méthode doit avoir le même nom et la même signature que celles présente dans l interface de service avec une différence importante : une méthode ne retourne rien et le dernier paramètre est un objet de type AsyncCallback. Question 2 Encore une fois, à l aide d Eclipse, créer l interface préalablement décrite et expliquer son fonctionnement en commentaire. Ne pas hésiter à utiliser le moteur d Eclipse pour la génération automatique de cette interface. Une interface de service sans son correspondant asynchrone entrainera une erreur de la part d Eclipse. La correction automatique s occupera de générer le corps de l interface. Lorsque de l appel d une méthode distante, il est possible de spécifier une méthode callback qui sera appelée lorsque l appel sera terminé. La spécification d une méthode callback se fait en passant un objet de type AsyncCallback à la classe proxy. Un objet AsyncCallback contient deux méthodes appelées selon que le résultat de l appel distant soit une réussite onsuccess() ou un échec (onfailure()). T. Morsellino, version du November 6, / 7
5 Question 3 La procédure à suivre est la suivante : 1. Dans la classe principale de votre projet, créer une instance de la classe proxy du service en appelant GWT.create(). 1 private List < Etudiant > etds = new ArrayList < Etudiant >() ; 2 private EtudiantServiceAsync etudiantservice = GWT. create ( EtudiantService. class ); 2. initialiser le classe proxy du service, spécifier l objet callback et faire appel à un procédure distante. 1 [...] 2 3 if ( etudiantservice == null ) 4 etudiantservice = GWT. create ( EtudiantService. class ); 5 6 AsyncCallback < Etudiant [] > callback = new AsyncCallback < Etudiant [] >() { 7 public void onfailure ( Throwable caught ) { 8 // TODO : en cas d erreur. 9 } public void onsuccess ( Etudiant [] result ) { 12 // TODO : en cas de succes. 13 } 14 }; // appel a la methode du service. 17 etudiantservice. getlist ( callback ); Dès lors, nous avons créé un service, fait en sorte de pouvoir l utiliser (modification du fichier web.xml), mis en place un mécanisme permettant des appels asynchrones et générer un service proxy sur le client pour appeler ce service. Testons-le : Question 4 1. lancer l application (en mode développement) en utilisant le débogueur Eclipse, 2. regarder les messages d erreur dans la console, 3. conclure sur une éventuelle solution. La sérialisation permet de packager le contenu d un objet de telle sorte qu il est possible de l échanger entre différentes applications ou à travers un réseau. Ainsi, l utilisation de GWT RPC impose que les objets échangés soit sérialisables, aussi bien les paramètres de méthodes que les retours : tous les types primitifs (int, char, boolean,... ) ainsi que les objets Java correspondants (Integer, Char, Boolean) sont sérialisables par défaut, un tableau composé d éléments sérialisables est sérialisable, une classe est sérialisable si toutes les conditions suivantes sont satisfaites : elle implémente l interface Java Serializable ou GWT IsSerializable soit directement soit indirectement par une classe intermédiaire, les attributs non finaux, non transients sont eux aussi sérialisables, il existe un constructeur par défaut (public, privé ou protéger). GWT préserve la politique imposée par le mot-clé transient : les valeurs associées à ces attributs ne sont pas sérialisées (et donc non échangées durant un appel RPC), la sérialisation GWT est différent de celle proposée par défaut par Java. Pour plus de détails, se référer à la documentation Google. T. Morsellino, version du November 6, / 7
6 8.3.3 Gestion des erreurs Lorsque l appel à une procédure distante échoue, la cause peut être classée en deux catégories : exception inattendue : problème réseau, problème au niveau du serveur web ou d un serveur DNS ou autre. Il se peut, comme dans le cas d une application Java classique, qu une exception inattendue soit levée comme NullPointerException. Lors de la levée d une exception inattendue, il est possible de trouver la trace complète de la pile d exécution dans la console de développement. Côté client, la méthode callback onfailure() recevra une exception de type InvocationException avec un message générique : l appel a échoué sur le serveur. Voir les logs complets pour le détail. exception vérifiée/attendue : erreurs attendues gérées par l application elle-même. GWT préserve la gestion des exceptions Java (mots-clés throws et throw). Noter toutefois que les exceptions doivent être aussi sérialisables. Question 5 Toute classe d exception étend la classe Exception et implémente Serializable : 1. Créer une classe DoublonException permettant de gérer les doublons dans la liste d étudiants. 2. Mettre à jour l interface du service en spécifiant les méthodes pouvant être susceptible de lever une exception de type DoublonException : 19 public interface EtudiantService extends RemoteService { void addetds ( Etudiant e) throws DoublonException ; } 3. Mettre à jour les implémentations des méthodes concernées : 24 public void addetds ( Etudiant e) throws DoublonException { 25 [...] if ( listetds. contains (e)) { 28 throw new DoublonException ( e); 29 } [...] 32 } 4. Ajouter un widget de type label invisible permettant d afficher, si besoin, un message d erreur (voir la documentation et la méthode setvisible(boolean)), 5. Ajouter un mécanisme de traitement d erreur dans la méthode callback correspondante : 33 public void onfailure ( Throwable caught ) { 34 // si doublon alors exception 35 String details = caught. getmessage (); 36 if ( caught instanceof DoublonException ) { 37 details = " L etudiant " + 38 (( DoublonException ) caught ). getetudiant (). getname () + " existe deja."; 39 } errormsglabel. settext (" Erreur : " + details ); 42 errormsglabel. setvisible ( true ); 43 } Dans le cas où tout se passe correctement ensuite (aucune exception levée), ne pas oublier d effacer le message d erreur ensuite. Tester l application à chaque étape! T. Morsellino, version du November 6, / 7
7 8.4 Pour aller plus loin (et s avancer pour le prochain TP) L échange d objets s effectue, jusqu à présent, par l intermédiaire de sérialisation et de désérialisation en un format (propriétaire à Google). Pour des raisons évidentes, ce format n est pas forcément une bonne solution dès lors que notre application doit échanger des informations avec d autres applications. Il existe plusieurs formats pour le transport de données à travers un réseau comme le format XML. Réputé comme étant très verbeux, XML est de moins en moins utilisé. Il est préférable d utiliser un format plus léger, lisible, interopérable et surtout simple à traiter automatiquement comme JSON. Voici un exemple d une liste d étudiant en JSON : 1 [ 2 { 3 " nom ": " Toto ", 4 " prenom ": "L asticot " 5 " age ": 22 6 }, 7 { 8 " nom ": " Mickey ", 9 " prenom ": " Mouse ", 10 " age ": }, 12 { 13 " nom ": " Luke ", 14 " prenom ": " Donald - Skywalker ", 15 " age ": } 17 ] Question 6 En s aidant de la documentation (et de son instinct) : faire en sorte que le serveur renvoie la liste d étudiant au format JSON au client, traiter cette liste JSON coté client et l afficher comme auparavant dans un widget. Question 7 Afin de s avancer pour le TP/Projet suivant : réfléchir à des scénarios d utilisation d une TODO-Liste simple, proposer des tests unitaires, proposer une architecture logicielle simplifiée, commencer le développement de cette application. Ce document est publié sous Licence Creative Commons By- NonCommercial-ShareAlike. Cette licence vous autorise une utilisation libre de ce document pour un usage non commercial et à condition d en conserver la paternité. Toute version modifiée de ce document doit être placée sous la même licence pour pouvoir être diffusée. T. Morsellino, version du November 6, / 7
TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.
ASTRIUM - Toulouse JEE Formation 2013 TP JEE Développement Web en Java Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web. Figure 1 Architecture
Plus en détailServeur d'application Client HTML/JS. Apache Thrift Bootcamp
Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/
Plus en détailCréation d un service web avec NetBeans 5.5 et SJAS 9
Sommaire Création d un service web avec NetBeans 5.5 et SJAS 9 1. Présentation... 2 2. Création d un service web avec NetBeans... 2 2.1. Création d une application Web... 2 2.2. Création du service web...
Plus en détailArchitecture Orientée Service, JSON et API REST
UPMC 3 février 2015 Précedemment, en LI328 Architecture générale du projet Programmation serveur Servlet/TOMCAT Aujourd hui Quelques mots sur les SOA API - REST Le format JSON API - REST et Servlet API
Plus en détailChapitre 10. Les interfaces Comparable et Comparator 1
Chapitre 10: Les interfaces Comparable et Comparator 1/5 Chapitre 10 Les interfaces Comparable et Comparator 1 1 Ce chapitre a été extrait du document "Objets, Algorithmes, Patterns" de [René Lalement],
Plus en détailQuelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)
Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07
Plus en détailPremiers Pas en Programmation Objet : les Classes et les Objets
Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.
Plus en détailWEBSERVICES. Michael Fortier. Master Informatique 2ème année. fortier@lipn.univ-paris13.fr A308, Université de Paris 13
WEBSERVICES Michael Fortier Master Informatique 2ème année fortier@lipn.univ-paris13.fr A308, Université de Paris 13 https ://lipn.univ-paris13.fr/ fortier/enseignement/webservices/ Sommaire 1 Rappels
Plus en détailAuto-évaluation Programmation en Java
Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN
Plus en détailCours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»
Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web» Sana Sellami sana.sellami@lsis.org 2014-2015 Plan Partie 1: Introduction aux Services Web (SW) Partie 2: Vers une
Plus en détailRAPPORT DE STAGE GWT PRISE EN MAIN SERVLET - TEST DES DAO TELOSYS PLUGIN ECLIPSE WIZARD DATASET TELOSYS
RAPPORT DE STAGE GWT PRISE EN MAIN SERVLET - TEST DES DAO TELOSYS PLUGIN ECLIPSE WIZARD DATASET TELOSYS SOMMAIRE 1 Introduction...4 2 Généralités à propos du stage...4 2.1 Sujet initial du stage Objectifs...4
Plus en détailINTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Plus en détailAlfstore workflow framework Spécification technique
Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date
Plus en détailIntroduction aux «Services Web»
Introduction aux «Services Web» Sana Sellami sana.sellami@univ-amu.fr 2014-2015 Modalité de contrôle de connaissances Note de contrôle de continu Note projet Evaluation du projet la semaine du 17 novembre
Plus en détailProgrammer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)
Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes
Plus en détailRMI le langage Java XII-1 JMF
Remote Method Invocation (RMI) XII-1 Introduction RMI est un ensemble de classes permettant de manipuler des objets sur des machines distantes (objets distants) de manière similaire aux objets sur la machine
Plus en détailProjet de programmation (IK3) : TP n 1 Correction
Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public
Plus en détailDéveloppement Logiciel
Développement Logiciel Éxamen session 1-2012-2013 (Vendedi 25 mai, 9h-11h) Seuls les documents liés directement au cours sont autorisés (comme dit sur le site) : sujets de TD, notes de cours, notes personnelles
Plus en détailAvant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4
Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr. Saisissez la référence ENI de l'ouvrage EP5EJAV dans la zone de recherche et validez.
Plus en détailRemote Method Invocation Les classes implémentant Serializable
Parallélisme Architecture Eric Goubault Commissariat à l Energie Atomique Saclay Classe qui implémente la méthode distante (serveur): - dont les méthodes renvoient un objet serializable - ou plus généralement
Plus en détailUne introduction à la technologie EJB (2/3)
Une introduction à la technologie EJB (2/3) 1 Les singletons des EJB 3.1 1.1 Synchronisation gérée manuellement Depuis la version 3.1, des EJB Statless à instance unique sont maintenant disponibles : ce
Plus en détailWeb Tier : déploiement de servlets
Web Tier : déploiement de servlets 1 / 35 Plan 1 Introduction 2 Servlet : Principe de fonctionnement 3 Création et développement sur un serveur JEE 4 Quelques méthodes de l API des servlets 5 Utilisation
Plus en détail1. Installation d'un serveur d'application JBoss:
EPITA Ala Eddine BEN SALEM App-Ing2 J2EE T.P. 4 EJB3, Serveur d'application JBoss 1. Installation d'un serveur d'application JBoss: télécharger l'archive du serveur JBoss à l'adresse: http://sourceforge.net/projects/jboss/files/jboss/jboss-5.0.0.ga/jboss-5.0.0.ga.zip/download
Plus en détailRemote Method Invocation en Java (RMI)
Remote Method Invocation en Java (RMI) Modélisation et construction des applications réparties (Module M-4102C) J. Christian Attiogbé Fevrier 2015 J. Christian Attiogbé (Fevrier 2015) Remote Method Invocation
Plus en détailLicence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...
Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez
Plus en détailApplications et Services WEB: Architecture REST
Applications et : Erick Stattner Laboratoire LAMIA Université des Antilles et de la Guyane France erick.stattner@univ-ag.fr Guadeloupe 2014-2015 Erick Stattner Applications et : 1 / 90 Description du cours
Plus en détailEnvironnements de développement (intégrés)
Environnements de développement (intégrés) Tests unitaires, outils de couverture de code Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure
Plus en détailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailComposants Logiciels. Le modèle de composant de CORBA. Plan
Composants Logiciels Christian Pérez Le modèle de composant de CORBA Année 2010-11 1 Plan Un rapide tour d horizon de CORBA 2 Introduction au modèle de composant de CORBA Définition de composants CORBA
Plus en détailApplication web de gestion de comptes en banques
Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion
Plus en détail[APPLICATON REPARTIE DE VENTE AUX ENCHERES]
2012 Polytech Nice- Sophia El Hajji Khalil Yousfi Hichem SI4 - Log [APPLICATON REPARTIE DE VENTE AUX ENCHERES] Sommaire Architecture de l application... 3 Le Serveur... 3 Le Client... 4 Passage en CORBA...
Plus en détailInstitut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki
Institut Supérieur de Gestion Cours pour 3 ème LFIG Java Enterprise Edition Introduction Bayoudhi Chaouki 1 Java EE - Objectifs Faciliter le développement de nouvelles applications à base de composants
Plus en détailGuide d installation de ArcGIS server 9.3.1
Rédacteurs : HSM Hydrosciences Contributeurs : DSI IS Guide d installation Table des matières : Préambule :... 2 La gestion des Comptes :... 3 Installation :... 4 Post installation :... 9 Licence :...
Plus en détailCompte Rendu d intégration d application
ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...
Plus en détailIFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL
IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL Un bus de services Un bus de services (ESB) permet d assembler des web services existants, le résultat de cet
Plus en détailCette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :
Développement d un client REST, l application Vélib 1. Présentation L application présentée permet de visualiser les disponibilités des vélos et des emplacements de parking à la disposition des parisiens
Plus en détailTP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les
Plus en détailDevenez un véritable développeur web en 3 mois!
Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web
Plus en détailRemote Method Invocation (RMI)
Remote Method Invocation (RMI) TP Réseau Université Paul Sabatier Master Informatique 1 ère Année Année 2006/2007 Plan Objectifs et Inconvénients de RMI Fonctionnement Définitions Architecture et principe
Plus en détailLMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour
LMI 2 Programmation Orientée Objet POO - Cours 9 Said Jabbour jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Faculté des Sciences - Univ. Artois Février 2011 Les collections
Plus en détailMise en œuvre des serveurs d application
Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés
Plus en détailDojo Toolkit. Créer des applications AJAX/RIA en JavaScript. Thomas Corbière www.itsi-formation.com
Dojo Toolkit Créer des applications AJAX/RIA en JavaScript Auteur Site Web Dernière modification Dojo Toolkit Thomas Corbière www.itsi-formation.com 20/02/2012 (révision 3) 1.6 Ce support de cours est
Plus en détailBien architecturer une application REST
Olivier Gutknecht Bien architecturer une application REST Avec la contribution de Jean Zundel Ce livre traite exactement du sujet suivant : comment faire pour que les services web et les programmes qui
Plus en détailArchitecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués
Architecture JEE. Objectifs attendus Serveurs d applications JEE Systèmes distribués Architectures JEE Normes JEE couches logicielles, n-tiers framework JEE et design patterns 2007/02/28 Eric Hébert.eheb@yahoo.fr
Plus en détailÉtude de l interopérabilité de deux langages de programmation basée sur la machine virtuelle de Java
Université Catholique de Louvain Faculté des Sciences Appliquées Département d Ingénierie Informatique Étude de l interopérabilité de deux langages de programmation basée sur la machine virtuelle de Java
Plus en détailUtilisation d objets : String et ArrayList
Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons
Plus en détailCours 1: Java et les objets
Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/
Plus en détailJava Naming and Directory Interface
Introduction Java Naming and Directory Interface Gaël Thomas gael.thomas@lip6.fr Université Pierre et Marie Curie Master Informatique M2 Spécialité SAR Java Naming and Directory Interface (JNDI) Java Standard
Plus en détail2 Chapitre 1 Introduction
1 Introduction Ce livre présente les Enterprise JavaBeans 2.0 et 1.1 qui constituent la troisième et la deuxième version de la spécification des Enterprise JavaBeans. Tout comme la plate-forme Java a révolutionné
Plus en détailEXA1415 : Annotations JavaEE : @Local, @Stateful
EXA1415 : Annotations JavaEE : @Local, @Stateful Sur une idée de P. Sécheresse sur http://developpez.com (http://tinyurl.com/5gr57j) Diapo 1 Objectif Créer un EJB CalculatriceBean (V1) Contient une opération
Plus en détailOpenPaaS Le réseau social d'entreprise
OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3
Plus en détailPlateforme PAYZEN. Définition de Web-services
Plateforme PAYZEN Définition de Web-services Ordre de paiement Version 1.1 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Lyra-Network
Plus en détailGestion distribuée (par sockets) de banque en Java
Gestion distribuée (par sockets) de banque en Java Université Paris Sud Rappel sur la solution locale de gestion simple de banque L objet de cet exercice était de créer une application java qui implante
Plus en détailA DESTINATION DES SERVICES TIERS. Editeurs d applications et ressources pédagogiques connectées à l ENT
DOCUMENTATION CAS A DESTINATION DES SERVICES TIERS Titre descriptif du document Référence du document REFO-DT-ENTV2-ServeurCAS-v1.2.docx Nom du fichier REFO-DT-ENTV2-ServeurCAS-v1.2.docx Version du document
Plus en détailCalcul Parallèle. Cours 5 - JAVA RMI
Calcul Parallèle Cours 5 - JAVA RMI Eric Goubault Commissariat à l Energie Atomique & Chaire Ecole Polytechnique/Thalès Saclay Le 28 février 2012 Eric Goubault 1 28 février 2012 Remote Method Invocation
Plus en détailPage 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>
Page 1 sur 5 TP3 Lectures préalables : l Java_II l tutorial Interfaces Thèmes du TP : l la classe Object l Vector l Stack Une pile d'objects Les éléments de la classe Pile sont maintenant des instances
Plus en détailUtilisation de Jakarta Tomcat
ISI 1022 : Déploiement d applications Web Jean-Noël Sorenti. Année 2002/2003 Déploiement d application Web Utilisation de Jakarta Tomcat ISI 1022 : 1 ISI 1022 : Déploiement d applications Web Une application
Plus en détailPrincipales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement
Guillaume HARRY l Contenu sous licence Creative Commons CC-BY-NC-ND Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement P. 2 1. Introduction 2.
Plus en détailMeta Object Facility. Plan
Meta Object Facility Gestion de «meta objets» & meta meta modélisation Xavier Le Pallec Plan 1 Auteur : MOF : généralités L OMG en 1997-1998. Acteur principal DSTC : Centre Recherche sur les Systèmes distribués
Plus en détailPour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère
L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la
Plus en détailTechnologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie
1 / 22 Technologies Web Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya Université Pierre et Marie Curie Rappel 2 / 22 Problématique Quelles technologies utiliser
Plus en détailADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5
ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5 Informations juridiques Copyright 2010 Adobe Systems Incorporated and its licensors. All rights reserved. Administration d Adobe LiveCycle Mosaic 9.5 13 octobre
Plus en détailProjet Java EE Approfondi
EISTI Projet Java EE Approfondi Manuel d installation du framework Stripes Amaury Languillat, Yann Gonzalez, Arnaud Recher, Vincent Laronde, Anys Mechkar 10 Manuel d installation Téléchargement On part
Plus en détailCréation d une application JEE
Création d une application JEE Rédacteurs : Alexandre Baillif, Philippe Lacomme, Raksmey Phan et Michaël PLAN Date : juillet 2010 Mise à jour : Michaël PLAN Date : octobre 2014 Avertissement : - ce document
Plus en détailIntroduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf
Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations
Plus en détailTp 1 correction. Structures de données (IF2)
Tp 1 correction Structures de données (IF2) Remarque générale : compilez et exécutez le code au-fur-et-à mesure de son écriture. Il est plus facile de corriger une petite portion de code délimitée que
Plus en détailExceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;
CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe
Plus en détailUtilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008
Introduction Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Forms 10g permet l utilisation du JAVA côté client et côté application
Plus en détailDévelopper des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David
Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server Sébastien Boutard Thomas David Le plan de la présentation Petit retour sur les environnements de développement ArcGIS Server
Plus en détailLangage et Concepts de ProgrammationOrientée-Objet 1 / 40
Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr
Plus en détailRMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.
RMI Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. Méthode proche de RPC. Outils et classes qui rendent l'implantation d'appels de méthodes d'objets distants aussi simples
Plus en détailJADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.
: Java Agent DEvelopment framework Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.fr Introduction à la plateforme JADE 1) Modèle d agent 2) Services 3) Norme FIPA
Plus en détailProgrammation Web. Madalina Croitoru IUT Montpellier
Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance
Plus en détailTutoriel d installation de Hibernate avec Eclipse
Tutoriel d installation de Hibernate avec Eclipse Table des matières 1. Création de la base de données... 4 2. Installation de Hibernate Synchronizer... 5 3. Utilisation de Hibernate... 6 3.1 Création
Plus en détailProjet gestion d'objets dupliqués
Projet gestion d'objets dupliqués Daniel Hagimont Daniel.Hagimont@enseeiht.fr 1 Projet Service de gestion d'objets dupliqués Mise en cohérence lors de la prise d'un verrou sur un objet Pas de verrous imbriqués
Plus en détailExtension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.
Note technique W4 Engine Extension SSO Java Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java. 1 Présentation 3 2 Custom SSO Java 4 3 Bilan 10 Sommaire Référence
Plus en détailStructure d un programme et Compilation Notions de classe et d objet Syntaxe
Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types
Plus en détailModule BD et sites WEB
Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet Anne.Doucet@lip6.fr 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD
Plus en détailTP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet
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
Plus en détailBES WEBDEVELOPER ACTIVITÉ RÔLE
BES WEBDEVELOPER ACTIVITÉ Le web developer participe aux activités concernant la conception, la réalisation, la mise à jour, la maintenance et l évolution d applications internet/intranet statiques et
Plus en détailTP WEBSERVICES. 1 Pré-requis. 1.1 L environnement de développement. 1.2 Les librairies nécessaires 1.3 SOAPUI
Institut Galilée Année 2014-2015 TP WEBSERVICES Programmation et Logiciels sûrs Master 2 PLS Résumé Ce TP s appuie sur le cours de C. Fouqueré traitant des Environnements et Langage Évolués, ainsi que
Plus en détailEnvironnements de Développement
Institut Supérieur des Etudes Technologiques de Mahdia Unité d Enseignement: Environnements de Développement BEN ABDELJELIL HASSINE Mouna m.bnaj@yahoo.fr Développement des systèmes d Information Syllabus
Plus en détailTP2 : Client d une BDD SqlServer
TP2 : Client d une BDD SqlServer Objectifs : utiliser la barre de menu, utiliser les préférences d application (settings) ou (options), gérer la persistance des données, utiliser la bibliothèque jtds:jdbc
Plus en détailDéfinition des Webservices Ordre de paiement par email. Version 1.0
Définition des Webservices Ordre de paiement par email Version 1.0 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Historique du document
Plus en détailTD/TP PAC - Programmation n 3
Université Paris Sud Licence d informatique/iup-miage2 - Année 2004-2005 auteur : Frédéric Vernier semaine : 11-16 octobre 2004 conditions : sur machine avec les outils standards java web: http://vernier.frederic.free.fr/indexpac.html
Plus en détailEncapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.
Encapsulation L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. La visibilité dépend des membres : certains membres peuvent être visibles et d'autres
Plus en détailFormation en Logiciels Libres. Fiche d inscription
République Tunisienne Ministère de l'industrie et la Technologie - Secrétariat d'état de la Technologie Unité des Logiciels Libres Formation en Logiciels Libres Fiche d inscription (Une fiche par candidat)
Plus en détailSYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8
SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8 INTRODUCTION Bonjour à tous; Aujourd hui je publie une nouvelle version de l adaptation de la Sync Framework Toolkit,
Plus en détailArchitectures Web Services RESTful
Architectures Web Services RESTful Alexandre Denis Alexandre.Denis@inria.fr Inria Bordeaux Sud-Ouest France ENSEIRB PG306 REST REST Representational State Transfer Roy Fielding (2000) Décollage vers 2006-2007
Plus en détailJava - RMI Remote Method Invocation. Java - RMI
Remote Method Invocation Yann Viémont Université de Versailles St-Quentin Plan 1. Introduction 2. Rappels sur les RPC 3. Le modèle objet de Java-RMI 4. Architecture générale 1. Introduction = Disponible
Plus en détail4. SERVICES WEB REST 46
4. SERVICES WEB REST 46 REST REST acronyme de REpresentational State Transfert Concept introduit en 2000 dans la thèse de Roy FIELDING Est un style d architecture inspiré de l architecture WEB En 2010,
Plus en détailMessagerie asynchrone et Services Web
Article Messagerie asynchrone et Services Web 1 / 10 Messagerie asynchrone et Services Web SOAP, WSDL SONT DES STANDARDS EMERGEANT DES SERVICES WEB, LES IMPLEMENTATIONS DE CEUX-CI SONT ENCORE EN COURS
Plus en détailCQP Développeur Nouvelles Technologies (DNT)
ORGANISME REFERENCE STAGE : 26572 20 rue de l Arcade 75 008 PARIS CONTACT Couverture géographique : M. Frédéric DIOLEZ Bordeaux, Rouen, Lyon, Toulouse, Marseille Tél. : 09 88 66 17 40 Nantes, Lille, Strasbourg,
Plus en détailHébergement et configuration de services WCF. Version 1.0
Hébergement et configuration de services WCF Version 1.0 2 Configuration et Hebergement de services WCF Sommaire 1 Présentation du chapitre... 3 1.1 Présentation générale... 3 1.1.1 A qui s adresse ce
Plus en détailJava Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites
Java Licence Professionnelle 2009-2010 Cours 7 : Classes et méthodes abstraites 1 Java Classes et méthodes abstraites - Le mécanisme des classes abstraites permet de définir des comportements (méthodes)
Plus en détailConstruire une application marketing Facebook sur la plateforme Windows Azure
Construire une application marketing Facebook sur la plateforme Windows Azure Lorsque le «Social Effect» est au rendez-vous, comment s assurer que votre application va supporter la montée en charge? Nous
Plus en détailTD/TP PAC - Programmation n 3
Université Paris Sud Licence d informatique/iup-miage2 Année 2004-2005 Auteur : Frédéric Vernier Semaine : 11-16 octobre 2004 Conditions : sur machine avec les outils standards java web: http://vernier.frederic.free.fr/indexpac.html
Plus en détailTraduction des Langages : Le Compilateur Micro Java
BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant
Plus en détailles techniques d'extraction, les formulaires et intégration dans un site WEB
les techniques d'extraction, les formulaires et intégration dans un site WEB Edyta Bellouni MSHS-T, UMS838 Plan L extraction des données pour un site en ligne Architecture et techniques Les différents
Plus en détailDéveloppement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS
Avant de commencer 1. Introduction 15 2. HTML5 oui, mais pas que... 15 2.1 HTML5 16 2.2 JavaScript 17 2.3 CSS 18 3. Les outils 18 Préparation des outils et création du projet 1. Introduction 21 2. Team
Plus en détail