Servicios Web para Java EE 5 en Glassfish

04:10AM may 30, 2007 en categoria Java por Enrique Rodriguez Lasterra

Etiquetas:


Con la ya no tan nueva JDK 5.0 se introdujeron muchos cambios, uno de los más sonados fue el uso de las @ como metainformación dentro de nuestro codigo java. Los que llevamos en esto algunos años vimos nacer la idea con el mítico proyecto open source XDoclet y esta idea vuelve a renacer en Java EE 5.

El estandar de servicios Web de Java EE 5, JAX-WS (JSR-224), nacio con varios objetivos, entre los que destacaría:

  • Delegar en JAXB el trabajo de traslación entre XML y JAVA.
  • Adapatarse completamente al estandard de Interoperabilidad entre Servicios Web (WS-Interoperablity) y las nuevas versiones de SOAP (1.2) y WSDL (1.2-2.0).
  • Uso del JSR-175 (las comentadas @) para facilitar el desarrollo.

Fueron tantos los cambios, que lo que iba a ser JAX-RPC2.0 paso a ser JAX-WS y la implementación de referencia se forjo alrededor de la comunidad glassfish.

Como veremos a continuación cada vez es más fácil crear un Servicio Web, sobre todo si estamos ayudados de herramientas de ultima generación. Para trabajar con glassfish el IDE recomendado no podía ser otro que el Netbeans. Para el ejemplo voy a usar la ultima milestone de la versión 6.0. He descargado la versión completa, que además de incluir el servidor glassfish, incluye herramientas de desarrollo SOA y UML.

El primer paso es crear un proyecto web que albergue nuestro servicio Web. 

Una vez tenemos el proyecto de aplicación Web empezamos el wizard para crear un nuevo servicio Web.

Wizard Servicio Web Wizard Servicio Web Visor Diseño Servicios Web Netbeans

Se puede ver en la ultima pantalla como se ha añadido un servicio web al proyecto. El editor del netbeans nos muestra la ventana del servicio Web a través de la cual podemos añadir nuevas operaciones a nuestro servicio Web. Pulsamos en el boton Add Operation y rellenamos el formulario

Nueva Operación Servicio Web

El diseñador de Servicios Web nos muestra la nueva operacion Visor Diseño Servicios Web Netbeans.

Pulsando en Source vamos al código generado por el Wizard.

Del código se pueden resaltar varias cosas

  •  @WebService identifica a la clase como un servicio Web. Al incluir este descriptor en la clase el editor del netbeans nos avisa que debemos importa la clase javax.jws.Webservice.
  • @WebMethod identifica a una operación como parte del servicio web. Al igual que con WebService se debe importar la clase WebMethod de mismo paquete.
  • @WebParam, asigna un nombre a los parametros de una operación. Son opcionales pero conviene utilizarlos para que el descriptor de nuestro servicio Web sea legible para los humanos.

Todo esto lo ha hecho por nosotros el netbeans a través del Wizard pero nunca esta de más saberlo. Por tanto solo nos queda implementar la operación (Si, gracias a Dios todavía esto no lo hace el IDE)

Implementación Servicio Web JAX-WS Java EE 5

Una vez estamos aqui, podemos compilar la clase, si no hay errores arrancamo el proyecto. Esto nos arrancara el servidor glassfish que viene con el netbeans. Si accedemos a la direccion http://localhost:8080/AplicacionWeb/ClaseServicioService?wsdl podremos ver el descriptor de nuestro servicio Web para comprobar que el servicio Web se ha creado correctamente.

Aprovechando las funcionalidades de glassfish, podemos acceder a su administrador Web para visualizar los servicios Web instalados. Para ello accedemos a la dirección http://localhost:4848/ e introducimos el usuario admin y la clave adminadmin (puertos y usuarios son los asignados por defecto en la instalación).

Administración Web Glassfish Administración Web Glassfish / Servicios Web

En el próximo post veremos como crear un cliente del servicio Web, y como se puede monitorizar el servicio web desde la consola de administración.

Web services for Java EE 5 in Glassfish
Comentarios:

Enviar un comentario:
Los comentarios han sido deshabilitados.