You are on page 1of 6

Qu es un Servicio Web?

Un Servicio Web es un componente al que podemos acceder mediante protocolos Web


estndar, utilizando XML para el intercambio de informacin.
Normalmente nos referimos con Servicio Web a una coleccin de procedimientos
(mtodos) a los que podemos llamar desde cualquier lugar de Internet o de nuestra
intranet, siendo este mecanismo de invocacin totalmente independiente de la
plataforma que utilicemos y del lenguaje de programacin en el que se haya
implementado internamente el servicio.
Cuando conectamos con un servidor web desde nuestro navegador, el servidor nos
devuelve la pgina web solicitada, que es un documento que se mostrar en el
navegador para que lo visualice el usuario, pero es difcilmente entendible por una
mquina. Podemos ver esto como web para humanos. En contraposicin, los Servicios
Web ofrecen informacin con un formato estndar que puede ser entendido fcilmente
por una aplicacin. En este caso estaramos ante una web para mquinas.
Los servicios Web son componentes de aplicaciones distribuidas que estn disponibles
de forma externa. Se pueden utilizar para integrar aplicaciones escritas en diferentes
lenguajes y que se ejecutan en plataformas diferentes. Los servicios Web son
independientes de lenguaje y de la plataforma gracias a que los vendedores han
admitido estndares comunes de Servicios Web.
El WC3 (World Wide Web Consortium) define un servicio Web como un sistema software
diseado para soportar interacciones mquina a mquina a travs de la red. Dicho de
otro modo, los servicios Web proporcionan una forma estandar de interoperar entre
aplicaciones software que se ejecutan en diferentes plataformas. Por lo tanto, su
principal caracterstica su gran interoperabilidad y extensibilidad as como por
proporcionar informacin fcilmente procesable por las mquinas gracias al uso de XML.
Los servicios Web pueden combinarse con muy bajo acoplamiento para conseguir la
realizacin de operaciones complejas. De esta forma, las aplicaciones que proporcionan
servicios simples pueden interactuar con otras para "entregar" servicios sofisticados
aadidos.

Para qu sirven?
Estos servicios proporcionan mecanismos de comunicacin
estndares entre diferentes aplicaciones, que interactan entre s
para presentar informacin dinmica al usuario. Para
proporcionar interoperabilidad y extensibilidad entre estas
aplicaciones, y que al mismo tiempo sea posible su combinacin
para realizar operaciones complejas, es necesaria una
arquitectura de referencia estndar.

Cmo funcionan?
El siguiente grfico muestra cmo interacta un conjunto de
Servicios Web:

Figura 1 - Los servicios Web en Funcionamiento

Segn el ejemplo del grfico, un usuario (que juega el papel de


cliente dentro de los Servicios Web), a travs de una aplicacin,
solicita informacin sobre un viaje que desea realizar haciendo
una peticin a una agencia de viajes que ofrece sus servicios a
travs de Internet. La agencia de viajes ofrecer a su cliente
(usuario) la informacin requerida. Para proporcionar al cliente la
informacin que necesita, esta agencia de viajes solicita a su vez
informacin a otros recursos (otros Servicios Web) en relacin
con el hotel y la compaa area. La agencia de viajes obtendr
informacin de estos recursos, lo que la convierte a su vez en
cliente de esos otros Servicios Web que le van a proporcionar la
informacin solicitada sobre el hotel y la lnea area. Por ltimo,
el usuario realizar el pago del viaje a travs 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 tecnologas que
hacen posible esta circulacin de informacin. Por un lado,
estara SOAP (Protocolo Simple de Acceso a Objetos). Se trata
de un protocolo basado en XML, que permite la interaccin entre
varios dispositivos y que tiene la capacidad de transmitir
informacin compleja. Los datos pueden ser transmitidos a travs
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).

WSDL describe un servicio utilizando varios elementos (etiquetas xml). Dichos


elementos podemos clasificarlos como abstractos o concretos.La parte WSDL
abstracta describe las operaciones y mensajes con detalle. En otras palabras, la parte
abstracta de un WSDL especifica QU hace el servicio:

Qu operaciones estn disponibles


Qu entradas, salidas, y mensajes de error tienen las operaciones

Cules son las definiciones de los tipos para los mensajes de entrada, salida y
error
En el mundo Java, podemos pensar en la parte abstracta de un WSDL como en la
definicin de una interfaz o una clase abstracta, con la definicin de sus mtodos, pero
no sus implementaciones. La parte abstracta de un WSDL contiene dos componentes
principales:

Las operaciones que forman la definicin de la interfaz


Los tipos de datos para los parmetros de entrada, salida y error, de las
operaciones
La parte WSDL concreta describe el cmo y dnde del servicio:

Cmo tiene que llamar un cliente al servicio


Qu protocolo debera usar
Dnde est disponible el servicio
En el mundo Java podemos pensar en la parte concreta de un WSDL como en la
implementacin de la parte abstracta, aunque en trminos de servicios Web, solamente
describe dnde se encuentra dicha implementacin para utilizarse. La parte concreta de
un WSDL contiene dos componentes principales:

Informacin de enlazado (binding) sobre el protocolo a utilizar


La direccin en donde localizar el servicio

You might also like