Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1225 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Web Services et transaction ? (JAVA)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Web Services et transaction ? (JAVA)

n°1176850
Nestor
Posté le 16-08-2005 à 09:38:31  profilanswer
 

Salut à tous,  
 
est-il possible de faire des transactions avec les web services ?  
Je m'explique un peu :  
on a 4 web-services.  
L'utilisateur peut appeler un ou plusieurs de ces ws dans l'ordre ou il veut seulement on souhaite que lorsqu'il a appeler son dernier ws (c'est l'utilisateur qui le précise) on fasse un commit ou un rollback de tout ce que les ws appelés ont fait.  
Chaque ws fait une ou plusieurs actions dans une base de données (la même pour tous les ws).
 
Ex : 1-2-3, tout est ok, on commit.
1-4, tout est ok, on commit
1-2-3-4, le ws 2 plante, on ne fait pas 3-4, on rollback 1.
 
Merci de votre aide.
Nestor.

mood
Publicité
Posté le 16-08-2005 à 09:38:31  profilanswer
 

n°1176885
sircam
I Like Trains
Posté le 16-08-2005 à 10:27:44  profilanswer
 

J'imagine mal que tu laisses une transaction en suspens en attendant une requête WS pour décider du commit/rollback.
 
Les transactions doivent rester les plus courtes possibles dans le temps. Pense seulement aux questions d'accès sur les données non commitées avec une transaction qui va peut-être attendre plusieurs minutes et tu comprendras que ce n'est pas une bonne idée.
 
- Soit tu revois ton design pour éviter que les données ne soient considérées comme définitives (p.e. flags);
- Soit tu prévois un mécanisme logique pour défaire ce qui a été fait si nécessaire.
 
Dans tous les cas, je ne saurais que trop te conseiller de ne pas reporter ce boulot sur la transaction, même si c'est tentant. Le gain n'est même pas forcément assuré, puisque que tu devras de tte façon prévoir un moyen de récupérer le contexte transactionnel en cours lors de l'arrivée d'une requête WS.
 
[:pingouino]


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1176963
the real m​oins moins
Posté le 16-08-2005 à 11:26:14  profilanswer
 

(surtout si le client se casse la gueule entre 2 appels)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1177008
sircam
I Like Trains
Posté le 16-08-2005 à 11:54:33  profilanswer
 

the real moins moins a écrit :

(surtout si le client se casse la gueule entre 2 appels)


T'es bon pour implémenter toi-même un mécanisme de timeout qui reprendra la transaction en cours pour la couler.   [:pingouino]
 
Plus j'y pense, plus je trouve que c'est une très mauvaise idée.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1184643
jalios828
Posté le 25-08-2005 à 21:26:46  profilanswer
 

Nestor a écrit :

Salut à tous,  
 
est-il possible de faire des transactions avec les web services ?  
Je m'explique un peu :  
on a 4 web-services.  
L'utilisateur peut appeler un ou plusieurs de ces ws dans l'ordre ou il veut seulement on souhaite que lorsqu'il a appeler son dernier ws (c'est l'utilisateur qui le précise) on fasse un commit ou un rollback de tout ce que les ws appelés ont fait.  
Chaque ws fait une ou plusieurs actions dans une base de données (la même pour tous les ws).
 
Ex : 1-2-3, tout est ok, on commit.
1-4, tout est ok, on commit
1-2-3-4, le ws 2 plante, on ne fait pas 3-4, on rollback 1.
 
Merci de votre aide.
Nestor.


 
Moi aussi je suis perplexe.
 
Soit l'appel de tes 4 WS  se fait dans une ou plusieurs logique correspondant a un ou plusieurs "use case" que tu as identifié et il faudrait avoir des WS de plus haut niveaux qui representeraient ces uses cases et ce serait a eux de maintenir une transaction
Soit l'appel a un WS est un use case a lui même....
 
Sinon il y a une norme WS-Transaction ou qqchose dans le genre mais je ne l'ai pas regardé en détail...

n°1186419
chichos
Posté le 28-08-2005 à 18:13:41  profilanswer
 

Nestor a écrit :

Salut à tous,  
 
est-il possible de faire des transactions avec les web services ?  
Je m'explique un peu :  
on a 4 web-services.  
L'utilisateur peut appeler un ou plusieurs de ces ws dans l'ordre ou il veut seulement on souhaite que lorsqu'il a appeler son dernier ws (c'est l'utilisateur qui le précise) on fasse un commit ou un rollback de tout ce que les ws appelés ont fait.  
Chaque ws fait une ou plusieurs actions dans une base de données (la même pour tous les ws).
 
Ex : 1-2-3, tout est ok, on commit.
1-4, tout est ok, on commit
1-2-3-4, le ws 2 plante, on ne fait pas 3-4, on rollback 1.
 
Merci de votre aide.
Nestor.


 
A l'heure actuelle, je ne pense pas que cela soit possible, en tout cas de manière "standard".
Je m'explique : autour des Services Web, seuls les besoins en terme de transport (SOAP), découverte (UDDI), description du service (WSDL) sont bien adressés; les implémentations sont matures, leurs specs sont arrivés au terme de leur cycle de validation. C'est la brique minimum pour faire des SW. Par dessus sont en train de se greffer des briques pour adresser d'autres besoins tels que la transactionnalité, la sécurité (mature avec WS-Security si je ne m'abuse), et d'autres services métiers ... avec des implémentations et des specs plus ou moins matures.
 
Concernant la transactionnalité, il me semble bien que c'est encore loin d'être mature et implémenté (et effectivement, il faudrait regarder du côté de WS-Transaction).
 
Il va donc falloir développer une solution "maison" (qui ne sera donc pas "standard" ) ou contourner le pb pour répondre de manière plus ou moins satisfaisante aux besoins. Mais ça sera, à vue d'oeil, un compromis ..
 
Si qqun pouvait confirmer, ça fait quelques temps que j'ai pas touché aux SW mais aux dernières nouvelles, pas possible de mettre un contexte transactionnel.

n°1186428
sircam
I Like Trains
Posté le 28-08-2005 à 18:27:10  profilanswer
 

C'est gentil de répondre à un gars qui ne s'est pas manifesté depuis 12 jours...
 
Enfin, on disait que ça servirait aux suivants, qui ne feront de toute façon pas de recherche avant de poser la même question.
 
[:pingouino]

n°1186441
chichos
Posté le 28-08-2005 à 18:50:43  profilanswer
 

sircam a écrit :

C'est gentil de répondre à un gars qui ne s'est pas manifesté depuis 12 jours...
 
Enfin, on disait que ça servirait aux suivants, qui ne feront de toute façon pas de recherche avant de poser la même question.
 
[:pingouino]


 
 :D  
 
Exact, j'avais même pas tilté sur la date de son message ... bah on va dire que c'était ma petite contribution inutile du dimanche après-midi ..


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Web Services et transaction ? (JAVA)

 

Sujets relatifs
Java et keylistenerComment on converti un prog flash en java pour mettre sur un mobile?
java : forcer un JSCROLLPANE + pb aff pge distante JEDITORPAN[JAVA] Conserver un ratio en changeant les dimensions d'une fenetre
[Java] Compilation avec Antprogramme java pour envoyer des mails
Problème de lancement de script java en asp :(Java Soap
[WebServices/SOAP] Serveur php NuSOAP / Client JAVA/JSP 
Plus de sujets relatifs à : Web Services et transaction ? (JAVA)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR