2010-02-22 4 views
1

Améliorez un frontal C# qui communique avec un serveur Java Tomcat via HTTP.Compression XML compatible à la fois avec Java et C#

Le package WOX est utilisé pour dé/sérialiser les objets aux extrémités Java et C#.

Cependant, je veux réduire le temps passé à envoyer des chaînes XML sur HTTP, en utilisant des paquets de compression XML.

Mes questions sont les suivantes:

  1. utilise-t-WOX de/sérialisation entraîne dans les chaînes XML étant passaient et repassaient, la meilleure façon de communiquer entre C# et Java?

  2. Quelles bibliothèques de compression XML (doivent être libres) dois-je envisager d'augmenter la vitesse?

Merci beaucoup. Chapax

Répondre

2

Au début, j'essayais juste d'appliquer la compression gzip au niveau HTTP - en partie parce que cela devrait pouvoir être appliqué de façon transparente à votre application. XML compresse généralement assez bien. Avez-vous un objectif spécifique en tête, alors vous saurez quand un résultat est "assez bon"? (Si ce n'est pas le cas, cela pourrait être la première chose à faire, sinon vous ne saurez pas quand arrêter.) Tomcat prend en charge la compression gzip en tant que connector configuration option. Quant à savoir si XML est la bonne voie à suivre - il a certainement des avantages et des inconvénients. Il existe de nombreuses autres options de sérialisation, notamment JSON, Thrift et Protocol Buffers. Chacun a des avantages et des inconvénients en termes d'intégration de la plate-forme, de taille, de lisibilité, de versionnage, etc. Vous devriez déterminer ce qui est important pour vous et ensuite examiner les options en fonction de ces considérations.

+0

Merci beaucoup Jon ... quels paquets respectifs dois-je utiliser pour appliquer la compression gzip en Java/C#? Le "assez bon" est vraiment la capacité de passer 200k lignes de données ... dans les plus brefs délais. Considérera les autres sérialiseurs XML à un stade ultérieur ... pour l'instant va travailler avec WOX. Merci encore une fois. – Chapax

+0

@Chapax: compression Gzip dans Tomcat: voir la page de configuration du connecteur lié. En C#, vous devrez peut-être ajouter un en-tête ("Accept-Encoding: gzip") lorsque vous récupérez, mais cela devrait être tout ce que vous avez à faire. –

Questions connexes