97 votes

Quelle est la différence entre JAX-RS et JAX-WS ?

Après avoir lu quelques articles sur JAX-RS et JAX-WS, je me suis posé quelques questions que je souhaite confirmer ?

  1. JAX-RS peut-il faire des requêtes asynchrones comme JAX-WS ?
  2. JAX-RS peut-il accéder à un service web qui ne fonctionne pas sur la plate-forme Java, et vice versa ?
  3. Que signifie l'expression "REST est particulièrement utile pour les appareils à profil limité, tels que les PDA et les téléphones mobiles" ?
  4. Qu'entend-on par "JAX-RS ne nécessite pas de messages XML ou de définitions WSDL des services-API ?

96voto

user2849471 Points 91

Un autre point important

JAX-WS représente SOAP

JAX-RS représente REST

Comment choisir entre la mise en œuvre de services web JAX-RS et JAX-WS ?

84voto

Nick Roth Points 2115

JAX-RS peut-il faire des requêtes asynchrones comme JAX-WS ?

1) Je ne sais pas si l'API JAX-RS comprend un mécanisme spécifique pour les requêtes asynchrones, mais cette réponse pourrait encore changer en fonction de l'implémentation client que vous utilisez.

JAX-RS peut-il accéder à un service web qui ne fonctionne pas sur la plate-forme Java, et vice versa ?

2) Je ne vois pas pourquoi il ne pourrait pas le faire.

Que signifie l'expression "REST est particulièrement utile pour les appareils à profil limité, tels que les PDA et les téléphones mobiles" ?

3) Les architectures basées sur REST utilisent généralement un format de données léger, comme JSON, pour envoyer des données dans les deux sens. Ceci est en contraste avec JAX-WS qui utilise XML. Je ne pense pas que XML soit en soi plus lourd que JSON (ce que d'aucuns pourraient soutenir), mais avec JAX-WS, c'est la quantité de XML utilisée qui finit par faire de REST avec JSON l'option la plus légère.

Qu'entend-on par "JAX-RS ne nécessite pas de messages XML ou de définitions WSDL des services-API ?

4) Comme indiqué au point 3, les architectures REST utilisent souvent JSON pour envoyer et recevoir des données. JAX-WS utilise XML. Ce n'est pas que JSON soit tellement plus petit que XML en soi. C'est surtout que la spécification de JAX-WS inclut beaucoup de surcharge dans la façon dont il communique.

En ce qui concerne les définitions WSDL et API, REST utilisera plus fréquemment la structure URI et les commandes HTTP pour définir l'API plutôt que les types de messages, comme c'est le cas dans JAX-WS. Cela signifie que vous n'avez pas besoin de publier un document WSDL pour que les autres utilisateurs de votre service puissent savoir comment parler à votre service. Avec REST, vous devrez toujours fournir une documentation aux autres utilisateurs sur la façon dont le service REST est organisé et sur les données et les commandes HTTP qui doivent être envoyées.

50voto

JAX-WS - est l'API Java pour les services Web basés sur XML - une manière standard de développer des services Web dans les domaines suivants SOAP (Simple Object Access Protocol).

L'appel des services Web est effectué par le biais d'appels de procédures à distance. Pour l'échange d'informations entre le client et le service Web, on utilise le protocole SOAP. L'échange de messages entre le client et le serveur s'effectue par le biais de XML - basés sur des messages SOAP.

Les clients du service web JAX-WS ont besoin d'une WSDL pour générer un code exécutable que les clients peuvent utiliser pour appeler le service Web.

JAX-RS - API Java pour les services Web RESTful. Les services Web RESTful sont représentés comme des ressources et peuvent être identifiés par des identificateurs de ressources uniformes ( URI ). Dans ce cas, l'appel de procédure à distance est représenté par un HTTP - et les données nécessaires sont transmises comme paramètres de la requête. Services Web RESTful - plus souple, peut utiliser plusieurs MIME - types. Généralement utilisé pour l'échange de données XML ou JSON (JavaScript Object Notation) d'échange de données...

0voto

Urvil Joshi Points 38

JAX-RS peut-il faire des requêtes asynchrones comme JAX-WS ?

Oui, il peut certainement utiliser @Async

JAX-RS peut-il accéder à un service web qui ne fonctionne pas sur la plate-forme Java, et vice versa ?

Oui, c'est possible.

Que signifie l'expression "REST est particulièrement utile pour les appareils à profil limité, tels que les PDA et les téléphones mobiles" ?

Il est principalement utilisé pour les apis publiques ; cela dépend de l'approche que vous souhaitez utiliser.

Qu'entend-on par "JAX-RS ne nécessite pas de messages XML ou de définitions WSDL des services-API ?

Il a ses propres normes WADL (Web application Development Language), il a une demande http par laquelle vous pouvez accéder aux ressources, elles sont toutes créées par différents esprits. Dans le cas de Jax-Rs, vous devez penser à exposer les ressources.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X