Utilisation de la validation de bean dans le produit
La spécification Java™ Enterprise Edition (Java EE) 7 inclut l'API Bean Validation 1.1, qui est un mécanisme standard à utiliser pour valider les beans JavaBeans dans toutes les couches d'une application.
Pourquoi et quand exécuter cette tâche
Avant l'introduction de la spécification Bean Validation, les JavaBeans étaient validés dans chaque couche. Pour éviter de réimplémenter les étapes de validation dans chaque couche, les développeurs incorporaient ces étapes directement dans leurs classes ou faisaient des copies du code de validation, ce qui était souvent source d'encombrement. Désormais, avec une seule implémentation commune à toutes les couches de l'application, les développeurs voient leur travail simplifié et gagnent un temps précieux.
La validation des beans est commune à toutes les couches d'une application. Plus spécifiquement, les applications Web comportent les couches suivantes :- Présentation
Cette couche représente l'interaction de l'utilisateur avec l'application. Elle peut être bâtie sur un client léger ou un client riche.
- Métier (business)
Egalement appelée couche applicative, la couche métier coordonne les services de l'application et traite les commandes. Elle prend des décisions logiques, fait des évaluations et effectue des calculs. Elle assure également le transfert et le traitement des données entre les deux autres couches. Dans WebSphere Application Server, la logique métier est contenue dans des EJB.
- Accès aux données
Cette couche est chargée de stocker et de récupérer vos données dans une base de données ou un système de fichiers. La couche métier traite les données et les envoie sous une forme utilisable à l'interface utilisateur. WebSphere Application Server prend en charge plusieurs marques de bases de données et plusieurs méthodes de récupération des données. Cette couche définit également la persistance.
Ces couches sont construites et administrées avec plusieurs composants de WebSphere Application Server nécessaires au développement et au déploiement d'applications.
Le produit garantit la prise en charge de l'API de validation de bean dans l'environnement Java Platform, Enterprise Edition (Java EE) en fournissant un service de validation de bean dans plusieurs technologies Java EE, notamment Java Servlets, Enterprise JavaBeans, Java Persistence API (JPA) 2.1, Java EE Connector API (JCA) 1.7 et Java ServerFaces (JSF) 2.2. Le service de validation de bean fournit à toutes ces technologies un moyen de garantir l'intégrité des données dans un environnement unifié et standard.
Le développement d'applications d'entreprise met en jeu plusieurs équipes travaillant au développement d'une variété d'applications et de modules qui sont ensuite assemblés et déployés dans un même environnement de serveur d'applications. Notre produit veille à ce que les données de chaque application ou module soient validées indépendamment. La validation est réalisée sur la base des contraintes qui ont été définies pour cette application ou ce module.
Que faire ensuite
- Ressources d'accès aux données :
Validation de bean dans les modules RAR.
Le produit valide les contraintes des EJB (Enterprise JavaBeans) contenus dans les archives d'adaptateur de ressource (RAR) en se conformant à la spécification JCA version 1.7. Un adaptateur de ressource peut intégrer des annotations de contrainte standard, telles que définies par la spécification de validation des beans. Il peut aussi être accompagné d'un fichier XML de configuration de validation de bean, qui indique alors au serveur d'applications les points à valider dans ses propriétés de configuration.
- Utilisation de la validation de bean dans JPA
Une nouveauté de la spécification JPA 2.1 est sa capacité à s'intégrer en toute transparence avec l'API Bean Validation. Moyennant un effort minimal, il est possible de coupler JPA 2.1 avec le fournisseur de validation pour assurer la validation des données à l'exécution. En combinant ces deux technologies, vous obtenez une solution de persistance standardisée, qui plus est enrichie d'un mécanisme de validation des données également standardisé.
- Utilisation de la validation de bean avec JSF
L'infrastructure JSF était jusqu'à présent capable de réaliser elle-même la validation de bean. Désormais, elle fournit un support standard de la spécification Bean Validation.
- Utilisation de la validation de bean dans le conteneur Web
Le conteneur Web fournit une instance de ValidatorFactory et la met à la disposition des implémentations JSF en la stockant dans un attribut de contexte de servlet nommé javax.faces.validator.beanValidator.ValidatorFactory.
- Utilisation de la validation de bean avec le conteneur pouvant être intégré.Pour que la validation de bean puisse être utilisée avec le conteneur EJB pouvant être intégré, les classes du package javax.validation doivent exister dans le chemin de classes. Ce résultat peut être obtenu de deux manières :
- Incluez, dans le chemin de classes, le client léger JPA situé dans le répertoire ${WAS_INSTALL_ROOT}\runtimes\. Pour JPA 2.1, utilisez com.ibm.ws.jpa-2.1.thinclient_9.0.jar ou pour JPA 2.0, utilisez com.ibm.ws.jpa-2.0.thinclient_9.0.jar. Pour plus de détails, consultez la rubrique Exécution d'un conteneur pouvant être intégré ainsi que les informations relatives à JPA.
- Incluez, dans le chemin de classes de l'exécution (runtime) du conteneur pouvant être intégré, le fichier JAR d'un fournisseur de validation de bean tiers.
- Les nouvelles méthodes API ajoutées dans Bean Validation 1.1 ne fonctionnent pas si elles sont placés dans des objets JPA.
- Le constructeur et la validation de méthode automatiques ne sont pas disponibles.
- Vous ne pouvez pas utiliser @Inject pour injecter un élément Validator/ValidatorFactory.
- Vous ne pouvez pas utiliser CDI lorsque vous créez des composants validation.xml personnalisés, tels que MessageInterpolator ou ParameterNameProvider.