Servicios Web - Universidad Politécnica de Valencia

Anuncio
Servicios Web
Pablo Peris Soler
Noemí Belenguer Navarro
Facultad de Informática - Universidad Politécnica de Valencia
Introducción
Hoy en día, con la revolución de la tecnología de la información que ha tenido
lugar en los último años, los usuarios deben cambiar para adaptarse a la tecnología,
cuando en realidad es la tecnología la que debería adaptarse a ellos. Los usuarios no
controlan la tecnología que los rodea.
Si intentamos centrar el estado actual del desarrollo de aplicaciones basadas
en web, podemos encontrar una gran cantidad de tecnologías, muchas de ellas
incompatibles entre sí.
Internet se ha convertido en una herramienta de trabajo habitual, pero
actualmente no es más que una fuente de datos y no de servicios dirigidos a facilitar
el trabajo del usuario.
Los servicios que ofrecen las nuevas tecnologías deberían cooperar para
beneficio de los usuarios. Los sitios web aislados y los diferentes dispositivos
deberían trabajar juntos para ofrecer soluciones mucho más valiosas. Se trata de
ofrecer a través de Internet no sólo datos, sino también software y servicios que
puedan ser fácilmente accesibles, servicios que integren y busquen la información
que necesitamos, pudiendo acceder a esta información en cualquier momento y
desde cualquier dispositivo.
Un concepto clave para solucionar estos problemas es el servicio web. Los
servicios web se proponen como una alternativa para facilitar la intercomunicación
entre diferentes arquitecturas de componentes, ofreciendo una visión de dichas
arquitecturas basada en servicios.
Internet está evolucionando rápidamente desde los sitios web actuales, que
simplemente proporcionan páginas de interfaz de usuario a través de exploradores,
a una futura generación de sitios web programables que establecen vínculos
directamente con organizaciones, aplicaciones, servicios y dispositivos entre sí.
¿Qué es un servicio Web?
1
Laboratorio de Sistemas de Información
Facultad de Informática
Universidad Politécnica de Valencia
No existe una definición única de servicio web ya que cada compañía involucrada
en el desarrollo de infraestructura de servicio web da su propia definición.
Desde un punto de vista general, un servicio web es una componente de
software independiente de plataforma e implementación, que lleva a cabo un
servicio concreto y que puede integrarse con otros servicios web para dar un
servicio diferente.
Esta componente de software podrá ser:





descrita usando un lenguaje de descripción de servicio.
publicada en un registro de servicios.
descubierta a través de un mecanismo estándar.
invocada a través de un API declarado (usualmente sobre una red)
compuesta con otros servicios.
Se trata de un recurso residente en la web, con una dirección URL accesible y que
devuelve información al cliente que quiera utilizarlo, pero los detalles de
implementación y despliegue del servicio web no son relevantes para el programa
que invoca el servicio.
El concepto de servicio web se apoya en los estándares HTML y XML. El
desarrollador puede crear programas accesibles desde cualquier dispositivo que
soporte estos estándares, aprovechando la conectividad de Internet. Se pueden
crear servicios accesibles desde Internet que realmente proporcionen una utilidad
real.
Por ejemplo, imaginemos que ciertas compañías proporcionan una serie de
servicios simples, una alquila coches, otra reserva aviones y otra reserva hoteles; un
desarrollador de aplicaciones web podría tratar estos servicios como cajas negras
para construir un servicio web que organice unas vacaciones a cualquier usuario que
lo requiera.
Los servicios Web no necesariamente han de existir en la red. Un servicio puede
existir en una Intranet, en el Internet; algunos servicios incluso pueden ser
invocados desde un proceso de un mismo sistema operativo.
Arquitectura orientada a servicios
2
Laboratorio de Sistemas de Información
Facultad de Informática
Universidad Politécnica de Valencia
La arquitectura orientada a servicios (SOA Service Oriented Architecture) es un
concepto que aparece en una variedad de servicios Web. Contiene tres actores:

Un solicitante de servicio. Es responsable de encontrar una descripción de
servicio publicada en uno o más registros de servicios, y de utilizar las
descripciones de servicio para invocar los servicios web hospedados por
los proveedores de servicios.

Un proveedor de servicio. Es responsable de crear una descripción de
servicio, publicando la descripción del servicio en uno o más registros de
servicio, y recibir mensajes de invocación de servicios web de uno o más
solicitantes de servicio.

Un registro de servicios. Es responsable de anunciar descripciones de
servicios web publicados por los proveedores de servicio y permitir a los
solicitantes de servicio buscar en la colección de descripción de servicios
contenidos en el registro. Una vez encontrada la información, el resto de
la interacción se da directamente entre el solicitante del servicio y el
proveedor.
Los servicios web se auto-describen y auto-exponen, permitiendo a los
consumidores (aplicaciones clientes) localizarlos en Internet, para ser invocados y
escuchados sobre protocolos estándar.
Operaciones de Servicios Web:
3
Laboratorio de Sistemas de Información
Facultad de Informática
Universidad Politécnica de Valencia

Publicar/Cancelar. Los proveedores de servicios publican (publicitan) la
disponibilidad de su servicio comercial (e-business) a uno o más Registros
de servicios, o cancelan la publicación de su servicio.

Búsqueda. Los solicitantes de servicios interactúan con uno o más
Registros de servicios para descubrir un conjunto de servicios comerciales
con los que pueden interactuar para encontrar una solución.

Ligar, Unir (Bind). Los solicitantes de servicios negocian con los
proveedores de servicios para acceder e invocar servicios comerciales (ebusiness)
Estándares de los Servicios Web
Los servicios Web se registran y anuncian utilizando los siguientes servicios y
protocolos. Mucho de estos estándares y otros están siendo desarrollados en el
proyecto UDDI, un consorcio de industrias que coordina los esfuerzos de diseño y
creación.

XML (eXtensible Markup Language), inició en Febrero de 1998 y ha
revolucionado la forma en que estructuramos, describimos e
intercambiamos información. Independientemente de múltiples formas en
que utiliza hoy en día el XML, todas las tecnologías de servicios Web se basan
en XML. El diseño de XML se deriva de dos fuentes principales: SGML
(Standard Generalized Markup Language) y de HTML (HyperText Markup
Language).

UDDI (Universal Description, Discovery and Integration), es un protocolo
para describir los componentes disponibles de servicios Web. Este estándar
permite a las empresas registrarse en un tipo de directorio sección amarilla
de Internet que les ayuda anunciar sus servicios, de tal forma que las
compañías se puedan encontrarse unas a otras y realizar transacciones en el
Web. El proceso de registro y consultas se realiza utilizando mecanismos
basados en XML y HTTP(S). En el proyecto UDDI se trabaja para proveer un
método de acceso común a los metadatos necesarios para determinar su un
elemento de código previamente elaborado es suficiente, y si lo es, cómo
accederlo.

SOAP (Simple Object Access Protocol) es un protocolo para iniciar las
conversaciones con un servicio UDDI. El SOAP simplifica el acceso a los
objetos, permitiendo a las aplicaciones invocar métodos objeto o funciones,
que residen en sistemas remotos. Una aplicación SOAP crea una petición
4
Laboratorio de Sistemas de Información
Facultad de Informática
Universidad Politécnica de Valencia
bloque en XML, proporcionando los datos necesarios para el método remoto
así como la ubicación misma del objeto remoto.

WSDL (Web Service Description Language), es el estándar propuesto para la
descripción de los servicios Web, el cual consiste en un lenguaje de definición
de interfaz (IDL - Interface Definition Language) de servicio basado en XML,
que define la interfaz de servicio y sus características de implementación. El
WSDL es apuntado en los registros UDDI y describe los mensajes SOAP que
definen un servicio Web en particular.
Estándares de los Servicios Web
Ventajas de los Servicios Web
Interoperabilidad. Nuevas relaciones pueden ser construidas dinámicamente y
automáticamente ya que los servicios web aseguran una interoperabilidad completa
entre sistemas. Cualquier servicio web puede interactuar con cualquier servicio web
o cliente, gracias a que la comunicación entre ambos se lleva a cabo en XML vía
Internet (HTTP). Un servicio web podrá estar escrito en cualquier plataforma o
lenguaje que soporte estos estándares, lo cual no importará para su utilización o
integración.
5
Laboratorio de Sistemas de Información
Facultad de Informática
Universidad Politécnica de Valencia
Los servicios web se comunican utilizando HTTP y XML. Cualquier dispositivo que
soporte estas tecnologías podrá tener y acceder a servicios Web.
Fácil implementación. Los conceptos en los que se basan los servicios web son
fácilmente entendibles y actualmente existen herramientas que permiten
desarrollar y crear un servicio web prácticamente teniendo sólo algunas nociones
de programación.
Accesibilidad. Los servicios web pueden ser completamente descentralizados y
distribuidos sobre Internet y accedidos a través de una gran variedad de
dispositivos.
Especificaciones universalmente aceptadas. Los servicios web se basan en
especificaciones estándar para el intercambio de datos, mensajería, búsqueda,
descripción de la interfaz y coordinación de los procesos.
Integración con sistemas existentes. Mayor agilidad y flexibilidad debido a una
mejor integración con los sistemas existentes.
El software como un servicio, en lugar de un producto empaquetado. Los
servicios web pueden ser brindados y pagados en línea y accedidos desde cualquier
plataforma. Al desarrollador no le importa el lenguaje en que ha escrito su servicio o
en qué máquina se ejecuta, su servicio será accedido a través de esos lenguajes y
protocolos estándares abiertos.
Conclusiones
Sin duda alguna, los Servicios Web son la próxima evolución en el mundo de
Internet y sobretodo del comercio electrónico. La arquitectura orientada a servicios
tiene todo a su favor para desbancar a Cliente-Servidor y a los objetos distribuidos.
Quedan algunos retos técnicos por superar, como la seguridad, la confiabilidad,
cómo cobrar el uso de un servicio Web, etc. Pero es mucho el interés que han
despertado los servicios Web en todas las compañías para creer que estos
problemas no serán subsanados.
Así que... no nos quedemos atrás y programemos y probemos los Servicios Web.
6
Laboratorio de Sistemas de Información
Facultad de Informática
Universidad Politécnica de Valencia
Descargar