Webservices: comment gérer les grosses requêtes ?

Webservices: comment gérer les grosses requêtes ? - Divers - Programmation

Marsh Posté le 22-06-2008 à 15:24:36    

Bonjour,  
 
Je me pose une question fondamentale concernant les webservices. N'ayant pas assez d'expérience dans le domaine, je n'ai pas la réponse.
 
Aujourd'hui pour gérer les pièces jointes - et notamment les grosses pièces jointes comme des fichiers de taille >50Mo - en webservices il existe un standard reconnu par l'ensemble des technologies: MTOM. Grâce à elle, on peut, j'ai déjà expérimenté avec Axis2 en Java, utiliser un DataHandler pour récupérer les pièces jointes MTOM du webservices et streamer les fichiers attachés et ainsi éviter les montées en mémoire lors du parsing XML. C'est nickel.
 
 
Mais comment fait-on quand c'est la requête XML qui est intrinsèquement grosse ? je m'explique: si dans mon wsdl, j'ai défini un argument de type collection (par exemple une collection de Livres) et qu'un client appelle le webservice avec une collection de Livres énorme (exemple 1.000.000 de Livres induisant un XML de 1Go) comment le webservice peut-il gérer cette requête sans que ca monte en mémoire ? comment les webservices gèrent-ils pour traiter ce genre de requêtes et ainsi éviter des attaques de type out of memory ? je pose la question, car aujourd'hui j'ai récupéré une application qui expose des webservices avec Axis 1, et ce dernier monte tout en mémoire et donc explose lors de l'envoi de larges requêtes. Quelle est la stratégie habituelle pour mettre en place un webservice qui serait insensible à la taille de la requête XML ?
 
 
 

Reply

Marsh Posté le 22-06-2008 à 15:24:36   

Reply

Marsh Posté le 28-06-2008 à 10:24:50    

Bonne question. :)
Ca vaut le coup de faire une petite recherche la-dessus.


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
Reply

Marsh Posté le 28-06-2008 à 11:25:11    

StAX est peut-être la solution:
http://java.sun.com/javaee/5/docs/ [...] bnbdv.html

 

Au passage, je ne connaissais pas MTOM, mais qq chose me dit qu'il finira remplacé par Efficient XML (EXI), qui est bcp plus performant, et choisi par le W3C comme base pour un XML binaire.


Message édité par el muchacho le 28-06-2008 à 11:32:08

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed