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 :

Client JAVA pour appeler un service RPC GWT


Sujet :

GWT et Vaadin Java

  1. #1
    Membre régulier

    Inscrit en
    Octobre 2006
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 30
    Points : 86
    Points
    86
    Par défaut Client JAVA pour appeler un service RPC GWT
    Bonjour,

    J'ai créé un projet GWT qui me génère par default le code client et serveur pour un service "GreetingService". Tout ca marche très bien (lancement du serveur sur localhost et d'un client web qui appel le service).

    J'aimerais créer un client lourd JAVA (une application standalone qui n'est pas dans un browser web) qui appel le service GreetingService.

    Comment faire?

    Merci d'avance pour votre aide.

  2. #2
    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
    Une solution peut consister à créer un client lourd qui embarque un composant Browser (Comme fait le Hosted mode de GWT), ce qui permet d'avoir le même rendu en client lourd qu'en client léger.

    Ceci dit, je ne suis pas sûr que cela t'intéresse.

    Après, il suffit de comprendre le fonctionnement de GWT pour voir où agir.

    En utilisant le mode RPC de GWT :
    - Le client (Javascript une fois compilé) sérialise (Serialisation GWT : Js vers text/GWT-RPC) ton appel de service et les paramètres en entrée (Objets javascript) pour l'envoyer via un flux texte dans une requête HTTP.
    - Le serveur (Java) reçoit ce flux texte en entrée (via une HttpRequest) et le désérialise (Déserialisation GWT : text/GWT-RPC vers Java) pour retrouver des objets Java.
    - Le serveur execute le code de ta méthode de service
    - Le serveur (Java) sérialise (Serialisation GWT : Java vers text/GWT-RPC) ton objet pour l'envoyer via un flux texte dans une réponse HTTP.
    - Le client (Javascript une fois compilé) reçoit ce flux texte et le désérialise (Déserialisation GWT : text/GWT-RPC vers Js) pour retrouver des objets Javascripts.

    Solutions :

    1) une première solution consiste à se brancher sur ton service HTTP et donc à simuler le client http dans ton client lourd (et donc refaire le processus de serialisation/deserialisation fait par GWT).

    2) comme les services GWT utilisent des interfaces, une deuxième solution consiste à utiliser le pattern Proxy ou une de ses variantes, où tu déportes le code de service.
    1. Coté serveur, tu code ton service et ses méthodes indépendamment de GWT : Tu as donc un GreetingServiceImpl non lié à une servlet.

    2. Pour le client GWT, tu écris côté serveur une GreetingServiceGWTImpl qui :
      - étend quand à elle la servlet GWTService pour la sérialisation/désérialisation Java/text GWT-RPC
      - délègue le travail à GreetingServiceImpl

    3. Pour le client riche, tu écris côté serveur une GreetingServiceSwingImpl qui :
      - utilise un serveur de sockets pour désérialiser (binaire vers Java) ce que le client Swing lui envoit en requête
      - délègue le travail à GreetingServiceImpl
      - utilise le serveur de sockets pour sérialiser (Java vers binaire) ce que le serveur envoit en réponse

    4. Pour le client riche, tu écris côté client un GreetingClientSwingImpl qui :
      - implémente GreetingService
      - utilise des sockets pour sérialiser (Java vers binaire) ce que le client envoit en requête et désérialiser (binaire vers Java) ce que le serveur lui envoit en réponse.

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/09/2014, 13h38
  2. Création d'un client java pour un web service
    Par legna986 dans le forum Services Web
    Réponses: 2
    Dernier message: 19/03/2013, 10h18
  3. Client Java pour un Web Service PHP
    Par jof8dev dans le forum Services Web
    Réponses: 7
    Dernier message: 03/08/2012, 12h21
  4. Réponses: 2
    Dernier message: 20/11/2007, 16h00
  5. Réponses: 1
    Dernier message: 12/02/2007, 15h22

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