1. #1
    Futur Membre du Club
    Inscrit en
    mars 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : mars 2007
    Messages : 11
    Points : 7
    Points
    7

    Par défaut Une servlet recoit, des objets traitent les donnees, une autre servlet repond

    Bonjour,

    je suis en stage de fin d'études, et dans le cadre de ce stage je me trouve bloqué sur un problème que je n'ai jamais rencontré avant.

    J'ai donc une servlet qu'on va appelé Receiver qui recupère les données envoyées par GET, POST ou PUT, une fois les données récupérées je les encapsulent pour les transformer en un message du type adequat à l'application (je ne m'étend pas plus la dessus ce n'est pas important, le but c'est juste de transformer le message pour qu'il soit compatible avec l'application et qu'il soit redirigé vers le bon agent => en gros il indique quel agent est a contacter en envoi l'URL dans le cas d'un GET par exemple), le message arrive donc au bon "Agent" qui traite la requete et crée la réponse a envoyer au périphérique. Une nouvelle fois, l'agent crée un message du bon type pour qu'il soit renvoyé cette fois ci au bon servlet qui est lui le Sender. Ici le sender doit répondre au périphérique qui a envoyé la requête, le soucis est que le HttpServletResponse de ce servlet n'est pas lié d'où mon problème pour répondre au bon périphérique. J'espere avoir été assez clair, si quelqu'un a une idée je le remercie d'avance ...

  2. #2
    Membre éprouvé Avatar de Lorantus
    Homme Profil pro
    Consultant développeur indépendant / Java/VB/C(++)/ObjectPal
    Inscrit en
    août 2007
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant développeur indépendant / Java/VB/C(++)/ObjectPal

    Informations forums :
    Inscription : août 2007
    Messages : 599
    Points : 931
    Points
    931

    Par défaut

    Il m'a fallut plusieurs lectures pour comprendre:

    Client Web->(requête)->Servlet Receiver->Objet traitement->Servlet Sender

    Pourquoi appeler un servlet, puis un autre ? Tu 'casses' le lien du client à l'origine de la requête, lors du transfert sur la nouvelle URL... De plus, le servlet Sender a besoin un flux de réponse pour envoyer un retour au client Web.

    Il faut revoir ton architecture, car un servlet contrôleur serait suffisant. Ce servlet ferait l'encapsulation, appel les objets de traitement, et appel le render pour la réponse -on notera que c'est le rôle d'un servlet.

  3. #3
    Futur Membre du Club
    Inscrit en
    mars 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : mars 2007
    Messages : 11
    Points : 7
    Points
    7

    Par défaut

    En fait j'avais discuté à mon tuteur qui m'avait dis de faire comme ca, pour suivre l'architecture de l'applile soucis est que les autres messages ne sont pas collectés par une servlet (enfin dans un sens si, l'appli étant une servlet)

    Apres une discussion avec un collègue il semblerait qu'en effet ce que tu dises soit plus judicieux. Mais je me retrouve à me poser la question quel est le vrai intérêt de passer par cette forme de message temporaire pour appeler le bon agent sachant que quoi qu'il arrive ce Receiver appellerait toujours le même agent qui lui donnerait le résultat de la requête... bref j'ai l'impression de me retrouver avec une application à côté de l'application initiale :s chose qui me bloque depuis le début car j'ai l'impression de ne pas intégrer vraiment mon travail au leur...

    En tout cas merci pour ta réflexion et désolé que ca n'ai pas été clair d'entrée

Discussions similaires

  1. Ajouter une textures sur des objets 3D openGL
    Par rere56 dans le forum 3D
    Réponses: 1
    Dernier message: 27/07/2007, 12h08
  2. Réponses: 1
    Dernier message: 05/06/2007, 18h14
  3. Réponses: 1
    Dernier message: 24/05/2007, 10h55
  4. Réponses: 2
    Dernier message: 02/06/2006, 13h59
  5. Réponses: 7
    Dernier message: 28/03/2004, 03h28

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