Twitter Flickr Pinterest LinkedIn YouTube Google Maps E-mail RSS
formats

Servicios web, utilidades, estándares y beneficios

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 e información 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.

 

¿Para qué sirven?

Estos servicios proporcionan mecanismos de comunicación estándares entre diferentes aplicaciones, que interactúan entre sí para presentar información dinámica al usuario. Para proporcionar interoperabilidad y extensibilidad entre estas aplicaciones, y que al mismo tiempo sea posible su combinación para realizar operaciones complejas, es necesaria una arquitectura de referencia estándar.

Un servicio web o web Service, propone una alternativa para facilitar la intercomunicación entre diferentes plataformas y arquitecturas de componentes distribuidos, ofreciendo un uso compartido de dichos servicios.

Funciona como una aplicación que realiza una actividad de negocio, donde existe una interfaz para poder llamar al programa que implementa el servicio. Para ello los servicios web emplean protocolos abiertos y estándares de Internet (HTTP, XML, UDDI, SOAP, WSDL) proporcionando el mecanismo de comunicación e operatividad.

Como podemos apreciar se emplean diferentes tecnologías.

Según el ejemplo del gráfico, un usuario (que juega el papel de cliente dentro de los Servicios Web), a través de una aplicación, solicita información sobre un viaje que desea realizar haciendo una petición a una agencia de viajes que ofrece sus servicios a través de Internet.

La agencia de viajes ofrecerá a su cliente (usuario) la información requerida. Para proporcionar al cliente la información que necesita, esta agencia de viajes solicita a su vez información a otros recursos (otros Servicios Web) en relación con el hotel y la compañía aérea. La agencia de viajes obtendrá información de estos recursos, lo que la convierte a su vez en cliente de esos otros Servicios Web que le van a proporcionar la información solicitada sobre el hotel y la línea aérea. Por último, el usuario realizará el pago del viaje a través de la agencia de viajes que servirá de intermediario entre el usuario y el servicio Web que gestionará el pago.

En todo este proceso intervienen una serie de tecnologías que hacen posible esta circulación de información. Por un lado, estaría SOAP (Protocolo Simple de Acceso a Objetos). 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. Los datos pueden ser transmitidos a través de HTTP , SMTP , etc. SOAP especifica el formato de los mensajes. El mensaje SOAP está compuesto por un envelope (sobre), cuya estructura está formada por los siguientes elementos: header (cabecera) y body (cuerpo).

Por otro lado, WSDL (Lenguaje de Descripción de Servicios Web), permite que un servicio y un cliente establezcan un acuerdo en lo que se refiere a los detalles de transporte de mensajes y su contenido, a través de un documento procesable por dispositivos. WSDL representa una especie de contrato entre el proveedor y el que solicita. WSDL especifica la sintaxis y los mecanismos de intercambio de mensajes.

Durante la evolución de las necesidades de las aplicaciones basadas en Servicios Web de las grandes organizaciones, se han desarrollado mecanismos que permiten enriquecer las descripciones de las operaciones que realizan sus servicios mediante anotaciones semánticas y con directivas que definen el comportamiento. Esto permitiría encontrar los Servicios Web que mejor se adapten a los objetivos deseados. Además, ante la complejidad de los procesos de las grandes aplicaciones empresariales, existe una tecnología que permite una definición de estos procesos mediante la composición de varios Servicios Web individuales, lo que se conoce como coreografía.

La aparición de los servicios Web, y de las Arquitecturas Orientadas a Servicios (SOA), supone el establecimiento de nuevos mecanismos de comunicación B2B, B2C, B2E. El organismo encargado de definir estos estándares, y asegurar este comportamiento, es el WS-I (Web Services Interoperability Organization). Gracias a este organismo, va a ser posible que sistemas desarrollados en diferentes plataformas y diferentes lenguajes de programación, puedan interactuar.

Un servicio Web, va a poner a nuestra disposición una serie de operaciones, invocables mediante HTTP/XML. Esta arquitectura, se basa en una serie de perfiles que realizan las tareas de:

– Proveedor de servicios: Componente que se encarga de poner un servicio a disposición de los clientes, y de publicar el interface del mismo.

– Agente de servicio: Encargado de registrar servicios publicados por un proveedor, así como de informar a posibles consumidores, de qué forma pueden acceder a un servicio Web.

– Consumidor de servicios: Elemento que se encarga de invocar a un servicio, y que, también realizará consultas al agente, para obtener información relativa a servicios.

La existencia de estos tres perfiles, implica la aparición de tres características funcionales básicas en el sistema:

Transporte: Componente encargado de definir el formato y protocolos empleados a la hora de intercambiar la información, entre un cliente y un servicio Web. SOAP.

Descripción: Componente encargado de describir el interface de un servicio Web, de forma que un cliente, pueda consultar dicha información. WSDL

Descubrimiento: Encargado de realizar la publicación de un nuevo servicio Web, y de responder a búsquedas de servicios publicados. UDDI

Por lo que corresponde a los estándares que forman parte de los servicios web, aunque hemos mencionado de manera somera alguno de ellos,  vamos a describir los siguientes:

XML: Deriva principalmente de SGML y de HTML. Será utilizado por tanto, como elemento para representar toda la información que se trasmita utilizando esta arquitectura, ya que permite la descripción y el formateo de datos, separando claramente el contenido de su presentación, y la extensibilidad del lenguaje, mediante la cual, se conseguirá crear lenguajes específicos al área de negocios.

UDDI: Es un protocolo que permite describir los componentes disponibles de servicios Web. Este estándar permite a las empresas registrarse, y les ayuda a anunciar sus servicios. Es un Framework abierto, independiente de la plataforma. Fue una iniciativa de Microsoft e IBM. UDDI es el protocolo que permitirá buscar y registrar servicios Web.

WSDLLenguaje de Descripción de Servicios Web, Este estándar va a permitir por tanto, describir los servicios Web, indicándole a los usuarios la forma de acceder a ellos, y de realizar sus llamadas remotas.

SOAP:  Simple Object Access Protocol. Es un protocolo que permite iniciar las conversaciones con un servicio UDDI. El protocolo SOAP simplifica el acceso a los objetos, permitiendo a las aplicaciones invocar métodos que residen en sistemas remotos. Es un estándar de comunicación basado en esquemas XML, mediante el cual, podemos intercambiar información estructurada y fuertemente tipada, en entornos descentralizados y distribuidos. Es sencillo, extensible y fácil de desplegar en Internet, ya que está basado en estándares (codificación XML, tipado XSD y transporte HTTP), facilitando la interoperabilidad entre múltiples entornos.

 En este diagrama vemos como entran en juego las diferentes tecnologías:

 

Para finalizar el POST , respecto a los servicios web, su principal utilidad radica en los beneficios que aportan:

1. Promueven la interoperabilidad: La interacción entre un proveedor y un solicitante de servicio está diseñada para que sea completamente independiente de la plataforma y el lenguaje. Esta interacción requiere un documento WSDL para definir la interfaz y describir el servicio, junto con un protocolo de red (generalmente HTTP).

2. Permiten la integración “justo-a-tiempo” (JIT): El proceso de descubrimiento se ejecuta dinámicamente, a medida que los solicitantes de servicio utilizan a los agentes para encontrar proveedores de servicio. Una vez el solicitante y el proveedor de servicio se han ubicado, se utiliza el documento WSDL del proveedor para enlazar al solicitante con el servicio. Esto significa que los solicitantes, los proveedores y los agentes actúan en conjunto para crear sistemas que son auto-configurables, adaptativos y robustos.

3. Reducen la complejidad por medio del encapsulamiento: Los solicitantes y los proveedores del servicio se preocupan por las interfaces necesarias para interactuar. Como resultado, un solicitante de servicio no sabe cómo fue implementado el servicio por parte del proveedor, y éste a su vez, no sabe cómo utiliza el cliente el servicio. Estos detalles se encapsulan en los solicitantes y proveedores. El encapsulamiento es crucial para reducir la complejidad.

4. Dan una “nueva vida” a las aplicaciones de legado: Es relativamente correcto tomar una aplicación, generar un wrapper SOAP, luego generar un documento WSDL para moldear la aplicación como un servicio web.

5. Abren la puerta a nuevas oportunidades de negocio: Los servicios web facilitan la interacción con socios de negocios, al poder compartir servicios internos con un alto grado de integración.

6. Disminuyen el tiempo de desarrollo de las aplicaciones: Pues gracias a la filosofía de orientación a objetos utilizada, el desarrollo se convierte más bien en una labor de composición.

Espero que este sea un resumen que aclare la utilidad y aplicaciones de los servicios web.

Una respuesta

  1. EXCELENTE BLOG MUY COMPLETO Y DIFERENTE A LOS VISTOS EN LA WEB…


Usted debe ser Registrado para publicar un cometario

Home Ingeniería del Software Servicios web, utilidades, estándares y beneficios
© www.palentino.es, desde el 2012 - Un Blog para compartir conocimientos ...

Uso de cookies en mi sitio palentino.es

Este sitio web utiliza cookies para que tengamos la mejor experiencia de usuario. Si continúas navegando estás dando tu consentimiento para la aceptación de las mencionadas cookies y la aceptación de la política de cookies

ACEPTAR
Aviso de cookies