Blue Flower

Introduction

Dans cet article, nous allons voir comment créer un web service de type RESTful utilisant JSON.

Le format JSON a l'avantage d'être plus concis que le format XML. Cette concision le rend moins lisible que le format XML.

Ce type de Web Service permet à partir des méthodes HTTP de manipuler des ressources :

  • GET : pour récupérer une ressource. Par exemple le livre d'id 1
  • POST : pour créer une ressource
  • PUT : pour modifier une ressource
  • DELETE : pour supprimer une ressource.

Pour l'exemple, la ressource sera un projet constitué d'un nom, d'une date de début et d'une date de fin.

Nous utiliserons le serveur Glassfish qui se base sur Jersey concernant les Web services RESTful.

Nous allons donc voir comment créer/modifier/supprimer/rechercher un projet via un Web Service RESTFul XML tout en stockant cette information dans une base MySQL via JPA.

Dans cet article, nous allons aborder les points suivants :

  • comment gérer l'authentification et la gestions des droits dans une application web et plus particulièrement dans le cas de Glassfish
  • la notion de session HTTP

 

Dans cet article, nous allons voir comment créer un web service de type RESTful utilisant XML. Un autre article suivra avec utilisation du format JSON.

Ce type de Web Service permet de manipuler des ressources à partir de requêtes HTTP avec en entrée ou en sortie du XML :

  • GET : pour récupérer une ressource. Par exemple le livre d'id 1
  • POST : pour créer une ressource
  • PUT : pour modifier une ressource
  • DELETE : pour supprimer une ressource.

Pour l'exemple, la ressource sera un projet constitué d'un nom, d'une date de début et d'une date de fin.

Nous utiliserons le serveur Glassfish qui se base sur Jersey concernant les Web services RESTful.

Nous allons donc voir comment créer/modifier/supprimer/rechercher un projet via un Web Service RESTFul XML tout en stockant cette information dans une base MySQL via JPA.

Dans cet article, nous allons voir qu'un EJB stateless peut aussi être exposé en tant que web service.

Pour cet exemple, nous ferons deux projets maven :

  • un projet maven de type EJB s'exposant en tant que web service (Prj1WebServiceEjb)
  • un projet maven de type jar pour tester l'appel du web service (Prj1WebServiceEjbClient).

Nous allons dans cet article :

  • créer un projet maven pour notre web service. Ce web service, hébergé sur Glassfish, sauvera les données en base de données MySQL via JPA (implémentation EclipseLink)
  • créer un projet maven pour le client de notre web service. Le client sera une classe Main java.

Fonctionnellement, le web service permettra de déclarer un projet dans la base de données. Pour faire simple, notre objet "Projet" a comme seul attribut un nom et un identifiant.