Interopérabilité Java .NET

Interopérabilité Java .NET - Java - Programmation

Marsh Posté le 23-10-2007 à 15:01:08    

Salut à tous.
Je développe une appli qui comporte un serveur (J2EE) et un client (.NET).
Naturellement, pour faire communiquer les 2, j'ai utilisé des webservices.
 
Cela fonctionne ... mais les performances sont mauvaises... A mon avis, le protocole est trop "verbeux".
 
Connaissez vous des alternatives?
en googleant un peu, j'ai trouvé "fast infoset"... Avez vous des expériences?
 
 

Reply

Marsh Posté le 23-10-2007 à 15:01:08   

Reply

Marsh Posté le 24-10-2007 à 16:31:20    

Classique avec les services Web.  :ange:  
 
Essaie plutôt d'exploiter les capacités CORBA de ton serveur d'appli Java. Je n'ai jamais essayé avec .NET, mais dans le principe, je ne vois pas ce qui empêcherait de le faire (tant que tu utilises le serveur de noms CosNaming pour enregistrer tes objets côté serveur).
 
Sinon, tu as aussi la possibilité d'exploiter REST (en clair, un mapping 1-1 entre une URL de ton serveur et une opération d'un de tes services Web). C'est réputé pour être nettement plus efficace que les services Web basés sur SOAP-RPC.


Message édité par BifaceMcLeOD le 24-10-2007 à 16:33:00
Reply

Marsh Posté le 24-10-2007 à 20:44:24    

bonsoir à tous,
 
1e solution CORBA:
franchement pas évident à mettre en place, bcp de truc à paramétré et vitesse de développement vraiment pas rapide du tout.  
 
2e solution WS Soap:
cela marche plutot bien. Il faut pas oublié quand même qu'il faut obtimiser un maximum afin de faire transité le moins possible de données entre le client et le serveur. Surtout qu'avec des WebService, il y a toute les informations xml soap avec.  
Le problème avec les WS en JAVA, c'est qu'ils ne sont pas très rapide comparé à d'autre languages qui font beaucoup mieux au niveau performance.  
Moi personnellement, ej travaille avec AXIS 1.3, c'est acceptable mais pas sensationnel. Il parait avec entre autre AXIS 2, les performances sont nettement meilleure. Il faut donc choisir le bon moteur de WS en JAVA. Tout dépend de la.  
 
Maintenant, la question, c'est qu'est ce que tu fais transiter par ton WS?

Reply

Marsh Posté le 24-10-2007 à 23:37:44    

Salut,
 

moi23372 a écrit :

Le problème avec les WS en JAVA, c'est qu'ils ne sont pas très rapide comparé à d'autre languages qui font beaucoup mieux au niveau performance.


 
Il parait qu' XFire (http://xfire.codehaus.org/) est nettement mieux qu' Axis por ce qui est des performances.
 
@++

Reply

Marsh Posté le 30-10-2007 à 21:07:18    

Merci pour vos réponses.
 
Sur le WS, je fais transiter des objets standards (contenant des nombres, des dates et des chaines de caractères, et des tableaux d'autres objets standards).
 
J'ai ajouté un encodeur gzip à la sortie. Ca décrypte bien en lecture, et je gagne pas mal en perf (de l'ordre de 30-40%).
 
A priori (je peux me tromper), il ne me semble pas que le temps perdu soit à sérialiser/désérialiser --> je vais quand même tester xfire si c'est pas trop galère à faire marcher.
Je pense que c'est le protocole qui est trop verbeux (3/4 des données sont des metadonnées XML qui décrivent les objets contenus).
Je ne connais pas REST,  mai serait-ce une solution ?

Reply

Sujets relatifs:

Leave a Replay

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