SlideShare una empresa de Scribd logo
1 de 37
Desarrollo y consumo de
servicios web
Antonio J. Contreras Septiembre 2005
(CC) Antonio Jesús Contreras Sánchez Septiembre 2002
Introducción a los Servicios Web
 Introducción a los Servicios Web
 ¿Qué son?
 Justificación de la tecnología
 Componentes
 Estándares de los servicios Web
 Creación de Servicios Web
 Consumo de Servicios Web
(CC) Antonio Jesús Contreras Sánchez Septiembre 2003
Qué son los servicios Web - I
 Definición que varía según el autor,
dependiendo de si el servicio incluye todos
los componentes del Web Services Protocol
Stack.
 A “grosso modo”, podemos definirlos como
un conjunto de tecnologías que permiten
computación distribuida
 Cambio de filosofía respecto a la
computación distribuida tradicional:
Cliente – servidor a peer-to-peer
(CC) Antonio Jesús Contreras Sánchez Septiembre 2004
Qué son los servicios Web - II
 Definición estricta:
un Servicio Web es una colección de protocolos y
estándares que sirve para intercambiar datos entre
aplicaciones. Las aplicaciones que proporcionan
datos (servicio) pueden ser:
 Descritas por un lenguaje de descripción del servicio
(WSDL)
 Publicadas en un registro (UDDI)
 Encontradas en ese registro
 Invocadas para usar el servicio, usando un formato de
mensaje (SOAP)
(CC) Antonio Jesús Contreras Sánchez Septiembre 2005
Qué son los servicios Web - III
 Definición genérica:
 Relajación de la definición estricta. No
tienen por que estar todos los elementos.
 conjunto de tecnologías que permiten
utilizar funcionalidad existente en otras
aplicaciones (servicio) a través de una
infraestructura Web.
(CC) Antonio Jesús Contreras Sánchez Septiembre 2006
Justificación de la tecnología
 Reutilización: aprovechar recursos
existentes que serían costosos de
implementar
 Mejorar tecnologías previas:
 RPC
 Java - RMI
 CORBA
 DCOM
 Problemas: firewalls, no multiplataforma,
tecnología propietaria.
 Soportado por la industria
(CC) Antonio Jesús Contreras Sánchez Septiembre 2007
Justificación de la tecnología - II
 No todo son ventajas:
 Problemas con transacciones
 Ineficiente: basado en texto
 Problemas de seguridad: basado en http
(CC) Antonio Jesús Contreras Sánchez Septiembre 2008
Componentes de un Servicio Web
 Servicio (f(x)):
 Proveedor de
servicio Service
provider)
 Registro de
servicios (Service
broker)
 Solicitante de
servicios (Service
requester)
(CC) Antonio Jesús Contreras Sánchez Septiembre 2009
Estándares de Servicios Web - I
 XML (eXtended Markup Language):
 Estándar de manejo de datos del W3C
 El restos de estándares se basan en
éste.
 Otras tecnologías asociadas: Xschema,
Xpath, XSL.
 La información es fácilmente serializable:
son cadenas de texto, fácil transporte por
la red
(CC) Antonio Jesús Contreras Sánchez Septiembre 20010
Estándares de servicios Web
 SOAP (Simple Object Access Protocol):
 Evolución de xml-rpc
 Usa http como transporte (w3c)
 No ligado a tecnologías de componentes
 No ligado a lenguajes de programación
 Mensaje soap:
 Envoltorio
 Cabecera
 Cuerpo
(CC) Antonio Jesús Contreras Sánchez Septiembre 20011
Estándares de servicios Web
 WSDL (Web Services Description
Lenguaje):
 Estándar de descripción de servicios.
Soap no especifica nada.
 Trata de describir una aplicación
(servicio) para saber que hace, como lo
hace y donde se localiza.
(CC) Antonio Jesús Contreras Sánchez Septiembre 20012
Estándares de servicios Web
 UDDI (Universal Description, Discovery and
Integration):
 Existe un gran numero de servicios disponibles:
necesidad de organización.
 Directorio para almacenar información de
servicios web, entre otra, su descripción (wsdl)
 tModel: abstracción técnica,metadatos e
interfaces del servicio (generalmente en wsdl)
 Dos acciones básicas: pedir información y
publicar información.
(CC) Antonio Jesús Contreras Sánchez Septiembre 20013
Creación de servicios web
 Antes de nada
 Hola mundo.
(CC) Antonio Jesús Contreras Sánchez Septiembre 20014
Creación de servicios web
 Ejercicio 1:
 Paso de parámetros: sumar dos enteros
(CC) Antonio Jesús Contreras Sánchez Septiembre 20015
Creación de servicios web
 Ejercicio 2:
 Tipos de datos complejos: DataSet.
(CC) Antonio Jesús Contreras Sánchez Septiembre 20016
Creación de servicios web
 Ejercicio 3:
 Uso de encabezados soap para
autenticación.
(CC) Antonio Jesús Contreras Sánchez Septiembre 20017
Creación de servicios web
 Ejercicio 4:
 Excepciones soap.
(CC) Antonio Jesús Contreras Sánchez Septiembre 20018
Consumo de Servicios Web
 Ficheros generados por Visual
Studio .net:
 Archivo .wsdl
 Archivo .disco
 Archivo .map
 Archivo .cs
(CC) Antonio Jesús Contreras Sánchez Septiembre 20019
.wsdl: QUÉ
 Tipos de datos:
<types>
<s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/">
<s:element name="Sumar">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="a" type="s:int" />
<s:element minOccurs="1" maxOccurs="1" name="b" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="SumarResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="SumarResult" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
</types>
(CC) Antonio Jesús Contreras Sánchez Septiembre 20020
. wsdl: QUÉ
 Mensajes: análogos a parámetros de
una función.
<message name="SumarSoapIn">
<part name="parameters" element="s0:Sumar" />
</message>
<message name="SumarSoapOut">
<part name="parameters" element="s0:SumarResponse" />
</message>
(CC) Antonio Jesús Contreras Sánchez Septiembre 20021
. wsdl: QUÉ
 Tipos de puerto: lista de operaciones
permitidas y mensajes intercambiados
<portType name="ej1_sumarSoap">
<operation name="Sumar">
<input message="s0:SumarSoapIn" />
<output message="s0:SumarSoapOut" />
</operation>
</portType>
(CC) Antonio Jesús Contreras Sánchez Septiembre 20022
.wsdl: CÓMO
 Bindings: definición de protocolos de comunicación
<binding name="ej1_sumarSoap" type="s0:ej1_sumarSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"
style="document" />
<operation name="Sumar">
<soap:operation soapAction="http://tempuri.org/Sumar" style="document" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
</binding>
(CC) Antonio Jesús Contreras Sánchez Septiembre 20023
.wsdl:DÓNDE
 Servicio: conjunto de puertos, dónde puerto
indica la URI donde se hospeda el servicio
<service name="ej1_sumar">
<port name="ej1_sumarSoap" binding="s0:ej1_sumarSoap">
<soap:address
location="http://localhost/WebService1/ej1_sumar.asmx" />
</port>
</service>
(CC) Antonio Jesús Contreras Sánchez Septiembre 20024
.disco
 Permite establecer vínculos con las
descripciones del servicio, que pueden ser
publicas o no
<contractRef
ref="http://localhost/WebService1/ej1_sumar.asmx?wsdl"
docRef="http://localhost/WebService1/ej1_sumar.asmx"/>
(CC) Antonio Jesús Contreras Sánchez Septiembre 20025
.cs
 Clase que actúa como proxy en el
cliente.
 Aporta transparencia: no tenemos que
preocuparnos de conexiones,
mensajes soap, etc.
(CC) Antonio Jesús Contreras Sánchez Septiembre 20026
Consumo de Servicios Web
 Ejemplo 1:
 Sumar 2 números
(CC) Antonio Jesús Contreras Sánchez Septiembre 20027
Consumo de Servicios Web
 Ejercicio 1:
 Servicio de traducción automática:
Altavista Babelfish.
(CC) Antonio Jesús Contreras Sánchez Septiembre 20028
Consumo de Servicios Web
 La url de descripción de servicio es
conocida: no es necesario su
descubrimiento:
http://www.xmethods.net/sd/2001/BabelFishService.wsdl
(CC) Antonio Jesús Contreras Sánchez Septiembre 20029
Consumo de Servicios Web
 Ejercicio 2: descubrimiento de
servicios web
 http://uddi.microsoft.com/
 http://services.xmethods.net/
(CC) Antonio Jesús Contreras Sánchez Septiembre 20030
Consumo de Servicios Web
(CC) Antonio Jesús Contreras Sánchez Septiembre 20031
Consumo de Servicios Web
 Ejercicio 3:
 Rellenar un DataGrid con un DataSet.
(CC) Antonio Jesús Contreras Sánchez Septiembre 20032
Consumo de Servicios Web
 Ejercicio 4:
 Cabeceras soap.
(CC) Antonio Jesús Contreras Sánchez Septiembre 20033
Consumo de Servicios Web
 Ejercicio 5:
 Excepciones soap.
(CC) Antonio Jesús Contreras Sánchez Septiembre 20034
Seguridad en servicios Web
 Soap no propone nada acerca de seguridad
 Primera solución: aplicar políticas de seguridad como el resto
de aplicaciones web:
 SSL
 IIS/windows: mecanismos de autenticación
 https
 Problema:
 SSL es de una capa inferior, no distingue entre varios servicios
web del mismo punto de red, y https esta ligado con http
 Atados a plataforma windows, problemas con servicios web
complejos multiplataforma
 Mecanismos ajenos a los protocolos de servicios web
 Varias soluciones propuestas por la industria
(CC) Antonio Jesús Contreras Sánchez Septiembre 20035
Seguridad en servicios Web
 WS-Security:
 Propuesto por IBM, Microsoft y VeriSign,
actualmente gestionado por Oasis
 Extensión de SOAP
 Intercambio de tokens de seguridad entre
pares: integridad de mensaje,
confidencialidad y autenticación
 Problema en servicios complejos, gran
trafico de tokens de seguridad
(CC) Antonio Jesús Contreras Sánchez Septiembre 20036
Seguridad en servicios Web
 SAML (Security Assertion Markup
Language): framework para
intercambiar datos de autenticación y
autorización en servicios web.
 Conceptos de proveedor de
identidades y proveedor de servicios
 Propuesto por Oasis
 Mecanismo Single Sign-on
(CC) Antonio Jesús Contreras Sánchez Septiembre 20037
Enlaces de interés
 Generales
 http://msdn.microsoft.com/library/spa/default.asp?
url=/library/SPA/cpguide/html/cpconhandlingraisingexceptionsinxmlwebservices.asp
 es.wikipedia.org
 Sobre SOAP:
 http://www.perfectxml.com/articles/xml/soapguide.asp
 http://www.perfectxml.com/soap.asp
 Sobre WSDL:
 http://www.w3.org/TR/wsdl
 http://www.devxpert.com/tutors/wsdl/wsdl.asp
 http://www-128.ibm.com/developerworks/webservices/library/ws-soap/
 http://www.pocketsoap.com/wsdl/
 Sobre UDDI:
 http://www.uddi.org/
 http://uddi.microsoft.com/
 http://www.soapclient.com/uddisearch.html
 http://www-306.ibm.com/software/solutions/webservices/uddi/
 http://www.uddicentral.com/
 http://www.zvon.org/xxl/uddiReference/Output/
 http://services.xmethods.net/

Más contenido relacionado

La actualidad más candente

WCF for Dummies (Parte II)
WCF for Dummies (Parte II)WCF for Dummies (Parte II)
WCF for Dummies (Parte II)
Will.i.am
 
Windows communication foundation(wcf)
Windows communication foundation(wcf)Windows communication foundation(wcf)
Windows communication foundation(wcf)
Nanda Moran
 
Servicios web
Servicios webServicios web
Servicios web
itoomac02
 
WCF for Dummies (Parte I)
WCF for Dummies (Parte I)WCF for Dummies (Parte I)
WCF for Dummies (Parte I)
Will.i.am
 

La actualidad más candente (20)

Web services
Web services Web services
Web services
 
Web services1
Web services1Web services1
Web services1
 
Servicios web xml
Servicios web xmlServicios web xml
Servicios web xml
 
WCF for Dummies (Parte II)
WCF for Dummies (Parte II)WCF for Dummies (Parte II)
WCF for Dummies (Parte II)
 
PHP, casos de éxito y comparativas con otros lenguajes
PHP, casos de éxito y comparativas con otros lenguajesPHP, casos de éxito y comparativas con otros lenguajes
PHP, casos de éxito y comparativas con otros lenguajes
 
Curso programación páginas web con ASP.NET
Curso programación páginas web con ASP.NETCurso programación páginas web con ASP.NET
Curso programación páginas web con ASP.NET
 
Introducción a WCF
Introducción a WCFIntroducción a WCF
Introducción a WCF
 
Windows communication foundation(wcf)
Windows communication foundation(wcf)Windows communication foundation(wcf)
Windows communication foundation(wcf)
 
ASP.NET
ASP.NETASP.NET
ASP.NET
 
12-Unidad 3: Webservices-3.3. Inicio de Proyecto (Introducción, Contenidos In...
12-Unidad 3: Webservices-3.3. Inicio de Proyecto (Introducción, Contenidos In...12-Unidad 3: Webservices-3.3. Inicio de Proyecto (Introducción, Contenidos In...
12-Unidad 3: Webservices-3.3. Inicio de Proyecto (Introducción, Contenidos In...
 
Intro a ASP.NET
Intro a ASP.NETIntro a ASP.NET
Intro a ASP.NET
 
Servicios web
Servicios webServicios web
Servicios web
 
Windows Communication Foundation (WCF)
Windows Communication Foundation (WCF) Windows Communication Foundation (WCF)
Windows Communication Foundation (WCF)
 
Introducción ASP .NET
Introducción ASP .NET Introducción ASP .NET
Introducción ASP .NET
 
WCF for Dummies (Parte I)
WCF for Dummies (Parte I)WCF for Dummies (Parte I)
WCF for Dummies (Parte I)
 
Wcf - Clase Introductoria
Wcf - Clase IntroductoriaWcf - Clase Introductoria
Wcf - Clase Introductoria
 
9- Unidad 3: Webservices-3.1. Introducción, Conceptos y Características
9- Unidad 3: Webservices-3.1. Introducción, Conceptos y Características9- Unidad 3: Webservices-3.1. Introducción, Conceptos y Características
9- Unidad 3: Webservices-3.1. Introducción, Conceptos y Características
 
Asp.net
Asp.netAsp.net
Asp.net
 
Servicios web
Servicios webServicios web
Servicios web
 
Wcf
WcfWcf
Wcf
 

Destacado

Destacado (7)

In seguridad de aplicaciones web
In seguridad de aplicaciones webIn seguridad de aplicaciones web
In seguridad de aplicaciones web
 
API REST de Geoservicios de Esri y los Servicios estándar OGC Clásicos - JIID...
API REST de Geoservicios de Esri y los Servicios estándar OGC Clásicos - JIID...API REST de Geoservicios de Esri y los Servicios estándar OGC Clásicos - JIID...
API REST de Geoservicios de Esri y los Servicios estándar OGC Clásicos - JIID...
 
Web services
Web servicesWeb services
Web services
 
Sistemas Distibuidos y Servicios Web .NET
Sistemas Distibuidos y Servicios Web .NETSistemas Distibuidos y Servicios Web .NET
Sistemas Distibuidos y Servicios Web .NET
 
Introducción a REST - SymfonyVLC
Introducción a REST - SymfonyVLCIntroducción a REST - SymfonyVLC
Introducción a REST - SymfonyVLC
 
Servicios Web
Servicios WebServicios Web
Servicios Web
 
Introduccion a los Servicios Web Rest
Introduccion a los Servicios Web RestIntroduccion a los Servicios Web Rest
Introduccion a los Servicios Web Rest
 

Similar a Desarrollo y consumo de servicios web asp.net

23444719 monografia-de-web-services
23444719 monografia-de-web-services23444719 monografia-de-web-services
23444719 monografia-de-web-services
casper088
 
Introduction to wcf solutions
Introduction to wcf solutionsIntroduction to wcf solutions
Introduction to wcf solutions
MICTT Palma
 
G:\martin\servidores web
G:\martin\servidores webG:\martin\servidores web
G:\martin\servidores web
fernandez2010
 
Cinthia rguez
Cinthia rguezCinthia rguez
Cinthia rguez
ereuff89
 

Similar a Desarrollo y consumo de servicios web asp.net (20)

Redes final2
Redes final2Redes final2
Redes final2
 
12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del Proyecto12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del Proyecto
 
23444719 monografia-de-web-services
23444719 monografia-de-web-services23444719 monografia-de-web-services
23444719 monografia-de-web-services
 
Servicios web(alma y veronica)
Servicios web(alma y veronica)Servicios web(alma y veronica)
Servicios web(alma y veronica)
 
Servicios Web
Servicios WebServicios Web
Servicios Web
 
Java2 servicios web
Java2 servicios webJava2 servicios web
Java2 servicios web
 
Manual webservices
Manual webservicesManual webservices
Manual webservices
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
Introduction to wcf solutions
Introduction to wcf solutionsIntroduction to wcf solutions
Introduction to wcf solutions
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Servicios web ITT
Servicios web ITTServicios web ITT
Servicios web ITT
 
Servicios web itt
Servicios web ittServicios web itt
Servicios web itt
 
Servicios web itt
Servicios web ittServicios web itt
Servicios web itt
 
Wcf - Clase 1
Wcf - Clase 1Wcf - Clase 1
Wcf - Clase 1
 
G:\martin\servidores web
G:\martin\servidores webG:\martin\servidores web
G:\martin\servidores web
 
5-Unidad 2: Diseños de Vista-2.2 Para Web
5-Unidad 2: Diseños de Vista-2.2 Para Web5-Unidad 2: Diseños de Vista-2.2 Para Web
5-Unidad 2: Diseños de Vista-2.2 Para Web
 
UDA-Guia desarrollo web services
UDA-Guia desarrollo web servicesUDA-Guia desarrollo web services
UDA-Guia desarrollo web services
 
Cinthia rguez
Cinthia rguezCinthia rguez
Cinthia rguez
 
Curso Desarrollo Android
Curso Desarrollo AndroidCurso Desarrollo Android
Curso Desarrollo Android
 

Desarrollo y consumo de servicios web asp.net

  • 1. Desarrollo y consumo de servicios web Antonio J. Contreras Septiembre 2005
  • 2. (CC) Antonio Jesús Contreras Sánchez Septiembre 2002 Introducción a los Servicios Web  Introducción a los Servicios Web  ¿Qué son?  Justificación de la tecnología  Componentes  Estándares de los servicios Web  Creación de Servicios Web  Consumo de Servicios Web
  • 3. (CC) Antonio Jesús Contreras Sánchez Septiembre 2003 Qué son los servicios Web - I  Definición que varía según el autor, dependiendo de si el servicio incluye todos los componentes del Web Services Protocol Stack.  A “grosso modo”, podemos definirlos como un conjunto de tecnologías que permiten computación distribuida  Cambio de filosofía respecto a la computación distribuida tradicional: Cliente – servidor a peer-to-peer
  • 4. (CC) Antonio Jesús Contreras Sánchez Septiembre 2004 Qué son los servicios Web - II  Definición estricta: un Servicio Web es una colección de protocolos y estándares que sirve para intercambiar datos entre aplicaciones. Las aplicaciones que proporcionan datos (servicio) pueden ser:  Descritas por un lenguaje de descripción del servicio (WSDL)  Publicadas en un registro (UDDI)  Encontradas en ese registro  Invocadas para usar el servicio, usando un formato de mensaje (SOAP)
  • 5. (CC) Antonio Jesús Contreras Sánchez Septiembre 2005 Qué son los servicios Web - III  Definición genérica:  Relajación de la definición estricta. No tienen por que estar todos los elementos.  conjunto de tecnologías que permiten utilizar funcionalidad existente en otras aplicaciones (servicio) a través de una infraestructura Web.
  • 6. (CC) Antonio Jesús Contreras Sánchez Septiembre 2006 Justificación de la tecnología  Reutilización: aprovechar recursos existentes que serían costosos de implementar  Mejorar tecnologías previas:  RPC  Java - RMI  CORBA  DCOM  Problemas: firewalls, no multiplataforma, tecnología propietaria.  Soportado por la industria
  • 7. (CC) Antonio Jesús Contreras Sánchez Septiembre 2007 Justificación de la tecnología - II  No todo son ventajas:  Problemas con transacciones  Ineficiente: basado en texto  Problemas de seguridad: basado en http
  • 8. (CC) Antonio Jesús Contreras Sánchez Septiembre 2008 Componentes de un Servicio Web  Servicio (f(x)):  Proveedor de servicio Service provider)  Registro de servicios (Service broker)  Solicitante de servicios (Service requester)
  • 9. (CC) Antonio Jesús Contreras Sánchez Septiembre 2009 Estándares de Servicios Web - I  XML (eXtended Markup Language):  Estándar de manejo de datos del W3C  El restos de estándares se basan en éste.  Otras tecnologías asociadas: Xschema, Xpath, XSL.  La información es fácilmente serializable: son cadenas de texto, fácil transporte por la red
  • 10. (CC) Antonio Jesús Contreras Sánchez Septiembre 20010 Estándares de servicios Web  SOAP (Simple Object Access Protocol):  Evolución de xml-rpc  Usa http como transporte (w3c)  No ligado a tecnologías de componentes  No ligado a lenguajes de programación  Mensaje soap:  Envoltorio  Cabecera  Cuerpo
  • 11. (CC) Antonio Jesús Contreras Sánchez Septiembre 20011 Estándares de servicios Web  WSDL (Web Services Description Lenguaje):  Estándar de descripción de servicios. Soap no especifica nada.  Trata de describir una aplicación (servicio) para saber que hace, como lo hace y donde se localiza.
  • 12. (CC) Antonio Jesús Contreras Sánchez Septiembre 20012 Estándares de servicios Web  UDDI (Universal Description, Discovery and Integration):  Existe un gran numero de servicios disponibles: necesidad de organización.  Directorio para almacenar información de servicios web, entre otra, su descripción (wsdl)  tModel: abstracción técnica,metadatos e interfaces del servicio (generalmente en wsdl)  Dos acciones básicas: pedir información y publicar información.
  • 13. (CC) Antonio Jesús Contreras Sánchez Septiembre 20013 Creación de servicios web  Antes de nada  Hola mundo.
  • 14. (CC) Antonio Jesús Contreras Sánchez Septiembre 20014 Creación de servicios web  Ejercicio 1:  Paso de parámetros: sumar dos enteros
  • 15. (CC) Antonio Jesús Contreras Sánchez Septiembre 20015 Creación de servicios web  Ejercicio 2:  Tipos de datos complejos: DataSet.
  • 16. (CC) Antonio Jesús Contreras Sánchez Septiembre 20016 Creación de servicios web  Ejercicio 3:  Uso de encabezados soap para autenticación.
  • 17. (CC) Antonio Jesús Contreras Sánchez Septiembre 20017 Creación de servicios web  Ejercicio 4:  Excepciones soap.
  • 18. (CC) Antonio Jesús Contreras Sánchez Septiembre 20018 Consumo de Servicios Web  Ficheros generados por Visual Studio .net:  Archivo .wsdl  Archivo .disco  Archivo .map  Archivo .cs
  • 19. (CC) Antonio Jesús Contreras Sánchez Septiembre 20019 .wsdl: QUÉ  Tipos de datos: <types> <s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/"> <s:element name="Sumar"> <s:complexType> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="a" type="s:int" /> <s:element minOccurs="1" maxOccurs="1" name="b" type="s:int" /> </s:sequence> </s:complexType> </s:element> <s:element name="SumarResponse"> <s:complexType> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="SumarResult" type="s:int" /> </s:sequence> </s:complexType> </s:element> </s:schema> </types>
  • 20. (CC) Antonio Jesús Contreras Sánchez Septiembre 20020 . wsdl: QUÉ  Mensajes: análogos a parámetros de una función. <message name="SumarSoapIn"> <part name="parameters" element="s0:Sumar" /> </message> <message name="SumarSoapOut"> <part name="parameters" element="s0:SumarResponse" /> </message>
  • 21. (CC) Antonio Jesús Contreras Sánchez Septiembre 20021 . wsdl: QUÉ  Tipos de puerto: lista de operaciones permitidas y mensajes intercambiados <portType name="ej1_sumarSoap"> <operation name="Sumar"> <input message="s0:SumarSoapIn" /> <output message="s0:SumarSoapOut" /> </operation> </portType>
  • 22. (CC) Antonio Jesús Contreras Sánchez Septiembre 20022 .wsdl: CÓMO  Bindings: definición de protocolos de comunicación <binding name="ej1_sumarSoap" type="s0:ej1_sumarSoap"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> <operation name="Sumar"> <soap:operation soapAction="http://tempuri.org/Sumar" style="document" /> <input> <soap:body use="literal" /> </input> <output> <soap:body use="literal" /> </output> </operation> </binding>
  • 23. (CC) Antonio Jesús Contreras Sánchez Septiembre 20023 .wsdl:DÓNDE  Servicio: conjunto de puertos, dónde puerto indica la URI donde se hospeda el servicio <service name="ej1_sumar"> <port name="ej1_sumarSoap" binding="s0:ej1_sumarSoap"> <soap:address location="http://localhost/WebService1/ej1_sumar.asmx" /> </port> </service>
  • 24. (CC) Antonio Jesús Contreras Sánchez Septiembre 20024 .disco  Permite establecer vínculos con las descripciones del servicio, que pueden ser publicas o no <contractRef ref="http://localhost/WebService1/ej1_sumar.asmx?wsdl" docRef="http://localhost/WebService1/ej1_sumar.asmx"/>
  • 25. (CC) Antonio Jesús Contreras Sánchez Septiembre 20025 .cs  Clase que actúa como proxy en el cliente.  Aporta transparencia: no tenemos que preocuparnos de conexiones, mensajes soap, etc.
  • 26. (CC) Antonio Jesús Contreras Sánchez Septiembre 20026 Consumo de Servicios Web  Ejemplo 1:  Sumar 2 números
  • 27. (CC) Antonio Jesús Contreras Sánchez Septiembre 20027 Consumo de Servicios Web  Ejercicio 1:  Servicio de traducción automática: Altavista Babelfish.
  • 28. (CC) Antonio Jesús Contreras Sánchez Septiembre 20028 Consumo de Servicios Web  La url de descripción de servicio es conocida: no es necesario su descubrimiento: http://www.xmethods.net/sd/2001/BabelFishService.wsdl
  • 29. (CC) Antonio Jesús Contreras Sánchez Septiembre 20029 Consumo de Servicios Web  Ejercicio 2: descubrimiento de servicios web  http://uddi.microsoft.com/  http://services.xmethods.net/
  • 30. (CC) Antonio Jesús Contreras Sánchez Septiembre 20030 Consumo de Servicios Web
  • 31. (CC) Antonio Jesús Contreras Sánchez Septiembre 20031 Consumo de Servicios Web  Ejercicio 3:  Rellenar un DataGrid con un DataSet.
  • 32. (CC) Antonio Jesús Contreras Sánchez Septiembre 20032 Consumo de Servicios Web  Ejercicio 4:  Cabeceras soap.
  • 33. (CC) Antonio Jesús Contreras Sánchez Septiembre 20033 Consumo de Servicios Web  Ejercicio 5:  Excepciones soap.
  • 34. (CC) Antonio Jesús Contreras Sánchez Septiembre 20034 Seguridad en servicios Web  Soap no propone nada acerca de seguridad  Primera solución: aplicar políticas de seguridad como el resto de aplicaciones web:  SSL  IIS/windows: mecanismos de autenticación  https  Problema:  SSL es de una capa inferior, no distingue entre varios servicios web del mismo punto de red, y https esta ligado con http  Atados a plataforma windows, problemas con servicios web complejos multiplataforma  Mecanismos ajenos a los protocolos de servicios web  Varias soluciones propuestas por la industria
  • 35. (CC) Antonio Jesús Contreras Sánchez Septiembre 20035 Seguridad en servicios Web  WS-Security:  Propuesto por IBM, Microsoft y VeriSign, actualmente gestionado por Oasis  Extensión de SOAP  Intercambio de tokens de seguridad entre pares: integridad de mensaje, confidencialidad y autenticación  Problema en servicios complejos, gran trafico de tokens de seguridad
  • 36. (CC) Antonio Jesús Contreras Sánchez Septiembre 20036 Seguridad en servicios Web  SAML (Security Assertion Markup Language): framework para intercambiar datos de autenticación y autorización en servicios web.  Conceptos de proveedor de identidades y proveedor de servicios  Propuesto por Oasis  Mecanismo Single Sign-on
  • 37. (CC) Antonio Jesús Contreras Sánchez Septiembre 20037 Enlaces de interés  Generales  http://msdn.microsoft.com/library/spa/default.asp? url=/library/SPA/cpguide/html/cpconhandlingraisingexceptionsinxmlwebservices.asp  es.wikipedia.org  Sobre SOAP:  http://www.perfectxml.com/articles/xml/soapguide.asp  http://www.perfectxml.com/soap.asp  Sobre WSDL:  http://www.w3.org/TR/wsdl  http://www.devxpert.com/tutors/wsdl/wsdl.asp  http://www-128.ibm.com/developerworks/webservices/library/ws-soap/  http://www.pocketsoap.com/wsdl/  Sobre UDDI:  http://www.uddi.org/  http://uddi.microsoft.com/  http://www.soapclient.com/uddisearch.html  http://www-306.ibm.com/software/solutions/webservices/uddi/  http://www.uddicentral.com/  http://www.zvon.org/xxl/uddiReference/Output/  http://services.xmethods.net/