Ir a contenido principal

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

La primera vez que se registra en developerWorks, se crea un perfil para usted. Información sobre su perfil (nombre, país/región y compañia) estará disponible al público y acompañará cualquiera de sus publicaciones. Puede actualizar su cuenta IBM en cualquier momento.

Toda la información enviada es segura.

  • Cerrar [x]

La primera vez que inicia sesión en developerWorks se crea un perfil para usted, teniendo que elegir un nombre para mostrar en el mismo. Este nombre acompañará el contenido que usted publique en developerWorks.

Por favor elija un nombre de 3 - 31 caracteres. Su nombre de usuario debe ser único en la comunidad developerWorks y debe ser distinto a su dirección de email por motivos de privacidad.

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

Toda la información enviada es segura.

  • Cerrar [x]

Creación de SOA con servicios web usando WebSphere Studio, parte 1: Introducción a SOA y servicios web

Warner Onstine, Senior Mentor, ArcMind
Warner Onstine, Senior Mentor de ArcMind, Inc., es un desarrollador con más de 8 años de experiencia en la industria, la mayor parte de los cuales dedicó al desarrollo de aplicaciones Web. Warner es coautor del libro Professional Java Tools for Extreme Programming, que contiene capítulos sobre Maven, pruebas unitarias en Swing y cobertura de código con jcoverage.
Rick Hightower, Chief Mentor, ArcMind
Rick Hightower, Chief Mentor de ArcMind, Inc., es un desarrollador que ha cosechado múltiples logros, premios de la industria y certificaciones. Es coautor de los libros Professional Jakarta Struts y Java Tools to Extreme Programming, y escribió 1/5 del libro Mastering Tomcat. Rick es autor de numerosos tutoriales bien recibidos sobre EJB 2.0 CMP CMR, XDoclet, Apache Axis, ETTK, WSDK, Struts Tiles, etc. para IBM developerWorks.

Resumen:  Este tutorial es la primera parte de una serie de introducción a los conceptos y la tecnología de la arquitectura orientada a servicios (SOA) y de los servicios web, y muestra cómo aplicar estos conceptos en la práctica usando IBM WebSphere® Application Developer Integration Edition. Además, en este tutorial se explora el estado actual de la tecnología de servicios web. (Ver todas las partes de esta serie de tutoriales).

Ver más contenido de esta serie

Fecha:  05-08-2011
Nivel:  Intermediaria

Actividad:  5971 vistas

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

7 de 10 | Anterior | Siguiente

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=SOA y servicios web
ArticleID=681874
TutorialTitle=Creación de SOA con servicios web usando WebSphere Studio, parte 1: Introducción a SOA y servicios web
publish-date=08052011
author1-email=webserv@us.ibm.com
author1-email-cc=
author2-email=webserv@us.ibm.com
author2-email-cc=