WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP –...

106
WSE 2.0 WSE 2.0 (.NET Web Services (.NET Web Services Enhancements) Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento www.renacimiento.com

Transcript of WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP –...

Page 1: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

WSE 2.0 WSE 2.0 (.NET Web Services Enhancements)(.NET Web Services Enhancements)

César de la TorreSoftware Architect[Microsoft MVP – XML WebServices][MCSE] [MCT]Renacimientowww.renacimiento.com

Page 2: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

AgendaAgenda Arquitecturas SOA (Service Oriented Arquitecturas SOA (Service Oriented

Architectures)Architectures) XML Web Services básicosXML Web Services básicos Introducción a WSE 2.0Introducción a WSE 2.0 Arquitectura-Módulos de WSE 2.0Arquitectura-Módulos de WSE 2.0 WSE 2.0 - SecurityWSE 2.0 - Security WSE 2.0 – Messaging y AddressingWSE 2.0 – Messaging y Addressing WSE 2.0 - Policy WSE 2.0 - Policy

Page 3: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Arquitecturas distribuidasArquitecturas distribuidasAntesAntes Sin estándares universales no hay Sin estándares universales no hay

interoperabilidadinteroperabilidad Múltiples tecnologías para hacer lo mismoMúltiples tecnologías para hacer lo mismo

No interoperables entre síNo interoperables entre sí Ligados a una plataformaLigados a una plataforma

DCOM CORBA

RPC IIOP

NDR CDR

IDL OMG IDL

RPC Protocol

Message Format

Description

Windows Registry Naming ServiceDiscovery

Java RMI

IIOP or JRMP

Java Ser. Format

Java

RMI Registry or JNDI

Page 4: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Arquitecturas distribuidasArquitecturas distribuidasAhoraAhora Los usuarios no quieren cerrarse a una Los usuarios no quieren cerrarse a una

plataformaplataforma Es necesaria una arquitectura sin Es necesaria una arquitectura sin

premisas e independiente…premisas e independiente… De la plataformaDe la plataforma Del lenguajeDel lenguaje De los objetosDe los objetos De los mecanismos de llamadaDe los mecanismos de llamada

Bienvenido a SOA…Bienvenido a SOA… Service Oriented ArquitectureService Oriented Arquitecture

Page 5: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Arquitecturas distribuidasArquitecturas distribuidasSOASOA

SOA ve el mundo de una forma SOA ve el mundo de una forma distintadistinta Servicios autónomosServicios autónomos Fronteras explícitas, asumir heterogeneidadFronteras explícitas, asumir heterogeneidad Plataformas disparesPlataformas dispares Integración basada en mensajes XMLIntegración basada en mensajes XML

Se comparte el esquema, no la claseSe comparte el esquema, no la clase

Page 6: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

XML 1.0 + NamespacesXML 1.0 + Namespaces

Servicios Web Básicos (WS-I)Servicios Web Básicos (WS-I)

XSDXSD

SOAPSOAP

WSDLWSDL

UDDIUDDI

Sistema de tipos PortableSistema de tipos Portable

Mensajes SerializadosMensajes Serializados

Protocolo de mensajesProtocolo de mensajes

Descripción de WSDescripción de WS

Registro de WSRegistro de WS

ProtocolosProtocolos

Lenguajes de DescripciónLenguajes de Descripción

Mecanismos de DescubrimientoMecanismos de Descubrimiento

Ver ws-i.org para Ver ws-i.org para mas detallesmas detalles

Page 7: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Definición de Servicio WebDefinición de Servicio Web

Una aplicación o servicio que…Una aplicación o servicio que… Se comunica mediante protocolos abiertos Se comunica mediante protocolos abiertos

de Internet (como HTTP, SMTP, etc.) de Internet (como HTTP, SMTP, etc.) Procesa mensajes XML con SOAPProcesa mensajes XML con SOAP Describe los mensajes utilizando Describe los mensajes utilizando

‘Esquemas XML’‘Esquemas XML’ Proporciona un interfaz de descripción con Proporciona un interfaz de descripción con

WSDLWSDL Puede descubrirse mediante UDDIPuede descubrirse mediante UDDI

Servicio Web XMLServicio Web XML

Page 8: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Servicios WebServicios WebProtocolosProtocolos

Servicios publicadosServicios publicadosServicios publicadosServicios publicados

Registro UDDI

AplicaciónAplicaciónClienteCliente

AplicaciónAplicaciónClienteCliente

Descubrimientomediante

UDDI

Servicio 1Servicio 1Servicio 1Servicio 1

ServicioServicio

Servicio Servicio WebWeb

Servicio Servicio WebWeb

Invocación/Acceso mediante SOAPTransporte mediante HTTP / SMTP / WAP MensajeMensaje

SOAPSOAP

MensajeMensajeSOAPSOAP

Publicaciónmediante

UDDI

Descripción mediante WSDLXMLXML

SchemaSchemaWSDLWSDL

XMLXMLSchemaSchemaWSDLWSDL

Page 9: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Implementación .NET WS-IImplementación .NET WS-IWeb-Methods .ASMXWeb-Methods .ASMX ASP.NET (ASP.NET (Web-Methods ASMX)Web-Methods ASMX) permite permite

exponer clases .NET como servicios webexponer clases .NET como servicios web Atributos [WebService], [WebMethod]Atributos [WebService], [WebMethod] Traduce peticiones SOAPTraduce peticiones SOAP Genera automáticamente WSDL Genera automáticamente WSDL

Acceso a toda la funcionalidad ASP.NETAcceso a toda la funcionalidad ASP.NET SesiónSesión SeguridadSeguridad Extensiones, etc.Extensiones, etc.

Page 10: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Implementación .NETImplementación .NETConsumo de servicios webConsumo de servicios web

Herramienta WSDL.exeHerramienta WSDL.exe Genera un proxy a partir de un WSDLGenera un proxy a partir de un WSDL Llamada por “add reference” en VS.NETLlamada por “add reference” en VS.NET

Clase proxy derivada de Clase proxy derivada de SoapHttpClientProtocolSoapHttpClientProtocol Con métodos semejantes al Web ServiceCon métodos semejantes al Web Service Métodos comunesMétodos comunes

AutentificaciónAutentificación Llamadas asíncronasLlamadas asíncronas

Page 11: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Servicios Web básicos Servicios Web básicos con .NETcon .NET

Page 12: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

¿Son suficientes los WS Básicos?¿Son suficientes los WS Básicos?

Los WS básicos (XSD, SOAP, WSDL, Los WS básicos (XSD, SOAP, WSDL, UDDI) consiguen una comunicación UDDI) consiguen una comunicación básicabásica Proporcionan intercambio básico de Proporcionan intercambio básico de

mensajes XMLmensajes XML Interconexión de sistemas heterogéneosInterconexión de sistemas heterogéneos La compartición de esquemas permite La compartición de esquemas permite

mayores abstraccionesmayores abstracciones

PERO, la mayoría de las aplicaciones PERO, la mayoría de las aplicaciones distribuidas necesitan MAS…distribuidas necesitan MAS…

Page 13: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Temas Pendientes AbiertosTemas Pendientes Abiertos

Los Sevicios-Web tienen muchas Los Sevicios-Web tienen muchas necesidades comunesnecesidades comunes Modelo de seguridad ‘orientado a Modelo de seguridad ‘orientado a

mensajes’mensajes’ Mensajería estable y confiableMensajería estable y confiable Soporte de Transacciones (entre WS)Soporte de Transacciones (entre WS) Mecanismos de Direccionamiento y RuteoMecanismos de Direccionamiento y Ruteo Mensajería AsíncronaMensajería Asíncrona Metadatos para ‘Políticas’ de WSMetadatos para ‘Políticas’ de WS Soporte para datos binariosSoporte para datos binarios

Page 14: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

SOAP FrameworkSOAP Framework

SOAP proporciona un marco de trabajo SOAP proporciona un marco de trabajo para gestionar aspectos nuevospara gestionar aspectos nuevos Header/Body permiten extensibilidadHeader/Body permiten extensibilidad

<soap:Envelope<soap:Envelope xmlns:soap="...">xmlns:soap="..."> <soap:Header><soap:Header>

</soap:Header></soap:Header> <soap:Body><soap:Body>

</soap:Body></soap:Body></soap:Envelope></soap:Envelope>

<!-- Trabajo --><!-- Trabajo -->

<!–Etensibilidad estandard con Cabeceras <!–Etensibilidad estandard con Cabeceras -->-->

Page 15: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Extensibilidad de SOAPExtensibilidad de SOAP SOAP no define cabeceras por si SOAP no define cabeceras por si

mismomismo Las Cabeceras ‘reconocidas’ son las Las Cabeceras ‘reconocidas’ son las

que permiten a las app. negociarque permiten a las app. negociar HTTP usa cabeceras para negociar HTTP usa cabeceras para negociar

serviciosservicios

WS-* (nuevas ESPECIFICACIONES WS) WS-* (nuevas ESPECIFICACIONES WS) extiende SOAP con cabeceras extiende SOAP con cabeceras estandardestandard Ahora necesitamos las implementaciones Ahora necesitamos las implementaciones

de diferentes fabricantes (MS, etc.)de diferentes fabricantes (MS, etc.)

Page 16: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

WS-* WS-* Son las ESPECIFICACIONES ESTANDARD Son las ESPECIFICACIONES ESTANDARD que están siendo definidas por múltiples que están siendo definidas por múltiples fabricantesfabricantes

- Microsoft, IBM, HP, Fujitsu, BEA, - Microsoft, IBM, HP, Fujitsu, BEA, VeriSign, SUN, Oracle, CA, Nokia, VeriSign, SUN, Oracle, CA, Nokia, CommerceOne, Documentum, TIBCO, etc.CommerceOne, Documentum, TIBCO, etc.

Especificaciones disponibles en:Especificaciones disponibles en:

http://http://www.oasiswww.oasis--open.orgopen.org

Page 17: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

La nueva Pila de ProtocolosLa nueva Pila de Protocolos WS-* WS-*

Microsoft junto con otros partners está Microsoft junto con otros partners está desarrollando su implementación de la desarrollando su implementación de la pila de protocolos WS-*pila de protocolos WS-* Cubrirá la mayoría de dichos estándares Cubrirá la mayoría de dichos estándares

todavía pendientestodavía pendientes Desarrollados sobre SOAP, de forma Desarrollados sobre SOAP, de forma

neutralneutral Ofrece mensajes seguros, confiables y en Ofrece mensajes seguros, confiables y en

el futuro transaccionalesel futuro transaccionales

Page 18: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

WS-* Pila de ProtocolosWS-* Pila de Protocolos

PlataformaPlataformaBaseBase

Aplicaciones eAplicaciones eInraestructura Inraestructura

de Aplicacionesde Aplicaciones

TransportesTransportes

Aplicaciones Aplicaciones ConectadasConectadas GestiónGestión Procesos Procesos

de Negociode Negocio……

SeguridadSeguridad ConfiabilidadConfiabilidad TransaccionesTransacciones

MensajeríaMensajería

XMLXML

Met

adat

os

Met

adat

os

HTTPHTTP TCPTCP SMTPSMTP ……

Page 19: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

WS-* Especificaciones (Resumen)WS-* Especificaciones (Resumen)

MessagingMessaging WS-AddressingWS-Addressing WS-Eventing WS-Eventing MTOM (Attachments)MTOM (Attachments)

ReliabilityReliability WS-ReliableMessagingWS-ReliableMessaging

SecuritySecurity WS-SecurityWS-Security WS-TrustWS-Trust WS-SecureConversationWS-SecureConversation WS-FederationWS-Federation

TransactionsTransactions WS-CoordinationWS-Coordination WS-AtomicTransactionWS-AtomicTransaction WS-BusinessActivityWS-BusinessActivity

MetadataMetadata WS-PolicyWS-Policy WS-PolicyAssertionsWS-PolicyAssertions WS-PolicyAttachmentWS-PolicyAttachment WS-SecurityPolicyWS-SecurityPolicy WS-DiscoveryWS-Discovery WS-MetadataExchangeWS-MetadataExchange

Page 20: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Plataformas Servicios Web .NETPlataformas Servicios Web .NET ASMX es la plataforma actual de WS en .NETASMX es la plataforma actual de WS en .NET

Soporta funciones básicas para servicios Soporta funciones básicas para servicios sencillossencillos

No implementa las especificaciones WS-*No implementa las especificaciones WS-* WSE 2.0 es una extensión de la plataforma WSE 2.0 es una extensión de la plataforma

actualactual Puede utilizarse para extender el comportamiento Puede utilizarse para extender el comportamiento

de ASMXde ASMX Puede utilizarse de forma separada sin ASMXPuede utilizarse de forma separada sin ASMX Implementa agunas de las especific. WS-*Implementa agunas de las especific. WS-*

‘‘Indigo’ es la siguiente generación de Indigo’ es la siguiente generación de plataforma de WebServicesplataforma de WebServices Proporcionará una solución completa WS-*Proporcionará una solución completa WS-*

Page 21: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Introducción a WSE 2.0Introducción a WSE 2.0(Web Services Extensions 2.0)(Web Services Extensions 2.0)

Page 22: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Arquitectura Futura de WSArquitectura Futura de WSRoadmapRoadmap

Seguridad Mensajeríaconfiable

Transacciones

Mensajería

XML

Meta

dato

s

TransportesTransportes

Aplicaciones ConectadasAplicaciones Conectadas

Page 23: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Siguiente generación de Siguiente generación de Plataforma WSPlataforma WS Las plataformas de Servicios-Web Las plataformas de Servicios-Web

tienen que evolucionar para cubrir los tienen que evolucionar para cubrir los nuevos estándares (WS-*)nuevos estándares (WS-*) Seguridad, confiabilidad, mensajes Seguridad, confiabilidad, mensajes

transaccionalestransaccionales

Inicialmente, ¿Como extendemos Inicialmente, ¿Como extendemos ASMX para conseguir esto?ASMX para conseguir esto?

Page 24: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

SoapExtension FrameworkSoapExtension Framework

ASMX proporciona un framework para ASMX proporciona un framework para la extensibilidadla extensibilidad

Puedes desarrollar una clase que será Puedes desarrollar una clase que será invocada:invocada: Antes y después del procesamiento del Antes y después del procesamiento del

mensaje SOAP mensaje SOAP

Page 25: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Niveles de SoapExtensionNiveles de SoapExtension

SOAP extension en cada nivelSOAP extension en cada nivel

ASMX HandlerASMX Handler

Clase ServicioWebClase ServicioWeb

[WebMethod][WebMethod]public int sumar public int sumar int x, int y)int x, int y){{ return x+y;return x+y;}}

<soap:Envelope <soap:Envelope … …</soap:Envelope></soap:Envelope>

<soap:Envelope <soap:Envelope … …</soap:Envelope></soap:Envelope>

XmlSerializerXmlSerializer

Invocación a Extension (1)Invocación a Extension (1) Invocacíón a Extensión (2)Invocacíón a Extensión (2)

Invocación a Extensión (3)Invocación a Extensión (3)Invocación a Extensión (4)Invocación a Extensión (4)

Page 26: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Configuración de una Extensión SOAPConfiguración de una Extensión SOAP La Clase Extensión puede asociarse La Clase Extensión puede asociarse

con todos los WebMethods de un WScon todos los WebMethods de un WS La ‘Extension class’ se especifica en el La ‘Extension class’ se especifica en el

web.configweb.config Es llamada por cada WebMethod del WSEs llamada por cada WebMethod del WS

La Clase Extensión puede asociarse La Clase Extensión puede asociarse con un WebMethod específicocon un WebMethod específico Los métodos marcados con un atributo Los métodos marcados con un atributo

especial que especifique la Clase especial que especifique la Clase ExtensiónExtensión

La Clase Extensión es llamada solamente La Clase Extensión es llamada solamente para dicho WebMethodpara dicho WebMethod

Page 27: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Configuración de una Extensión SOAPConfiguración de una Extensión SOAP

Para cada WebMethod del WSPara cada WebMethod del WS<configuration><configuration> <system.web><system.web> <webServices><webServices> <soapExtensionTypes><soapExtensionTypes> <add type="ExtensionDeValidacion, UtilValidar" <add type="ExtensionDeValidacion, UtilValidar" priority="1" group="0" />priority="1" group="0" /> </soapExtensionTypes></soapExtensionTypes> </webServices></webServices> </system.web></system.web></configuration></configuration>

Page 28: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

¿Dónde estamos?¿Dónde estamos?

OK, por ahora sabemos que podríamos OK, por ahora sabemos que podríamos extender los Servicios Web .ASMX extender los Servicios Web .ASMX de .NET 1.1 mediante la Clase de .NET 1.1 mediante la Clase SoapExtensionSoapExtension

Y… Así se ha extendido con WSE 2.0Y… Así se ha extendido con WSE 2.0 Pero, ¿qué es exactamente Microsoft Pero, ¿qué es exactamente Microsoft

WSE 2.0?WSE 2.0?

Page 29: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

WSE 2.0WSE 2.0 (Microsoft Web Services Enhancements) (Microsoft Web Services Enhancements)

¿Qué es?¿Qué es? Extensión de los Servicios Web de .NET Extensión de los Servicios Web de .NET

1.1.1.1. Implementa varias especificaciones WS-*Implementa varias especificaciones WS-* Plenamente soportadoPlenamente soportado

Pero implementa especificaciones en Pero implementa especificaciones en borradorborrador

Integrado con Visual Studio 2003Integrado con Visual Studio 2003Descargable gratuitamente enDescargable gratuitamente en

http://msdn.microsoft.com/webservices/building/wse/default.aspx

Page 30: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

A nivel lógico es parte de .NET Framework, A nivel lógico es parte de .NET Framework, pero se le mantiene ‘separado’ mientras estos pero se le mantiene ‘separado’ mientras estos estándares estén evolucionandoestándares estén evolucionando Soportado por 2+1 añosSoportado por 2+1 años Está planificado aprox. un release al añoEstá planificado aprox. un release al año

Versión 1 liberado en Dic 2002 (SP en Marzo 2003)Versión 1 liberado en Dic 2002 (SP en Marzo 2003) Versión 2 Versión 2

Tech.Preview liberado 16 Jul 2003Tech.Preview liberado 16 Jul 2003 SP1 Liberado 12 Marzo 2004SP1 Liberado 12 Marzo 2004 SP2 Liberado 3 Diciembre 2004SP2 Liberado 3 Diciembre 2004

BeneficiosBeneficios Permite a ‘early-adopters’ usar los últimos Permite a ‘early-adopters’ usar los últimos

estándaresestándares Permite a MS obtener ‘feedback’ del mundo realPermite a MS obtener ‘feedback’ del mundo real

WSE 2.0 WSE 2.0 (Web Services Enhancements) (Web Services Enhancements)

Page 31: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

WSE 2.0WSE 2.0

¿Cómo es internamente?¿Cómo es internamente? 1.- Proporciona una ‘Extensión SOAP’ 1.- Proporciona una ‘Extensión SOAP’

para usarla con los WebMethodspara usarla con los WebMethods 2.- También Se puede emplear sin 2.- También Se puede emplear sin

apoyarse en .ASMX (p.e. con Messaging-apoyarse en .ASMX (p.e. con Messaging-TCP ó Mesaging in-process)TCP ó Mesaging in-process)

Page 32: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

¿Por qué usar hoy WSE 2.0?¿Por qué usar hoy WSE 2.0? Las aplicaciones reales de negocio Las aplicaciones reales de negocio

tienen muchos requerimientos que los tienen muchos requerimientos que los WS básicos carecen. Hay dos WS básicos carecen. Hay dos opciones:opciones: Desarrollar mis propias extensiones Desarrollar mis propias extensiones

desde cerodesde cero Aprovechar WSE 2.0Aprovechar WSE 2.0

Es posible que .NET Remoting se Es posible que .NET Remoting se descontinúe con la aparición de descontinúe con la aparición de INDIGOINDIGO

Ir trabajando con tecnologías de futuroIr trabajando con tecnologías de futuro

Page 33: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Módulos de Arquitectura WS-* Módulos de Arquitectura WS-* implementados en WSE 2.0 implementados en WSE 2.0

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

MensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

SeguridadSeguridad

Mensajería

Page 34: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Soporte en WSE 2.0 de Soporte en WSE 2.0 de especificaciones WS-*especificaciones WS-*

MessagingMessaging WS-MessagingWS-Messaging WS-AddressingWS-Addressing WS-Eventing WS-Eventing MTOM (Attachments)MTOM (Attachments)

ReliabilityReliability WS-ReliableMessagingWS-ReliableMessaging

SecuritySecurity WS-SecurityWS-Security WS-TrustWS-Trust WS-SecureConversationWS-SecureConversation WS-FederationWS-Federation

TransactionsTransactions WS-CoordinationWS-Coordination WS-AtomicTransactionWS-AtomicTransaction WS-BusinessActivityWS-BusinessActivity

MetadataMetadata WS-PolicyWS-Policy WS-PolicyAssertionsWS-PolicyAssertions WS-PolicyAttachmentWS-PolicyAttachment WS-SecurityPolicyWS-SecurityPolicy WS-DiscoveryWS-Discovery WS-MetadataExchangeWS-MetadataExchange

* (Implementado en WSE 2.0)* (Implementado en WSE 2.0)

Page 35: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Módulos de ArquitecturaMódulos de ArquitecturaSeguridadSeguridad

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging Meta

data

Meta

data

XMLXML

Security ReliableMessaging

Transactions

Messaging

XML

Meta

data

WSE 2.0 soporta WS-SecurityWSE 2.0 soporta WS-Security Autenticación (UsernameToken, X.509, Kerb)Autenticación (UsernameToken, X.509, Kerb) Integridad (Firma mensajes XML)Integridad (Firma mensajes XML) Privacidad (Encriptación mensajes XML)Privacidad (Encriptación mensajes XML)

WSE 2.0 soporta WSE 2.0 soporta WS-Trust y WS-Trust y

WS-SecureConversationWS-SecureConversation Usa tokens de contexto de seguridadUsa tokens de contexto de seguridad Automatiza conversaciones segurasAutomatiza conversaciones seguras

WSE 2.0 soporta seguridad basada en rolesWSE 2.0 soporta seguridad basada en roles IPrincipal, IsInRole, etc.IPrincipal, IsInRole, etc.

Page 36: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

WS-MessagingWS-Messaging Mensajería independiente del protocolo (Por Mensajería independiente del protocolo (Por

ahora TCP, HTTP e ‘InProc’)ahora TCP, HTTP e ‘InProc’)

WS-AddressingWS-Addressing Ruteo de mensajesRuteo de mensajes Especificados con WS-ReferralEspecificados con WS-Referral Permite routing según contenidoPermite routing según contenido

WS-Attachments WS-Attachments Ahora MTOM Ahora MTOM Ficheros binarios adjuntosFicheros binarios adjuntos

Módulos de ArquitecturaMódulos de Arquitectura MensajeríaMensajería

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

Seguridad MensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

Page 37: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

WSE - ArquitecturaWSE - ArquitecturaMetadatosMetadatos

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging Meta

data

Meta

data

XMLXML

Security ReliableMessaging

Transactions

Messaging

XML

Meta

data

WSE 2.0 soporta WS-PolicyWSE 2.0 soporta WS-Policy Una Política es un fichero de Una Política es un fichero de

configuración que especifica configuración que especifica requerimientos para los mensajes XMlrequerimientos para los mensajes XMl

Tambien soporta Tambien soporta WS-PolicyAssertion WS-PolicyAssertion y WS-SecurityPolicyy WS-SecurityPolicy

WSE 2.0 soporta políticas de WSE 2.0 soporta políticas de comprobaciones propiascomprobaciones propias

Page 38: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Extensibilidad y Evolución

Seguridad, Confiabilidad, Transaccionalidad

Base para WS

Especificaciones WS-*Especificaciones WS-*

20032000 2001 2002 2004 2005

WS-ReliableMessagingWS-ReliableMessaging

Relia

bility

Relia

bility

WS-I formedWS-I formed

Inte

rop

era

bility

Inte

rop

era

bility

WS-I BP 1.0WS-I BP 1.0

Security RoadmapSecurity Roadmap

Wh

itep

ap

ers

Wh

itep

ap

ers

Reliable Messaging RoadmapReliable Messaging RoadmapSRT Web Services WhitepaperSRT Web Services Whitepaper

WS-SecurityWS-Security

WS-TrustWS-Trust

Secu

rityS

ecu

rity

WS-Security AddendumWS-Security Profile for Tokens

WS-Security AddendumWS-Security Profile for Tokens

WS-FederationWS-Federation Active Requestor Profile

WS-FederationWS-Federation Active Requestor Profile

WS-Security SOAP Message SecurityWS-Security Username Token ProfileWS-Security X.509 Certificate Token Profile

WS-Security SOAP Message SecurityWS-Security Username Token ProfileWS-Security X.509 Certificate Token Profile

WS-Security Kerberos BindingWS-Security Kerberos Binding

WS-CoordinationWS-Transaction

WS-CoordinationWS-Transaction

Tra

nsa

ction

sTra

nsa

ction

s

WS-AtomicTransactionWS-AtomicTransaction

WS-BusinessActivityWS-BusinessActivity

SOAP 1.1SOAP 1.1

Messa

gin

gM

essa

gin

g

SOAP Messages with Attachments

SOAP Messages with Attachments

WS-ReferralWS-Routing

WS-ReferralWS-Routing

DIMEDIME WS-AttachmentsWS-Attachments

WS-AddressingWS-AddressingSOAP 1.2SOAP 1.2

MTOMMTOMWS-EventingWS-Eventing

WS-Policy 1.1WS-PolicyAttachments 1.1WS-PolicyAssertions 1.1

WS-Policy 1.1WS-PolicyAttachments 1.1WS-PolicyAssertions 1.1

WS-PolicyWS-PolicyAttachmentsWS-PolicyAssertionsWS-SecurityPolicy

WS-PolicyWS-PolicyAttachmentsWS-PolicyAssertionsWS-SecurityPolicy

Meta

data

Meta

data

UDDI 1.0UDDI 1.0

WSDLWSDLUDDI 2.0UDDI 2.0

WS-InspectionWS-InspectionUDDI 3.0UDDI 3.0

WS-DiscoveryWS-MetadataExchange

WS-DiscoveryWS-MetadataExchange

Desde 2/2004

Page 39: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

WSE 2.0 WSE 2.0 Arquitectura – ImplementaciónArquitectura – Implementación WSE 2.0 necesita:WSE 2.0 necesita:

Escribir cabeceras en los mensajes SOAP Escribir cabeceras en los mensajes SOAP de salida y leer de los mensajes de entradade salida y leer de los mensajes de entrada

Transformar el ‘body’ de los mensajesTransformar el ‘body’ de los mensajes

WSE 2.0 lo implementa utilizando filtros WSE 2.0 lo implementa utilizando filtros SOAPSOAP

Page 40: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

WSE 2.0 WSE 2.0 Arquitectura – FiltrosArquitectura – Filtros

Page 41: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

WSE 2.0WSE 2.0DesarrolloDesarrollo En clienteEn cliente

Visual Studio crea dos clases ‘proxies’ en Visual Studio crea dos clases ‘proxies’ en cada referenciacada referencia <ServiceName><ServiceName> <ServiceName>WSE<ServiceName>WSE

En servidorEn servidor Mismo código (Depende qué WS-*)Mismo código (Depende qué WS-*) Configuración en Configuración en web.configweb.config Funcionalidad adicional disponible en Funcionalidad adicional disponible en

SoapContextSoapContext

Page 42: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

WSE 2.0WSE 2.0Implementación en ServidorImplementación en Servidor

Integración con ASP.NET Web ServicesIntegración con ASP.NET Web Services Uso de una ‘SOAP extension’ en servidor: Uso de una ‘SOAP extension’ en servidor:

“WebServiceExtension”“WebServiceExtension” Configurado en la sección de web.config Configurado en la sección de web.config

<soapExtensionTypes><soapExtensionTypes>

Comunicación entre los filtros y el Comunicación entre los filtros y el código mediante la clase ‘SoapContext’código mediante la clase ‘SoapContext’

Page 43: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Como utilizar WSE 2.0Como utilizar WSE 2.0

Para comenzar a usar WSE en un WebMethodPara comenzar a usar WSE en un WebMethod1.1. Añade una referencia a Microsoft.Web.Services2Añade una referencia a Microsoft.Web.Services2

2.2. Configura la WebServicesExtensionConfigura la WebServicesExtension

3.3. Añade sentencias ‘Añade sentencias ‘usingusing’ a los ’ a los namespacesnamespaces que que necesitesnecesites

4.4. Extiende el código del WebMethodExtiende el código del WebMethod

// Clases Generales de WSE 2.0// Clases Generales de WSE 2.0using Microsoft.Web.Services2;using Microsoft.Web.Services2;// Clases de WS-Security// Clases de WS-Securityusing Microsoft.Web.Services2.Security;using Microsoft.Web.Services2.Security;......

Page 44: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Configuración en web.configConfiguración en web.config

<!--This element adds WSE functionality --><!--This element adds WSE functionality --><configuration><configuration> <system.web><system.web> <webServices><webServices> <soapExtensionTypes><soapExtensionTypes> <add type=<add type= "Microsoft.Web.Services2.WebServicesExtension,"Microsoft.Web.Services2.WebServicesExtension, Microsoft.Web.Services2, Version=2.0.0.0,Microsoft.Web.Services2, Version=2.0.0.0, Culture=neutral,Culture=neutral, PublicKeyToken=31bf3856ad364e35" PublicKeyToken=31bf3856ad364e35" priority="1" group="0" />priority="1" group="0" /> </soapExtensionTypes></soapExtensionTypes> </webServices></webServices> <system.web><system.web><configuration><configuration>

Page 45: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Uso de ‘SoapContext’Uso de ‘SoapContext’ Dentro de un WebMethod, la info. De Dentro de un WebMethod, la info. De

WSE está disponible via la clase WSE está disponible via la clase SoapContextSoapContext[WebService(Namespace="http://example.org/wse/")][WebService(Namespace="http://example.org/wse/")]public class Endpoint1 : WebServicepublic class Endpoint1 : WebService{{ [WebMethod][WebMethod] public string MiWebMehod()public string MiWebMehod() {{ SoapContext reqCtx = RequestSoapContext.Current;SoapContext reqCtx = RequestSoapContext.Current; SoapContext resCtx = ResponseSoapContext.Current;SoapContext resCtx = ResponseSoapContext.Current; ... // usa Soapcontext para acceder a las x... // usa Soapcontext para acceder a las x // implementaciones de WSE 1.0 y 2.0 // implementaciones de WSE 1.0 y 2.0 }}}}

Page 46: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Uso de WSE en el Cliente (1)Uso de WSE en el Cliente (1) Nueva clase base proxy: Nueva clase base proxy:

WebServiceClientProtocolWebServiceClientProtocol Extiende SoapHttpClientProtocolExtiende SoapHttpClientProtocol Se comunica usando SoapWebRequest y Se comunica usando SoapWebRequest y

SoapWebResponse de System.NetSoapWebResponse de System.Net Comunicación entre filtros y código Comunicación entre filtros y código

mediante la clase ‘SoapContext’mediante la clase ‘SoapContext’ Se utiliza para pasar/recibir info. desde/hacia Se utiliza para pasar/recibir info. desde/hacia

los filtroslos filtros Expuesta mediante las propiedades Expuesta mediante las propiedades

RequestSoapContext y ResponseSoapContextRequestSoapContext y ResponseSoapContext

Page 47: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Uso de WSE en el Cliente (2)Uso de WSE en el Cliente (2) Los clientes wsdl.exe pueden utilizar WSELos clientes wsdl.exe pueden utilizar WSE

Cambia la clase base a ‘WebServicesClientProtocol’Cambia la clase base a ‘WebServicesClientProtocol’

// Proxy wsdl.exe generado// Proxy wsdl.exe generado......public class Servicio1 : public class Servicio1 : // Cambia manualmente la clase de la que deriva// Cambia manualmente la clase de la que deriva Microsoft.Web.Services2.WebServicesClientProtocol {Microsoft.Web.Services2.WebServicesClientProtocol { ......

Servicio1 srv = new Servicio1();Servicio1 srv = new Servicio1();SoapContext reqCtx = srv.RequestSoapContext;SoapContext reqCtx = srv.RequestSoapContext;SoapContext resCtx = srv.ResponseSoapContext;SoapContext resCtx = srv.ResponseSoapContext;... // usa Soapcontext para acceder a las ... // usa Soapcontext para acceder a las // implementaciones WS-*// implementaciones WS-*

Page 48: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Configuración adicional de WSEConfiguración adicional de WSE

WSE se configura mediante una nueva WSE se configura mediante una nueva ‘config section’ (microsoft.web.services2)‘config section’ (microsoft.web.services2)

<configuration><configuration> <configSections><configSections> <section name="microsoft.web.services2"<section name="microsoft.web.services2" type="Microsoft.Web.Services2.Configuration.Web type="Microsoft.Web.Services2.Configuration.Web ServicesConfiguration, ServicesConfiguration, Microsoft.Web.Services, Microsoft.Web.Services, Version=2.0.0.0, Version=2.0.0.0, Culture=neutral, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />PublicKeyToken=31bf3856ad364e35" /> </configSections></configSections> ......

Page 49: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

microsoft.web.servicesmicrosoft.web.services

La ‘Config section’ se usa para La ‘Config section’ se usa para configurarconfigurar Caract. de SeguridadCaract. de Seguridad Caract. de PolíticasCaract. de Políticas Caract. de RuteoCaract. de Ruteo Caract. de Diagnostico Caract. de Diagnostico Caract. de FiltrosCaract. de Filtros

<configuration><configuration> <microsoft.web.services2><microsoft.web.services2> <security> ...<security> ... <policy> ...<policy> ... <referral> ...<referral> ... <diagnostics> ...<diagnostics> ... <filters> ...<filters> ... </microsoft.web.services2></microsoft.web.services2></configuration></configuration>

Page 50: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Integración conIntegración con Visual Studio .NET Visual Studio .NET

WSE 2.0 proporciona integración con WSE 2.0 proporciona integración con Visual Studio .NETVisual Studio .NET Elije “Visual Studio Tools” en la Elije “Visual Studio Tools” en la

instalación de WSE 2.0instalación de WSE 2.0 Haz ‘clic’ con botón derecho en un Haz ‘clic’ con botón derecho en un

proyecto y selecciona “WSE 2 Settings”proyecto y selecciona “WSE 2 Settings”

La Utilidad ‘Settings tool’ automatiza La Utilidad ‘Settings tool’ automatiza las configuraciones (en .config, etc.)las configuraciones (en .config, etc.)

Page 51: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Utilidad ‘WSE Settings’Utilidad ‘WSE Settings’

Esta herramienta te Esta herramienta te permite…permite… Añadir una Añadir una

referencia al referencia al assembly WSEassembly WSE

Configurar la Configurar la SoapExtensionSoapExtension

Configurar el Configurar el soporte de soporte de protocolos WS-*protocolos WS-*

Page 52: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Integración Cliente conIntegración Cliente conVisual Studio .NETVisual Studio .NET

Puedes habilitar WSE 2.0 en proyectos Puedes habilitar WSE 2.0 en proyectos cliente mediante la utilidad ‘settings cliente mediante la utilidad ‘settings tool’tool’

Cuando añades una “Web Reference”, Cuando añades una “Web Reference”, te genera dos ‘clases proxy’te genera dos ‘clases proxy’ Una que usa WSE Una que usa WSE

(e.j., “CalculadoraWse”)(e.j., “CalculadoraWse”) Y otra que no (e.j., “Calculadora")Y otra que no (e.j., “Calculadora")

Page 53: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Trazas en WSE 2.0Trazas en WSE 2.0 WSE ofrece trazas de los mensajesWSE ofrece trazas de los mensajes

Registra entradas/salidas de mensajes Registra entradas/salidas de mensajes SOAPSOAP

Registra coincidencias de políticasRegistra coincidencias de políticas

// Habilitar ‘tracing’ en app.config ó web.config// Habilitar ‘tracing’ en app.config ó web.config<configuration><configuration> <microsoft.web.services2> <microsoft.web.services2> <diagnostics><diagnostics>

<trace enabled="true" <trace enabled="true" input="inputtrace.xml" input="inputtrace.xml" output="outputtrace.xml"/>output="outputtrace.xml"/> </diagnostics> </diagnostics> </microsoft.web.services2></microsoft.web.services2>......

Page 54: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Habilitar y usar WSE 2.0 enHabilitar y usar WSE 2.0 enVisual Studio 2003Visual Studio 2003

Page 55: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

WSE 2.0 SecurityWSE 2.0 Security(Implementacion de WS-Security, (Implementacion de WS-Security, WS-Trust y WS-SecureConversation)WS-Trust y WS-SecureConversation)

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

Seguridad MensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

SecuritySecurity ReliableMessagingReliable

MessagingTransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

MessagingTransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

Seguridad MensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

Page 56: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Necesidades SeguridadNecesidades SeguridadResumenResumen

La Seguridad es crítica para los WS intra ó inter La Seguridad es crítica para los WS intra ó inter organizacionalesorganizacionales

Necesitamos:Necesitamos: Autenticación, integridad de mensasjes, Autenticación, integridad de mensasjes,

confidencialidad, confianza y privacidadconfidencialidad, confianza y privacidad Federación de seguridad entre organizacionesFederación de seguridad entre organizaciones

Seguridad en Servicios WebSeguridad en Servicios Web Securizar los mensajesSecurizar los mensajes Soportar varias tecnologías criptográficasSoportar varias tecnologías criptográficas

Conversaciones SegurasConversaciones Seguras Securizar un intercambio contínuo de mensajesSecurizar un intercambio contínuo de mensajes

ConfianzaConfianza Extender relaciones de confianza a lo largo de los Extender relaciones de confianza a lo largo de los

servicios distribuidosservicios distribuidos Federación (*)Federación (*)

Unificar servicios en un dominio único de seguridadUnificar servicios en un dominio único de seguridad

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

Seguridad MensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

Page 57: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Seguridad Seguridad FundamentosFundamentos

Autenticación – ¿Quién eres?Autenticación – ¿Quién eres? Autorización – ¿Qué te está permitido Autorización – ¿Qué te está permitido

hacer?hacer? Comunicación SeguraComunicación Segura

Confidencialidad – ¿Puede alguien que no Confidencialidad – ¿Puede alguien que no debe entender la comunicación?debe entender la comunicación?

Integridad – ¿Ha sido el mensaje Integridad – ¿Ha sido el mensaje modificado ilegalmente?modificado ilegalmente?

No repudio - ¿Puedo estar seguro de que No repudio - ¿Puedo estar seguro de que fuiste tú el que lo mandaste?fuiste tú el que lo mandaste?

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

Seguridad MensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

Page 58: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Comunicación SeguraComunicación SeguraSeguridad a nivel de protocoloSeguridad a nivel de protocolo

Cifra toda la comunicaciónCifra toda la comunicación El ‘Emisor’ tiene que confiar en todos El ‘Emisor’ tiene que confiar en todos

los intermediarioslos intermediarios Restringe los protocolos que pueden Restringe los protocolos que pueden

usarse (p.e. solo SSL, etc.)usarse (p.e. solo SSL, etc.)

Seguridad SSLSeguridad SSL Seguridad SSLSeguridad SSL

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

Seguridad MensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

Page 59: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Comunicación SeguraComunicación SeguraSeguridad a nivel de MensajeSeguridad a nivel de Mensaje

Seguridad extremo a extremo del mensaje Seguridad extremo a extremo del mensaje independiente del ‘Transporte’independiente del ‘Transporte’

Soporta múltiples protocolos y múltiples Soporta múltiples protocolos y múltiples tecnologías de cifrado (encriptación)tecnologías de cifrado (encriptación)

Se encripta solamente parte del mensajeSe encripta solamente parte del mensaje El emisor solamente necesita confiar en el El emisor solamente necesita confiar en el

punto finalpunto final

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

Seguridad MensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

Page 60: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Seguridad a Nivel Seguridad a Nivel de Mensajede Mensaje

Credenciales

Firmas Digitales

Los mensajes pueden encriptarse

Cliente

Transporte

Servicio

TransporteCualquier Transporte

XML

XML XML

XMLLa seguridad es

independiente del protocolo de transporte

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

Seguridad MensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

Page 61: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Tipos Básicos de Tipos Básicos de CriptografíaCriptografía

ClavePública

ClavePrivada

Criptografía Asimétrica

Clave PrivadaCompartida

Ventajas:•Seguridad de claves muy fuerte

Desventajas:•Lento – Fuerte consumo CPU

Ventajas:•Rápido y eficiente

Desventajas:•Seguridad mas debil•¿Como intercambiar las claves en secreto?

Criptografía Simétrica

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

Seguridad MensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

Page 62: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Repaso de CriptografíaRepaso de Criptografía(Cifrado)(Cifrado)

Término Término CriptográficoCriptográfico DescripciónDescripción

EncriptaciónEncriptación

SimétricaSimétricaCifrado y descifrado de datos con Cifrado y descifrado de datos con una misma clave secretauna misma clave secreta

EncriptaciónEncriptación

AsimétricaAsimétrica

Cifrado y descifrado de datos con Cifrado y descifrado de datos con una pareja de claves una pareja de claves (pública/privada)(pública/privada)

HashingHashingGeneración de un ‘cifrado fijo’ en un Generación de un ‘cifrado fijo’ en un único sentido (no descifrable) y único sentido (no descifrable) y practicamente único.practicamente único.

Firma DigitalFirma Digital Generación de Hash y cifrado del Generación de Hash y cifrado del valor del hash con una clave privadavalor del hash con una clave privada

Page 63: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Py75c%bn&*)Py75c%bn&*)9|fDe^bDFaq9|fDe^bDFaq#xzjFr@g5=#xzjFr@g5=

&nmdFg$5kn&nmdFg$5knvMd’rkvegMs”vMd’rkvegMs”

Py75c%bn&*)Py75c%bn&*)9|fDe^bDFaq9|fDe^bDFaq#xzjFr@g5=#xzjFr@g5=

&nmdFg$5kn&nmdFg$5knvMd’rkvegMs”vMd’rkvegMs”

Encriptación de MensajesEncriptación de MensajesEmisorEmisorEncriptación de MensajesEncriptación de MensajesEmisorEmisor

SimétricaSimétrica

EncriptaciónEncriptación

Esto es un Esto es un texto texto

confidencial, confidencial, etc.etc.

Py75c%bn&*)Py75c%bn&*)9|fDe^bDFaq9|fDe^bDFaq#xzjFr@g5=#xzjFr@g5=

&nmdFg$5kn&nmdFg$5knvMd’rkvegMs”vMd’rkvegMs”

Py75c%bn&*)Py75c%bn&*)9|fDe^bDFaq9|fDe^bDFaq#xzjFr@g5=#xzjFr@g5=

&nmdFg$5kn&nmdFg$5knvMd’rkvegMs”vMd’rkvegMs”

EncriptaciónEncriptación

Clave Clave EncriptadaEncriptada

publicapublica Clave Clave Pública del Pública del ReceptorReceptorClave GeneradaClave Generada

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

Seguridad MensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

Page 64: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Encriptación de MensajesEncriptación de MensajesReceptorReceptor

Py75c%bn&*)Py75c%bn&*)9|fDe^bDFaq9|fDe^bDFaq#xzjFr@g5=#xzjFr@g5=

&nmdFg$5kn&nmdFg$5knvMd’rkvegMs”vMd’rkvegMs”

Py75c%bn&*)Py75c%bn&*)9|fDe^bDFaq9|fDe^bDFaq#xzjFr@g5=#xzjFr@g5=

&nmdFg$5kn&nmdFg$5knvMd’rkvegMs”vMd’rkvegMs” DescifradoDescifrado

Clave EncriptadaClave Encriptadaprivadaprivada Clave Clave

Privada del Privada del ReceptorReceptor

SimétricaSimétrica

Esto es Esto es un texto un texto

confidencconfidencial, etc.ial, etc.

DescifradoDescifrado

Py75c%bn&*)Py75c%bn&*)9|fDe^bDFaq9|fDe^bDFaq#xzjFr@g5=#xzjFr@g5=

&nmdFg$5kn&nmdFg$5knvMd’rkvegMs”vMd’rkvegMs”

Py75c%bn&*)Py75c%bn&*)9|fDe^bDFaq9|fDe^bDFaq#xzjFr@g5=#xzjFr@g5=

&nmdFg$5kn&nmdFg$5knvMd’rkvegMs”vMd’rkvegMs”

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

Seguridad MensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

Page 65: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Creación de una Firma DigitalCreación de una Firma Digital

FunciónFunciónHash Hash

(SHA, MD5)(SHA, MD5)

Jrf843kjfgf*Jrf843kjfgf*££$&Hdif*7oU$&Hdif*7oUsd*&@:<CHsd*&@:<CHDFHSD(**DFHSD(**

Py75c%bn&*)9|Py75c%bn&*)9|fDe^bDFaq#xzjFr@gfDe^bDFaq#xzjFr@g5=&nmdFg$5knvMd’r5=&nmdFg$5knvMd’rkvegMs”kvegMs”

Esto es un Esto es un texto texto

confidencialconfidencial

CifradoCifradoAsimétricoAsimétrico

Mensaje o FicheroMensaje o Fichero Firma DigitalFirma DigitalMensaje ‘Digest’ Mensaje ‘Digest’ de 128 bitsde 128 bits

privadaprivada

Page 66: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Verificación de una Firma DigitalVerificación de una Firma Digital

Jrf843kjfJrf843kjfgf*£$&Hdgf*£$&Hdif*7oUsdif*7oUsd

*&@:<CHD*&@:<CHDFHSD(**FHSD(**

Py75c%bn&*)Py75c%bn&*)9|fDe^bDFaq9|fDe^bDFaq#xzjFr@g5=#xzjFr@g5=

&nmdFg$5kn&nmdFg$5knvMd’rkvegMs”vMd’rkvegMs”

Py75c%bn&*)Py75c%bn&*)9|fDe^bDFaq9|fDe^bDFaq#xzjFr@g5=#xzjFr@g5=

&nmdFg$5kn&nmdFg$5knvMd’rkvegMs”vMd’rkvegMs”

DescifradoDescifradoAsimétricoAsimétrico

Firma DigitalFirma Digital

WSE WSE proporcionaproporcionaSeguridad aSeguridad a

Los WSLos WS

Misma función Misma función HashHash

Mensaje OriginalMensaje Original

Py75c%bn&*)Py75c%bn&*)9|fDe^bDFaq9|fDe^bDFaq#xzjFr@g5=#xzjFr@g5=

&nmdFg$5kn&nmdFg$5knvMd’rkvegMs”vMd’rkvegMs”

Py75c%bn&*)Py75c%bn&*)9|fDe^bDFaq9|fDe^bDFaq#xzjFr@g5=#xzjFr@g5=

&nmdFg$5kn&nmdFg$5knvMd’rkvegMs”vMd’rkvegMs”

? == ?? == ?¿Son iguales los ¿Son iguales los

hash?hash?

publicapublica

Mandado Mandado con el con el mensajemensaje

Page 67: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Tokens de SeguridadTokens de Seguridad Los ‘Tokens’ aseguran reclamaciones Los ‘Tokens’ aseguran reclamaciones

sobre identidad, capacidad y privilegiossobre identidad, capacidad y privilegios

FirmadoFirmado

……

X.509X.509 KerberosKerberos

Clave Clave Secreta/CompartidaSecreta/Compartida

PasswordPassword

PruebaPruebaDe PosesiónDe Posesión

ContextoContextoSeguridadSeguridad

Sin FirmarSin Firmar

……Nombre UsuarioNombre Usuario

SAMLSAML XrMLXrML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

Seguridad MensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

Page 68: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Autenticación con ‘Tokens’Autenticación con ‘Tokens’

Los ‘Tokens’ están respaldados por Los ‘Tokens’ están respaldados por una “prueba de posesión”una “prueba de posesión” Secreto compartido (password, clave Secreto compartido (password, clave

simétrica)simétrica) Clave privada firmada por un servicio de Clave privada firmada por un servicio de

una tercera parte en la que se confía (CA)una tercera parte en la que se confía (CA)

La Autenticación requiere comprobar La Autenticación requiere comprobar este conocimientoeste conocimiento Validar ‘token’ de nombre-usuario y pwdValidar ‘token’ de nombre-usuario y pwd Verificar la firma digitalVerificar la firma digital

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

Seguridad MensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

Page 69: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

‘‘Token’ Nombre-UsuarioToken’ Nombre-Usuario Método mas simpleMétodo mas simple La password se utiliza para generar La password se utiliza para generar

una clave secreta que firme y encripteuna clave secreta que firme y encripte La Password se puede mandar como La Password se puede mandar como

texto-plano o ‘digest’ (hash)texto-plano o ‘digest’ (hash) WSE también proporciona un mecanismo WSE también proporciona un mecanismo

de detección de reintentosde detección de reintentos WSE crea automaticamente un ‘Windows WSE crea automaticamente un ‘Windows

Principal’ para cada token con password Principal’ para cada token con password en texto planoen texto plano

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

Seguridad MensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

Page 70: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Autenticación con ‘Token’ de Autenticación con ‘Token’ de Nombre-Usuario Nombre-Usuario de Windowsde Windows

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

Seguridad MensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

Page 71: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Autenticación en Servicios WebAutenticación en Servicios Web ‘Tokens’ Nombre-Usuario ‘Custom’ ‘Tokens’ Nombre-Usuario ‘Custom’

Crear una clase que derive de la clase Crear una clase que derive de la clase UsernameTokenManagerUsernameTokenManager (*) Comprobar las credenciales del usuario con las (*) Comprobar las credenciales del usuario con las

del repositorio, devolver passworddel repositorio, devolver password Devolver la lista de rolesDevolver la lista de roles Crear un objeto ‘custom’ IPrincipal con rolesCrear un objeto ‘custom’ IPrincipal con roles Adjuntar IPrincipal al token.Principal para usar Adjuntar IPrincipal al token.Principal para usar

seguridad imperativa y basada en políticasseguridad imperativa y basada en políticas

Registrar el TokenManager via Registrar el TokenManager via web.configweb.config

Page 72: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Autenticación con ‘Token’ de Autenticación con ‘Token’ de Nombre-Usuario ‘custom’Nombre-Usuario ‘custom’

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

Seguridad MensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

Page 73: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Autorización con ‘Tokens’Autorización con ‘Tokens’Principals y RolesPrincipals y Roles

WSE usa SecurityToken.Principal para WSE usa SecurityToken.Principal para realizar una autorizaciónrealizar una autorización Se establece automáticamente para un Se establece automáticamente para un

UserNameToken ó un KerberosSecurityTokenUserNameToken ó un KerberosSecurityToken IPrincipalIPrincipal

Es la base de cualquier autorización a nivel de Es la base de cualquier autorización a nivel de código y seguridad basada en rolescódigo y seguridad basada en roles

Soporte para tipos IPrincipal ‘custom’ (propios)Soporte para tipos IPrincipal ‘custom’ (propios) TokenManagers puede crear y adjuntar el TokenManagers puede crear y adjuntar el

GenericPrincipalGenericPrincipal

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

Seguridad MensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

Page 74: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Autorización Autorización TécnicasTécnicas

ProgramaciónProgramación……if(token.Principal.IsInRole(“Cajero"))if(token.Principal.IsInRole(“Cajero")){{ // Permite al usuario realizar la acción // Permite al usuario realizar la acción }}… …

Basado en PolíticasBasado en Políticas WSE soporta el uso de Politicas para

Autorización basada en Roles Funciona sin tener que escribir código

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

Seguridad MensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

Page 75: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Autorización con ‘Token’ de Autorización con ‘Token’ de Nombre-Usuario de WindowsNombre-Usuario de Windowsperteneciendo a Roles perteneciendo a Roles (Grupos Windows, etc.)(Grupos Windows, etc.)

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

Seguridad MensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

Page 76: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Tokens BinariosTokens Binarios

Tokens X.509Tokens X.509 Proporciona una forma de codificar Proporciona una forma de codificar

certificados X.509certificados X.509 Proporcionados por una CA como Proporcionados por una CA como

Verisign, FNMT ó propia como Verisign, FNMT ó propia como ‘Windows Certificate Services’‘Windows Certificate Services’

Contiene una clave pública y firma Contiene una clave pública y firma digital de una CAdigital de una CA

Soporta encriptación asimétrica y firmaSoporta encriptación asimétrica y firma

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

Seguridad MensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

Page 77: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Tokens BinariosTokens BinariosTokens KerberosTokens Kerberos Codifica Tickets KerberosCodifica Tickets Kerberos Soporta firmado y cifrado usando una Soporta firmado y cifrado usando una

clave simétricaclave simétrica Obtenido a partir de un Centro de Obtenido a partir de un Centro de

Distribución Kerberos (KDC)Distribución Kerberos (KDC) WSE crea automaticamente el WSE crea automaticamente el

‘Principal’‘Principal’

Tokens ‘Custom’ (Propios)Tokens ‘Custom’ (Propios) WSE soporta ‘custom’ tokens tanto WSE soporta ‘custom’ tokens tanto

binarios como XMLbinarios como XML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

Seguridad MensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

Page 78: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Firmas Digitales - IntegridadFirmas Digitales - Integridad

Las firmas requieren crear un hash de Las firmas requieren crear un hash de los datos y encriptar el valor del hash los datos y encriptar el valor del hash con una clave privadacon una clave privada

Se pueden firmar partes de un mensaje Se pueden firmar partes de un mensaje para asegurar integridadpara asegurar integridad Para asegurarnos de que el mensaje no Para asegurarnos de que el mensaje no

ha sido modificado fraudulentamenteha sido modificado fraudulentamente Para asegurarnos de que solamente el Para asegurarnos de que solamente el

emisor ha podido mandarloemisor ha podido mandarlo

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

Seguridad MensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

Page 79: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Encriptación de XML Encriptación de XML PrivacidadPrivacidad Se puede encriptar partes de un Se puede encriptar partes de un

mensaje para asegurar confidencialidadmensaje para asegurar confidencialidad Se reemplaza texto plano por texto-Se reemplaza texto plano por texto-

cifrado (‘cipher text’)cifrado (‘cipher text’)

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

Seguridad MensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

Page 80: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Firma y Encriptación con Firma y Encriptación con Certificados X.509Certificados X.509

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

Seguridad MensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

Page 81: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Conversaciones SegurasConversaciones Seguras WS-SecureConversationWS-SecureConversation

WS-Security no es óptimo para conversaciones de larga WS-Security no es óptimo para conversaciones de larga duración ó multi-mensajesduración ó multi-mensajes

Inicio de una conversación seguraInicio de una conversación segura Comenzar la conversación con WS-SecurityComenzar la conversación con WS-Security Usar entoncces WS-SecureConversation para acordar Usar entoncces WS-SecureConversation para acordar

claves (simétricas) específicas de conversaciónclaves (simétricas) específicas de conversación Concepto similar al inicio de una sesión SSLConcepto similar al inicio de una sesión SSL

WS-TrustWS-Trust Toda la seguridad depende de relaciones de confianzaToda la seguridad depende de relaciones de confianza WS-Trust delega relaciones de confianza a lo largo de WS-Trust delega relaciones de confianza a lo largo de

servicios distribuidosservicios distribuidos Concepto Clave: Servicio de ‘Token’ de SeguridadConcepto Clave: Servicio de ‘Token’ de Seguridad

Tipo de ServicioWeb que otorga, intercambia y valida Tipo de ServicioWeb que otorga, intercambia y valida ‘tokens’ de seguridad‘tokens’ de seguridad

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging Meta

data

Meta

data

XMLXML

Security ReliableMessaging

Transactions

Messaging

XML

Meta

data

Page 82: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Obtención de Tokens de SeguridadObtención de Tokens de SeguridadWS-TrustWS-Trust

Define un protocolo para asignar y Define un protocolo para asignar y obtener ‘tokens’ de seguridadobtener ‘tokens’ de seguridad

Utiliza un Servicio de Tokens de Utiliza un Servicio de Tokens de Seguridad (STS) para otorgar TokensSeguridad (STS) para otorgar Tokens Gestiona seguridad a lo largo de fronteras Gestiona seguridad a lo largo de fronteras

confiablesconfiables El Cliente y el Servidor pueden confiar en El Cliente y el Servidor pueden confiar en

el STS sin tener que gestionar una el STS sin tener que gestionar una confianza directaconfianza directa

STS puede gestionar el intercambio de un STS puede gestionar el intercambio de un tipo de token de seguridad por otrotipo de token de seguridad por otro

Page 83: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Alcance de

Alcance de

Confianza

Confianza

Obtención de Tokens de SeguridadObtención de Tokens de Seguridad

Intercambio Tipos de Intercambio Tipos de ‘Tokens’‘Tokens’

Mapeo de ‘Tokens’Mapeo de ‘Tokens’

ClienteCliente

STS STS (Security (Security

Token Token Service)Service)

ServicioServicio

1. RST1. RST

2. RSTR2. RSTR

3. Mensaje3. Mensaje

Page 84: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Creación de Contextos de SeguridadCreación de Contextos de Seguridad

Las claves asimétricas son lentas para Las claves asimétricas son lentas para múltiples mensajesmúltiples mensajes

WS-SecureConversation define un WS-SecureConversation define un token de Contexto de Seguridad (SCT token de Contexto de Seguridad (SCT ó SecurityContext token)ó SecurityContext token) Basado en una clave simétricaBasado en una clave simétrica Mas rápido para múltiples llamadasMas rápido para múltiples llamadas

Page 85: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

‘‘Secure-Conversation’Secure-Conversation’

Petición del SCTPetición del SCT

SCT Otorgado al SCT Otorgado al clientecliente

Series de mensajes firmados por el Series de mensajes firmados por el SCT asignadoSCT asignadoClienteCliente ServidorServidor

Page 86: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Uso de WS-SecureConversation con Uso de WS-SecureConversation con WSEWSE

Page 87: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

WSE 2.0 – PolicyWSE 2.0 – Policy (Implementación de WS-Security) (Implementación de WS-Security)

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

Seguridad MensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging Meta

data

Meta

data

XMLXML

Security ReliableMessaging

Transactions

Messaging

XML

Meta

data

Page 88: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

WSE PolicyWSE Policy WS-Policy permite a administradores WS-Policy permite a administradores

establecer requerimientos a los WS de establecer requerimientos a los WS de forma declarativaforma declarativa P.e. “El mensaje debe de estar firmado P.e. “El mensaje debe de estar firmado

por un tipo particular de ‘token’.por un tipo particular de ‘token’. La caducidad de la política, etc.La caducidad de la política, etc.

Los gestionadores (handlers) de WSE Los gestionadores (handlers) de WSE Policy pueden extenderse derivando Policy pueden extenderse derivando de la clase PolicyAssertionde la clase PolicyAssertion

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging Meta

data

Meta

data

XMLXML

Security ReliableMessaging

Transactions

Messaging

XML

Meta

data

Page 89: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

PolíticasPolíticasWS-SecurityPolicyWS-SecurityPolicy

Describe los requerimientos de Describe los requerimientos de seguridad de un Servicio-Webseguridad de un Servicio-Web

Proporciona una forma de especificar:Proporciona una forma de especificar: Tipos de Tokens soportadosTipos de Tokens soportados Requerimientos de Firma y cifradoRequerimientos de Firma y cifrado Decisiones de autorización basada en Decisiones de autorización basada en

RolesRoles Requerimientos de Conversaciones Requerimientos de Conversaciones

segurasseguras

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging Meta

data

Meta

data

XMLXML

Security ReliableMessaging

Transactions

Messaging

XML

Meta

data

Page 90: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Configuración deConfiguración dePolíticas de Seguridad con la Políticas de Seguridad con la utilidad ‘WSE Settings Tool’ utilidad ‘WSE Settings Tool’

Page 91: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

WSE 2.0 – MessagingWSE 2.0 – Messaging (Implementacion de WS-Messaging)(Implementacion de WS-Messaging)

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

Seguridad MensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

SecuritySecurity ReliableMessagingReliable

MessagingTransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

MessagingTransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SeguridadMensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

Page 92: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

WSE MessagingWSE Messaging ASMX está ligado a HTTP, RPC, y ASMX está ligado a HTTP, RPC, y

métodosmétodos Hace pensar en términos de Hace pensar en términos de

“cliente/servidor”“cliente/servidor”

WSE 2.0 Messaging ofrece un modelo WSE 2.0 Messaging ofrece un modelo flexibleflexible Basado en Mensaje - (no necesariamente Basado en Mensaje - (no necesariamente

en método)en método) Permite mensajería asíncronaPermite mensajería asíncrona Patrones Propios de intercambio de Patrones Propios de intercambio de

mensajes (MEPs)mensajes (MEPs)

SecuritySecurity ReliableMessagingReliable

MessagingTransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

MessagingTransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SeguridadMensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

Page 93: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

WSE 2.0 incluye un modelo de objetos de WSE 2.0 incluye un modelo de objetos de mensajería basada en SOAPmensajería basada en SOAP

Independencia al protocolo de TransporteIndependencia al protocolo de Transporte TCPTCP HTTPHTTP InProcessInProcess Otros protocolos a integrar… (SMTP, UDP, etc.)Otros protocolos a integrar… (SMTP, UDP, etc.)

Independencia del ‘Host’Independencia del ‘Host’ Aplicación WindowsAplicación Windows ASP.NET (Hosting con IIS)ASP.NET (Hosting con IIS) Servicio WindowsServicio Windows Este hosting es comparable al de .NET RemotingEste hosting es comparable al de .NET Remoting

WSE MessagingWSE MessagingSecuritySecurity Reliable

MessagingReliable

MessagingTransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

MessagingTransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SeguridadMensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

Page 94: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Emisores y ReceptoresEmisores y Receptores WSE permite pensar en términos de WSE permite pensar en términos de

“emisores” y “receptores”“emisores” y “receptores” Algunos nodos “envían” mientras otros Algunos nodos “envían” mientras otros

“reciven” mensajes“reciven” mensajes Los Roles son completamente Los Roles son completamente

intercambiables (p.e. Apps Peer-To-Peer)intercambiables (p.e. Apps Peer-To-Peer) Se exponen via SoapSender y Se exponen via SoapSender y

SoapReceiverSoapReceiver

EmisorEmisor Receptor y Receptor y EmisorEmisor ReceptorReceptor

SecuritySecurity ReliableMessagingReliable

MessagingTransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

MessagingTransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SeguridadMensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

Page 95: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Neutralidad en el TransporteNeutralidad en el Transporte

WSE 2.0 hace posible mandar mensajes WSE 2.0 hace posible mandar mensajes sobre múltiples transportessobre múltiples transportes ‘‘In-proc’, TCP, y HTTP (‘out-of-the-box’)In-proc’, TCP, y HTTP (‘out-of-the-box’) Transportes ‘custom’ tambiénTransportes ‘custom’ también

Intermediarios SOAPIntermediarios SOAP

Emisor Emisor

inicialinicial

ReceptorReceptor

finalfinal

HTTPHTTPSMTPSMTP

MSMQMSMQ

FTPFTP

SecuritySecurity ReliableMessagingReliable

MessagingTransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

MessagingTransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SeguridadMensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

Page 96: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

WSE 2.0 MessagingWSE 2.0 Messaging

SoapSender y SoapReceiverSoapSender y SoapReceiver Mensajes en un sentidoMensajes en un sentido Programación a bajo nivelProgramación a bajo nivel

SoapClient y SoapServiceSoapClient y SoapService Mensajes Un-Sentido y Dos-SentidosMensajes Un-Sentido y Dos-Sentidos Basados en SoapSender/SoapReceiverBasados en SoapSender/SoapReceiver

Page 97: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

SoapReceiverSoapReceiver SoapReceiver encapsula el proceso de SoapReceiver encapsula el proceso de

recepción de un mensaje SOAP en recepción de un mensaje SOAP en particularparticular

public class ReceptorCalculadora : SoapReceiverpublic class ReceptorCalculadora : SoapReceiver{{ protected override void Receive(SoapEnvelope e)protected override void Receive(SoapEnvelope e) {{ // Implementar la Recepción aquí// Implementar la Recepción aquí }}}} ......

Uri UriReceptor = new EndpointReference(Uri UriReceptor = new EndpointReference( new Uri("soap.tcp://localhost/Calc"));new Uri("soap.tcp://localhost/Calc"));ReceptorCalculadora receptCalc = new ReceptorCalculadora receptCalc = new ReceptorCalculadora();ReceptorCalculadora();SoapReceivers.Add(UriReceptor, receptCalc);SoapReceivers.Add(UriReceptor, receptCalc);......

SecuritySecurity ReliableMessagingReliable

MessagingTransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

MessagingTransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SeguridadMensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

Page 98: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

SoapSenderSoapSender SoapSender encapsula el proceso de SoapSender encapsula el proceso de

envío de un mensaje SOAP a un URI envío de un mensaje SOAP a un URI

......SoapEnvelope sobre = CrearMensajeSuma();SoapEnvelope sobre = CrearMensajeSuma();sobre.Context.Action = "urn:calc:sumar";sobre.Context.Action = "urn:calc:sumar";SoapSender ss = new SoapSender(new SoapSender ss = new SoapSender(new EndpointReference( EndpointReference( Uri("soap.tcp://localhost/calc")));Uri("soap.tcp://localhost/calc")));ss.Send(sobre);ss.Send(sobre);......

SecuritySecurity ReliableMessagingReliable

MessagingTransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

MessagingTransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SeguridadMensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

Page 99: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Messaging a Bajo Nivel (SoapSender Messaging a Bajo Nivel (SoapSender y SoapReceiver) de un Patrón y SoapReceiver) de un Patrón Emisor-Receptor de p.e. ‘Suscripción Emisor-Receptor de p.e. ‘Suscripción a Valores de Bolsa’a Valores de Bolsa’

Page 100: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

SoapClient y SoapServiceSoapClient y SoapService SoapClient y SoapService ofrecen SoapClient y SoapService ofrecen

abstracciones de mas alto nivelabstracciones de mas alto nivel Basado en SoapSender y SoapReceiverBasado en SoapSender y SoapReceiver Petición/Respuesta automática y mensajes Petición/Respuesta automática y mensajes

correlacionadoscorrelacionados

public class ServicioCalc : SoapServicepublic class ServicioCalc : SoapService{{ [SoapMethod("urn:calc:sumar")][SoapMethod("urn:calc:sumar")] public SoapEnvelope Add(SoapEnvelope e)public SoapEnvelope Add(SoapEnvelope e) {{ ... // Implementación de Sumar aquí... // Implementación de Sumar aquí }} ......}}

SecuritySecurity ReliableMessagingReliable

MessagingTransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

MessagingTransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SeguridadMensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

Page 101: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Messaging a Alto Nivel (SoapClient y Messaging a Alto Nivel (SoapClient y SoapService) de un Patrón ‘Servicio-SoapService) de un Patrón ‘Servicio-Cliente’ de p.e. ‘Suscripción a Cliente’ de p.e. ‘Suscripción a Valores de Bolsa’Valores de Bolsa’

Page 102: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

WseWsdl2.exeWseWsdl2.exe

WseWsdl2.exe genera código WseWsdl2.exe genera código SoapClient a partir de definiciones SoapClient a partir de definiciones WSDLWSDL El código generado contiene una clase que El código generado contiene una clase que

deriva de SoapClientderiva de SoapClient Utilizar esta clase para enviar mensajes Utilizar esta clase para enviar mensajes

SOAP a receptores SOAP vía WSE 2.0SOAP a receptores SOAP vía WSE 2.0

SecuritySecurity ReliableMessagingReliable

MessagingTransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

MessagingTransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SeguridadMensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

Page 103: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

Messaging a Alto Nivel Messaging a Alto Nivel (SoapClient y SoapService) con (SoapClient y SoapService) con Hosting de ISS por HTTP (y con Hosting de ISS por HTTP (y con WebReference y Clase Proxy en WebReference y Clase Proxy en cliente)cliente)

Page 104: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

¿Donde estamos?¿Donde estamos?

Microsoft's Web Services Microsoft's Web Services Enhancements (WSE 2.0) proporciona Enhancements (WSE 2.0) proporciona implementaciones de parte de implementaciones de parte de WS-* para utilizarlo con .NET hoyWS-* para utilizarlo con .NET hoy

WSE 2.0 extiende el framework de WSE 2.0 extiende el framework de WebMethods (ASMX)WebMethods (ASMX)

WSE 2.0 puede utilizarse sin .ASMX, WSE 2.0 puede utilizarse sin .ASMX, p.e. con Messaging-TCP p.e. con Messaging-TCP

Page 105: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

•Webcast teóricoWebcast teórico•Talleres en ciudadesTalleres en ciudades•Aplicación MSDN VideoAplicación MSDN Video

•Webcast práctica 18 OctubreWebcast práctica 18 Octubre•Chat 28 OctubreChat 28 Octubre

•www.DesarrollaConMSDN.comwww.DesarrollaConMSDN.com•Código de MSDN VideoCódigo de MSDN Video•CalendarioCalendario•TutorialesTutoriales•SeminariosSeminarios•ForosForos•Descuento 40% librosDescuento 40% libros

•Webcast teóricoWebcast teórico•Talleres en ciudadesTalleres en ciudades•Aplicación MSDN VideoAplicación MSDN Video

•Webcast práctica 18 OctubreWebcast práctica 18 Octubre•Chat 28 OctubreChat 28 Octubre

•www.DesarrollaConMSDN.comwww.DesarrollaConMSDN.com•Código de MSDN VideoCódigo de MSDN Video•CalendarioCalendario•TutorialesTutoriales•SeminariosSeminarios•ForosForos•Descuento 40% librosDescuento 40% libros

SepSep OctOct NoNovv

DicDic EneEne FebFeb MaMarr

AbrAbr MaMayy

JunJun

.NET y .NET y Servicios Servicios

WebWeb

Desarrollo Desarrollo webweb

SmartSmartClientsClients

Visual Studio Visual Studio 20052005

SQL Server 2005SQL Server 2005

Page 106: WSE 2.0 (.NET Web Services Enhancements) César de la Torre Software Architect [Microsoft MVP – XML WebServices] [MCSE] [MCT] Renacimiento .

César de la TorreCésar de la TorreSoftware ArchitectSoftware Architect

[MVP - .NET XML WebServices][MVP - .NET XML WebServices]

[MCSE] [MCT][MCSE] [MCT]

[email protected]@renacimiento.com

RenacimientoRenacimiento

ContactoContacto- Consultoría- Consultoría-- Proyectos- Proyectos-- Formación- Formación

SOPORTE como MVP en NEWS SOPORTE como MVP en NEWS publicas:publicas:

msnews.microsoft.commsnews.microsoft.com

microsoft.public.es.servicios.webmicrosoft.public.es.servicios.web