Bonjour,
J'ai une question un peu idiote mais je trouve pas la réponse.
J'ai un smart client qui envoie un message à un webservice (internet).
Le webservice démarre un traitement qui est difficile à inverser et qui ne doit pas être répéter si il a été effectuer.
le webservice va renvoyer une réponse pour confirmer qu'il a recu le message.
Je m'inquiète de la situation où le webservice
1> lance le traitement
2> renvoie sa réponse positive
3> la réponse s'évapore (par exemple erreur de réseau)
Quel type de réponse va recevoir le client? j'imagine qu'il va y avoir un time-out qui va déclencher une exception, est ce bien le cas?
Pour pouvoir donner une réponse satisfaisante à l'usager humain, je pensais résoudre le problème de la manière suivante:
* le client appelle une métode Foo par remoting (géré par un framework)
* Foo appelle le webservice qui se trouve être sur la meme machine ou au pire dans le même LAN (supprime les risques liés au réseau)
* le webservice retourne à Foo qui met à jour un flagg en BDD pour montrer le succès.
* Foo retourne un résultat au client.
Si le client recoit une erreur (ou rien), il peut alors vérifier dans la BDD si l'opération a été menée avec succès ou si il peut réessayer et montrer à l'utilisateur un résultat juste.
Cela semble-t-il raisonnable ou bien suis-je en train de régler un non-problème?
Merci de toute réponse,
Dom
PS:
Foo ne peut pas effectuer le traitement lui-même
il n'est pas possible que le webservice devienne dépendant de la bdd mais aura certainement sa propre base de traitement effectués pour éviter la répétition d'un traitement.
		
		
        






  Répondre avec citation
Partager