2009-09-23 7 views

Répondre

2

Depuis le terme « service web » est utilisé avec des significations légèrement divergentes, je suppose que nous parlons de son W3C definition.

Cette définition définit essentiellement les spécifications: WSDL et SOAP. De plus, il existe un tas d'autres spécifications connues sous le nom WS- * qui définissent l'utilisation spéciale de WSDL et de SOAP à des fins spéciales (par exemple, la sécurité).

Les deux, Java et .NET tentent pour implémenter un moteur de service Web qui respecte ces spécifications. Puisque ces spécifications sont assez complexes, les deux font des erreurs. De plus, l'objectif d'interopérabilité n'est pas complètement atteint. Par exemple, la spécification SOAP définit un SOAPAction HTTP header facultatif qui n'est pas utilisé dans JAX-WS mais qui est requis dans .NET (ne sait pas si cela est toujours vrai pour les versions actuelles).

Ainsi, le Metro (Metro est un moteur de service Web en utilisant JAX-WS) site web mentionne des tests d'interopérabilité réguliers avec .NET

Par ailleurs, JAX-WS est le nom de specification ainsi qu'un de ses reference implementation .

+0

Donc les problèmes d'interopérabilité sont seulement avec des spécifications spéciales de services Web tels que la sécurité que vous avez mentionné? Mais pas avec des invocations de base de service web-service, correct? –

+0

Il ne devrait pas y avoir de problèmes d'interopérabilité si les deux côtés respectent les spécifications. – wierob

+0

Je comprends qu'il ne devrait y avoir aucun problème si les deux côtés adhèrent aux spécifications. Je comprends également que les deux parties n'ont PAS adhéré à toutes les spécifications, alors ma question est la suivante: quels sont exactement les problèmes d'interopérabilité? –

0

Un client ne devrait pas être en mesure de distinguer entre les services Web mis en œuvre en utilisant l'une ou l'autre technologie, ou d'avoir une autre technologie. La promesse des services Web est qu'ils devraient être interopérables sur de nombreuses plateformes, et les fournisseurs de services peuvent utiliser toutes les technologies qu'ils préfèrent, donc un magasin Java utiliserait Java, JAX-WS par exemple, et .NET shoop leurs technologies - les clients ne veulent pas Attention, ils utilisent le WSDL. Les choses deviennent un peu plus intéressantes lorsque nous nous éloignons des services Web SOAP/HTTP de base et que nous utilisons des normes de sécurité, de transactions, de messagerie, etc. (tout l'espace WS- *). Idéalement, la transparence de l'implémentation est toujours vraie, mais vous ne pouvez pas compter sur un implémenteur arbitraire supportant ce que vous voulez faire. L'organisation WS-I, et ses fournisseurs participants, font beaucoup de travail pour assurer l'interopérabilité, de sorte que l'histoire n'est pas trop mauvaise, même pour ces normes WS- * plus avancées.

0

Soyez prudent, wcf se compare au métro, jax-ws a juste les bases, pas toutes les choses ws *.

Metro et WCF implémente un interoperation standar wse 3. Et peuvent communiquer entre eux via xml sans aucun problème, vous ne savez simplement pas si le service est basé sur .net ou java.

Cordialement

2

Idéalement, l'idée de services Web est de ne pas vous donner une chance d'avoir de telles questions. :)

Questions connexes