Los Servicios Web son el mecanismo o el medio de comunicación a través del cual las aplicaciones y máquinas, intercambian los datos independientemente de su arquitectura y la tecnología. Los Servicios Web se pueden implementar de diferentes maneras, pero los dos siguientes son los enfoques de implementación más populares: SOAP (Simple Object Access Protocol) y REST (Representational State Transfer architecture).
Para probar los Servicios Web se puede crear tu propio código o utilizar una herramienta de automatización de pruebas de Servicios Web, en el presente trabajo se muestra cómo realizar pruebas de los servicios creando tu propio código utilizando Axis2API para Java y usando una herramienta cómo lo es SoapUI, demostrando que las herramientas de Automatización como SoapUI ayudan a reducir los esfuerzos de prueba, ya que se requiere un esfuerzo de codificación menor en comparación con la creación de su propio código usando Axis2API
4. La interfaz de programación de aplicaciones (IPA), abreviada como API (del inglés:
Application Programming Interface), es el conjunto de subrutinas, funciones y
procedimientos (o métodos, en la programación orientada a objetos) que ofrece
cierta biblioteca para ser utilizado por otro software como una capa de abstracción.
1.1 ¿Qué es una API?
5. El término API generalmente se refiere a ambos lados de los sistemas informáticos
que comunican a través de una red: los servicios ofrecidos por la API de un
servidor, así como la API ofrecida por el cliente, como un navegador web. La
porción del lado del servidor de la API es una interfaz de programación de un
sistema de mensajes de petición-respuesta definida, y se conoce normalmente
como el servicio web. Hay varios modelos de diseño para servicios web, pero los
más dominante son SOAP y REST.
1.1 ¿Qué es una API?
6. Las APIs han visto un enorme crecimiento en los últimos dos años. Mientras que las
APIs no son exactamente un fenómeno nuevo (APIs internos se han utilizado para la
interacción de equipo a equipo desde los años 90), han visto un gran crecimiento en
estos últimos años. Con la evolución de la Web en lo que muchos se refieren como
la Web programable, la necesidad de una mayor interconexión entre aplicaciones
está en su punto más alto, y sigue creciendo.
1.1 ¿Qué es una API?
8. Existen múltiples definiciones sobre lo que son los Servicios Web, lo que muestra su
complejidad a la hora de dar una adecuada definición que englobe todo lo que son
e implican. Una posible sería hablar de ellos como un conjunto de aplicaciones o de
tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o
tecnologías intercambian datos entre sí con el objetivo de ofrecer unos servicios.
Los proveedores ofrecen sus servicios como procedimientos remotos y los usuarios
solicitan un servicio llamando a estos procedimientos a través de la Web.
1.2 ¿Qué es un Servicio Web?
9. 1.3 Arquitectura de los Servicios Web
Capa 4: Publicación y Localización de Servicios
UDDI
Capa 3: Descripción de Servicios
WSDL
Capa 2: Descripción de Servicios/empaquetado
SOAP
Capa 1: Transporte
HTTP, FTP, SMTP, …
Capa 2:
Información
X
M
L
10. SOAP (Simple Object Access Protocol) Se trata de un protocolo basado en XML,
que permite la interacción entre varios dispositivos y que tiene la capacidad de
transmitir información compleja. El mensaje SOAP está compuesto por un envelope
(sobre), cuya estructura está formada por los siguientes elementos: header
(cabecera) y body (cuerpo). Los documentos deben seguir un formato
estandarizado por el W3C.
1.4 SOAP
11. REST (Representational State Transfer) es una arquitectura que generalmente se
ejecuta a través de HTTP. Enfatiza las interacciones entre los clientes y los servicios,
que se han mejorado por tener un número limitado de operaciones. REST es una
alternativa de SOAP y en lugar de utilizar XML para la petición, REST utiliza URL
sencilla en algunos casos. A diferencia de SOAP, REST utiliza aplicaciones de
construcción en los encabezados HTTP para realizar meta-información.
1.5 REST
12. WSDL (Web Services Description Language) es un lenguaje basado en XML que se
utiliza para describir los servicios que ofrece un servicio web.
WSDL describe todas las operaciones que ofrece el servicio web en particular en el
formato XML. También define cómo los servicios pueden ser llamados, es decir, qué
valor de entrada tenemos que ofrecer y lo que será el formato de la respuesta que
va a generar para cada tipo de servicio.
1.6 WSDL
14. Hay algunos desafíos iniciales al probar un servicio web, por ejemplo, el hecho de
que no hay interfaz gráfica de usuario, y por lo tanto, se debe entender una
respuesta que principalmente no ha sido creado para ser leído por los seres
humanos.
2.1 Retos al Probar un Servicio Web
15. 1. Comprender el Archivo WSDL.
2. Determinar las operaciones que ofrece ese servicio web en
particular
3. Determinar el formato de solicitud XML que necesitamos enviar.
4. Determinar el formato XML de respuesta.
5. Usar una herramienta o escribir código para enviar la solicitud y
validar la respuesta.
2.2 ¿Cómo Probar un Servicio Web?
16. 2.3 Nuestra Primer Prueba de Servicios Web
http://www.webservicex.net/CurrencyConvertor.asmx?wsdl
17. 2.3 Nuestra Primer Prueba de Servicios Web
Método de servicio web
que se usará para
obtener la conversión
entre 2 divisas
Abreviaciones de divisas para diferentes
ciudades que se usaran en la conversión
18. 2.3 Nuestra Primer Prueba de Servicios Web
Respuesta del servicio
web que nos dará la
tarifa de conversión
Detalles de llamados HTML Get y
Post.
Podemos usar cualquiera para mandar
nuestra solicitud con parámetros