JAX-RS Frameworks [fermé]

J'ai travaillé avec L'implémentation de référence JAX-RS (Jersey). Je connais au moins deux autres frameworks (Restlet & Apache CXF).

Ma question Est la suivante: quelqu'un a-t-il fait une comparaison entre ces frameworks et, si oui, quel framework recommanderiez-vous et pourquoi?

50
demandé sur bluelurker 2008-09-17 11:28:37

7 réponses

FWIW nous utilisons Jersey comme son plein de fonctionnalités (par exemple WADL, vues implicites, support XML/JSON/Atom) a une grande communauté de développeurs dynamique derrière elle et a une grande intégration de printemps .

Si vous utilisez JBoss / SEAM, vous trouverez peut - être que RESTeasy s'intègre un peu mieux-mais si vous utilisez Spring pour L'Injection de dépendance, Jersey semble l'implémentation la plus simple, la plus populaire, active et fonctionnelle.

30
répondu James Strachan 2008-09-17 10:46:15

Restlet a une longue liste d'extensions pour Spring, WADL, XML, JSON et bien d'autres, y compris une extension pour JAX-RS API.

C'est aussi le seul framework disponible en six éditions cohérentes:

  • Java SE
  • Java EE
  • Google Web Toolkit
  • Google AppEngine
  • Android
  • environnements OSGi

Ses principaux avantages sont:

  • API client et serveur entièrement symétrique lorsque JAX-RS a été conçu pour le traitement côté serveur
  • connecteurs pour d'autres protocoles Que HTTP (mappage à la sémantique HTTP) lorsque JAX-RS est HTTP uniquement
  • portée des fonctionnalités beaucoup plus large, y compris le contrôle complet du routage URI via L'API Restlet (mais peut s'intégrer avec Servlet si nécessaire)
  • disposition complète pour le support NIO

L'API JAX-RS peut être un bon choix si vous êtes limité aux API approuvées par JCP (alors n'utilisez pas Spring ou n'importe quelle extension des projets JAX-RS comme Jersey et RESTeasy!), mais sinon Restlet est le framework le plus mature (initialement publié en 2005) et vous donnera, dans sa version 2.0, Tous les avantages des annotations combinées à un framework orienté classe puissant et extensible.

Pour une liste plus longue de fonctionnalités , veuillez consulter cette page .

Cordialement, Jérôme Louvel

Restlet ~ fondateur et développeur principal ~ http://www.restlet.org

26
répondu Jerome Louvel 2014-12-16 07:29:29

Mon équipe et moi utilisons largement Restlet, mais pas ses fonctionnalités JAX-RS. Je peux vous dire que j'ai été très impressionné par les développeurs et la communauté Restlet; ils sont très actifs, engagés, réactifs et engagés dans un cadre stable, efficace, fiable et efficace. Je suis désolé de ne pas pouvoir répondre directement à votre intérêt principal, mais j'ai pensé que vous pourriez trouver mon expérience avec Restlet précieuse.

7
répondu Avi Flax 2008-09-18 18:37:43

Mon collègue mentionne pourquoi nous utilisons RESTeasy pour notre projet actuel dans RESTful web services en Java EE avec RESTeasy (JAX-RS):

Son implémentation de référence, Jersey, n'a pas été choisie car nous avons eu du mal à l'intégrer bien avec EJB3 et Seam 2.0.

Nous utilisons L'implémentation RESTeasy de JAX-RS, car nous n'avons eu aucun mal à l'intégrer avec nos EJB et Seam. Il a également une documentation suffisante.

Il y en a un autre implémentation D'Apache, mais je ne l'ai pas essayé car il utilise une ancienne version de JAX-RS.

Enfin, il existe encore un autre framework pour les services web RESTful pour Java appelé Restlet mais nous ne l'avons pas favorisé car au moment d'écrire ces lignes, il utilise une architecture personnalisée, même si un support JAX-RS approprié est en cours.

6
répondu Peter Hilton 2008-09-17 08:05:32

Il semble qu'il y ait 4 implémentations JAX-RS décentes, donc vous êtes probablement d'accord avec l'une d'entre elles. Pour ce que ça vaut, j'ai trouvé Jersey (1.0.2) vraiment sympa jusqu'à présent. Mes besoins sont assez modestes, service back-end simple, prendre soin de la plomberie et ainsi de suite. Et ce maillot fait très bien.

6
répondu StaxMan 2009-02-28 00:50:40

A découvert Qu'Apache Wink est très facile à utiliser, Prend en charge JAX-RS et possède de nombreuses fonctionnalités au-delà de la norme.

6
répondu Shimi Bandiel 2009-08-17 07:10:34

Je n'utiliserais aucun cadre. Juste celui qui vient avec votre serveur d'applications. Si vous utilisez les spécificités d'un framwork, vous perdrez la portabilité et vous serez dans l'enfer de ce que si le fournisseur du serveur d'applications inclut une version différente de votre framework préféré. Je vais m'en tenir à jax-ws.

0
répondu Fabián Escalante 2013-08-06 07:47:05