Está en la página 1de 33

Servicios Web

"Un Web Service es un componente de


software que se comunica con otras
aplicaciones codificando los mensaje en
XML y enviando estos mensaje a través de
protocolos estándares de Internet tales
como el Hypertext Transfer Protocol (HTTP).

Intuitivamente es similar a un sitio


web, pero no existe interacción con
una persona a través de un web
browser, sino que la interacción es
entre aplicaciones
¿Cómo Funcionan los Servicios Web?
Requisitos de un Web
 Service:
Interoperabilidad: Un servicio remoto debe permitir su
utilización por clientes de otras plataformas.

 Amigabilidad con Internet: La solución debe poder


funcionar para soportar clientes que accedan a los servicios
remotos desde internet.

 Interfaces fuertemente tipadas: procedimentales.


Más aún, los tipos de datos definidos en el servicio remoto
deben poderse corresponder razonablemente bien con los
tipos de datos de la mayoría de los lenguaje de
programación.
Requisitos de un Web
Service:
 Posibilidad de aprovechar los estándares de
Internet existentes: La implementación del servicio
remoto debería aprovechar estándares de Internet
existentes tanto como sea posible y evitar reinventar
soluciones a problema que ya se han resuelto.

 Soporte para cualquier lenguaje: Un cliente


debería ser capaz de implementar un nuevo servicio
Web existente independientemente del lenguaje de
programación en el que se halla escrito el cliente.
Bloques Constructivos de
Servicios Web:
 Descubrimiento: La aplicación cliente que necesita
acceder a la funcionalidad que expone un Servicio Web
necesita una forma de resolver la ubicación de servicio
remoto. Se logra mediante un proceso llamado, normalmente
descubrimiento

 Descripción: Una vez que se ha resuelto el extremo de un


servicio Web dado, el cliente necesita suficiente información
para interactuar adecuadamente con el mismo.

 Formato del mensaje: Para el intercambio de datos, el


cliente y el servidor tienen que estar de acuerdo en un
mecanismo común de codificación y formato de mensaje.
 Codificación: Los datos que se trasmiten entre el
cliente y el servidor necesitan codificarse en un cuerpo
de mensaje.

 Transporte: Una vez se ha dado formato al mensaje y


se han serializado los datos en el cuerpo del mensaje se
debe transferir entre el cliente y el servidor utilizando
algún protocolo de transporte.
SOAP - Protocolo simple de acceso a

objetos
Es 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 de la siguiente forma:


 envelope (envoltura): Es el elemento raíz del mensaje para describir
su contenido y la forma de procesarlo.

 header (encabezado): Es la información de identificación del


contenido. Un grupo de reglas de codificación para expresar las
instancias de tipos de datos definidos por la aplicación.

 body (cuerpo): Es el contenido del mensaje. Una convención para


representar las llamadas y las respuestas a procedimientos remotos.
Anatomía de un mensaje
SOAP
SOAP y HTTP
Encabezado
HTTP

Envoltura
Header (opcional)

Cuerpo
Algunas de las Ventajas de SOAP

 No esta asociado con ningún lenguaje

 No se encuentra fuertemente asociado a ningún


protocolo de transporte

 Aprovecha los estándares existentes en la industria

 Permite la interoperabilidad entre múltiples entornos

 Ampliamente aceptado
RPC usando SOAP
 RPC: Consiste en pasarle parámetros a un procedimiento remoto
en algún lenguaje determinado (java, c++, etc) utilizando un
esquema de comunicación xml via HTTP.
RPC usando SOAP

Para realizar una invocación RPC es


necesario conocer:

 La ubicación del objeto remoto


 El nombre del objeto remoto
 El nombre del método
 Los parámetros del método
Descripción: WSDL
Lenguaje de Descripción de Servicios Web

 WSDL representa una especie de contracto entre el


proveedor y el que solicita. O sea 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

Distingue claramente los mensajes de los puertos

 Los mensajes (la sintaxis y semántica que necesita un


servicio Web) son siempre abstractos

 Los puertos (las direcciones de red en las que se


invoca al servicio Web) son siempre concretos
Descripción abstracta:
Existen tres componentes principales de esta interfaz abstracta:

 El vocabulario

 El mensaje

 La interacción
Descripción abstracta:
Los elementos utilizados para esto son:

 Types: contenedor de definiciones del tipo de datos que


utiliza algún sistema de tipos (por ejemplo XSD).
 Message: definición abstracta y escrita de los datos que
se están comunicando.
 Operation: descripción abstracta de una acción
admitida por el servicio.
 Port Type: conjunto abstracto de operaciones admitidas
por uno o más puntos finales.
Ejemplo:
Información concreta de enlace

Para completar la descripción de una interacción cliente-


servidor se necesita saber:

 Qué protocolo de comunicación se va utilizar (como


SOAP sobre HTTP)

 Como conseguir la interacción del servicio con este


protocolo

 Donde termina la comunicación (la dirección de red).


Información concreta de enlace

Para eso se utilizan los siguientes elementos:

 Binding: especificación del protocolo y del formato


de datos para un tipo de puerto determinado.
 Port: punto final único que se define como la
combinación de un enlace y una dirección de red.
 Service: colección de puntos finales relacionados.
Ejemplo:
Objetivo de WSDL

 El objetivo de WSDL es el de liberar a los


usuarios y desarrolladores de la necesidad
de recordar o entender todos los detalles de
acceso a los servicios, solo es necesario una
descripción WSDL para poder acceder a
estos.
Descubrimiento: UDDI

 Una vez creado el servicio web el siguiente


paso consiste en definir cómo se dará a
conocer el servicio Web para que los clientes
interesados puedan descubrirlo fácilmente y
utilizarlo en sus aplicaciones.
Descubrimiento: UDDI

 UDDI es un registro público diseñado para


almacenar de forma estructurada información
sobre empresas y los servicios que éstas
ofrecen. A través de UDDI, se puede publicar y
descubrir información de una empresa y de sus
servicios.
En UDDI codifica tres tipos de información acerca de un
servicio web

Sección blanca - dirección, contacto y otros


identificadores conocidos.

Sección amarilla - categorización industrial basada en


taxonomías.

Sección verde - información técnica sobre los servicios


que aportan las propias empresas.
Sección Blanca

 La estructura que almacena la sección


blanca es de tipo bussinessEntity, esta
estructura describe a un proveedor de
servicios Web.
Sección Amarilla

 Para almacenar la sección amarilla se utiliza


la estructura tipo bussinessService, que
describe una familia de servicios Web
ofrecidos por el proveedor descrito en el
bussinnessEntity.
Ejemplo:
Sección Verde

 La sección verde se almacena entre las


estructuras tipo bindingTemplate, que
describen la información técnica de acceso a
un servicio Web concreto.
Ejemplo:
Información de la plantilla de
enlace
 Dirección donde el servicio puede ser accedido, esta
dirección podría ser una url, una dirección de email, o un
numero de teléfono

 tModelInstanceDetaills, el cual provee la descripción


técnica del servicio
Para Concluir:
 WSDL: Ofrece un modo formal de definir
servicios web, independientemente del
proveedor.

 UDDI: Proporciona una amplia infraestructura


estandarizada que permite al usuario
describir y descubrir servicios web.