Implementación de aplicaciones de servicios web con JAX-WS

Al iniciar desde JavaBeans o enterprise beans, puede utilizar un enfoque ascendente para desarrollar servicios web basados en el modelo de programación JAX-WS (API de Java™ para servicios web XML).

Antes de empezar

Determine los JavaBeans o enterprise beans existentes que desea exponer como un servicio web JAX-WS.

Best practice Best practice: IBM® WebSphere Application Server soporta el modelo de programación JAX-WS (Java API for XML-Based Web Services) y el modelo de programación JAX-RPC (Java API for XML-based RPC). JAX-WS es la siguiente generación del modelo de programación de servicios que amplía la base proporcionada por el modelo de programación JAX-RPC. Con el modelo de programación JAX-WS estratégico, se simplifica el desarrollo de clientes y servicios web ya que se da soporte a un modelo de anotación basado en estándares. Aunque el modelo de programación JAX-RPC y las aplicaciones siguen recibiendo soporte, puede beneficiarse de la facilidad de implementación del modelo de programación JAX-WS para desarrollar nuevas aplicaciones y clientes de servicios web.best-practices

Acerca de esta tarea

Para desarrollar servicios web basándose en el modelo de programación de JAX-WS, puede utilizar un enfoque de desarrollo ascendente, cuando empiece desde JavaBeans o enterprise beans, o puede utilizar un enfoque de desarrollo descendente, cuando empiece con un archivo WSDL (Web Services Description Language) existente. Esta tarea describe los pasos para el método de desarrollo en sentido ascendente.

Cuando desarrolle servicios web JAX-WS empezando desde JavaBeans o enterprise beans existentes, puede exponer el bean como servicio web JAX-WS utilizando las anotaciones. Al añadir la anotación @WebService o @WebServiceProvider al bean, éste se define como un servicio web JAX-WS. Los servicios web JAX-WS pueden utilizar opcionalmente una interfaz de punto final de servicio. Además de la anotación del bean y de la interfaz de punto final de servicio opcional, debe ensamblar todos los artefactos que requiere el servicio web y desplegar la aplicación resultante en el entorno del servidor de aplicaciones para completar el proceso de habilitación del bean como un servicio web. Aunque se recomienda el uso de un archivo WSDL, no es necesario que empaquete un archivo WSDL con los servicios web JAX-WS.

Consideraciones para el uso de JavaBeans
  • Los JavaBeans que se exponen como servicios web JAX-WS sólo están soportados en un transporte HTTP.
  • Los JavaBeans pueden utilizar CDI (inyección de dependencias y contextos). Tenga en cuenta que no se admite la inyección de constructores.
Consideraciones para el uso de enterprise beans
  • El enterprise bean debe ser un bean de sesión sin estado o singleton.
  • Los enterprise beans que se exponen como servicios web JAX-WS deben estar empaquetados en módulos EJB 2.1 o EJB 3.0 o superiores.
  • Las aplicaciones JAX-WS que contienen enterprise beans se deben desplegar con el mandato endptEnabler.
  • Los servicios web JAX-WS que utilizan enterprise beans sólo están soportados en un transporte HTTP o JMS (Java Message Service).
  • Los enterprise bean pueden utilizar CDI. Tenga en cuenta que no se admite la inyección de constructores.
  • De manera opcional, puede incluir documentos WSDL (Web Services Description Language) en el empaquetado de la aplicación JAX-WS.

A partir de WebSphere Application Server versión 7.0 y posterior, los módulos de aplicación Java EE 5 (los módulos de la aplicación web de la versión 2.5 o superior, o los módulos EJB de versión 3.0 o superior) se examinan para ver anotaciones para identificar los servicios y clientes JAX-WS. Sin embargo, los módulos de aplicaciones anteriores a Java EE 5 (módulos de aplicaciones web versión 2.4 o anteriores o módulos EJB versión 2.1 o anteriores) no se exploran para ver si contienen anotaciones JAX-WS, de manera predeterminada, por razones de rendimiento. En el paquete de características de la versión 6.1 para servicios Web, el comportamiento predeterminado es explorar los módulos de aplicaciones Web anteriores a Java EE 5 para identificar los servicios JAX-WS y explorar los módulos de aplicaciones web anteriores a Java EE 5 y los módulos EJB en busca de clientes de servicio durante la instalación de aplicaciones. Puesto que el comportamiento predeterminado de WebSphere Application Server Versión 7.0 y posteriores es no explorar módulos anteriores a Java EE 5 en busca de anotaciones durante la instalación de aplicaciones o el arranque de servidor, para conservar la compatibilidad con los releases anteriores del paquete de características, deberá configurar la propiedad UseWSFEP61ScanPolicy en META-INF/MANIFEST.MF de un archivo archivador web (WAR) o un módulo EJB o definir la propiedad personalizada de máquina virtual Java, com.ibm.websphere.webservices.UseWSFEP61ScanPolicy, en los servidores para solicitar la exploración durante la instalación de aplicaciones y el arranque de servidor. Para obtener más información sobre la exploración de anotaciones, consulte la información sobre las anotaciones de JAX-WS.

Procedimiento

  1. Configuración de un entorno de desarrollo para servicios web. No tiene que configurar un entorno de desarrollo, si utiliza Rational Application Developer.
  2. Desarrolle servicios Web JAX-WS con anotaciones.
  3. Genere artefactos Java para aplicaciones JAX-WS.

    Utilice las herramientas JAX-WS para generar los artefactos necesarios JAX-WS y JAXB necesarios para las aplicaciones de servicio web JAX-WS cuando empiece desde los componentes de JavaBeans o enterprise beans.

    Si está desarrollando un bean de implementación de servicio que se invoca utilizando el transporte HTTP, el archivo WSDL generado por la herramienta de línea de mandatos wsgen durante este paso es opcional. Sin embargo, si está desarrollando un bean de implementación de servicio que se va a invocar utilizando el transporte SOAP sobre JMS, el archivo WSDL generado por la herramienta wsgen durante este paso será necesario en los pasos siguientes y, por lo tanto, dejará de ser opcional.

  4. (Opcional) Habilite MTOM para servicios Web JAX-WS. Puede utilizar MTOM (Message Transmission Optimization Mechanism) de SOAP para optimizar la transmisión de adjuntos binarios como, por ejemplo, imágenes o archivos, junto con las solicitudes de servicios web.
  5. (Opcional) Aplique la conformidad con los enlaces WSDL en servicios Web JAX-WS. Puede utilizar RespectBindingFeature para controlar si es necesaria una implementación de JAX-WS para respetar el contenido de un wsdl:binding asociado con un punto final.
  6. (Opcional) Desarrolle y configure un descriptor de despliegue webservices.xml para aplicaciones JAX-WS. También puede utilizar el descriptor de despliegue webservices.xml para aumentar o alterar temporalmente los metadatos de aplicación especificados en las anotaciones dentro de los servicios web JAX-WS.
  7. Complete la implementación de la aplicación de servicios web.
  8. (Opcional) Personalice los patrones de URL en el archivo web.xml. Cuando los JavaBeans se exponen como puntos finales JAX-WS, puede personalizar opcionalmente los patrones de URL dentro del descriptor de despliegue web.xml contenido en el archivo WAR (Web Archive).
  9. Ensamble los artefactos del servicio web.

    Utilice las herramientas de ensamblaje que se proporcionan con el servidor de aplicaciones para ensamblar los módulos de servicios web basados en Java.

    Si ha ensamblado un archivo EAR que contiene módulos de enterprise beans que incluyen servicios web, utilice la herramienta de línea de mandatos endptEnabler o una herramienta de ensamblaje antes del despliegue, a fin de generar un archivo WAR de punto final de servicios web. Esta herramienta también se utiliza para especificar si los servicios web quedan expuestos cuando utilizan SOAP sobre JMS (Java Message Service) o SOAP sobre HTTP.

  10. Despliegue el archivo EAR en el servidor de aplicaciones. Ahora, puede desplegar el archivo EAR que ha sido configurado y habilitado para los servicios web JAX-WS en el servidor de aplicaciones.
  11. Pruebe el servicio web para asegurarse de que el servicio funciona con el servidor de aplicaciones.

Resultados

Ha desplegado una aplicación JAX-WS.


Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_devwbsjaxws
File name: twbs_devwbsjaxws.html