SISTEMAS DISTRIBUIDOS MÓDULO 9

Documentos relacionados
TEMA 5. Otras arquitecturas distribuidas IV. Web Services

Qué son los Web Services?

TECNOLOGÍAS ASOCIADAS A LAS APLICACIONES WEB

Tema 3.1: Introducción a Servicios Web

APLICACIONES DE INTERNET: SOAP

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la

Servicios web. Contenido. Programación en Internet Curso Introducción Los pilares (SOAP, WSDL, UDDI) Desarrollo de un servicio web

Desarrollo y servicios web

Servicios web. Jorge Iván Meza Martínez

Introducción a XML (III) - Web Services Huibert Aalbers Senior Certified Software IT Architect

Desarrollo y servicios web

APLICACIONES DE INTERNET: SERVICIOS DE RED Y WEB

Servicio Web. Estándares empleados. Ventajas de los servicios web. Inconvenientes de los servicios Web

Service Oriented Architecture

Aplicaciones y Servicios Web (Web Services)

SISTEMAS DE INFORMACIÓN III TEORÍA

WbS Web Services. Roberto Gómez Cárdenas Web Services

GALA. Servicios WEB. Curso ASP.NET Desarrollo de Sitios y Servicios Web con Visual Basic 2010, 24 h. L25. Servicios Web en Integración

Servicios Web. Andrés Pastorini. TRIA Tecnólogo Informático

Tema 4. Servicios WEB

Sistemas Operativos Distribuidos. Introducción a los Servicios Web (Web Services)

Sistemas Distribuidos Servicios web. Rodrigo Santamaría

Capacitación Efectiva SOA y Web Services con Java

Universidad Nacional Autónoma de México Dirección de Sistemas Dirección General de Personal

Capítulo 7: Introducción a la dinámica de servicios Web

Cursos de Extensión Universitaria UNIVERSIDAD DE OVIEDO. Servicios Web (II)

5. ARQUITECTURA DE SERVICIOS WEB (WS)

Introducción a los Servicios Web

Tema 18. Servicios Web.

Transmision de datos SOAP. Transmision de Datos

Service Oriented Architecture

5.1 Introducción a Servicios Web

WebServices bajo SOA. SOAagenda team Chile

Construir RIA usando Flex. Eduardo Ostertag Jenkins, Ph.D. OBCOM INGENIERIA S.A.

Taller de Sistemas de Información 2. Web Services en Java y Java EE

Tecnologías para Desarrollo Orientado a Servicios (posgrado) Desarrollo de Software Orientado a Servicios (pregrado)

Curso SOA and Java Web Services with JAX-WS

Oracle Service Bus: Entorno de Desarrollo

Anexo Técnico 005 Servicio de Recepción de Facturas Electrónicas

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

Web Services. Introducción y Escenarios para su Uso. Moisés Daniel Díaz Toledano.

2524 Developing XML Web Services Using Microsoft ASP.NET

PROTOCOLOS DE APLICACIÓN PRÁCTICA EN INFOMED INTEROPERABILIDAD

Servicios Web Ubicuos Activados por Voz

Tema 1: Introducción a las tecnologías

15 de Octubre Crowne Plaza Ciudad de México. Simposio Técnico de Medición y Automatización. ni.com/mexico

Glosario Plataforma de Interoperabilidad Libre Orientada a Servicios para el Estado Venezolano

DISEÑO DE APLICACIONES WEB BASADAS EN ARQUITECTURAS ORIENTADAS A SERVICIOS (AOS), UTILIZANDO WEBML

Servicios Web. Ignacio García, Macario Polo Francisco Ruiz, Mario Piattini. Universidad de Castilla-La Mancha, España.

PORTAL DE INTEGRACIÓN DE BANCOS DE INFORMACIÓN DISPERSOS A TRAVÉS DE WEB SERVICES Autor: Ing. Walther Antonioli Ravetto

Agenda..NET C# Laboratorio #1

Seguridad en la capa de Transporte Vs Seguridad a nivel de Mensaje

Transversal. WebService. Licenciatura en Tecnologías de la Información. Área de Formación : PROGRAMA DE ESTUDIO UJAT ANIEI

JAVA EE 5. Arquitectura, conceptos y ejemplos.

Sesión 5 Introducción a REST

Principios de Web Services

Arquitecturas de Integración

La aplicación práctica en el mundo empresarial de los estándares Web

Glosario Acoplamiento. API. Archivos de recursos. ASCII. Balanceo de carga. Bases de datos federadas. BBDD. Clientes. Constructores.

Web Semántica. Características. Servicios Web. Juan Ramón Cayón Alcalde Curso de Doctorado: Adquisición de Conocimiento

En este capitulo analizaremos los cuatro diferentes métodos para obtener la

Notas técnicas de SAP / ABAP - Tip en detalle Nro. 16

Introducción a los Servicios Web. Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com

PROYECTOS DE WEBSERVICE PARA DESARROLLADORES. 12 Agosto 2016

INTEROPERABILIDAD ESTÁNDARES APLICADOS EN COSTA RICA

Desarrollo de Servicios Web para la ETN

JavaEE.

Introducción a la Programación Distribuida. Aplicaciones Distribuidas

SOA y estándares: una pareja inseparable

Una puerta abierta al futuro

Servicios Web. Capítulo 5: Introducción a los Servicios Web. Pedro Álvarez alvaper@unizar.es José Ángel Bañares banares@unizar.es

Conceptos generales de sistemas distribuidos

Un servicio Web para investigación operativa

UNIVERSIDAD DE ALMERÍA

Taller de Sistemas de Información 1

Universidad de Belgrano Facultad de Ingeniería y Tecnología Informática Página 1/6

Tesis de Maestría en Ingeniería en Computación

API DE INTEROPERACION ENTRE TELCEL Y MOVILTEK PARA EL REGISTRO DE EQUIPOS AVL

Para crear un servicio puede utilizarse cualquiera de los lenguajes disponibles en la plataforma.net.

Introducción a los Web Services en PHP

1. Introducción a los Servicios web

Escuela de Ingeniería en Informática Empresarial SYLLABUS

Especificación de la secuencia de mensajes que se han de intercambiar. Especificación del formato de los datos en los mensajes.

Universidad Autónoma Metropolitana Unidad Azcapotzalco. División de Ciencias Básicas e Ingeniería. Licenciatura en Ingeniería en Computación

Para el desarrollo de aplicaciones Web se han generado múltiples tecnologías entre ellas se encuentran:

Desarrollo de un Sistema Integral Colaborativo para Organizaciones Educativas Basado en Servicios Web

TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS.

Transcripción:

SISTEMAS DISTRIBUIDOS MÓDULO 9 Web Services Web Services (Servicios Web) Servicios Web: Estructura y Funcionalidades Protocolo de Comunicación: Soap y Rest Lenguaje Descriptor de Servicios WSDL Protocolo de Descubrimiento UDDI 1

Servicios Web Servicio es una función que está bien definida, autocontenida y no depende del contexto ó el estado de otros servicios un Servicio Web es cualquier servicio disponible sobre Internet, utiliza un sistema de mensajería standard (XML) y no está ligado a un sistema operativo o lenguaje de programación Protocolos Aplicación Cliente Web Web Service Sistema Tradicional Basado en la Web Máquina Cliente Máquina Servidor Servidor Web 2. El Servidor busca el documento en un archivo local 3.Respuesta 1.Requerimiento de documento (HTTP) 2

Infraestructura de Servicios Web Aplicaciones Servicio de Directorio Seguridad Servicios Web Descripciones de Servicio (en WSDL) SOAP / Rest URIs (URLs o URNs) XML HTTP, SMTP u otro transporte Servicios Web Los Web Services son la evolución de tecnologías como RPC, ORPC (DCOM, CORBA, y JAVA RMI). Los Servicios Web se originaron para resolver tres problemas principales: 1. Interoperatividad. 2. Atravesar firewalls. 3. Complejidad. 3

Servicios Web INTEROPERABILIDAD Los primeros sistemas distribuidos tenían problemas de interoperatividad, cada proveedor implementaba sus propios formatos para el envío de mensajes. Aplicaciones DCOM ligadas a Windows. Aplicaciones RMI ligadas a Java. ATRAVESAR FIREWALLS Proyectos de cooperación entre corporaciones: difícil. CORBA vs. DCOM. Los Servicios Web emplean HTTP como protocolo de transporte y la mayoría de los firewalls permite acceso a través del port 80 facilitando la colaboración. Servicios Web COMPLEJIDAD Las tecnologías para Servicios Web son amigables a los desarrolladores. La mayoría de las tecnologías antes mencionadas (RMI, COM, CORBA) involucran una curva completa de aprendizaje. Deben aprenderse nuevas tecnologías y lenguajes para implementar estos servicios. 4

Servicios Web - Modelo La arquitectura de Servicios Web se basa en estos tres componentes: Registro del servicio. Proveedor del servicio. Solicitante del servicio. La interacción entre estos componentes involucra: Operaciones de publicación. Operación de búsqueda. Operaciones de ligado (binding)/invocación. Servicios Web - Modelo El modelo Servicio Web sigue el paradigma de publicar, buscar, y ligar. Registro del Servicio Web 1. publicar 2. buscar Proveedor del Servicio Web 3. ligar/invocar Cliente del Servicio Web 5

Servicios Web - Componentes XML extensible Markup Language Un mecanismo uniforme de representación e intercambio de datos. SOAP Simple Object Access Protocol Un estándar de comunicación. UDDI Universal Description, Discovery and Integration specification Un mecanismo para registrar y localizar una aplicación WS. WSDL Web Services Description Language Un metalenguaje estándar para describir los servicios ofrecidos. Servicios Web Ejemplo Servicio de Viajes Servicio de Tarjeta de Crédito Aplicación Cliente HTTP/XML Servicio de Viajes Servicio Servicio de Hotel de Hotel Servicio Servicio de Avión de Avión "Cliente y Servicio son roles relativos: Servicio podría ser Cliente de otros Web Services. 6

Servicios Web Ejemplo Servicios Web - SOAP SOAP es un vocabulario estándard XML para permitir que programas sobre computadoras separadas interaccionen en una red. SOAP es un lenguaje simple para describir mensajes entre aplicaciones. HTTP es uno de los protocolos de comunicación de transportes más utilizados. CARACTERÍSTICAS Extensibilidad seguridad y ruteo de servicios web están entre las extensiones bajo desarrollo. Neutralidad SOAP puede ser usado sobre cualquier protocolo de transporte tales como HTTP, SMTP o aún TCP. Independiente SOAP se permite para cualquier modelo de programación. 7

Servicios Web SOAP Un mensaje SOAP es un documento común XML conteniendo los siguientes elementos: Se requiere un elemento Envelope que identifica el documento XML como mensaje SOAP. Un elemento opcional Header que contiene información de encabezamiento. Un elemento Body que contiene información de llamada y respuesta. Un elemento Fault que provee información acerca de errores que ocurrieron durante el procesamiento del mensaje. Servicios Web SOAP Mensaje envelope header elemento header elemento header body elemento body elemento body 8

Servicios Web SOAP Ejemplo sin headers Cada elemento XML está representado por una caja sombreada con su nombre en itálica seguido por algún atributo y su contenido env:envelope xmlns:env =namespace URI for SOAP envelopes env:body m:exchange xmlns:m = namespace URI of the service description m:arg1 Hello m:arg2 World Servicios Web SOAP Ejemplo Respuesta env:envelope xmlns:env = namespace URI for SOAP envelope env:body m:exchangeresponse xmlns:m = namespace URI for the service description m:res1 m:res2 World Hello 9

Servicios Web SOAP Ejemplo Requerimiento POST /InStock HTTP/1.1 Host: www.stock.org Content-Type: application/soap+xml; charset=utf-8 Content-Length: 150 <?xml version="1.0"?> <soap:envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingstyle=http://www.w3.org/2001/12/soap-encoding > <soap:body xmlns:m="http://www.stock.org/stock"> <m:getstockprice> <m:stockname>ibm</m:stockname> </m:getstockprice> </soap:body> </soap:envelope> Servicios Web SOAP Ejemplo Respuesta HTTP/1.1 200 OK Content-Type: application/soap; charset=utf-8 Content-Length: 126 <?xml version="1.0"?> <soap:envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingstyle="http://www.w3.org/2001/12/soap-encoding"> <soap:body xmlns:m="http://www.stock.org/stock"> <m:getstockpriceresponse> <m:price>34.5</m:price> </m:getstockpriceresponse> </soap:body> </soap:envelope> 10

Servicios Web - SOAP Servicios Web - SOAP WS-ReliableMessaging: Comunicación fiable La entrega de un mensaje puede tener la siguiente semántica: Semántica Al menos una vez A lo sumo una vez Exactamente una vez Característica Un error es reportado sino es entregado No reporta error sino es entregado Un error es reportado sino es entregado Para cualquier semántica ordenamiento de los mensajes. 11

Servicios Web - WSDL WSDL es un vocabulario XML para describir servicios web. Les permite a los desarrolladores describir servicios web y sus capacidadades de manera estándard. WSDL especifica lo que un mensaje de requerimiento debe contener y como debe lucir un mensaje de respuesta con una notación no ambigua. En otras palabras, es un contrato entre servicio web XML y el cliente que desea utilizar ese servicio. Además de describir el contenido del mensaje, WSDL define donde está disponible el circuito y que protocolo de comunicación es usado para conectarse con el servicio. Servicios Web - WSDL ESTRUCTURA DE DOCUMENTO Un documento WSDL es simplemente un documento XML. El mismo define un servicio web usando los siguientes elementos: port type - Las operaciones realizadas por el servicio web. message El mensaje usado por el servicio web. types El tipo de dato usado por el servicio web. binding - los protocolos de comunicación usados por el servicio web. 12

Servicios Web WSDL - Documento <message name="getstockpricerequest"> <part name="stock" type="xs:string"/> </message> <message name="getstockpriceresponse"> <part name="value" type="xs:string"/> </message> <porttype name= StocksRates"> <operation name= GetStockPrice"> <input message= GetStockPriceRequest"/> <output message= GetStockPriceResponse"/> </operation> </porttype> Servicios Web XML con WSDL 13

Servicios Web XML con WSDL Servicios Web - Rest El protocolo utiliza las siguientes operaciones: HTTP Get, HTTP Post, HTTP Put y HTTP Del. Escalable. Escaso consumo de recursos. XML autodescriptivo. No mantiene estado. 14

Servicios Web - SOA Una arquitectura orientada al servicio (Service-oriented Architecture SOA) es esencialmente una colección de servicios. Estos servicios se comunican entre sí. Servicios Web - Resumen Están basados en estándares que tienen amplio apoyo de la industria. Emplean tecnologías simples y probadas, e.g. HTTP y XML. Logran interoperatividad entre sistemas que difieren en software y hardware. 15

Bibliografía: - Coulouris,G.F.; Dollimore, J. y T. Kindberg; Distributed Systems: Concepts and Design. 5th Edition Addison Wesley, 2011. - Barry, Douglas; Web Services and Service-Oriented Architectures and Cloud Computing (The Savvy Manager's Guides), 1er. Ed Morgan Kaufmann, 2003, 2da. Ed. 2013. 16