L'objectif de cette leçon est d'apprendre à manipuler l'API JAX-RS pour le développement de services web REST à partir de la plateforme de développement Java.
Chaque exercice est fourni dans un dossier avec à l'intérieur un projet Java Maven contenant des classes et des fichiers de configuration qu'il faudra compléter au fur et à mesure des questions.
Buts pédagogiques : transformation d'une classe Java en service web REST, manipulation des annotations JAX-RS, tests d'intégration, client Java, implémentation Jersey, invocation des services REST via cURL, compilation avec Maven, déploiement du service web REST avec un serveur d'application lui-même déployé dans un conteneur Docker, déploiement du service web REST depuis une classe principale Java.
Ce dépôt est utilisé dans le cadre d'un cours sur les architectures orientées services que je dispense à l'ISAE-ENSMA et à l'Université de Poitiers en français. Tous les supports de cours et tutoriaux sont disponibles sur mon blog personnel : https://mickael-baron.fr/soa/.
Avant de démarrer cette série d'exercices sur l'utilisation de l'API JAX-RS, veuillez préparer votre environnement de développement en installant les outils suivants :
- Java via OpenJDK ;
- Maven ;
- Eclipse ;
- cURL ;
- Docker (exercice 5).
Retrouver les autres tutoriels :
- Tutoriel sur SOAP-UI pour inspecter et invoquer un service web étendus/SOAP via l’outil SOAP-UI ;
- Tutoriel sur JAX-WS pour implémenter des services web étendus/SOAP ;
- Tutoriel sur le développement de WebSocket et de Server-Sent Event avec le langage Java et les bibliothèques JAX-RS et Tyrus.
- Tutoriel sur le développement d'une application basée sur une architecture microservice avec Docker.
Pour aller plus loin, vous pouvez consulter les ressources suivantes :
- Support de cours SOA ;
- Support de cours WSDL ;
- Support de cours SOAP ;
- Support de cours JAX-WS.
- Support de cours REST ;
- Support de cours JAX-RS ;
- Support de cours sur le Streaming HTTP ;
- Support de cours sur la mise en œuvre de technologies de Streaming HTTP avec le langage Java ;
- Support de cours sur une introduction aux architectures microservices ;
- Support de cours sur les outils et bibliothèques pour la mise en œuvre d'architectures microservices.