Descarga la aplicación para disfrutar aún más
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
Compartir