Trabajo con Application Developer
Paseo rápido por Application Developer Integration Edition
Application Developer Integration Edition está basado en Eclipse 2.1.1, pero agrega ciertas características para facilitar el desarrollo con J2EE, como la creación de EJB y servicios web, con sus vistas correspondientes. Dicho esto, empecemos con el primer proyecto.
En primer lugar, es necesario crear el proyecto de manera que contenga la sencilla aplicación Helloworld. Seleccione File (Archivo) > New (Nuevo) > Web > Dynamic Web Project (Proyecto Web dinámico). Existen dos versiones de proyectos Web disponibles en Application Developer Integration Edition: estáticos y dinámicos. Al elegir dinámico, le informa a Application Developer Integration Edition que creará JSP, servlets, servicios web y otros contenidos dinámicos. Si hubiera elegido estático, solamente podría crear un HTML estático. Póngale al proyecto el nombre HelloWebServices y haga clic en Finish (Finalizar). Debería poder observar una imagen similar a la figura 11.
Figura 11. Proyecto Web dinámico
Como se puede apreciar, Application Developer Integration Edition crea ciertos elementos predeterminados cuando crea el proyecto Web dinámico, como el proyecto DefaultEAR y las carpetas JavaSource y WebContent, ubicadas debajo del proyecto principal.
Ahora cree los archivos Java como parte del servicio de respaldo. La primera clase que se debe crear es la que genera la salida. Llamémosla HelloName. Debería tener una apariencia similar a:
package com.ibm.wsad.ws.test;
public class HelloName {
private String name;
public void setName(String name) {
this.name = name;
}
public String getGreeting() {
return "Hello " + this.name + "!";
}
} |
Todo esto es bastante simple, teniendo en cuenta que lo único que se pretende es producir una cadena de devolución para la llamada al servicio web.
A continuación aparece el servicio web. Llamémoslo HelloService. Debería ser similar a:
public class HelloService {
public HelloName getSample(String name) {
HelloName hn = new HelloName();
hn.setName(name);
return hn;
}
} |
Básicamente, se crea una instancia de HelloName y se la devuelve a través del método getSample(). Entonces, ahora que la clase está configurada, ¿cómo se la transforma en un servicio web real? Use el asistente para servicios web para convertir la clase simple en un servicio web completamente funcional. En primer lugar, haga clic con el botón derecho en el archivo Java HelloService y seleccione New (Nuevo) > Other (Más) > Web Services (servicios web) > Web Service (servicio web) > Next (Siguiente). En los tres paneles que siguen, acepte los valores predeterminados. En futuros tutoriales, se analizarán las opciones de estos paneles. El último panel contiene tres opciones en Style and Use (Estilo y uso). Ver figura 12.
Figura 12. Creación de un nuevo servicio web
Como se puede ver, las opciones son Document/Literal (Documento/Literal), RPC/Literal (RPC/Literal) y RPC/Encoded (RPC/Codificado). Elija Document/Literal. Las primeras dos opciones son las únicas compatibles con el perfil básico 1.0 de WS-I. Si se selecciona la última opción, el sistema muestra una advertencia.
Haga clic en Finish (Finalizar) para completar la creación del servicio web y comenzar a implementarlo. Entonces ¿qué es lo que el crea el asistente? Ver figura 13.
HelloService_SEI: La interfaz de extremo de servicio del servicio web.
Puede ser usada por el cliente o por implementadores que busquen producir otras
implementaciones. Según JSR-109, la interfaz extiende java.rmi.Remote y tiene
los mismos métodos que el JavaBean del servicio web, en este caso,
getSample().
HelloName_Ser y _Deser: Sirven para serializar y
deserializar la clase HelloName creada. Solamente las usa el servidor
WebSphere.
HelloName_Helper: Una clase usada solamente por
WebSphere.
Figura 13. Archivos generados
El asistente también genera un archivo WSDL para el servicio web y, conforme a JSR-109, lo coloca en el directorio WEB-INF. El asistente pone una copia del archivo en un directorio WSDL bajo Web Content (Contenido Web) para su uso por parte de otras herramientas de Application Development, como WSDL Browser. Si abre el archivo WSDL HelloService.wsdl de manera predeterminada, lo abrirá con el nuevo WSDL Editor. La figura 14 muestra los resultados que se generan en el panel gráfico como consecuencia de abrir el archivo. También se puede ver parte del panel textual que muestra información sobre el nodo seleccionado.
Se puede hacer clic en la flecha azul que apunta a la derecha en el área Types (Tipos) para expandir la definición gráfica del esquema (por ejemplo, los tipos y elementos definidos para los servicios web). Si expande todo haciendo clic en los símbolos +, podrá observar todo el esquema, como se puede ver en la figura 15. Se puede cambiar entre la vista gráfica y la vista de origen de datos usando las pestañas ubicadas en el sector inferior izquierdo del editor.
Figura 14. WSDL Editor
Figura 15. Vista de origen de datos del WSDL
Como este es un servicio simple, no se puede hacer demasiado, así que pasemos a
una prueba real del servicio. En primer lugar, en la perspectiva Web, haga clic
en el ícono de Web Services Explorer
.
Haga clic en el botón Browse (Examinar) y elija el proyecto de muestra HelloWebServices. Ver figura 16.
Figura 16. Examen del servicio web
Una vez seleccionado el proyecto adecuado, la url correspondiente debería tener una apariencia similar a:
http://localhost:9080/HelloWebServices/wsdl/com/ibm/ws/test/HelloService.wsdl |
Haga clic en el botón Go (Ir) para explorar ese servicio específico. Podrá ver todas las operaciones que ofrece el servicio, en este caso, getSample. También hay un cuadro de texto para escribir el parámetro nombre que se le da al servicio web. Escriba cualquier nombre que desee y haga clic en Go (Ir). Ver figura 17. También debería aparecer una ventana de estado en la parte inferior que muestra el resultado de la ejecución de esta operación, como se puede ver en la figura 18.
Figura 17. servicio web
Figura 18. Mensaje de respuesta del servicio web
Esto es todo. Si así lo desea, puede ver el mensaje SOAP real que entra al servidor y sale de él haciendo clic en el vínculo de cualquiera de las páginas, como se puede ver en la figura 19.
Figura 19. Mensaje de origen SOAP