Si tiene aplicaciones EJB (Enterprise JavaBeans),
puede exponer una interfaz RESTful al enterprise bean
utilizando JAX-RS (API Java™ para servicios web RESTful).
Mediante la implementación de enterprise beans JAX-RS anotados, puede mantener la funcionalidad EJB incluyendo el soporte de transacciones,
la inyección de componentes y recursos Java EE y otras funciones de bean de sesión EJB.
Acerca de esta tarea
Antes de EJB 3.1, los enterprise beans que requerían una vista de cliente local EJB también
requerían una interfaz Java diferente, normalmente ubicada en un archivo aparte,
que declaraba los métodos de vista local. El enterprise bean especificaba que implementaba la interfaz de vista local EJB mediante descriptores de despliegue o anotaciones EJB.
Mediante la especificación EJB 3.1, tiene la opción de exponer una vista local de un enterprise bean sin una interfaz local EJB explícita.
En su lugar, el enterprise bean tiene una vista de cliente sin interfaz que se basa en métodos públicos de la clase de bean. Los enterprise
beans de vista sin interfaz pueden ser más sencillos de desarrollar que un enterprise bean de vista local por las razones siguientes:
- Los enterprise beans de vista sin interfaz no requieren una declaración de interfaz Java aparte.
- Los enterprise beans de vista sin interfaz no requieren la especificación de metadatos adicionales en el descriptor de despliegue
o al utilizar anotaciones.
Consulte la especificación EJB 3.1 para obtener más detalles sobre las vistas sin interfaz de un enterprise bean.
JAX-RS da soporte al uso de enterprise beans que declaren una interfaz empresarial local y
enterprise beans de vista sin interfaz.
- Configure el entorno de desarrollo.
- Antes de comenzar a desarrollar aplicaciones JAX-RS, debe configurar su entorno de desarrollo añadiendo las bibliotecas JAX-RS en la vía de acceso de clases.
- Defina los recursos en aplicaciones web JAX-RS.
- Los recursos son el bloque de compilación básico de creación de un servicio RESTful. Los recursos pueden contener datos actualizados de forma estática o dinámica. Ejemplos de recursos de una aplicación de almacén de libros en línea incluyen un libro, un pedido en una tienda y una colección de usuarios. Identificando los recursos en la aplicación, puede hacer que el servicio resulte más útil y más fácil de desarrollar.
- Configure la aplicación JAX-RS.
Puede configurar aplicaciones JAX-RS de varias maneras en función de sus necesidades.
Para sacar partido de la funcionalidad de Java Platform,
Enterprise Edition (Java EE)
6, puede utilizar las prestaciones de exploración de anotaciones.
Mediante la utilización de la exploración de anotación, puede omitir una subclase
javax.ws.rs.core.Application de JAX-RS o tener una subclase javax.ws.rs.core.Application
mínimamente definida. Como alternativa, puede especificar el servlet o filtro IBM® JAX-RS si desea utilizar la funcionalidad disponible en el servlet y filtro IBM JAX-RS.
Si utiliza uno de los métodos de configuración de JAX-RS
Versión 1.1, puede omitir una subclase javax.ws.rs.core.Application en la
aplicación o disponer de una subclase javax.ws.rs.core.Application que devuelva
un conjunto vacío de clases para informar al entorno de ejecución JAX-RS para
que busque y utilice todas las clases JAX-RS de la aplicación. Tal vez desee utilizar este método cuando no quiera
añadir manualmente cada clase JAX-RS a una subclase javax.ws.rs.core.Application a medida que desarrolla la aplicación.
Al especificar el servlet y filtro IBM JAX-RS específicos, puede sacar partido y asegurarse del comportamiento específico de IBM JAX-RS. Por ejemplo, el uso del filtro IBM JAX-RS puede ser útil para el desarrollo de una aplicación web con una mezcla de recursos JAX-RS y archivos JSP (JavaServer Pages) con los mismos patrones de URL.
Aunque existe un método de configuración de JAX-RS V1.1 que soporta el
uso de un archivo web.xml opcional, si desea especificar roles o restricciones
de seguridad o desea aprovechar otras características habilitadas
utilizando un archivo web.xml, debe especificar la información en un archivo web.xml.
Elija uno de los tres métodos siguientes para configurar la aplicación JAX-RS:
- Configurar las aplicaciones JAX-RS
con métodos de JAX-RS 1.1
Utilice este método si desea
utilizar las prestaciones de exploración de anotaciones o utilizar los métodos de configuración de
JAX-RS 1.1. Puede utilizar las prestaciones de
exploración de anotaciones para promover la portabilidad de las aplicaciones, minimizar la cantidad de código
de configuración o modificar dinámicamente la aplicación sin cambios en el código de aplicación.
- Configure el archivo web.xml para los servlets de JAX-RS
Utilice este método si desea especificar características que se habilitan utilizando parámetros de inicialización de servlet para cambiar el comportamiento y asegurarse de obtener el servlet IBM JAX-RS. Cuando se utilizan servlets, puede definir una vía de acceso del servlet en el archivo web.xml que se añadirá al URL base.
- Configure el archivo web.xml para los filtros de JAX-RS
Utilice este método si desea utilizar el filtro cuando tiene los JSP, otros servlets y filtros y recursos
JAX-RS con una combinación de patrones de URL. Puede configurar el archivo web.xml para definir filtros que indiquen los URL posibles
en los que se puede invocar el filtro.
- Implemente vistas RESTful de enterprise beans. Puede implementar vistas RESTful de enterprise beans utilizando JAX-RS para un enterprise bean sin estado o singleton que utiliza una vista sin interfaz
o una interfaz empresarial local.
- Ensamble las aplicaciones web JAX-RS.
- Después de desarrollar los archivos de clase Java para la aplicación web de JAX-RS y tras editar el archivo web.xml para habilitar el servlet de JAX-RS, ya estará listo para ensamblar la aplicación. Ensamble la aplicación web en un paquete WAR (Web Archive). Puede ensamblar el paquete WAR en un paquete archivador empresarial (EAR), si fuera preciso.
- Despliegue las aplicaciones web JAX-RS.
- Una vez que ha ensamblado la aplicación web JAX-RS, debe desplegar el paquete WAR (Web Archive) o el paquete EAR (Enterprise Archive) en el servidor de aplicaciones.