Antes de comenzar
Los servicios web son componentes cada vez más esenciales en las aplicaciones de negocios y, con el surgimiento de paradigmas como por ejemplo Service-Oriented Architecture (SOA), la focalización en servicios web continúa en crecimiento. En estas aplicaciones orientadas hacia servicios, y fundamentales para los mismos, probar servicios web adquiere igual significación. Una creación e implantación rápida de servicios web complejos, representa un desafío para el equipo QA. La automatización de pruebas de servicios web puede ayudar al equipo a gestionar esfuerzos de manera eficiente.
Probar servicios web generalmente incluye las siguientes tareas:
- Generar un cliente o un código esqueleto para el servicio web.
- Definir datos de entrada para la prueba.
- Invocar el servicio web por medio de un cliente o código esqueleto.
- Verificar que la respuesta real sea similar a la respuesta esperada.
De esas actividades, la generación del cliente o el código esqueleto y la verificación de respuestas, son las que requieren de un mayor esfuerzo.
Existen varias herramientas disponibles para generar un cliente o código esqueleto para un servicio web en base a su archivo WSDL. No obstante, el código generado podría estar patentado y, por lo tanto, necesitar regenerarse cada vez que cambia WSDL. Una solución a este problema es la de eliminar la generación del cliente o código esqueleto e invocar el servicio web directamente a través de un HTTP cliente genérico. Más adelante en la serie, se verá ese kit de herramientas que Apache Commons HttpClient (en adelante llamado HttpClient) API provee.
Del mismo modo, la verificación de respuestas generalmente implica alguna clase de intervención manual que depende de la complejidad del contenido de la respuesta. Si la respuesta contiene elementos simples, la verificación puede ser simple, ya que sólo requiere controlar el valor en el elemento simple. Para las respuestas que contienen elementos complejos y una larga lista de tales elementos complejos, la verificación manual puede requerir de un esfuerzo mucho mayor.
Esta serie presenta una técnica para automatizar pruebas de un servicio web típico con distintas tecnologías que incluyen JUnit, HttpClient y Apache XMLUnit (en adelante llamado XMLUnit). La técnica se demuestra en la plataforma de desarrollo que IBM Rational Software Architect ofrece.
Esta serie consta, hasta hora, de tres partes:
- La Parte 1 demuestra cómo crear un servicio web simple con IBM Rational Software Architect.
- La Parte 2 introduce XMLUnit, que ofrece API para comparar dos archivos en formato XML.
- Esta Parte 3 describe los pasos a seguir para probar un servicio web seguro con HttpClient y con XMLUnit, introducidos en la Parte 2.
Este tutorial está dirigido a testers profesionales y desarrolladores interesados en pruebas funcionales de servicios web. Antes de comenzar, es necesario tener un conocimiento básico de desarrollos de Java y de servicios web y alguna exposición a herramientas de prueba unitarias, como por ejemplo JUnit.
En este tutorial usted aprenderá cómo:
- Definir la seguridad en un servicio web
- Configurar la seguridad en WebSphere® Application Server (Servidor de aplicaciones WebSphere)
- Verificar la seguridad en el servicio web
- Probar el servicio web con HttpClient y con XMLUnit
Antes de comenzar es necesario tener un conocimiento básico de desarrollos de Java y de servicios web, y alguna exposición a herramientas de prueba unitarias, como por ejemplo JUnit.
- Windows® 98, Windows XP, Windows 2000 ó Windows 2003
- IBM Rational Software Architect, versión 6.x
- Apache JUnit, versión 3.8.1
- Apache Commons HttpClient, versión 3.0.1
- Apache Commons Codec, versión 1.3
- Apache XMLUnit, versión 1.0
Consulte la sección Recursos para descargar las distintas versiones de este software.

