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 :

Google App Engine et stockage des données


Sujet :

GWT et Vaadin Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut Google App Engine et stockage des données
    Bonjour,

    Je suis complément perdu dans la manière de stocker les données pour une application utilisant GWT et hébergée par le service App Engine de google.

    Si j'ai bien compris, côté serveur, on peux utiliser JDO pour accéder au datastore.

    Mais ensuite comment je récupère mes données côtés client ? A première vue, Google recommande JSON.

    Cela signifie que je dois retrouver côté client une copie de la classe qui représente un enregistrement côté serveur en adaptant les types de données (puisque je n'ai plus accès à com.google.appengine.api.*) ? Et gérer la sérialisation/désérialisation en passant par le format JSON pour chaque classe ?

    Si vous avez un exemple d'application simple qui fait ça, je suis preneur

  2. #2
    Membre émérite
    Avatar de mamelouk
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    867
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 867
    Par défaut
    Salut,

    J'ai pas encore eu l'occasion de tester mon application sur app engine, mais en GWT le mécanisme de tranfert de données (entre client et serveur) se fait par des appels RPC. Du pur java, avec un mécanisme de callback pour l'asynchroni..sation. cf le tutorial officiel.

    la sérialization/désérialization est gérée par gwt

  3. #3
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Citation Envoyé par mamelouk Voir le message
    J'ai pas encore eu l'occasion de tester mon application sur app engine, mais en GWT le mécanisme de tranfert de données (entre client et serveur) se fait par des appels RPC. Du pur java, avec un mécanisme de callback pour l'asynchroni..sation. cf le tutorial officiel.

    la sérialization/désérialization est gérée par gwt
    J'ai lu et relus les tuto officiels, j'ai bien compris le système de RPC. Mais comment je fais pour transmettre une classe persistante du serveur au client sachant que l'API utilisée n'ai pas disponible côté client

  4. #4
    Membre émérite
    Avatar de mamelouk
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    867
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 867
    Par défaut
    Ah ok je crois comprendre ce que tu veut dire. Tu veut dire que tes objets contiennent des imports JDO (les annotations) que tu peut pas utiliser coté client.

    Comme j'utilise hibernate j'ai mappé mes objets avec des fichiers xml pour pouvoir utiliser les meme objets entre couche métier<->hibernate, et entre client <-> couche métier, donc j'ai pas ce problème

    Du coup pour passer à AppEngine je veut utiliser les annotations, j'ai décidé d'utiliser des objets pour communiquer entre client<->server et entre server<->jdo. j'ai nommé les premier business object et les second data transfert object et j'utilise un objet replicator pour faire la copie d'un type d'objet vers un autre (je sais pas si les termes sont corrects je suis nouveau en java)

    je trouve que c'est plus propre ca ne rend pas les trois couche dépendant du meme modèle objet.

    voilà, c'est en cours de codage (sur un projet de bonne taille), je te dirai si y'a des problèmes à implémenter (avec hibernate j'ai eu des problèmes à cause du lazy loading..)

  5. #5
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Citation Envoyé par mamelouk Voir le message
    Ah ok je crois comprendre ce que tu veut dire. Tu veut dire que tes objets contiennent des imports JDO (les annotations) que tu peut pas utiliser coté client.
    C'est ça

    Citation Envoyé par mamelouk Voir le message
    Du coup pour passer à AppEngine je veut utiliser les annotations, j'ai décidé d'utiliser des objets pour communiquer entre client<->server et entre server<->jdo. j'ai nommé les premier business object et les second data transfert object et j'utilise un objet replicator pour faire la copie d'un type d'objet vers un autre (je sais pas si les termes sont corrects je suis nouveau en java)

    je trouve que c'est plus propre ca ne rend pas les trois couche du meme modèle objet.
    Effectivement c'est plus simple. Par contre ça me semble quand même relativement lourd à gérer Devoir maintenir trois couches pour un même objet, ça m'étonne que GWT n'est rien de plus souple à proposer.

  6. #6
    Membre émérite
    Avatar de mamelouk
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    867
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 867
    Par défaut
    effectivement il faut gérer trois couches, c'est pourquoi ca s'appelle une application trois-tiers

    mais seulement deux modèles objets.

    mais je disais si tu veut tu peut garder le meme modèle objet partout si l'api de persistence permet de mapper à l'aide de fichiers xml (je suis sur que jdo le peut), en supposant que tu tombe pas sur des problèmes de lazy-loading (hibernate4gwt sert a résoudre ce genre de problèmes)

  7. #7
    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
    Par défaut
    Citation Envoyé par gege2061 Voir le message
    Si j'ai bien compris, côté serveur, on peux utiliser JDO pour accéder au datastore.

    Mais ensuite comment je récupère mes données côtés client ? A première vue, Google recommande JSON.

    Cela signifie que je dois retrouver côté client une copie de la classe qui représente un enregistrement côté serveur en adaptant les types de données (puisque je n'ai plus accès à com.google.appengine.api.*) ? Et gérer la sérialisation/désérialisation en passant par le format JSON pour chaque classe ?
    Pas si perdu que cela, tu as tout compris !

    Si tu utilises JSON, il te faudra gérer la sérialisation/désérialisation. Enfin, je crois qu'il existe des classes GWT pour cela mais je n'ai pas utilisé.

    Si tu veux utiliser RPC, il faut que les objets qui transitent soit "GWT compatibles" (voir ce post)

Discussions similaires

  1. Google App Engine Base de données
    Par nico_nico95 dans le forum Général Java
    Réponses: 4
    Dernier message: 20/11/2014, 03h40
  2. Réponses: 2
    Dernier message: 22/01/2012, 16h56
  3. Recupération des données de Google App Engine
    Par Raf_89 dans le forum Android
    Réponses: 0
    Dernier message: 04/04/2011, 11h54
  4. Réponses: 1
    Dernier message: 06/12/2010, 12h02
  5. Réponses: 8
    Dernier message: 09/04/2010, 10h29

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