Si vous disposez d'applications Enterprise JavaBeans (EJB), vous pouvez exposer une interface RESTful au bean enterprise à l'aide de l'API JAX-RS (Java™ API for RESTful Web Services). En implémentant des beans enterprise annotés, vous conservez les fonctionnalités des EJB, y compris la prise en charge des transactions, l'injection de composants et de ressources Java EE, ainsi que d'autres fonctions de bean session EJB.
Pourquoi et quand exécuter cette tâche
Avant EJB 3.1, les beans enterprise nécessitant une vue client locale EJB avaient aussi besoin d'une interface Java séparée, généralement située dans un fichier distinct, qui déclarait les méthodes de vue locale.
Le bean enterprise spécifiait qu'il implémentait l'interface de vue locale EJB à l'aide de descripteurs de déploiement ou d'annotations EJB.
Grâce à la spécification EJB 3.1, vous avez la possibilité d'exposer une vue locale d'un bean enterprise sans interface locale EJB explicite.
En effet, le bean enterprise dispose d'une vue client sans interface basée sur les méthodes publiques de votre classe de bean. Il peut être plus simple de développer des beans enterprise de vue sans interface qu'un bean enterprise de vue locale pour les raisons suivantes :
- Les beans enterprise de vue sans interface ne nécessitent pas de déclaration d'interface Java distincte.
- Les beans enterprise de vue sans interface ne nécessitent pas la spécification de métadonnées supplémentaires dans le descripteur de déploiement ou lors de l'utilisation d'annotations.
Consultez la spécification EJB 3.1 pour de plus amples informations sur les vues sans interface d'un bean enterprise.
JAX-RS prend en charge l'utilisation de beans enterprise déclarant une interface métier locale et des beans enterprise de vue sans interface.
- Configurez l'environnement de développement.
- Avant de développer des applications JAX-RS, vous devez configurer l'environnement de déploiement en ajoutant les bibliothèques JAX-RS dans le chemin d'accès aux classes.
- Définissez les ressources dans les applications Web JAX-RS.
- Les ressources sont les principaux blocs fonctionnels d'un service RESTful. Les ressources peuvent contenir des données statiques ou mises à jour dynamiquement.
Un manuel, une commande et une collection d'utilisateurs sont des exemples de ressources d'une application de librairie en ligne. En identifiant les ressources dans l'application, vous améliorez l'utilité du service et facilitez son développement.
- Configurez l'application JAX-RS.
Vous pouvez configurer les applications JAX-RS de plusieurs façons, selon vos besoins.
Pour tirer parti de la fonctionnalité
Java EE (Java Platform, Enterprise Edition) 6, vous pouvez
utiliser les fonctions d'analyse des annotations.
L'analyse des annotations permet d'ignorer une sous-classe JAX-RS
javax.ws.rs.core.Application ou de disposer d'une sous-classe javax.ws.rs.core.Application à définition minimale. Sinon, vous pouvez aussi spécifier le servlet ou le filtre IBM® JAX-RS si vous préférez utiliser la fonction qu'ils contiennent.
En employant l'une des méthodes de configuration JAX-RS version 1.1, vous pouvez ignorer une sous-classe javax.ws.rs.core.Application dans votre application ou disposer d'une sous-classe javax.ws.rs.core.Application qui renvoie un ensemble vide de classes pour informer
l'environnement d'exécution JAX-RS qu'il doit détecter et utiliser toutes les classes JAX-RS de l'application. Cette méthode vous évite de
devoir ajouter manuellement chaque classe JAX-RS appropriée à une sous-classe javax.ws.rs.core.Application lors du développement de
l'application.
En indiquant le servlet ou le filtre IBM JAX-RS spécifique, vous pouvez bénéficier d'un comportement IBM JAX-RS particulier et le garantir. Par exemple, l'utilisation du filtre IBM JAX-RS peut faciliter le développement d'une application Web faisant appel à un mélange de ressources JAX-RS et de fichiers JSP (JavaServer Pages) avec les mêmes modèles d'URL.
Bien qu'une méthode de configuration JAX-RS version 1.1 prenne en charge le fichier web.xml facultatif, ce dernier est
obligatoire pour indiquer des contraintes ou des rôles de sécurité ou pour tirer parti de fonctions activées avec un fichier web.xml.
Choisissez l'une des trois méthodes suivantes pour configurer votre application JAX-RS :
- Configuration
d'applications JAX-RS selon les méthodes JAX-RS 1.1
Utilisez cette méthode
pour employer les fonctions d'analyse des annotations ou les méthodes de configuration JAX-RS 1.1. Vous pouvez
utiliser les fonctions d'analyse des annotations pour promouvoir la portabilité de l'application, réduire la quantité de code de
configuration ou modifier l'application dynamiquement sans changer son code.
- Configurez le fichier web.xml pour les servlets JAX-RS
Utilisez cette
méthode pour indiquer des fonctions activées à l'aide des paramètres d'initialisation du servlet, afin d'obtenir un changement de
comportement et le servlet IBM JAX-RS. Lorsque vous utilisez des servlets, vous pouvez définir un chemin de servlet dans le fichier web.xml qui est ajouté à l'URL de base.
- Configuration du fichier web.xml pour les filtres JAX-RS
Utilisez cette méthode pour employer le filtre lorsque vous avez des fichiers JSP, d'autres servlets et filtres ainsi que des ressources
JAX-RS incluant plusieurs masques d'URL. Vous pouvez configurer le fichier web.xml pour définir les filtres qui indiquent les adresses
URL sur lesquelles ils peuvent être appelés.
- Implémentez des vues RESTful de beans enterprise. Vous pouvez implémenter des vues RESTful de beans enterprise à l'aide de JAX-RS pour un bean enterprise sans état ou de type singleton utilisant une vue sans interface ou une interface métier locale.
- Assemblez les applications Web JAX-RS.
- Après avoir développé les fichiers de classe Java de l'application Web JAX-RS et modifié le fichier web.xml pour activer le servlet JAX-RS, vous pouvez assembler l'application.
Assemblez l'application Web dans un package WAR (archive Web). Vous pouvez assembler le package WAR dans un package EAR (archive d'entreprise), le cas échéant.
- Déployez les applications Web JAX-RS.
- Après avoir assemblé l'application Web JAX-RS, vous devez déployer le package WAR (Web
archive) ou EAR (enterprise archive) sur le serveur d'applications.