SlideShare una empresa de Scribd logo
1 de 15
Descargar para leer sin conexión
1
Sistemas Distribuidos – Arquitecturas Orientadas a Servicio
Web Services en Sistemas
Distribuidos
SISTEMAS
DISTRIBUIDOS
Sistemas Distribuidos – Arquitecturas Orientadas a Servicio
Arquitectura Orientada a Servicios
 Servicios Web: Estructura y Funcionalidades
 Protocolo Soap
 Lenguaje Descriptor de Servicios WSDL
 Protocolo de Descubrimiento UDDI
2
Sistemas Distribuidos – Arquitecturas Orientadas a Servicio
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 un programa que es
llamado desde otro programa a través de la
web empleando protocolos abiertos”
Web
Aplicación
Cliente
Web
Service
Protocolos
Sistemas Distribuidos – Arquitecturas Orientadas a Servicio
Sistema Tradicional Basado en la Web
3.Respuesta
Máquina Cliente Máquina Servidor
El Servidor
busca el
documento en
un archivo local
Servidor
Web
1.Requerimiento de documento (HTTP)
3
Sistemas Distribuidos – Arquitecturas Orientadas a Servicio
Infraestructura de Servicios Web
Seguridad
Descripciones de Servicio (en WSDL)
Aplicaciones
Servicio de Directorio
Servicios Web
XML
SOAP
URIs (URLs o URNs) HTTP, SMTP u otro transporte
Sistemas Distribuidos – Arquitecturas Orientadas a Servicio
 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. Interoperabilidad.
2. Atravesar firewalls.
3. Complejidad.
Servicios Web
4
Sistemas Distribuidos – Arquitecturas Orientadas a Servicio
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.
Servicios Web
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.
Sistemas Distribuidos – Arquitecturas Orientadas a Servicio
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.
Servicios Web
5
Sistemas Distribuidos – Arquitecturas Orientadas a Servicio
Una definición más precisa:
 Una aplicación que:
 Se comunica con otra mediante
protocolos abiertos (HTTP, SMTP,
etc.)
 Procesa mensajes XML
encapsulados mediante SOAP.
 Describe sus mensajes empleando
XML Schema.
 Provee una descripción usando
WSDL.
 Se descubre mediante UDDI.
Servicios Web
Sistemas Distribuidos – Arquitecturas Orientadas a Servicio
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í.
6
Sistemas Distribuidos – Arquitecturas Orientadas a Servicio
 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
Sistemas Distribuidos – Arquitecturas Orientadas a Servicio
El modelo Servicio Web sigue el paradigma de
publicar, buscar, y ligar.
1. publicar 2. buscar
3. ligar/invocar
Registro del
Servicio Web
Proveedor del
Servicio Web
Cliente del
Servicio Web
Servicios Web - Modelo
7
Sistemas Distribuidos – Arquitecturas Orientadas a Servicio
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.
Sistemas Distribuidos – Arquitecturas Orientadas a Servicio
Ejemplo Servicio de Viajes
Aplicación
Cliente
Servicio
de Viajes
Servicio de
Tarjeta de
Crédito
Servicio
de Hotel
Servicio
de AviónServicio
de Avión
Servicio
de Hotel
HTTP/XML
"Cliente" y "Servicio" son roles relativos:
Servicio podría ser Cliente de otros Web Services.
Servicios Web
8
Sistemas Distribuidos – Arquitecturas Orientadas a Servicio
Servicios Web – Ejemplo
Sistemas Distribuidos – Arquitecturas Orientadas a Servicio
 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.
Servicios Web - SOAP
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 .
9
Sistemas Distribuidos – Arquitecturas Orientadas a Servicio
Bloques
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
Sistemas Distribuidos – Arquitecturas Orientadas a Servicio
Mensaje SOAP en un “envelope”
envelope
header
body
elemento header
elemento body
elemento header
elemento body
Servicios Web - SOAP
10
Sistemas Distribuidos – Arquitecturas Orientadas a Servicio
Ejemplo simple de un requerimiento sin
Headers
m:exchange
env:envelope xmlns:env =namespace URI for SOAP envelopes
m:arg1
env:body
xmlns:m = namespace URI of the service description
Hello
m:arg2
World
Cada elemento XML está representado por una caja
sombreada con su nombre en itálica seguido por algún
atributo y su contenido
Servicios Web - SOAP
Sistemas Distribuidos – Arquitecturas Orientadas a Servicio
Ejemplo de respuesta
env:envelope xmlns:env = namespace URI for SOAP envelope
m:res1
env:body
xmlns:m = namespace URI for the service description
m:res2
World
m:exchangeResponse
Hello
Servicios Web - SOAP
11
Sistemas Distribuidos – Arquitecturas Orientadas a ServicioKMC © 2015
Otros ejemplos: 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
Sistemas Distribuidos – Arquitecturas Orientadas a Servicio
Otros ejemplos: 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>
Servicios Web - SOAP
12
Sistemas Distribuidos – Arquitecturas Orientadas a ServicioKMC © 2015
Servicios Web - SOAP
Sistemas Distribuidos – Arquitecturas Orientadas a Servicio
 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
13
Sistemas Distribuidos – Arquitecturas Orientadas a Servicio
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 - Tlos protocolos de comunicación usados
por el servicio web.
Servicios Web - WSDL
Sistemas Distribuidos – Arquitecturas Orientadas a Servicio
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 - WSDL
14
Sistemas Distribuidos – Arquitecturas Orientadas a Servicio
Servicios Web – XML con WSDL
Sistemas Distribuidos – Arquitecturas Orientadas a Servicio
Servicios Web – XML con WSDL
15
Sistemas Distribuidos – Arquitecturas Orientadas a Servicio
Conclusió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.
¿Por qué los Web Services tienen gran potencial?
Sistemas Distribuidos – Arquitecturas Orientadas a Servicio
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.

Más contenido relacionado

La actualidad más candente

Diagramas de caso de uso
Diagramas de caso de usoDiagramas de caso de uso
Diagramas de caso de usoTensor
 
Unidad 1 requerimientos del software
Unidad 1 requerimientos del softwareUnidad 1 requerimientos del software
Unidad 1 requerimientos del softwareoemavarez
 
10 sistemas gestores de base de datos
10 sistemas gestores de base de datos10 sistemas gestores de base de datos
10 sistemas gestores de base de datosGusttavo Nipas
 
Modelo entidad relación de base de datos
Modelo entidad relación de base de datosModelo entidad relación de base de datos
Modelo entidad relación de base de datosani_tuza
 
diagrama de colaboracion
diagrama de colaboraciondiagrama de colaboracion
diagrama de colaboracionstill01
 
HISTORIA DE LAS BASES DE DATOS
HISTORIA DE LAS BASES DE DATOSHISTORIA DE LAS BASES DE DATOS
HISTORIA DE LAS BASES DE DATOSdfgdfgs
 
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A ObjetosMetodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A Objetoshector_h30
 
Introducción a UML
Introducción a UMLIntroducción a UML
Introducción a UMLKudos S.A.S
 
UML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseUML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseGuillermo Díaz
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicoslandeta_p
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosCesar Prado
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de softwareDiaxz Salgado
 
Doc. lista de requerimientos ver. 1.0
Doc. lista de requerimientos ver. 1.0Doc. lista de requerimientos ver. 1.0
Doc. lista de requerimientos ver. 1.0luimiguelandrade
 
Componentes y evolucion del modelado de negocios(investigacion)
Componentes y evolucion del modelado de negocios(investigacion)Componentes y evolucion del modelado de negocios(investigacion)
Componentes y evolucion del modelado de negocios(investigacion)Anel Sosa
 

La actualidad más candente (20)

Metodología CommonKADS
Metodología CommonKADSMetodología CommonKADS
Metodología CommonKADS
 
Diagramas de caso de uso
Diagramas de caso de usoDiagramas de caso de uso
Diagramas de caso de uso
 
Metodologiasad 1
Metodologiasad 1Metodologiasad 1
Metodologiasad 1
 
Unidad 1 requerimientos del software
Unidad 1 requerimientos del softwareUnidad 1 requerimientos del software
Unidad 1 requerimientos del software
 
10 sistemas gestores de base de datos
10 sistemas gestores de base de datos10 sistemas gestores de base de datos
10 sistemas gestores de base de datos
 
Modelo entidad relación de base de datos
Modelo entidad relación de base de datosModelo entidad relación de base de datos
Modelo entidad relación de base de datos
 
diagrama de colaboracion
diagrama de colaboraciondiagrama de colaboracion
diagrama de colaboracion
 
Gestion de redes
Gestion de redesGestion de redes
Gestion de redes
 
Diagramas De Caso De Uso
Diagramas De Caso De UsoDiagramas De Caso De Uso
Diagramas De Caso De Uso
 
HISTORIA DE LAS BASES DE DATOS
HISTORIA DE LAS BASES DE DATOSHISTORIA DE LAS BASES DE DATOS
HISTORIA DE LAS BASES DE DATOS
 
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A ObjetosMetodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
 
Introducción a UML
Introducción a UMLIntroducción a UML
Introducción a UML
 
Norma iso 17799
Norma iso  17799Norma iso  17799
Norma iso 17799
 
UML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseUML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de Clase
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicos
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientos
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Doc. lista de requerimientos ver. 1.0
Doc. lista de requerimientos ver. 1.0Doc. lista de requerimientos ver. 1.0
Doc. lista de requerimientos ver. 1.0
 
Ado net
Ado netAdo net
Ado net
 
Componentes y evolucion del modelado de negocios(investigacion)
Componentes y evolucion del modelado de negocios(investigacion)Componentes y evolucion del modelado de negocios(investigacion)
Componentes y evolucion del modelado de negocios(investigacion)
 

Similar a Web services en sistemas distribuidos

Similar a Web services en sistemas distribuidos (20)

Charla Web Services
Charla Web ServicesCharla Web Services
Charla Web Services
 
Semana 15 -servicios_web
Semana 15 -servicios_webSemana 15 -servicios_web
Semana 15 -servicios_web
 
Servicios web service api rest en netbeans
Servicios web service api rest en netbeansServicios web service api rest en netbeans
Servicios web service api rest en netbeans
 
Java2 servicios web
Java2 servicios webJava2 servicios web
Java2 servicios web
 
Web Services
Web ServicesWeb Services
Web Services
 
Web Services
Web ServicesWeb Services
Web Services
 
Servicios Web II.ppt
Servicios Web II.pptServicios Web II.ppt
Servicios Web II.ppt
 
Servicios Web
Servicios WebServicios Web
Servicios Web
 
Servicios Web
Servicios WebServicios Web
Servicios Web
 
02 - Servicios SOAP.pptx
02 - Servicios SOAP.pptx02 - Servicios SOAP.pptx
02 - Servicios SOAP.pptx
 
Servicios web
Servicios webServicios web
Servicios web
 
S3-PD2-2.1. SOAP
S3-PD2-2.1. SOAPS3-PD2-2.1. SOAP
S3-PD2-2.1. SOAP
 
SOA y Web Services
SOA y Web ServicesSOA y Web Services
SOA y Web Services
 
Tema 3 0
Tema 3 0Tema 3 0
Tema 3 0
 
Tema 3 0
Tema 3 0Tema 3 0
Tema 3 0
 
Pruebas de Servicios Web, ¿Codificar o No Codificar?
Pruebas de Servicios Web, ¿Codificar o No Codificar?Pruebas de Servicios Web, ¿Codificar o No Codificar?
Pruebas de Servicios Web, ¿Codificar o No Codificar?
 
Servicios web xml
Servicios web xmlServicios web xml
Servicios web xml
 
Servicios web xml
Servicios web xmlServicios web xml
Servicios web xml
 
6-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Introducción
6-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Introducción6-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Introducción
6-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Introducción
 
Servicios web xml
Servicios web xmlServicios web xml
Servicios web xml
 

Más de Tensor

Libertad
LibertadLibertad
LibertadTensor
 
Método de la regla falsa (o metodo de la falsa posición)
Método de la regla falsa (o metodo de la falsa posición)Método de la regla falsa (o metodo de la falsa posición)
Método de la regla falsa (o metodo de la falsa posición)Tensor
 
Metodo de la bisección
Metodo de la bisecciónMetodo de la bisección
Metodo de la bisecciónTensor
 
Transito vehicular
Transito vehicularTransito vehicular
Transito vehicularTensor
 
Teoria de colas
Teoria de colasTeoria de colas
Teoria de colasTensor
 
Practica 7 2016
Practica 7 2016Practica 7 2016
Practica 7 2016Tensor
 
Practica 6 2016
Practica 6 2016Practica 6 2016
Practica 6 2016Tensor
 
Game maker
Game makerGame maker
Game makerTensor
 
Practica 5 2016
Practica 5 2016Practica 5 2016
Practica 5 2016Tensor
 
Procesamiento de archivos
Procesamiento de archivosProcesamiento de archivos
Procesamiento de archivosTensor
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadenaTensor
 
Simulación en promodel clase 04
Simulación en promodel clase 04Simulación en promodel clase 04
Simulación en promodel clase 04Tensor
 
Reduccion de orden
Reduccion de ordenReduccion de orden
Reduccion de ordenTensor
 
Variación+de+parametros
Variación+de+parametrosVariación+de+parametros
Variación+de+parametrosTensor
 
Coeficientes indeterminados enfoque de superposición
Coeficientes indeterminados   enfoque de superposiciónCoeficientes indeterminados   enfoque de superposición
Coeficientes indeterminados enfoque de superposiciónTensor
 
Bernoulli y ricatti
Bernoulli y ricattiBernoulli y ricatti
Bernoulli y ricattiTensor
 
Practica no. 3 tiempo de servicio
Practica no. 3 tiempo de servicioPractica no. 3 tiempo de servicio
Practica no. 3 tiempo de servicioTensor
 
Clase 14 ondas reflejadas
Clase 14 ondas reflejadasClase 14 ondas reflejadas
Clase 14 ondas reflejadasTensor
 
Ondas em
Ondas emOndas em
Ondas emTensor
 
Clase 7 ondas electromagneticas
Clase 7 ondas electromagneticasClase 7 ondas electromagneticas
Clase 7 ondas electromagneticasTensor
 

Más de Tensor (20)

Libertad
LibertadLibertad
Libertad
 
Método de la regla falsa (o metodo de la falsa posición)
Método de la regla falsa (o metodo de la falsa posición)Método de la regla falsa (o metodo de la falsa posición)
Método de la regla falsa (o metodo de la falsa posición)
 
Metodo de la bisección
Metodo de la bisecciónMetodo de la bisección
Metodo de la bisección
 
Transito vehicular
Transito vehicularTransito vehicular
Transito vehicular
 
Teoria de colas
Teoria de colasTeoria de colas
Teoria de colas
 
Practica 7 2016
Practica 7 2016Practica 7 2016
Practica 7 2016
 
Practica 6 2016
Practica 6 2016Practica 6 2016
Practica 6 2016
 
Game maker
Game makerGame maker
Game maker
 
Practica 5 2016
Practica 5 2016Practica 5 2016
Practica 5 2016
 
Procesamiento de archivos
Procesamiento de archivosProcesamiento de archivos
Procesamiento de archivos
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadena
 
Simulación en promodel clase 04
Simulación en promodel clase 04Simulación en promodel clase 04
Simulación en promodel clase 04
 
Reduccion de orden
Reduccion de ordenReduccion de orden
Reduccion de orden
 
Variación+de+parametros
Variación+de+parametrosVariación+de+parametros
Variación+de+parametros
 
Coeficientes indeterminados enfoque de superposición
Coeficientes indeterminados   enfoque de superposiciónCoeficientes indeterminados   enfoque de superposición
Coeficientes indeterminados enfoque de superposición
 
Bernoulli y ricatti
Bernoulli y ricattiBernoulli y ricatti
Bernoulli y ricatti
 
Practica no. 3 tiempo de servicio
Practica no. 3 tiempo de servicioPractica no. 3 tiempo de servicio
Practica no. 3 tiempo de servicio
 
Clase 14 ondas reflejadas
Clase 14 ondas reflejadasClase 14 ondas reflejadas
Clase 14 ondas reflejadas
 
Ondas em
Ondas emOndas em
Ondas em
 
Clase 7 ondas electromagneticas
Clase 7 ondas electromagneticasClase 7 ondas electromagneticas
Clase 7 ondas electromagneticas
 

Último

Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfTarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfCarol Andrea Eraso Guerrero
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Baker Publishing Company
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 

Último (20)

Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
Unidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDIUnidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDI
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfTarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 

Web services en sistemas distribuidos

  • 1. 1 Sistemas Distribuidos – Arquitecturas Orientadas a Servicio Web Services en Sistemas Distribuidos SISTEMAS DISTRIBUIDOS Sistemas Distribuidos – Arquitecturas Orientadas a Servicio Arquitectura Orientada a Servicios  Servicios Web: Estructura y Funcionalidades  Protocolo Soap  Lenguaje Descriptor de Servicios WSDL  Protocolo de Descubrimiento UDDI
  • 2. 2 Sistemas Distribuidos – Arquitecturas Orientadas a Servicio 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 un programa que es llamado desde otro programa a través de la web empleando protocolos abiertos” Web Aplicación Cliente Web Service Protocolos Sistemas Distribuidos – Arquitecturas Orientadas a Servicio Sistema Tradicional Basado en la Web 3.Respuesta Máquina Cliente Máquina Servidor El Servidor busca el documento en un archivo local Servidor Web 1.Requerimiento de documento (HTTP)
  • 3. 3 Sistemas Distribuidos – Arquitecturas Orientadas a Servicio Infraestructura de Servicios Web Seguridad Descripciones de Servicio (en WSDL) Aplicaciones Servicio de Directorio Servicios Web XML SOAP URIs (URLs o URNs) HTTP, SMTP u otro transporte Sistemas Distribuidos – Arquitecturas Orientadas a Servicio  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. Interoperabilidad. 2. Atravesar firewalls. 3. Complejidad. Servicios Web
  • 4. 4 Sistemas Distribuidos – Arquitecturas Orientadas a Servicio 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. Servicios Web 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. Sistemas Distribuidos – Arquitecturas Orientadas a Servicio 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. Servicios Web
  • 5. 5 Sistemas Distribuidos – Arquitecturas Orientadas a Servicio Una definición más precisa:  Una aplicación que:  Se comunica con otra mediante protocolos abiertos (HTTP, SMTP, etc.)  Procesa mensajes XML encapsulados mediante SOAP.  Describe sus mensajes empleando XML Schema.  Provee una descripción usando WSDL.  Se descubre mediante UDDI. Servicios Web Sistemas Distribuidos – Arquitecturas Orientadas a Servicio 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í.
  • 6. 6 Sistemas Distribuidos – Arquitecturas Orientadas a Servicio  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 Sistemas Distribuidos – Arquitecturas Orientadas a Servicio El modelo Servicio Web sigue el paradigma de publicar, buscar, y ligar. 1. publicar 2. buscar 3. ligar/invocar Registro del Servicio Web Proveedor del Servicio Web Cliente del Servicio Web Servicios Web - Modelo
  • 7. 7 Sistemas Distribuidos – Arquitecturas Orientadas a Servicio 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. Sistemas Distribuidos – Arquitecturas Orientadas a Servicio Ejemplo Servicio de Viajes Aplicación Cliente Servicio de Viajes Servicio de Tarjeta de Crédito Servicio de Hotel Servicio de AviónServicio de Avión Servicio de Hotel HTTP/XML "Cliente" y "Servicio" son roles relativos: Servicio podría ser Cliente de otros Web Services. Servicios Web
  • 8. 8 Sistemas Distribuidos – Arquitecturas Orientadas a Servicio Servicios Web – Ejemplo Sistemas Distribuidos – Arquitecturas Orientadas a Servicio  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. Servicios Web - SOAP 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 .
  • 9. 9 Sistemas Distribuidos – Arquitecturas Orientadas a Servicio Bloques 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 Sistemas Distribuidos – Arquitecturas Orientadas a Servicio Mensaje SOAP en un “envelope” envelope header body elemento header elemento body elemento header elemento body Servicios Web - SOAP
  • 10. 10 Sistemas Distribuidos – Arquitecturas Orientadas a Servicio Ejemplo simple de un requerimiento sin Headers m:exchange env:envelope xmlns:env =namespace URI for SOAP envelopes m:arg1 env:body xmlns:m = namespace URI of the service description Hello m:arg2 World Cada elemento XML está representado por una caja sombreada con su nombre en itálica seguido por algún atributo y su contenido Servicios Web - SOAP Sistemas Distribuidos – Arquitecturas Orientadas a Servicio Ejemplo de respuesta env:envelope xmlns:env = namespace URI for SOAP envelope m:res1 env:body xmlns:m = namespace URI for the service description m:res2 World m:exchangeResponse Hello Servicios Web - SOAP
  • 11. 11 Sistemas Distribuidos – Arquitecturas Orientadas a ServicioKMC © 2015 Otros ejemplos: 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 Sistemas Distribuidos – Arquitecturas Orientadas a Servicio Otros ejemplos: 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> Servicios Web - SOAP
  • 12. 12 Sistemas Distribuidos – Arquitecturas Orientadas a ServicioKMC © 2015 Servicios Web - SOAP Sistemas Distribuidos – Arquitecturas Orientadas a Servicio  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
  • 13. 13 Sistemas Distribuidos – Arquitecturas Orientadas a Servicio 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 - Tlos protocolos de comunicación usados por el servicio web. Servicios Web - WSDL Sistemas Distribuidos – Arquitecturas Orientadas a Servicio 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 - WSDL
  • 14. 14 Sistemas Distribuidos – Arquitecturas Orientadas a Servicio Servicios Web – XML con WSDL Sistemas Distribuidos – Arquitecturas Orientadas a Servicio Servicios Web – XML con WSDL
  • 15. 15 Sistemas Distribuidos – Arquitecturas Orientadas a Servicio Conclusió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. ¿Por qué los Web Services tienen gran potencial? Sistemas Distribuidos – Arquitecturas Orientadas a Servicio 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.