2. No te ahogas al caer a un río, sino al mantenerte
sumergido en el.
Paulo Coelho.
3. Objetivo
• Construir aplicaciones de
software Web con acceso
a datos y que resuelva
problemas basados en
casos reales utilizando
Visual Studio
● 2.1 SOAP
Contenido
5. 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
"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).
7. 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.
8. 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.
10. ● 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.
11. ● 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.
12. 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.
15. 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
16. ● 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
17. 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
18. 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.
19. 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
20. Existen tres componentes principales de esta interfaz abstracta:
El vocabulario
El mensaje
La interacción
Descripción abstracta:
21. 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.
23. 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).
24. 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.
Información concreta de enlace
26. 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.
27. 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.
28. 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.
29. 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.
30. ● La estructura que almacena la sección blanca es de
tipo bussinessEntity, esta estructura describe a un
proveedor de servicios Web.
Sección Blanca
31. 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.
33. 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.
35. 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
36. 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.