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

Services Web Java Discussion :

X-Fire : Appel asynchrone


Sujet :

Services Web Java

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 22
    Points : 19
    Points
    19
    Par défaut X-Fire : Appel asynchrone
    Bonjour,

    Savez-vous s'il est possible de créer avec XFire des WebServices, avec un mode de fonctionnement asynchrone ?

    Par exemple
    1 -> j'appelle mon web service
    2 -> la méthode du web service travaille, et attend la réponse d'un programme tiers qui s'execute sur une machine du réseau local
    3 -> lorsque ce programme a terminé, mon web service retourne à son client la le code retour du programme executé en 2

    merci d'avance

  2. #2
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Salut,

    Tu peux mettre ce que tu veux comme traitement dans le corps d'une méthode exposée via XFire.

    Donc le seul problème que tu risques d'avoir, c'est si le temps d'attente de la réponse de ton programme "tiers" est trop long, un timeout peut se déclencher coté client.

    Tu as donc plusieurs possibilités :

    faire attendre le client, si tu es sûr que le timeout ne sera pas dépassé.
    faire un système de ticket : lorsque le client fait une requête, il reçoit instantanément un ticket avec un identifiant. Ce ticket lui permettra, ultérieurement, de récupérer le résultat du traitement, mais il faudra que le client essaie plusieurs fois de l'obtenir.
    faire un système de web services bi-directionnel; Ton web service reçoit la requête, retourne un message du type "Traitement en cours", puis une fois le traitement fini, ton application recontacte le client en faisant un appel sur un web service du client en lui spécifiant la réponse.
    un mix des deux derniers.

    Donc tout dépend de la situation, de la marge que tu as, de ta flexibilité vis à vis du client..

    A+
    K

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 22
    Points : 19
    Points
    19
    Par défaut
    Merci KiLVaiDeN, pour tes indications. Après avoir analyser le problème et interroger plus amplement mes utilisateurs, il s'avère qu'une solution "mixte" sera la plus appropriée (avec une pile de demandes gérée dans une table, et un timeout d'attente au niveau de la fonction exposée en web service).

    En outre j'utilise XFire pour l'implémentation des Web Services, qui manifestement (d'après ce que j'ai lu sur le Net), n'est pas très aboutit dans ce domaine (si quelqu'un a des infos contraires, je suis preneur ). Ceci dit il semble que codehaus recommande l'usage de JMS....pour l'utilisation asynchrone.

    merci encore, et et bientôt

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. appel asynchrone dans le thread principal
    Par mrrenard dans le forum C#
    Réponses: 6
    Dernier message: 05/04/2007, 09h07
  2. session avec appel asynchrone
    Par netounet dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 11/03/2007, 14h49
  3. [C#]théorie appel asynchrone
    Par ddoc dans le forum Windows Forms
    Réponses: 1
    Dernier message: 14/05/2006, 15h43
  4. Appel Asynchrone/Synchrone
    Par Dry dans le forum CORBA
    Réponses: 3
    Dernier message: 26/04/2005, 20h43
  5. [SOAP] API pour appels asynchrones
    Par Dar Shak dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 26/04/2005, 08h57

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