MÓDULO III. SERVICIOS WEB

¿Qué es un servicio web? Un servicio web (en inglés: web service) es una tecnología que utiliza un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes de programación diferentes, …
¿Qué es un servicio web?
Un servicio web (en inglés: web service) es una tecnología que utiliza un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes de programación diferentes, y ejecutadas sobre cualquier plataforma, pueden utilizar los servicios web para intercambiar datos en redes de ordenadores como Internet. La interoperabilidad se consigue mediante la adopción de estándares abiertos.
El World Wide Web Consortium (W3C) define Web Service como:
«Un servicio web es un sistema de software diseñado para admitir la interacción interoperable de máquina a máquina a través de una red. Tiene una interfaz descrita en un formato procesable por máquina (específicamente WSDL). Otros sistemas interactúan con el servicio web de la manera prescrita por su descripción usando mensajes SOAP, típicamente transmitidos usando HTTP con una serialización XML junto con otros estándares relacionados con la web.»
Arquitectura de Servicios Web
La definición de W3C ya aporta la información relevante sobre la estructura y patrón de interacción de un servicio web. En ella vemos necesario el rol de un proveedor de servicio, y un consumidor del mismo. Sin embargo, debe poderse localizar en la red tal funcionalidad, y para ello existe un componente que actúa de directorio de servicios: el registro del servicio.
Atendiendo a la arquitectura compuesta por tres componentes: Proveedor, Consumidor y Registro del servicio, las interacciones entre ellos se reflejan en el siguiente diagrama. En el mismo se indica el protocolo o estándar utilizado para cada operación.
Con este esquema general podemos describir el patrón de interacción de un servicio web con los siguientes pasos:
- El Proveedor del Servicio genera el contrato de integración WSDL, donde se describirá la especificación del Servicio Web. Registra este WSDL en el directorio UDDI o Registro del Servicio.
- Un consumidor del servicio solicita un Servicio Web, a través del UDDI lo localiza en el Registro de Servicio y dispone de su ubicación física.
- El consumidor, o cliente del servicio, a través de la especificación del descriptor (WSDL) envía una solicitud (Request) para un servicio particular al Web Service Listener, que se encarga de recibir y enviar los mensajes en formato SOAP.
- El Proveedor del servicio recibe el mensaje SOAP del consumidor y ejecuta la operación relacionada con dicha solicitud. El resultado de la misma se devuelve como mensaje SOAP al consumidor.
- El consumidor recibe el SOAP con la respuesta y/o resultado de la operación y lo procesa.
Ventajas
Entre otras, la principal aportación de esta tecnología, en mi opinión, ha sido el soporte tecnológico al desarrollo de arquitecturas SOA. Pero existen otras ventajas que hay que enumerar:
- Aportan interoperabilidad entre sistemas software independientemente del lenguaje, plataforma o tecnología en la que estén desarrolladas.
- Minimizan los problemas de interacción entre sistemas distribuidos físicamente en redes diferentes. Al apoyarse sobre HTTP, incluso permiten pocos cambios en la seguridad de las organizaciones, al poder invocarse a través del puerto TCP 80.
- Conectan sistemas remotos, distribuidos físicamente en distintas ubicaciones, con estándares abiertos como XML o HTTP. Todo ello bajo el paraguas de la especificación de W3C, que hace transparente las capacidades de integración, sin tecnologías propietarias.
- Fomenta la reutilización. Una de las grandes ventajas de los servicios web es la reutilización de funciones desplegadas como servicios. Un mismo servicio puede servir una función incluso a distintas aplicaciones.
- Fomenta el encapsulado a la vez que la independencia tecnológica. Un consumidor no sabe cómo está implementado un servicio, sólo necesita saber qué función realiza, y su interfaz.
- Simplicidad de entendimiento, al basarse en estándares y protocolos basados en texto, es human-readable.
You might be intersted in
-
1 Estudiante
- 10 Weeks
-
2 Estudiante
- 10 Weeks
-
1 Estudiante
- 10 Weeks
-
4 Estudiante
- 10 Weeks