75 votes

Implémentation Java REST: Jersey vs CXF

Quels sont selon vous les avantages / inconvénients entre ces deux bibliothèques? Lequel de ces deux est le mieux adapté à l'environnement de production? En passant, je vais utiliser JSON au lieu de XML.

J'aimerais aussi savoir quelle bibliothèque est la plus supportée par la communauté, par exemple des tutoriels, de la documentation.

47voto

Nick Klauer Points 2837

J'ai utilisé les deux, mais à des fins différentes. CXF travaillé beaucoup pour analyser un fichier WSDL, et de créer des Pojo Java pour interagir avec, donc, CXF est assez bon pour le côté client WSDL des services. Je suis actuellement à l'aide de Jersey pour le serveur-côté de la mise en œuvre et je suis impressionné par la simplicité de se lever et courir avec RESTful services à l'aide de Jersey.

Que Jersey est essentiellement consacrée aux services RESTful et CXF traite la plupart (tous?) avec du SAVON, je crois qu'au fond, si vous voulez travailler avec du SAVON ou de REPOS, et de déterminer le meilleur cadre pour le travail à partir de là. Personnellement, je suis plus dans le camp de REPOS que le SAVON, mais mes besoins sont différents. Devrais-je être dans une situation où le fournisseur/client/entreprise j'écris le service pour les besoins d'une sorte de contrat, je pourrais encore pousser pour le RESTE (et le RESTE de l'équivalent pour les services à contrat, WADL), mais serait probablement nécessaire de mettre en œuvre un service SOAP, auquel cas, je pourrais regarder CXF d'abord et tout le reste deuxième.

Personnellement, Jersey est assez bon pour un JAX-RS cadre, même si elles n'excluent pas RESTEasy, par JBoss. J'aime les deux, mais la documentation de RESTEasy, c'est mieux.

Pour CXF, la documentation est OK, mais je suis tombé sur des incohérences dans la façon dont j'avais besoin pour gérer SSL et HTTP, les proxy, mais il a travaillé lui-même éventuellement. CXF ne fournissent plus de la boîte à l'égard de ces fonctionnalités supplémentaires, et je dirais RESTEasy serait de fournir une fonctionnalité équivalente de repos des cadres.

4voto

Jan Algermissen Points 2915

J'ai seulement utilisé Jersey (avec beaucoup de satisfaction) donc je ne peux pas donner une réelle comparaison. Choses que vous pourriez envisager:

  • CXF est emballé avec du SAVON de pile de soutien de sorte que vous apporter beaucoup de SOAP de poids que vous n'utiliserez jamais lorsque vous créez un système Reposant. (Il y a des plans pour diviser la l'emballage autant que je sache, tout de même)
  • Jersey est livré avec un certain nombre de non-standard des ajouts de JAX-RS que sont très utiles. Il y a aussi un côté client cadre de base qui est conçu tout à fait bien.
  • [Avertissement: plug sans vergogne à l'avance (désolé)]: j'ai été de travail sur une longue Jersey client côté cadre qui encourage la bonne l'utilisation de REPOS sur le côté client et est (À mon humble avis du moins) très naturel à utiliser. Il est prévu de l'annoncer ce (ou à côté) de la semaine - si vous vous souciez de la côté client beaucoup, lui donner un essai. Personnellement, je considère que c'est une immense pro-Jersey argument.

HTH,

Jan

3voto

dafmetal Points 485

Avez-vous considéré RESTlet ? C'est un package puissant pour créer rapidement des services Web RESTful. Les personnes derrière RESTlet écrivent également le livre RESTlet In Action qui est actuellement en accès anticipé. Les chapitres déjà disponibles expliquent très bien REST et expliquent comment concevoir une API REST.

2voto

unhillbilly Points 4604

Si vous êtes préoccupé par les détails de la conversion d'une solution développée avec Jersey en CXF , Glen Mazza a écrit un article sur le blog concernant la conversion d'environ trois douzaines d'échantillons RESTful inclus dans la version 1.12 de Glassfish Jersey. Les résultats sont sur GitHub .

1voto

Blair Points 26

J'ai utilisé Apache CXF pour JAX-WS et Jersey pour JAX-RS, donc je ne peux pas vous parler de CXF et de REST. Il était facile de configurer un exemple REST en utilisant Jersey. La documentation était adéquate. Je n'ai pas utilisé RESTEasy, mais Jersey semble avoir plus de traction et des mises à jour plus récentes.

Un livre de référence pour les instructions de mise en œuvre est RESTful Web Services Cookbook.

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