80
Clase XIII Clase XIII [nombre instructor] [nombre instructor] [fecha] [fecha]

Clase xiii

Embed Size (px)

Citation preview

Page 1: Clase xiii

Clase XIIIClase XIII•[nombre instructor][nombre instructor]

•[fecha][fecha]

Page 2: Clase xiii

AgendaAgenda ASP.NET & ADO.NETASP.NET & ADO.NET

Arquitectura n capasArquitectura n capas Capa de presentaciónCapa de presentación Capa de negociosCapa de negocios Capa de acceso a datosCapa de acceso a datos Data StorageData Storage

Base Class LibraryBase Class Library GlobalizaciónGlobalización LocalizaciónLocalización EncriptaciónEncriptación

WebService’sWebService’s Aplicaciones DistribuidasAplicaciones Distribuidas Tecnologías subyacentesTecnologías subyacentes Usando XML Web ServicesUsando XML Web Services SeguridadSeguridad GXAGXA

Page 3: Clase xiii

AgendaAgenda ASP.NET & ADO.NETASP.NET & ADO.NET

Arquitectura n capasArquitectura n capas Capa de presentaciónCapa de presentación Capa de negociosCapa de negocios Capa de acceso a datosCapa de acceso a datos Data StorageData Storage

Base Class LibraryBase Class Library GlobalizaciónGlobalización LocalizaciónLocalización EncriptaciónEncriptación

WebService’sWebService’s Aplicaciones DistribuidasAplicaciones Distribuidas Tecnologías subyacentesTecnologías subyacentes Usando XML Web ServicesUsando XML Web Services SeguridadSeguridad GXAGXA

Page 4: Clase xiii

Arquitectura n capasArquitectura n capasA

DO

.NE

T &

AS

P.N

ET

AD

O.N

ET

& A

SP

.NE

T

Page 5: Clase xiii

Capa de presentaciónCapa de presentación

Interfase grafica que el usuario observa, Interfase grafica que el usuario observa, normalmente conocida como UInormalmente conocida como UI

Compuesta por Web Form, Win Form, Compuesta por Web Form, Win Form, etc, dependiendo del tipo de aplicación etc, dependiendo del tipo de aplicación que se este realizandoque se este realizando

AD

O.N

ET

& A

SP

.NE

TA

DO

.NE

T &

AS

P.N

ET

Page 6: Clase xiii

Capa de PresentaciónCapa de Presentación

Controles ASP.NET para el data binding Controles ASP.NET para el data binding de la capa de presentaciónde la capa de presentación ObjectDataSourceObjectDataSource

Provee una estructura de:Provee una estructura de: OrdenaciónOrdenación PaginaciónPaginación FiltradoFiltrado CachingCaching

GridViewGridView DropDownListDropDownList FormViewFormView DetailsViewDetailsView

AD

O.N

ET

& A

SP

.NE

TA

DO

.NE

T &

AS

P.N

ET

Page 7: Clase xiii

Utilizando ObjectDataSourceUtilizando ObjectDataSource

Propiedades:Propiedades: TypeNameTypeName SelectMethodSelectMethod UpdateMethodUpdateMethod DeleteMethodDeleteMethod InsertMethodInsertMethod

AD

O.N

ET

& A

SP

.NE

TA

DO

.NE

T &

AS

P.N

ET

Page 8: Clase xiii

Utilizando ObjectDataSourceUtilizando ObjectDataSource

Propiedades (continuación)Propiedades (continuación) InsertParametersInsertParameters DeleteParametersDeleteParameters UpdateParametersUpdateParameters SelectParametersSelectParameters

AD

O.N

ET

& A

SP

.NE

TA

DO

.NE

T &

AS

P.N

ET

Page 9: Clase xiii

EjemploEjemploA

DO

.NE

T &

AS

P.N

ET

AD

O.N

ET

& A

SP

.NE

T

Page 10: Clase xiii

Ejemplo : Implementación de Ejemplo : Implementación de UpdateProductUpdateProduct

AD

O.N

ET

& A

SP

.NE

TA

DO

.NE

T &

AS

P.N

ET

Page 11: Clase xiii

Utilizando ObjectDataSourceUtilizando ObjectDataSourceA

DO

.NE

T &

AS

P.N

ET

AD

O.N

ET

& A

SP

.NE

T

Page 12: Clase xiii

Utilizando ObjectDataSourceUtilizando ObjectDataSourceA

DO

.NE

T &

AS

P.N

ET

AD

O.N

ET

& A

SP

.NE

T

Page 13: Clase xiii

Utilizando ObjectDataSourceUtilizando ObjectDataSourceA

DO

.NE

T &

AS

P.N

ET

AD

O.N

ET

& A

SP

.NE

T

Page 14: Clase xiii

Controles de VisualizaciónControles de Visualización

PropiedadesPropiedades DataSourceIDDataSourceID DataMemberDataMember DataKeysDataKeys

AD

O.N

ET

& A

SP

.NE

TA

DO

.NE

T &

AS

P.N

ET

Page 15: Clase xiii

ADO.NETADO.NET

Capa de negociosCapa de negocios Componentes que representan entidades Componentes que representan entidades

de negociode negocio Componentes de integraciónComponentes de integración

AD

O.N

ET

& A

SP

.NE

TA

DO

.NE

T &

AS

P.N

ET

Page 16: Clase xiii

ADO.NETADO.NET

Capa de acceso a datosCapa de acceso a datos Componentes DALComponentes DAL

AD

O.N

ET

& A

SP

.NE

TA

DO

.NE

T &

AS

P.N

ET

Page 17: Clase xiii

ADO.NETADO.NET

Data storageData storage Compuesto por las bases de datos donde Compuesto por las bases de datos donde

se almacena la información: se almacena la información: Microsoft SQL Server 2005Microsoft SQL Server 2005 Oracle DatabaseOracle Database Archivos XMLArchivos XML

AD

O.N

ET

& A

SP

.NE

TA

DO

.NE

T &

AS

P.N

ET

Page 18: Clase xiii

AgendaAgenda ASP.NET & ADO.NETASP.NET & ADO.NET

Arquitectura n capasArquitectura n capas Capa de presentaciónCapa de presentación Capa de negociosCapa de negocios Capa de acceso a datosCapa de acceso a datos Data StorageData Storage

Base Class LibraryBase Class Library GlobalizaciónGlobalización LocalizaciónLocalización EncriptaciónEncriptación

WebService’sWebService’s Aplicaciones DistribuidasAplicaciones Distribuidas Tecnologías subyacentesTecnologías subyacentes Usando XML Web ServicesUsando XML Web Services SeguridadSeguridad GXAGXA

Page 19: Clase xiii

GlobalizaciónGlobalización

Esta enmarcada en el Namespace Esta enmarcada en el Namespace GlobalizationGlobalization CultureInfoCultureInfo CalendarCalendar TextInfoTextInfo StringInfoStringInfo RegionInfoRegionInfo DateTimeFormatInfoDateTimeFormatInfo RegionInfoRegionInfo NumberFormatInfoNumberFormatInfo

Page 20: Clase xiii

CalendarCalendar

Page 21: Clase xiii

Ejemplo: Configuración del calendario Ejemplo: Configuración del calendario (cont.)(cont.)

Page 22: Clase xiii

Ejemplo: Configuración del calendario Ejemplo: Configuración del calendario (cont.)(cont.)

Page 23: Clase xiii

NumberFormatInfoNumberFormatInfo

Page 24: Clase xiii

DateTimeFormatInfoDateTimeFormatInfo

Page 25: Clase xiii

DateTimeFormatInfoDateTimeFormatInfoResultado del código anteriorResultado del código anterior

Page 26: Clase xiii

RegionInfoRegionInfo

Page 27: Clase xiii

LocalizaciónLocalización

Traducción de la aplicación al idioma Traducción de la aplicación al idioma especificado especificado

Detección de la configuración actualDetección de la configuración actual

Page 28: Clase xiii

Modelo de Criptografía de .NET Modelo de Criptografía de .NET FrameworkFramework

Provee implementación de muchos Provee implementación de muchos algoritmos criptográficos estándaralgoritmos criptográficos estándar

Algoritmos fáciles de usar y con las Algoritmos fáciles de usar y con las propiedades por defecto más propiedades por defecto más segurasseguras

Page 29: Clase xiii

Objetivos de la encriptaciónObjetivos de la encriptación

Confidencialidad: ayuda a proteger la Confidencialidad: ayuda a proteger la identidad o información de un usuario.identidad o información de un usuario.

Integridad de datos: ayuda a mantener Integridad de datos: ayuda a mantener la información sin cambios indeseados.la información sin cambios indeseados.

Autenticación: para asegurarse que la Autenticación: para asegurarse que la información se origina en un lugar información se origina en un lugar particularparticular

Page 30: Clase xiii

Primitivas de la criptografíaPrimitivas de la criptografía

Secret-key encryption (criptografía Secret-key encryption (criptografía simétrica)simétrica)

Public-key encryption (criptografía Public-key encryption (criptografía asimétrica)asimétrica)

Cryptographic signingCryptographic signing Cryptographic hashesCryptographic hashes

Page 31: Clase xiii

Algoritmos CriptográficosAlgoritmos Criptográficos

Algoritmos de Algoritmos de HashingHashing HMACSHA1HMACSHA1 MACTripleDESMACTripleDES MD5CryptoServiceProviderMD5CryptoServiceProvider SHA1ManagedSHA1Managed SHA256ManagedSHA256Managed SHA384ManagedSHA384Managed SHA512ManagedSHA512Managed

Algoritmos de criptografía simétricaAlgoritmos de criptografía simétrica DES, RC2, Triple-DES, and Rijndael (or AES)DES, RC2, Triple-DES, and Rijndael (or AES)

Algoritmos de criptografía asimétricaAlgoritmos de criptografía asimétrica RSA, DSARSA, DSA

Page 32: Clase xiii

Ejemplo de TripleDESCryptoServiceProvider Ejemplo de TripleDESCryptoServiceProvider

private static void EncryptData(String inName, String outName, byte[] tdesKey, private static void EncryptData(String inName, String outName, byte[] tdesKey, byte[] tdesIV)byte[] tdesIV)

{ { FileStream fin = new FileStream(inName, FileMode.Open, FileAccess.Read);FileStream fin = new FileStream(inName, FileMode.Open, FileAccess.Read); FileStream fout = new FileStream(outName, FileMode.OpenOrCreate, FileStream fout = new FileStream(outName, FileMode.OpenOrCreate,

FileAccess.Write);FileAccess.Write); fout.SetLength(0);fout.SetLength(0); byte[] bin = new byte[100]; long rdlen = 0; long totlen = fin.Length; int len;byte[] bin = new byte[100]; long rdlen = 0; long totlen = fin.Length; int len;

TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider(); TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider(); CryptoStream encStream = new CryptoStream(fout, tdes.CreateEncryptor(tdesKey, CryptoStream encStream = new CryptoStream(fout, tdes.CreateEncryptor(tdesKey,

tdesIV), CryptoStreamMode.Write);tdesIV), CryptoStreamMode.Write); // Lee del archivo de entrada, encripta, y guarda en el archivo de salida// Lee del archivo de entrada, encripta, y guarda en el archivo de salida while(rdlen < totlen) {while(rdlen < totlen) { len = fin.Read(bin, 0, 100);len = fin.Read(bin, 0, 100); encStream.Write(bin, 0, len);encStream.Write(bin, 0, len); rdlen = rdlen + len;rdlen = rdlen + len; Console.WriteLine("{0} bytes procesados", rdlen);Console.WriteLine("{0} bytes procesados", rdlen); }} encStream.Close(); encStream.Close(); }}

Page 33: Clase xiii

Ejemplo de SHA512ManagedEjemplo de SHA512Managed

byte[] data = new byte[DATA_SIZE]; byte[] data = new byte[DATA_SIZE];

byte[] result;byte[] result;

SHA512 shaM = new SHA512Managed(); SHA512 shaM = new SHA512Managed();

result = shaM.ComputeHash(data);result = shaM.ComputeHash(data);

Page 34: Clase xiii

Random Number GenerationRandom Number Generation

Es necesario para muchas operaciones Es necesario para muchas operaciones criptográficascriptográficas

Debe generar salidas con una probabilidadDebe generar salidas con una probabilidadp < .05p < .05

public sealed class public sealed class RNGCryptoServiceProvider :RNGCryptoServiceProvider :

RandomNumberGeneratorRandomNumberGenerator

Page 35: Clase xiii

LaboratorioLaboratorio•GlobalizaciónGlobalización

Page 36: Clase xiii

AgendaAgenda ASP.NET & ADO.NETASP.NET & ADO.NET

Arquitectura n capasArquitectura n capas Capa de presentaciónCapa de presentación Capa de negociosCapa de negocios Capa de acceso a datosCapa de acceso a datos Data StorageData Storage

Base Class LibraryBase Class Library GlobalizaciónGlobalización LocalizaciónLocalización EncriptaciónEncriptación

WebService’sWebService’s Aplicaciones DistribuidasAplicaciones Distribuidas Tecnologías subyacentesTecnologías subyacentes Usando XML Web ServicesUsando XML Web Services SeguridadSeguridad GXAGXA

Page 37: Clase xiii

Evolución de las aplicaciones Evolución de las aplicaciones distribuidas distribuidas Qué es una aplicación distribuída?Qué es una aplicación distribuída? Por qué necesitamos aplicaciones Por qué necesitamos aplicaciones

distribuídas?distribuídas? Aplicaciones distribuidas como Aplicaciones distribuidas como

proveedores de serviciosproveedores de servicios Aplicaciones distribuidas en la WebAplicaciones distribuidas en la Web

Ap

lica

cio

nes

Dis

trib

uida

sA

plic

aci

one

s D

istr

ibui

das

Page 38: Clase xiii

Consideraciones de diseño para las Consideraciones de diseño para las Aplicaciones distribuidasAplicaciones distribuidas

Arquitecturas basadas en RPCArquitecturas basadas en RPC Arquitecturas basadas en mensajes Arquitecturas basadas en mensajes Estándares WebEstándares Web

Problemas de las aplicaciones Problemas de las aplicaciones distribuidas tradicionales distribuidas tradicionales

Ap

lica

cio

nes

Dis

trib

uida

sA

plic

aci

one

s D

istr

ibui

das

Page 39: Clase xiii

Consideraciones de diseño para las Consideraciones de diseño para las Aplicaciones distribuidasAplicaciones distribuidas

Tipos de datos que no son compatibles Tipos de datos que no son compatibles entre diferentes sistemasentre diferentes sistemas

Fallas del sistema o pérdidas del Fallas del sistema o pérdidas del responseresponse

Fallas de los clientesFallas de los clientes Reintentos de llamadaReintentos de llamada SeguridadSeguridad Sincronización de la hora entre Sincronización de la hora entre

diferentes sistemasdiferentes sistemas

Ap

lica

cio

nes

Dis

trib

uida

sA

plic

aci

one

s D

istr

ibui

das

Page 40: Clase xiii

Arquitecturas basadas en RPCArquitecturas basadas en RPC

Qué es RPC?Qué es RPC? El RPC es una invocación a un El RPC es una invocación a un

procedimiento o función que reside en un procedimiento o función que reside en un sistema remotosistema remoto

Llamadas sincrónicas a funcionesLlamadas sincrónicas a funciones Problemas de las arquitecturas RPCProblemas de las arquitecturas RPC

Ap

lica

cio

nes

Dis

trib

uida

sA

plic

aci

one

s D

istr

ibui

das

Page 41: Clase xiii

Arquitecturas basadas en mensajesArquitecturas basadas en mensajes

Mensajería asincrónicaMensajería asincrónica Problemas de las arquitecturas basadas Problemas de las arquitecturas basadas

en mensajesen mensajes

Ap

lica

cio

nes

Dis

trib

uida

sA

plic

aci

one

s D

istr

ibui

das

Page 42: Clase xiii

Estándares WebEstándares Web

Problemas de los protocolos binariosProblemas de los protocolos binarios Protocolos Web y formato de datosProtocolos Web y formato de datos

HTMLHTML HTTPHTTP XMLXML

Problemas de la WebProblemas de la Web SeguridadSeguridad PerformancePerformance

Ap

lica

cio

nes

Dis

trib

uida

sA

plic

aci

one

s D

istr

ibui

das

Page 43: Clase xiii

Introducción a los Web ServicesIntroducción a los Web Services

Qué son los Web Services?Qué son los Web Services? Basados en tecnologías de Basados en tecnologías de

InternetInternet Building blocksBuilding blocks El futuro de las aplicaciones El futuro de las aplicaciones

distribuídasdistribuídas

Ap

lica

cio

nes

Dis

trib

uida

sA

plic

aci

one

s D

istr

ibui

das

Page 44: Clase xiii

Escenarios comunes a los Web Escenarios comunes a los Web servicesservices

Aplicaciones ASP/HostedAplicaciones ASP/Hosted

Integración de la aplicaciónIntegración de la aplicación

Application ServiceProvider

Application ServiceProvider

Application Hosting Provider/Infrastructure

Service Provider

Application Hosting Provider/Infrastructure

Service Provider

SuscriptoresSuscriptores

AplicaciónAplicación

UIUI

MediciónMedición

SoporteSoporteWeb ServiceWeb Service

Ap

lica

cio

nes

Dis

trib

uida

sA

plic

aci

one

s D

istr

ibui

das

Page 45: Clase xiii

Web Services como implementación Web Services como implementación de la arquitectura orientada a de la arquitectura orientada a servicios servicios

UDDIUDDI

ClienteCliente

SOAP SOAP

SOAP

IISIIS

Web ServiceWeb ServiceAp

lica

cio

nes

Dis

trib

uida

sA

plic

aci

one

s D

istr

ibui

das

Page 46: Clase xiii

El modelo de programación de los El modelo de programación de los Web ServicesWeb Services

Protocolos WebProtocolos Web StatelessStateless Bajo acoplamientoBajo acoplamiento Formato de datos UniversalFormato de datos Universal

Ap

lica

cio

nes

Dis

trib

uida

sA

plic

aci

one

s D

istr

ibui

das

Page 47: Clase xiii

ResumenResumen

Evolución de las aplicaciones Evolución de las aplicaciones distribuidasdistribuidas

Problemas de las aplicaciones Problemas de las aplicaciones distribuidas tradicionales distribuidas tradicionales

Introducción a los Web ServicesIntroducción a los Web Services Stack de la tecnología Web y .NETStack de la tecnología Web y .NET Escenarios comunes a los Web Escenarios comunes a los Web

servicesservices

Ap

lica

cio

nes

Dis

trib

uida

sA

plic

aci

one

s D

istr

ibui

das

Page 48: Clase xiii

AgendaAgenda ASP.NET & ADO.NETASP.NET & ADO.NET

Arquitectura n capasArquitectura n capas Capa de presentaciónCapa de presentación Capa de negociosCapa de negocios Capa de acceso a datosCapa de acceso a datos Data StorageData Storage

Base Class LibraryBase Class Library GlobalizaciónGlobalización LocalizaciónLocalización EncriptaciónEncriptación

WebService’sWebService’s Aplicaciones DistribuidasAplicaciones Distribuidas Tecnologías subyacentesTecnologías subyacentes Usando XML Web ServicesUsando XML Web Services SeguridadSeguridad GXAGXA

Page 49: Clase xiii

Fundamentos de HTTPFundamentos de HTTP

Descripción de HTTPDescripción de HTTP Estructuras del HTTP Request y Estructuras del HTTP Request y

ResponseResponse Los métodos GET y POSTLos métodos GET y POST

Te

cno

log

ías

Su

bya

cen

tes

Te

cno

log

ías

Su

bya

cen

tes

Page 50: Clase xiii

Los métodos GET y POST Los métodos GET y POST

HTTP-GET HTTP-GET

HTTP-POSTHTTP-POST

EjemploEjemplo

EjemploEjemplo

GET /Trading/GetStockPrice.asp?Symbol=MSFT HTTP/1.1Host: localhostGET /Trading/GetStockPrice.asp?Symbol=MSFT HTTP/1.1Host: localhost

POST /Trading/GetStockPrice.asp HTTP/1.1Host: localhostContent-Type: application/x-www-form-urlencodedContent-Length: 11

Symbol=MSFT

POST /Trading/GetStockPrice.asp HTTP/1.1Host: localhostContent-Type: application/x-www-form-urlencodedContent-Length: 11

Symbol=MSFT

Te

cno

log

ías

Su

bya

cen

tes

Te

cno

log

ías

Su

bya

cen

tes

Page 51: Clase xiii

Esencias del XMLEsencias del XML

Descripción de XMLDescripción de XML Fundamentos de XSDFundamentos de XSD Serialización XML en el .NET Serialización XML en el .NET

FrameworkFramework

Te

cno

log

ías

Su

bya

cen

tes

Te

cno

log

ías

Su

bya

cen

tes

Page 52: Clase xiii

Descripción de XMLDescripción de XML

Elementos y atributosElementos y atributos Documentos Well-formedDocumentos Well-formed SchemasSchemas

Te

cno

log

ías

Su

bya

cen

tes

Te

cno

log

ías

Su

bya

cen

tes

Page 53: Clase xiii

Serialización XML en el .NET Serialización XML en el .NET FrameworkFramework

CaveatsCaveats POST/GET POST/GET

vs. SOAPvs. SOAP Property Property

serializatioserializationn

XmlRootAttribute

XmlElementAttribute

XmlAttributeAttribute

XmlArrayAttribute

XmlArrayItemAttribute

System.Xml.Serialization System.Xml.Serialization

Te

cno

log

ías

Su

bya

cen

tes

Te

cno

log

ías

Su

bya

cen

tes

Page 54: Clase xiii

Fundamentos de SOAPFundamentos de SOAP

Descripción de SOAPDescripción de SOAP Estructura de los mensajes SOAPEstructura de los mensajes SOAP

Te

cno

log

ías

Su

bya

cen

tes

Te

cno

log

ías

Su

bya

cen

tes

Page 55: Clase xiii

Descripción de SOAPDescripción de SOAP

Mensajes SOAPMensajes SOAP Partes del mensaje SOAPPartes del mensaje SOAP

SOAP envelopeSOAP envelope SOAP encoding rulesSOAP encoding rules SOAP RPC representationSOAP RPC representation Protocol bindings for HTTP and HTTP-EFProtocol bindings for HTTP and HTTP-EF

Te

cno

log

ías

Su

bya

cen

tes

Te

cno

log

ías

Su

bya

cen

tes

Page 56: Clase xiii

AgendaAgenda ASP.NET & ADO.NETASP.NET & ADO.NET

Arquitectura n capasArquitectura n capas Capa de presentaciónCapa de presentación Capa de negociosCapa de negocios Capa de acceso a datosCapa de acceso a datos Data StorageData Storage

Base Class LibraryBase Class Library GlobalizaciónGlobalización LocalizaciónLocalización EncriptaciónEncriptación

WebService’sWebService’s Aplicaciones DistribuidasAplicaciones Distribuidas Tecnologías subyacentesTecnologías subyacentes Usando XML Web ServicesUsando XML Web Services SeguridadSeguridad GXAGXA

Page 57: Clase xiii

Documentos WSDLDocumentos WSDL Qué es WSDL?Qué es WSDL?

Estructura de un documento Estructura de un documento WSDLWSDL El elemento El elemento typestypes El elemento El elemento messagemessage El elemento El elemento portTypeportType

El elemento El elemento bindingbindingEl elemento El elemento serviceservice

Web Service ConsumerWeb Service ConsumerWeb ServiceWeb Service

Usa

ndo

XM

L W

eb

Se

rvic

esU

sand

o X

ML

We

b S

erv

ices

Page 58: Clase xiii

Web Service DiscoveryWeb Service Discovery

Introduciendo DiscoIntroduciendo Disco

Web Service ConsumerWeb Service ConsumerWeb ServiceWeb Service

Usa

ndo

XM

L W

eb

Se

rvic

esU

sand

o X

ML

We

b S

erv

ices

Page 59: Clase xiii

Introduciendo DiscoIntroduciendo Disco

Qué es Disco?Qué es Disco?

Usa

ndo

XM

L W

eb

Se

rvic

esU

sand

o X

ML

We

b S

erv

ices

Page 60: Clase xiii

Qué es UDDI? Por qué usar UDDI?Qué es UDDI? Por qué usar UDDI?

Una colección de especificacionesUna colección de especificaciones Para distribuir información de registro de Para distribuir información de registro de

los Web services los Web services - UDDI Programmer’s API SpecificationUDDI Programmer’s API Specification- UDDI Data Structure SpecificationUDDI Data Structure Specification

Implementación del registro UDDIImplementación del registro UDDI Implementaciones de las especificacionesImplementaciones de las especificaciones

Usa

ndo

XM

L W

eb

Se

rvic

esU

sand

o X

ML

We

b S

erv

ices

Page 61: Clase xiii

Creación de un Web ServiceCreación de un Web Service

Usa

ndo

XM

L W

eb

Se

rvic

esU

sand

o X

ML

We

b S

erv

ices

Page 62: Clase xiii

Implementando métodos en los Implementando métodos en los Web ServicesWeb Services

Usa

ndo

XM

L W

eb

Se

rvic

esU

sand

o X

ML

We

b S

erv

ices

Page 63: Clase xiii

Exponinendo métodos WebExponinendo métodos Web

Configurando las propiedades del Configurando las propiedades del atributo WebMethodatributo WebMethod BufferResponseBufferResponse CacheDurationCacheDuration DescriptionDescription EnableSessionEnableSession MessageNameMessageName TransactionOptionTransactionOption

Usa

ndo

XM

L W

eb

Se

rvic

esU

sand

o X

ML

We

b S

erv

ices

Page 64: Clase xiii

Ejemplo Web ServiceEjemplo Web ServiceU

sand

o X

ML

We

b S

erv

ices

Usa

ndo

XM

L W

eb

Se

rvic

es

Page 65: Clase xiii

LaboratorioLaboratorio•Implementando un Web ServiceImplementando un Web Service

Page 66: Clase xiii

LaboratorioLaboratorio•Consumiendo un Web ServiceConsumiendo un Web Service

Page 67: Clase xiii

AgendaAgenda ASP.NET & ADO.NETASP.NET & ADO.NET

Arquitectura n capasArquitectura n capas Capa de presentaciónCapa de presentación Capa de negociosCapa de negocios Capa de acceso a datosCapa de acceso a datos Data StorageData Storage

Base Class LibraryBase Class Library GlobalizaciónGlobalización LocalizaciónLocalización EncriptaciónEncriptación

WebService’sWebService’s Aplicaciones DistribuidasAplicaciones Distribuidas Tecnologías subyacentesTecnologías subyacentes Usando XML Web ServicesUsando XML Web Services SeguridadSeguridad GXAGXA

Page 68: Clase xiii

Authentication vs. AuthorizationAuthentication vs. Authorization

AuthenticationAuthentication Buscar y verificar la identidad del usuarioBuscar y verificar la identidad del usuario

AuthorizationAuthorization Identificar si el usuario tiene permisos para Identificar si el usuario tiene permisos para

los pedidos realizadoslos pedidos realizados

Se

guri

dad

en W

eb

Se

rvic

esS

egu

rida

d en

We

b S

erv

ices

Page 69: Clase xiii

Tipos de AutenticaciónTipos de Autenticación

IISASP.NETFormsSOAP header

IISASP.NETFormsSOAP header

Se

guri

dad

en W

eb

Se

rvic

esS

egu

rida

d en

We

b S

erv

ices

Page 70: Clase xiii

Tipos de AutorizaciónTipos de Autorización

Windows NTRole-basedCode access security

Windows NTRole-basedCode access security

Se

guri

dad

en W

eb

Se

rvic

esS

egu

rida

d en

We

b S

erv

ices

Page 71: Clase xiii

ResumenResumen

Authentication vs. AuthorizationAuthentication vs. Authorization Tipos de AutenticaciónTipos de Autenticación Tipos de AutorizaciónTipos de Autorización

Se

guri

dad

en W

eb

Se

rvic

esS

egu

rida

d en

We

b S

erv

ices

Page 72: Clase xiii

AgendaAgenda ASP.NET & ADO.NETASP.NET & ADO.NET

Arquitectura n capasArquitectura n capas Capa de presentaciónCapa de presentación Capa de negociosCapa de negocios Capa de acceso a datosCapa de acceso a datos Data StorageData Storage

Base Class LibraryBase Class Library GlobalizaciónGlobalización LocalizaciónLocalización EncriptaciónEncriptación

WebService’sWebService’s Aplicaciones DistribuidasAplicaciones Distribuidas Tecnologías subyacentesTecnologías subyacentes Usando XML Web ServicesUsando XML Web Services SeguridadSeguridad GXAGXA

Page 73: Clase xiii

Limitaciones de los Web ServicesLimitaciones de los Web Services Actualmente los Web Services se usan para:Actualmente los Web Services se usan para:

Integrad aplicaciones empresarialesIntegrad aplicaciones empresariales Interoperar con parters de negocioInteroperar con parters de negocio

En el futuro necesitarán:En el futuro necesitarán: Interoperar a través de múltiples Interoperar a través de múltiples

organizacionesorganizaciones Problemas que los estándares principales Problemas que los estándares principales

(SOAP, WSDL, UDDI) no resuelven(SOAP, WSDL, UDDI) no resuelven Cómo implementar seguridad?Cómo implementar seguridad? Cómo agregar o quitar dinámicamente un Cómo agregar o quitar dinámicamente un

path?path? Cómo realizar transacciones de larga Cómo realizar transacciones de larga

duración?duración?GX

AG

XA

Page 74: Clase xiii

DescripciónDescripción de Global XML Web de Global XML Web Services ArchitectureServices Architecture

Consideraciones de diseño de GXAConsideraciones de diseño de GXA Propósito generalPropósito general ModularModular

FederatedFederated Basado en Basado en

estándaresestándares Algunas especificacionesAlgunas especificaciones

WS-RoutingWS-Routing WS-ReferralWS-Referral WS-SecurityWS-Security WS-LicenseWS-License

WS-TransactionsWS-Transactions

GX

AG

XA

Page 75: Clase xiii

Evolve and Extend

Secure, Reliable, Transacted

Fundamentals

20032000 2001 2002 2004 2005

WS-ReliableMessagingWS-ReliableMessaging Reliab

ilityR

eliability

WS-I formedWS-I formed Interop

erabili ty

Interop

erabili ty

WS-I BP 1.0WS-I BP 1.0

Security RoadmapSecurity Roadmap Wh

itepapers

Wh

itepapers

Reliable Messaging RoadmapReliable Messaging RoadmapSRT Web Services WhitepaperSRT Web Services Whitepaper

WS-SecurityWS-Security

WS-TrustWS-Trust

Se

curityS

ecurity

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

Tran

sactions

Tran

sactions

WS-AtomicTransactionWS-AtomicTransaction

WS-BusinessActivityWS-BusinessActivity

SOAP 1.1SOAP 1.1 Messaging

Messaging

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

Metadata

Metadata

UDDI 1.0UDDI 1.0

WSDLWSDLUDDI 2.0UDDI 2.0

WS-InspectionWS-InspectionUDDI 3.0UDDI 3.0

WS-DiscoveryWS-MetadataExchange

WS-DiscoveryWS-MetadataExchange

A fecha de Feb/2004

Especificaciones WS-*Especificaciones WS-*G

XA

GX

A

Page 76: Clase xiii

Seguridad Fiabilidad Transaccional

Mensajería

XML

Met

adat

os

TransportesTransportes

AplicacionesAplicaciones

SOAPXSD

HTTP

UDDIWSDL

WS-Security

WS-RoutingWS-Referral

DIME

TCPin-process

WS-AddressingWS-Attachments

WS-PolicyWS-Trust

WS-SecureConversationWS-ReliableMessaging

WS-DiscoveryWS-MetadataExchange WS-BusinessActivity

WS-AtomicTransaction

MTOMWS-Eventing

WS-Federation

WS-Inspection

WS-CoordinationWS-Transaction

ASP.NET Web Services.NET FX 1.0 / 1.1

WSE 1.0 WSE 2.0

“Indigo”“Indigo”

Especificaciones WS-*Especificaciones WS-*

GX

AG

XA

Page 77: Clase xiii

WSE 2.0 – Algunas característicasWSE 2.0 – Algunas características

Token-issuing frameworkToken-issuing framework Autorización integrada en la seguridad Autorización integrada en la seguridad

de Windowsde Windows Declarative programming modelDeclarative programming model Modelo de objetos basados en Modelo de objetos basados en

mensajesmensajes

GX

AG

XA

Page 78: Clase xiii

TransaccionesTransacciones

WS-CoorinationWS-Coorination WS-AtomicTransactionWS-AtomicTransaction WS-BussinessActivityWS-BussinessActivity

GX

AG

XA

Page 79: Clase xiii

ResumenResumenG

XA

GX

A

Page 80: Clase xiii

ExámenExámen

Próxima clase:Próxima clase:

Exámen Exámen presencialpresencial de de

““2da Estrella” 2da Estrella” (Lenguaje a Elección)(Lenguaje a Elección)