Système de "polling"

Signaler
Messages postés
23
Date d'inscription
jeudi 29 mai 2003
Statut
Membre
Dernière intervention
22 mars 2005
-
Messages postés
23
Date d'inscription
jeudi 29 mai 2003
Statut
Membre
Dernière intervention
22 mars 2005
-
Bonjour, j'ai un petit problème dont je ne trouve pas la solution. J'ai un site
dynamique en jsp qui utilise des web services. Je dois appeler régulièrement une
méthode d'un de ces web services, de manière invisible pour l'utilisateur. Ma
première solution pour réaliser ce polling était d'écrire une applet.


Ca marche,mais du fait que je recharge fréquemment la page (le site utilise des
include),l'applet est toujours réinitialisée.

Y'a-t-il un moyen plus fiable de réaliser ça, ou d'empêcher la réinitialisation
de l'applet ?

Merci

6 réponses

Messages postés
2835
Date d'inscription
lundi 11 août 2003
Statut
Modérateur
Dernière intervention
16 décembre 2006
10
Salut



Pourquoi n'appels-tu pas ce web service en fonction du rafraichissmeent
des pages de l'utilisateur ??? Utilise un objet de scope session pour
suivre les derniers appels de ce web service pour l'utilisateur ...



En fait c'est quoi l'utilité de ce WS et que fait-il ??? Tu dois surement pouvoir t'y prendre autrement ...



@+
Messages postés
23
Date d'inscription
jeudi 29 mai 2003
Statut
Membre
Dernière intervention
22 mars 2005

Le web service permet d'invoquer une session distante sur une DB. Par
soucis de sécurité, un timeout est associé à chaque session. Le web
service à pour but de réinitialiser le timeout, pour éviter que la
session ne se ferme en pleins traitements de données.



J'avais songé le faire à chaque rafraichissement de page, mais du fait
qu'on "ajoute" du temps à la session, on risque de se retrouver avec
une session valide avec un timeout très long, ce qui est un problème de
sécurité...



De plus, je n'ai jamais fait d'EJB, et mes premiers tests ne sont pas
concluants, je ne sais pas les utiliser dans les pages jsp

Je dois faire avec ce que j'ai
Messages postés
2835
Date d'inscription
lundi 11 août 2003
Statut
Modérateur
Dernière intervention
16 décembre 2006
10
Salut



Encore une question avant une solution qui me semble super plus simple et plus appropriée ...

En fai tu as un site web et tu veux simplement accéder à des données
non ??? Qu'appels-tu session distante sur une DB et également d'où sort
ce timeout ??? Des propriétés de ta DB ???



@+
Messages postés
23
Date d'inscription
jeudi 29 mai 2003
Statut
Membre
Dernière intervention
22 mars 2005

C'est ça. En fait, pour se connecter à la DB, il faut un
user et un password (comme d'hab). Une fois connecté, tu reçois un
identifiant. Avec cet identifiant, tu peux consulter la base de données.

Ton identifiant est valable pour une durée très courte (le timeout).
passé ce délai, ton identifiant n'est plus valide, et donc tu ne sais
plus faire des traitements sur la DB.



Pour palier à ce système, il y a un webservice qui permet de rajouter
du temps, et donc étendre la validité de ton identifiant. je dois
l'appeler régulièrement, quand il reste 30s de validité, par exemple.
Ainsi, l'utilisateur peut travailler longtemps sur la DB, sans devoir
appeler "manuellement" le service.
Messages postés
2835
Date d'inscription
lundi 11 août 2003
Statut
Modérateur
Dernière intervention
16 décembre 2006
10
Salut



Très bizzare comme architecture !!!! A quoi sert l'identifiant de ta
base en réalité ??? C'est quoi comme DB ??? Pourquoi ne pas utiliser le
pool de connexion du serveur ???



Quand tu dis que l'utilisateur travaille longtemps tu veux quoi
exactement ??? Vu que c'est du web pourquoi laisser une connexion à un
user même lorsqu'il ne s'en sert pas ??? Et également bonne chance si
tu as même rien qu'un nombre moyen de connexion à ton site .. ton
serveur de DB va vite tomber !!! Non seulement, le nombre de connexions
simultanées à une DB est très limité mais en plus avec ton web service,
j'espère que tu n'as pas beaucoup de client sinon y a tout qui va
tomber ...



Réponds aux questionx parce qu'à moins d'avoir une raison réellement
valable pour faire un identifiant de connexion DB (j'ai jamais vu ça
!), de laisser une connexion à la BD et de te servir d'un WS pour
fair eun truc pareille, je crois que tu montes une usine à gaz pour pas
grand chose ... cet identifiant est-il obligatoire pour se connecter à
la DB ???



@+
Messages postés
23
Date d'inscription
jeudi 29 mai 2003
Statut
Membre
Dernière intervention
22 mars 2005

heum, pour faire bref, c'est pas moi qui ai construit ça D'ailleurs, même moi j'ai du mal à comprendre l'architecture, faut appeler 50 web services pour récupérer une bête donnée.

Je n'ai pas accès à la DB, je dois absolument passer par les web
services, et il n'y a qu'eux pour travailler "en direct" sur la DB.

L'équipe de développement à pondu ça comme ça, mon rôle est seulement d'implémenter un client léger en java.

Ce qui fait que je ne saurais pas te répondre sur le comment du pourquoi

Tout ce que je sais, c'est que si je n'utilise pas le web service dédié
pour étendre la session, j'ai 2min30 chrono pour consulter les infos
nécessaire...

Ceci dit, c'est vrai que je dois pouvoir couper la session quand l'utilisateur ne s'en sert pas.