Logo Studenta

INTRODUCCIÓN A SOAP

¡Este material tiene más páginas!

Vista previa del material en texto

Introducción a los 
Webservices
Juan Carlos Araujo Herrera
docenteibp@gmail.com
Contenidos
• Definición
• Protocolos que hacen posible la existencia de los 
Webservices
• Webservices con Microsoft
• Ejemplo de cliente consola
Componentes
Webservices
• Los servicios Web proporcionan una manera de crear 
aplicaciones que pueden ser accedidas y utilizadas por 
diferentes clientes utilizando diferentes plataformas.
• Permite invocar funciones de otras aplicaciones 
independientemente de cómo se hayan creado las aplicaciones
• Permite integración de aplicaciones
Webservices
• Los Servicios Web son para los computadores, lo que las 
páginas Web para los humanos
• Fortaleza de los WebServices – basados en estándares
• Protocolos de comunicación
• Formatos de representación de datos
• Lenguajes descriptivos
• Mecanismo de descubrimiento
WebServices
• "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).
WebServices
• 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
Protocolos y estándares
• HTTP
• XML
• SOAP, XML-RPC
• WSDL
• UDDI
Estándares empleados en los 
Servicios Web
• Web Services Protocol Stack: conjunto de servicios y protocolos de los servicios Web. 
• XML (Extensible Markup Language): Es el formato estándar para los datos que se vayan a intercambiar. 
• SOAP (Simple Object Access Protocol) o XML-RPC (XML Remote Producer Call): Protocolos sobre los que se 
establece el intercambio. 
• Otros protocolos: los datos en XML también pueden enviarse de una aplicación a otra mediante protocolos 
normales como HTTP (Hypertext Transfer Protocol), FTP (File Transfer Protocol), o SMTP (Simple Mail Transfer 
Protocol). 
• WSDL (Web Services Description Languages): Es el lenguaje de la interfaz pública para los servicios Web. Es 
una descripción basada en XML de los requisitos funcionales necesarios para establecer una comunicación con 
los servicios Web. 
• UDDI (Universal Description, Discovery and Integration): Protocolo para publicar la información de los servicios 
Web. Permite a las aplicaciones comprobar qué servicios web están disponibles. 
• WS-Security (Web Service Security): Protocolo de seguridad aceptado como estándar por OASIS (Organization 
for the Advancement of Structured Information Standards). Garantiza la autenticación de los actores y la 
confidencialidad de los mensajes enviados.
http://es.wikipedia.org/wiki/Web_Services_Protocol_Stack
http://es.wikipedia.org/wiki/XML
http://es.wikipedia.org/wiki/SOAP
http://es.wikipedia.org/wiki/XML-RPC
http://es.wikipedia.org/wiki/HTTP
http://es.wikipedia.org/wiki/FTP
http://es.wikipedia.org/wiki/SMTP
http://es.wikipedia.org/wiki/WSDL
http://es.wikipedia.org/wiki/UDDI
http://es.wikipedia.org/wiki/WS-Security
Protocolos y Estándares
• HTTP
• Un esquema de direccionamiento comprensible. 
• Arquitectura Cliente-Servidor. 
• HTTP se asienta en el paradigma solicitud/respuesta. La comunicación se 
asienta sobre TCP/IP. El puerto por defecto es el 80, pero se pueden utilizar 
otros. 
Protocolos y Estándares
• HTTP
• Es un protocolo sin conexión y sin estado. 
• Después de que el servidor ha respondido la petición del cliente, se rompe la 
conexión entre ambos. 
• Está abierto a nuevos tipos de datos. 
• Cuando un servidor HTTP transmite información de vuelta a un cliente, incluye 
una cabecera que le indica al cliente sobre los tipos de datos que componen el 
documento. 
Protocolos y Estándares
• XML (eXtended Markup Language)
• Base de los servicios Web
• Permite comunicación entre sistemas de forma estándar
• Información con estructura
• Utilizado ampliamente en la industria
• Futuro estándar de estructuración de información
Protocolos y Estándares
• SOAP
• Protocolo de acceso a objetos simple
• soporte completo y minucioso de todo tipo de servicios Web
• Mas potente que XML-RPC
• Incluye toda una arquitectura a su alrededor
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.
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: 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
Protocolos y Estándares
• WSDL y UDDI
• El archivo WSDL, en formato XML, indica al sistema que 
consulte, qué servicios dispone
• WSDL además da una referencia precisa sobre el servicio, 
para poder invocarlo usando los parámetros adecuados
• UDDI es un Servicio Web en línea que se puede utilizar 
desde las aplicaciones para descubrir de forma dinámica 
otros servicios en línea
SOAP
• Basado en XML para transmitir información.
• Además de soportar pares nombre/valor, soporta datos 
complejos como datos enriquecidos, clases y objetos.
• SOAP también transmite sobre HTTP pero no esta limitado al 
modelo de petición/respuesta.
SOAP
SOAP
Protocolos y Estándares
• WSDL y UDDI
Cliente Servicio Web
SOAP
SOAP
Registro UDDI
WSDL WSDL
Descripción: WSDL
Lenguaje de Descripción de Servicios Web
• WSDL representa una especie de contrato 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
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.
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.
Ventajas de los servicios Web 
• Aportan interoperabilidad entre aplicaciones de software 
independientemente de sus propiedades o de las plataformas sobre las 
que se instalen. 
• Los servicios Web fomentan los estándares y protocolosbasados en 
texto, que hacen más fácil acceder a su contenido y entender su 
funcionamiento. 
• Al apoyarse en HTTP, los servicios Web pueden aprovecharse de los 
sistemas de seguridad firewall sin necesidad de cambiar las reglas de 
filtrado. 
• Permiten que servicios y software de diferentes compañías ubicadas en 
diferentes lugares geográficos puedan ser combinados fácilmente para 
proveer servicios integrados. 
http://es.wikipedia.org/wiki/Firewall
Inconvenientes de los Servicios Web 
• Para realizar transacciones no pueden compararse en su grado de desarrollo con 
los estándares abiertos de computación distribuida como CORBA (Common Object 
Request Broker Architecture). 
• Su rendimiento es bajo si se compara con otros modelos de computación 
distribuida, tales como RMI (Remote Method Invocation), CORBA, o DCOM
(Distributed Component Object Model). Es uno de los inconvenientes derivados de 
adoptar un formato basado en texto. Y es que entre los objetivos de XML no se 
encuentra la concisión ni la eficacia de procesamiento. 
• Al apoyarse en HTTP, pueden esquivar medidas de seguridad basadas en firewall
cuyas reglas tratan de bloquear o auditar la comunicación entre programas a 
ambos lados de la barrera. 
• Existe poca información de Servicios Web para algunos lenguajes de 
programación.
http://es.wikipedia.org/wiki/Transacci%C3%B3n
http://es.wikipedia.org/wiki/Computaci%C3%B3n_distribuida
http://es.wikipedia.org/wiki/CORBA
http://es.wikipedia.org/wiki/RMI
http://es.wikipedia.org/wiki/CORBA
http://es.wikipedia.org/wiki/DCOM
http://es.wikipedia.org/wiki/XML
http://es.wikipedia.org/wiki/Firewall
SE
Webservice con Microsoft
Agregar Nuevo Proyecto
Solucion
Agregar MathService.asmx
MathService.asmx
Al ejecutar….
CONSUMIDOR 
CONSOLA
Agregar Referencia Web
En Program.cs
Detalle…
Al Ejecutar…
REFERENCIAS BIBLIOGRÁFICAS
Textos:
Eric Newcomer (2018) Understanding Web Services- XML, WSDL, SOAP and UDDI.
Kindle Edition, 606 pages
Published November 30th 2018 by Packt Publishing
Introducción a Web Services con herramientas de desarrollo Microsoft. Por Oscar
González Moreno
Equipo Grupo Danysoft.
Referencias electrónicas
Ceponkus, Alex "XML Web Services" Greater Boston Chapter ACM Professional
Development Seminar (March 2001) http://www.gbcacm.org/website/semInfo/-php?id=1
Conklin, Peter, and Eric Newcomer, "The Key to the Highway," in The Future of Software
by Derek Leebaert (Editor) Cambridge: MIT Press, 1996

Continuar navegando

Contenido elegido para ti