Upload
roberto-moreno-donoro
View
524
Download
3
Tags:
Embed Size (px)
Citation preview
Clase XIIIClase XIII•[nombre instructor][nombre instructor]
•[fecha][fecha]
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
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
Arquitectura n capasArquitectura n capasA
DO
.NE
T &
AS
P.N
ET
AD
O.N
ET
& A
SP
.NE
T
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
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
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
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
EjemploEjemploA
DO
.NE
T &
AS
P.N
ET
AD
O.N
ET
& A
SP
.NE
T
Ejemplo : Implementación de Ejemplo : Implementación de UpdateProductUpdateProduct
AD
O.N
ET
& A
SP
.NE
TA
DO
.NE
T &
AS
P.N
ET
Utilizando ObjectDataSourceUtilizando ObjectDataSourceA
DO
.NE
T &
AS
P.N
ET
AD
O.N
ET
& A
SP
.NE
T
Utilizando ObjectDataSourceUtilizando ObjectDataSourceA
DO
.NE
T &
AS
P.N
ET
AD
O.N
ET
& A
SP
.NE
T
Utilizando ObjectDataSourceUtilizando ObjectDataSourceA
DO
.NE
T &
AS
P.N
ET
AD
O.N
ET
& A
SP
.NE
T
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
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
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
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
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
GlobalizaciónGlobalización
Esta enmarcada en el Namespace Esta enmarcada en el Namespace GlobalizationGlobalization CultureInfoCultureInfo CalendarCalendar TextInfoTextInfo StringInfoStringInfo RegionInfoRegionInfo DateTimeFormatInfoDateTimeFormatInfo RegionInfoRegionInfo NumberFormatInfoNumberFormatInfo
CalendarCalendar
Ejemplo: Configuración del calendario Ejemplo: Configuración del calendario (cont.)(cont.)
Ejemplo: Configuración del calendario Ejemplo: Configuración del calendario (cont.)(cont.)
NumberFormatInfoNumberFormatInfo
DateTimeFormatInfoDateTimeFormatInfo
DateTimeFormatInfoDateTimeFormatInfoResultado del código anteriorResultado del código anterior
RegionInfoRegionInfo
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
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
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
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
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
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(); }}
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);
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
LaboratorioLaboratorio•GlobalizaciónGlobalización
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Ejemplo Web ServiceEjemplo Web ServiceU
sand
o X
ML
We
b S
erv
ices
Usa
ndo
XM
L W
eb
Se
rvic
es
LaboratorioLaboratorio•Implementando un Web ServiceImplementando un Web Service
LaboratorioLaboratorio•Consumiendo un Web ServiceConsumiendo un Web Service
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
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
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
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
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
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
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
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
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
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
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
TransaccionesTransacciones
WS-CoorinationWS-Coorination WS-AtomicTransactionWS-AtomicTransaction WS-BussinessActivityWS-BussinessActivity
GX
AG
XA
ResumenResumenG
XA
GX
A
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)