IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GWT et Vaadin Java Discussion :

Intégration GWT-maven-spring-hibernate-spring security-smartGWT [Tutoriel]


Sujet :

GWT et Vaadin Java

  1. #1
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Points : 2 373
    Points
    2 373
    Par défaut Intégration GWT-maven-spring-hibernate-spring security-smartGWT
    Bonjour,

    Fatigué des hello world simpliste ?
    Voici un article qui traite de l'utilisation de GWT avec spring, hibernate, smartGWT. Pour débutant autant qu'avancé il vous permettra de mettre un premier pied à l'étrier. Enfin je l'espère ^^

    http://hugo.developpez.com/tutoriels...-et-hibernate/

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 129
    Points : 109
    Points
    109
    Par défaut
    Très bon article Hugo.

    Je développe exactement le même type de projet et je dois dire que ton article m'a apporté un peu plus de précisions et me servira quand j'intégrerai la partie sécurity !

    De plus, ce genre d'articles manquent sur la toile (intégration totale de briques) et je suis heureux de voir que développez perpétue ses bonnes pratiques !

    Encore félicitation : )

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 57
    Points : 68
    Points
    68
    Par défaut
    Félicitations Hugo !

    Nos dévéloppeurs vont largement s'inspirer de ton article !

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 19
    Points : 24
    Points
    24
    Par défaut
    cette article tombe à pic, justement je viens de commencer un projet gwt spring hibernate.

    Merci bcp pour cette article ! il va surement m'aider bcp

  5. #5
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Points : 4 265
    Points
    4 265
    Par défaut
    Beau travail hugo

    Tout le monde savait que c'était impossible. Il est venu un imbécile qui ne le savait pas et qui l'a fait. Marcel PAGNOL
    On ne savait pas que c'était impossible, alors on l'a fait. John Fitzgerald KENNEDY.
    L'inexpérience est ce qui permet à la jeunesse d'accomplir ce que la vieillesse sait impossible. Paul (Tristant) BERNARD
    La meilleure façon de prédire l'avenir, c'est de l'inventer.

  6. #6
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 102
    Points : 108
    Points
    108
    Par défaut
    Super boulot, surtout que je voulais commencer un projet en utilisant ces technos

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 27
    Points : 33
    Points
    33
    Par défaut
    Bonjour, est-il possible de tester l'appli finale quelque part online ?
    Je serai assez intéressé de voir le rendu

    Merci !

    Jahz

  8. #8
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Points : 2 373
    Points
    2 373
    Par défaut
    malheureusement non, autant ce serait possible pour la partie cliente, autant pour la partie serveur j'aurais besoin d'un hébergeur Java et je n'en ai pas trouvé de gratuit. (pas beaucoup cherché non plus, je l'accorde)

    c'est sur, en php c'est plus facile d'avoir des hébergeurs ^^

  9. #9
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    article intéressant, il tombe bien je commençais à étudier GWT, je regrette juste que tu ne parles pas de GWT 2.0.

  10. #10
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Points : 2 373
    Points
    2 373
    Par défaut
    L'article a été fait bien avant GWT 2.0 malheureusement.

    Pour ce qui est de GWT 2.0, il y a sans doute des modifs sur le HostedMode qui a disparu au profit du DevMode (bien meilleur à utiliser) donc sans doute des modifs sur le plugin maven.
    Le reste je ne pense pas que ca change en profondeur.

    Si, tout de même, dans le chapitre "wrapper or not wrapper", avec la release GWT 2.0 on voit que google met encore plus l'accent sur les optimisations Javascript, notamment l'envoi par morceaux (lazy loading des sources javascript). Le moteur GWT est de plus en plus performant à chaque release pour améliorer la vitesse du Javascript.
    Du coup un wrapper JS devient de moins en moins intéressant, ce serait peut être à rajouter dans l'article.

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4
    Points : 6
    Points
    6
    Par défaut
    Bonjour Hugo,

    Et felicitations pour cet article.

    Je souhaite moi aussi developper un projet GWT/Spring/Hibernate donc je m'en inspirerais bien !

    J'ai juste une question comme ca a la lecture rapide des sources.
    Ce ne serait pas plus propre qu'il n'y ait pas de dependances vers GWT (gwt-user) dans ton composant "service" ? Pour, d'un point de vue architecture, pouvoir exposer les memes services vers d'autres frameworks IHM (Flex, iPhone qui sait ).
    Je veux dire il manquerait une couche d'adapter non ? C'est juste que c'etait pas le but de ton exemple ou tu y as pense mais il n'y avait pas moyen de le mettre en place ?

    EDIT:
    Toutes mes excuses, je viens de lire ton commentaire dans l'article "On remarque tout de suite quelque chose d'assez désagréable, nous utilisons une annotation GWT dans notre service, ce qui le rend dépendant de GWT même si nous souhaitons l'utiliser dans un autre contexte. Notez cependant que nous aurions pu nous en passer en déclarant les interfaces de nos services au moment de l'export via l'exporteur GWT-SL."
    Que je ne saisis pas tout a fait d'ailleurs : je ne comprends pas tres bien ce que tu veux dire par "en déclarant les interfaces de nos services au moment de l'export via l'exporteur GWT-SL". Tu veux dire que dans le section VI-E tu peux definir une interface dans le tag <bean> et comme ca tu as bien decorrelle le service de GWT ?

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 77
    Points : 56
    Points
    56
    Par défaut
    Lu en diagonale pour le moment : top !

  13. #13
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Points : 2 373
    Points
    2 373
    Par défaut
    Citation Envoyé par gugu_38 Voir le message
    Bonjour Hugo,
    ....
    EDIT:
    Toutes mes excuses, je viens de lire ton commentaire dans l'article "On remarque tout de suite quelque chose d'assez désagréable, nous utilisons une annotation GWT dans notre service, ce qui le rend dépendant de GWT même si nous souhaitons l'utiliser dans un autre contexte. Notez cependant que nous aurions pu nous en passer en déclarant les interfaces de nos services au moment de l'export via l'exporteur GWT-SL."
    Que je ne saisis pas tout a fait d'ailleurs : je ne comprends pas tres bien ce que tu veux dire par "en déclarant les interfaces de nos services au moment de l'export via l'exporteur GWT-SL". Tu veux dire que dans le section VI-E tu peux definir une interface dans le tag <bean> et comme ca tu as bien decorrelle le service de GWT ?

    Je viens à peine de voir ton edit.

    Effectivement le GWTRPCServiceExporter permet d'exporter des services sans qu'ils étendent un service GWT. Mais ca implique d'avoir une interface par contre qui matchent le nom de tes méthodes. Dangereux car ca repose sur de la convention :

    http://gwt-widget.sourceforge.net/gw...erviceExporter

  14. #14
    Candidat au Club
    Inscrit en
    Février 2005
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Pour debuter
    Bonjour

    Je viens de télécharger les sources du projet.
    Je peux importer le projet dans eclipse via le plugin m2eclipse.

    Que faire du projet ensuite.
    • Comment le lancer (en dev mode) ?
    • Peut on le lancer dans un tomcat en debug ? (comme pour tout project wtp)
    • Peut-on avoir les scripts sql pour les tables a créer.

  15. #15
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Points : 2 373
    Points
    2 373
    Par défaut
    ah il faut suivre le tutoriel pour la réponse à ces questions ^^


    lancer dans tomcat via cargo :
    http://hugo.developpez.com/tutoriels...ernate/#LIII-C

    lancer la partie cliente :
    http://hugo.developpez.com/tutoriels...ernate/#LIII-B


    Je remarque que ces deux premières questions sont déjà revenues, sans doute que je devrais ajouter un paragraphe : "comment lancer la démo" ou "pour les impatients" pour synthétiser les infos précédentes.

    pour la base de données, effectivement je me rends compte que j'ai oublié de mettre le paramétrage pour la création automatique du schéma, il faut rajouter ca dans la sessionFactory :

    http://docs.jboss.org/hibernate/core...iguration.html

    paramètre hibernate.hbm2ddl.auto à create ou create-drop dans le fichier developpez\myapplication\src\main\resources\myapp-persistence-tech.xml

    Dans le bloc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    			<props>
    				<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
    				<prop key="hibernate.show_sql">true</prop>
    			</props>
    Changer par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    			<props>
    				<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
    				<prop key="hibernate.show_sql">true</prop>
    				<prop key="hibernate.hbm2ddl.autol">create-drop</prop>
    			</props>

  16. #16
    Candidat au Club
    Inscrit en
    Février 2005
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Lancer la demo
    Bonjour

    Merci pour les explications.
    Cependant je trouve complexe la configuration et la commande pour lancer et debuger le programme.

    Quelqu'un a il essayer de le lancer via le plugin de google ?
    Le projet est il convertible en wtp ?

    Cordialement

  17. #17
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Points : 2 373
    Points
    2 373
    Par défaut
    tout dépend si tu es habitué à maven ou pas.
    En l'occurrence il s'agit d'une seule ligne de commande donc ca reste simple mais après, les gouts et les couleurs ^^
    Et surtout, avec cargo tu peux passer de tomcat a jetty ou jboss par configuration. Mais bon, chacun ses préférences. Mon but dans l'article c'était de montrer une solution qui prenait en compte des préoccupations classiques dans un dev industriel, notamment la gestion de l'automatisation des builds via maven.

    Si tu veux utiliser le plugin eclipse tomcat, il faut lui préciser le chemin où est situé le war, ca devrait marcher. N'hésites pas à nous informer si tu as réussi à le faire et comment, ca sera un apport intéressant pour d'autres, sans doute.

    Pour ce qui est du plugin de google, à priori l'effort pour la conversion est non négligeable, c'est ce que j'indique dans l'un des premiers chapitres. En effet le plugin de google (tout du moins quand j'ai testé), ne permettait presqu'aucune configuration sur l'emplacement de la webapp etc... Du coup, il y a sans doute des changements dans l'arborescence à effectuer.

  18. #18
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4
    Points : 6
    Points
    6
    Par défaut Pourquoi 2 WAR ?
    Hello Hugo !

    Je reviens à la charge (cf. mon poste plus haut) mais sur une autre question.

    Juste, je me demandais, pourquoi il y avait 2 modules war dans ta séparation en projet.

    Quand on lance cargo à la racine, et qu'ensuite on regarde sur l'url localhost:8080/.... ça pointe vers le war du module myapplication/myapplication-client.

    Il sert à quoi en fait le module myapplication/myapplication ?

    Merci d'avance de tes lumières

    Guillaume

  19. #19
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Points : 2 373
    Points
    2 373
    Par défaut
    en fait le war final dans myapplication c'est celui a déployer
    Le war client contient les sources uniquement de la partie cliente, il pourrait d'ailleurs être déployé à part du war de la partie serveur.
    L'objectif c'était de pouvoir bosser sur la partie cliente indépendamment du reste. Celui ci est plus rapide à démarrer normalement, il ne contient que les pages gwt.

  20. #20
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4
    Points : 6
    Points
    6
    Par défaut
    Merci pour cette éclaircissement.

    Par contre, en lançant la webapp comme indiqué dans la doc, quand je rentre un login / mdp dans l'appli j'ai cette erreur, cf. image (qui doit être la même pour l'appel de n'importe quel service j'imagine)

    Suis-je le seul à l'avoir ? D'où ça vient ?

Discussions similaires

  1. [MVC] Spring, hibernate, Spring MVC --> déploiement
    Par pigpen dans le forum Spring Web
    Réponses: 3
    Dernier message: 06/06/2011, 09h07
  2. Probleme maven pom.xml Spring Hibernate
    Par shenzy dans le forum Spring
    Réponses: 1
    Dernier message: 17/01/2011, 09h55
  3. Réponses: 1
    Dernier message: 02/12/2010, 20h59
  4. Réponses: 0
    Dernier message: 01/12/2009, 11h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo