Question

Je suis en train de développer une version allégée de REST pour une application Web Java.

J'ai consulté RESTlet (www.restlet.org) et le plug-in REST pour Struts 2, mais je ne me suis pas décidé. Je me penche vers RESTlet, car il semble être plus léger.

Quelqu'un a-t-il implémenté une couche RESTful sans aucun des frameworks ou avec les frameworks?

Des problèmes de performances que vous avez rencontrés à cause de la nouvelle couche Web?

L’introduction de REST a-t-elle ajouté une complexité ingérable ou déraisonnable à votre projet? (Une certaine complexité est compréhensible, mais ce que je veux dire, c’est tout simplement de surcharger votre conception pour ajouter REST.)

Était-ce utile?

La solution

Eh bien, j'ai utilisé assez souvent Enunciate. Il utilise des annotations simples pour fournir des points de terminaison REST et / ou SOAP.

http://enunciate.codehaus.org

De plus, Ryan Heaton a toujours fourni un support de premier ordre pour vos projets.

Autres conseils

Je suis un grand fan de JAX-RS. Je pense qu'ils ont fait un excellent travail avec cette spécification. Je l'utilise sur plusieurs projets et c'est un plaisir de travailler avec lui.

JAX-RS vous permet de créer des ressources REST à l'aide de POJO avec de simples annotations traitant des mappages d'URI, des méthodes HTTP et de la négociation de contenu, tout étant parfaitement intégré à l'injection de dépendances. Il n'y a pas d'API complexe à apprendre. seuls les concepts REST de base (URI, en-têtes / codes de réponse et négociation de contenu) sont requis. FWIW JAX-RS est assez Rails-ish du point de vue du contrôleur

Il existe un certain nombre d'implémentations JAX-RS - voir ce fil de discussion .

Ma recommandation personnelle est d’utiliser Jersey , la communauté la plus importante et la plus active derrière ce les meilleures fonctionnalités au moment de la rédaction (support WADL, vues implicites, intégration de Spring, belle API client REST); cependant, si vous utilisez JBoss / SEAM, vous constaterez peut-être que RESTeasy s’intègre un peu mieux.

Je suis un grand fan de Restlet, mais je l'utilise généralement pour implémenter des applications dont le rôle principal est d'être un service Web RESTful. Il semble que vous cherchiez à ajouter une API RESTful à une application existante. Si tel est le cas, l’approche basée sur les annotations de JAX-RS (ou d’Enunciate) conviendrait peut-être mieux à votre projet.

En ce qui concerne Restlet, je peux vous dire que les développeurs et la communauté ont été très impressionnés. ils sont très actifs, engagés, réactifs et attachés à un cadre stable, efficace, fiable et performant. Mon seul aspect préféré du cadre est qu’il s’agit d’une implémentation du paradigme REST en profondeur; par conséquent, il n'y a pas de déséquilibre impédance entre l'API externe d'une application Restlet et son implémentation interne. J'aime aussi beaucoup sa flexibilité: il peut s’exécuter dans un conteneur / serveur d’applications Java tel que JBoss, Tomcat, Jetty, etc. ou en autonome, avec une bibliothèque de serveur HTTP intégrée.

Vous savez qu'il existe une nouvelle API JCP pour l'accès aux services RESTful, également:

JAX-RS JCP311 https://jsr311.dev.java.net/

La version open source s'appelle Project Jersey

Je travaille sur une API REST pour gliffy.com et nous avons fini par lancer la nôtre. Nous ne voulions pas faire appel à Struts 2, Spring ou tout autre cadre. J'ai consulté RESTLet et je l'ai trouvé extrêmement déroutant et trop compliqué.

Apache a une implémentation de la spécification JAX-RS, mais elle n’a pas encore été finalisée et présente également quelques bizarreries. Nous prévoyons provisoirement d'ouvrir notre solution en source, mais ce n'est que pour quelques mois.

Rouler soi-même est facile, cependant. La spécification de servlet vous donne tout ce dont vous avez besoin et vous pouvez facilement vous connecter à une base de données via Hibernate (voir http://www.naildrivin5.com/daveblog5000/?p=39 pour savoir comment configurer JPA sans utiliser EJB3).

J’ai trouvé que restlet était une architecture très élégante. Je travaille dans le monde .net, ce n’était donc pas une option pour moi, mais j’ai pu construire mon propre cadre en suivant les mêmes principes de base de restlet. J'ai constaté que la conversion de notre application SOA basée sur un contrat WCF en une application basée sur REST a considérablement simplifié l'application,

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top