La dernière version de Jersey 2.0, un framework pour faire des services web RESTful, est sortie. Elle apporte une API Client et ajoute le support d'un mode asynchrone pour les Clients et les Services. Jersey 2.0 est l'implémentation de référence des spécifications de JAX-RS 2.0 (JSR 339), sortie en mai dernier.
Le framework écrit en Java, a dû revoir la majeure partie du code pour prendre en compte les changements importants de JAX-RS 2.0 :
- Une API Client pour communiquer avec un service Web RESTful ou n'importe quel web service en HTTP. La nouvelle API Client JAX-RS est basée sur les concepts introduits par la version 1.x de Jersey. Donc les développeurs utilisant déjà la version 1.x vont avoir une migration simplifiée vers la nouvelle version.
- Support des hypermédias pour permettre de créer des liens en se basant sur les concepts HATEOAS, par exemple des liens vers des ressources liées ou des liens vers les actions disponibles pour une ressource.
- Filtres et Intercepteurs, qui rendent possible de surveiller et de modifier les messages entrants et sortants du côté du client et du serveur. Un des cas d'utilisation est l'authentification lors de la réception de requête et l'ajout d'en-tête sur les réponses.
- Clients et Services asynchrones. Côté serveur, on peut augmenter le débit en utilisant moins de ressources: libérer le thread initial de la requête, traiter la requête de manière asynchrone, et demander un nouveau thread pour gérer la réponse. Sur un client, la charge peut-être réduite de a manière similaire avec une requête asynchrone et en utilisant un Future de l'API Java pour attendre une réponse.
Jersey 2.0 est une refonte importante qui provoque de nombreuses incompatibilités entre la version 1.x et 2.0. L'équipe a ajouté dans la documentation une section dédiée à la migration.
L'un des développeurs de l'équipe Jersey, Marek Potociar, a écrit des billets de blogs durant les 2 ans de travail ainsi qu'une vue d'ensemble sur la sortie et les nouveautés de la 2.0.
Les autres sources d'information comprennent :
- des slides d'une présentation de Arun Gupta, un évangéliste Java d'Oracle.
- Exemples de code issus d'une série d'articles sur Java EE 7.
Git est maintenant le gestionnaire de source, et le projet est hébergé sur GitHub, avec le souhait que cela simplifie les contributions de la communauté au projet.