Utilización de la validación de bean en el producto
La especificación Java EE (Java™ Enterprise Edition) 7 incluye la API de Beans Validation 1.1 que es un mecanismo estándar para validar JavaBeans en todas las capas de una aplicación.
Acerca de esta tarea
Antes de la especificación de la validación de beans, se han validado los JavaBeans en cada capa. Para evitar la reimplementación de validaciones en cada capa, los desarrolladores empaquetaban las validaciones directamente en sus clases o copiaban el código de validación, que a menudo resultaba confuso. Tener una implementación común para todas las capas de la aplicación simplifica el trabajo a los desarrolladores y ahorra tiempo.
La validación de bean es común en todas las capas de una aplicación. Específicamente, las aplicaciones web tienen las capas siguientes:- Presentación
Esta capa representa cómo interactúa el usuario con la aplicación y podría estar basada en un cliente ligero o en un cliente enriquecido.
- Empresarial
Esta capa coordina la aplicación, procesa mandatos, realiza decisiones lógicas y evaluaciones y realiza cálculos. También mueve y procesa datos entre las otras dos capas. El EJB contiene lógica empresarial en WebSphere Application Server.
- Acceso a datos
Los datos se almacenan y recuperar de una base de datos o un sistema de archivos en esta capa. La capa empresarial procesa los datos y los envía en un formato utilizable para la interfaz de usuario. WebSphere Application Server da soporte a varias bases de datos y métodos para recuperar datos. Esta capa también define la persistencia.
Para WebSphere Application Server, estas capas se crean y administran con varios componentes del producto que son necesarios para desarrollar y desplegar aplicaciones.
El producto proporciona soporte para la API de validación de bean en el entorno Java Platform, Enterprise Edition (Java EE) proporcionando un servicio de validación de bean en varias tecnologías Java EE, incluyendo Java Servlets, Enterprise JavaBeans, Java Persistence API (JPA) 2.1, Java EE Connector API (JCA) 1.7 y Java ServerFaces (JSF) 2.2. La validación de bean proporciona a estas tecnologías una forma para mantener la integridad de datos en un entorno integrado y estándar.
El desarrollo de aplicaciones empresariales implica varios equipos que desarrollan numerosas aplicaciones y módulos que se ensamblan y despliegan en un entorno de servidor de aplicaciones. El producto garantiza que todos los datos de cada aplicación y módulo se validen de forma independiente. La validación se realiza utilizando sólo las restricciones definidas para la aplicación y el módulo.
Qué hacer a continuación
- Recursos de acceso de datos:
Validación de bean en módulos RAR.
El producto valida las limitaciones de Enterprise JavaBeans (EJB) de archivado de adaptador de recursos (EJB) en cumplimiento con la especificación de JCA versión 1.7. Los adaptadores de recursos pueden utilizar las anotaciones de restricciones de validación de bean integradas o proporcionar una configuración XML de validación de bean para especificar los requisitos de validación de las propiedades de configuración de adaptador de recurso en el servidor de aplicaciones.
- Utilización de la validación de bean en JPA
Una nueva característica definida por la especificación JPA 2.1 es la capacidad de integrarse sin fisuras con la API de validación de bean. Con el mínimo esfuerzo, JPA 2.1 se puede emparejar con el proveedor de validación para la validación de datos de tiempo de ejecución. Combinando estas dos tecnologías, se obtiene una solución de persistencia estandarizada con la capacidad añadida de realizar la validación de datos estandarizada.
- Utilización de la validación de bean con JSF
Previamente, JSF podría realizar la validación de bean, pero ahora proporciona un soporte incorporada de la especificación de validación de bean.
- Utilización de la validación de bean en el contenedor web
El contenedor web proporciona una instancia de ValidatorFactory y hace que esté disponible para las implementaciones JSF almacenándolo en un atributo de contexto de servlet llamado javax.faces.validator.beanValidator.ValidatorFactory.
- Utilización de la validación de bean con el contenedor incorporado.Para utilizar la validación de bean con el contenedor de EJBincorporable, las clases javax.validation deben existir en la vía de acceso de clases. Esto se puede hacer de una de las dos maneras siguientes:
- Incluya el cliente ligero JPA que se encuetran en el directorio ${RAÍZ_INSTALACIÓN_WAS}\runtimes\ en la vía de acceso de clase. Para JPA 2.1, utilice com.ibm.ws.jpa-2.1.thinclient_9.0.jar o para JPA 2.0 utilice com.ibm.ws.jpa-2.0.thinclient_9.0.jar. Consulte el tema Ejecución de un contenedor incorporable y la información sobre JPA para obtener más información.
- Incluir un archivo JAR (Java Archive) de proveedor de validación de beans de terceros en la vía de acceso de clases del tiempo de ejecución del contenedor de EJBincorporable.
- Los métodos nuevos añadidos a la API en Bean Validation 1.1 no funcionarán cuando están en objetos JPA.
- La validación automática del constructor/método no está disponible.
- No puede utilizar @Inject para inyectar Validator/ValidatorFactory.
- No puede utilizar CDI cuando crear componentes validation.xml personalizados, tales como MessageInterpolator o ParameterNameProvider.