Aperçu
Nous allons voir comment développer une API REST avec le langage de programmation Java.
Développer un Service REST en Java implique l'utilisation de JAX-RS. REST(REpresentational State Transfer) est une architecture logiciel qui défini un ensemble de contraintes à utiliser pour créer des services web. Une API REST est une interface de programmation qui respecte ces contraintes exposées par REST.
Dans Java il existe plusieurs solutions pour réaliser des services REST dont Spring et JAX-RS. Ici nous parlerons de JAX-RS.
JAX-RS
JAX-RS n'est qu'une API qui est un groupe d'interfaces et d'annotations, parfois désigné par le terme «spécification». Cette API est mise à disposition par Java EE. L'avantage à utiliser JAX-RS est que votre application sera compatible avec les containers Java EE qui viennent avec des implémentations de JAX-RS.
JAX-RS Implémentations
JAX-RS est une API, ça veut dire que pour l'utiliser il faut choisir une implémentation. Il existe plusieurs implémentations de la spécification JAX-RS. Parmi les implémentations on retrouve :
- Jersey(Glassfish, Sun)
- RESTEasy(JBoss, Red Hat)
- CXF (Apache)
CXF
CXF est une des implémentations de JAX-RS qui permet de créer des Service REST et les Web Services. CXF est développé par la fondation Apache et propose également une intégration avec le framework Spring. Pour cette série, CXF va être utilisé.
La sélection de l'implémentation requiert de tenir compte du container web qui supporte cette implémentation. Dans le cas de CXF, Tomcat(Apache) est un celui qui est retenu.
Tomcat
Tomcat est un serveur d'application, un container web open source qui est livré avec une implémentation des servlets, JSP et JSF. Tomcat est développé par la fondation Apache. Le support de Jakarta par défaut débute avec la version 10. JAX-RS etant basé sur les Servlets et Tomcat offre une implémentation des servlets, ce dernier est le container web qui va être utilisé pour cette série d'article.
Maven
Maven, développé par la Fondation Apache, est un outil de gestion et d'automatisation de la création de logiciels Java et Java EE. Avec Maven, on défini les dépendances logiciels nécessaire à la réalisation d'un logiciel, on défini aussi les différentes étapes de l'empaquetage du logiciel final. Les fonctionnalité de Maven peuvent être étendues avec l'aide des plugins. Pour cet série d'article, Maven va être le gestionnaire que nous allons utiliser.
Conclusion
Java offre plusieurs options pour la création des Services REST. JAX-RS est l'API de référence à utiliser pour compatible avec Java EE. Parmi les implémentations de JAX-RS on retrouve CXF, Jersey et RESTEasy. Le Prochain article de cette série présentera un exemple sur comment créer un Service REST avec CXF et comment le déployer sur un container web comme Tomcat.
- Soyez le premier à commenter