taller msdn migracion vb net
TRANSCRIPT
-
7/24/2019 Taller MSDN Migracion VB NET
1/82
Migracin a
Visual Basic .NET
Rodrigo Bruno
Application Development Consultant
Soporte Premier a Desarrolladores
-
7/24/2019 Taller MSDN Migracion VB NET
2/82
!"etivos #
E$plicar por%u& un desarrollador de VB'de!er(a pasar a VB.NET
A)udar*+acilitar la transicin de VB' aVB.NET
-
7/24/2019 Taller MSDN Migracion VB NET
3/82
Agenda
Re+erencias, -u(as de ar%uitectura dise/o )cdigo
Ar%uitectura del .NET 0rame1or2 ) la C3R
Estrategias de migracin VB' vs VB.NET, Di+erencias en el lengua"e Acceso a datos, AD.NET Asistente de Actuali4acin de Aplicaciones
5nteropera!ilidad con CM 5mplantacin de aplicaciones 6no touc78 Seguridad en el .NET 0rame1or2
-
7/24/2019 Taller MSDN Migracion VB NET
4/82
9.: -u(as de ar%uitectura *
dise/o ) cdigo -u(as de Ar%uitectura 6PA-8
Est;ndares de desarrollo Application Bloc2s -u(as de migracin
-
7/24/2019 Taller MSDN Migracion VB NET
5/82
-u(as de ar%uitectura
-u(as de dise/o para aplicaciones .NET Muestran como enca"a todo "unto
Blueprint para decisiones a nivel de dise/o Alto riesgo en la etapa de dise/o Ar%uitectos son contrarios al riesgo
No es una solucin para todos los dise/os Tendr& %ue re7acer todo en el +uturo?@
-
7/24/2019 Taller MSDN Migracion VB NET
6/82
UI Components
Oper
ationalManagement
Secu
rity
Communication
UI Process Components
Data Access Components
Business Workflows
Business Components
Users and Deices
Data Sources
Business !ntities
SericesSc Interfaces
Sc Agents
-u(as de Ar%uitectura
Business
Presentation
Data
-
7/24/2019 Taller MSDN Migracion VB NET
7/82
-u(as de Ar%uitectura
Application Arc7itecture +or .NET, Designing Applications and Services .NET Data Access Arc7itecture -uide Building Secure ASP.NET Applications De!ugging .NET Applications E$ception Management in .NET .NET*CM Migration and 5nteropera!ilit) Monitoring in .NET
Deplo)ing .NET Applications Team Development 1it7 SourceSa+e N5 Code Migration -uide
7ttp,**msdn.microso+t.com*practices*
-
7/24/2019 Taller MSDN Migracion VB NET
8/82
Est;ndares de desarrollo
A)udan a escri!ir cdigo ro!usto ) seguro%ue +unciona de manera consistente con el0rame1or2 .NET
0acilitan la propiedad colectiva del cdigo
.NET 0rame1or2 Design -uidelines 7ttp,**msdn.microso+t.com*li!rar)*en:
us*cpgenre+*7tml*cpconnet+rame1or2designguidelines.asp
0$Cop, anali4a el cdigo managedparac7e%uear las pr;cticas recomendadas 7ttp,**111.gotdotnet.com*team*li!raries*
-
7/24/2019 Taller MSDN Migracion VB NET
9/82
Application Bloc2s
Data Access Application Bloc2 +or .NET Componente .NET %ue contiene cdigo optimi4ado
de acceso a datos
E$ception Management Application Bloc2
+or .NET Provee un +rame1or2 simple ) e$tensi!le para
mane"ar e$cepciones
-
7/24/2019 Taller MSDN Migracion VB NET
10/82
Re+erencias
Estrategia de migracin, Microso+t .NET*CM Migration and 5nteropera!ilit),
7ttp,**msdn.microso+t.com*li!rar)*de+ault.asp?url*li!rar)*en:us*dn!da*7tml*cominterop.asp
-u(a de migracin a .NET, pgrading to .NET, 7ttp,**msdn.microso+t.com*li!rar)*de+ault.asp?
url*li!rar)*en:us*dndotnet*7tml*upgradingtodotnet.asp
-u(a espec(+ica para VB, pgrade to Visual Basic .NET +rom Visual Basic '.,
7ttp,**msdn.microso+t.com*v!asic*tec7in+o*articles*upgrade*de+ault.asp
Visual Studio F, 7ttp,**msdn.microso+t.com*v!asic*productin+o*v!asicF*+eatures*de+ault
.asp
-
7/24/2019 Taller MSDN Migracion VB NET
11/82
.: Ar%uitectura del .NET
0rame1or2 ) la C3R!"etivos de dise/o
Ar%uitecturaBene+iciosCompilacin
-
7/24/2019 Taller MSDN Migracion VB NET
12/82
5ntroduccin a .NET!"etivos de dise/o de .NET 0rame1or2 Entorno consistente de orientacin a o!"etos,
mismo modelo para e"ecucin local cdigo remoto o entornodistri!uido en 5nternet
Minimi4ar con+lictos, implantacin ) versiones
Proporcionar e"ecucin segura de cdigo Eliminar pro!lemas de rendimiento de cdigo
interpretado o con scripting Ma)or productividad del desarrollador tanto para
aplicaciones Gindo1s como Ge! Comunicacin !asada en est;ndares de la industria
-
7/24/2019 Taller MSDN Migracion VB NET
13/82
5ntroduccin a .NET0rame1or2 3engua"es )
-
7/24/2019 Taller MSDN Migracion VB NET
14/82
S)stemS)stem
S)stem.DataS)stem.Data S)stem.mlS)stem.ml
S)stem.Ge!S)stem.Ge!
-lo!ali4ation-lo!ali4ation
DiagnosticsDiagnostics
Con+igurationCon+iguration
CollectionsCollections
ResourcesResources
Re+lectionRe+lection
NetNet
55
T7readingT7reading
Te$tTe$t
ServiceProcessServiceProcess
Securit)Securit)
CommonCommon
leD!leD!
SL3T)pesSL3T)pes
S%lClientS%lClient
Pat7Pat7
S3TS3T
RuntimeRuntime
5nteropServices5nteropServices
RemotingRemoting
Seriali4ationSeriali4ation
Seriali4ationSeriali4ation
Con+igurationCon+iguration SessionStateSessionStateCac7ingCac7ing Securit)Securit)
ServicesServices
DescriptionDescription
Discover)Discover)
ProtocolsProtocols
55
-
7/24/2019 Taller MSDN Migracion VB NET
15/82
5ntroduccin a .NETBene+icios del .NET 0rame1or2
Simpli+ica el desarrollo ) la implantacin
Proporciona un entorno de e"ecucin seguro
) ro!usto ni+ica modelos de programacin
Soporta mltiples lengua"es de programacin
5ndependiente de la plata+orma
-
7/24/2019 Taller MSDN Migracion VB NET
16/82
5ntroduccin a .NETBene+icios del .NET 0rame1or2
Sistema comn de tipos 5nstancias ) de+inicin de tipos comunes
rientacin a o!"etos,
Clases e inter+aces Constructores propiedades m&todos eventos
-
7/24/2019 Taller MSDN Migracion VB NET
17/82
5ntroduccin a .NETBene+icios del .NET 0rame1or2 Elimina la =+ontaner(a@ de CM No m;s #
Registro
-5Ds Arc7ivos .5D3
Aps autodescriptivas=>Aps autodescriptivas
=>namespaces jerrquicos=>namespaces jerrquicos=>objetos autodescriptivos=>objetos autodescriptivos
=>excepciones estructurada=>excepciones estructurada
=>objeto raiz comn=>objeto raiz comn
=>garbage collector=>garbage collector
=>operador new=>operador new
-
7/24/2019 Taller MSDN Migracion VB NET
18/82
Assem!l)Assem!l)
5ntroduccin a .NETCompilacin ) e"ecucin
CdigoCdigo
+uente+uenteCompiladorCompilador
deldel
lengua"elengua"e
CompilacinCompilacin
En instalacin o laEn instalacin o la
primera ve4 %ue seprimera ve4 %ue se
invoca a cadainvoca a cada
m&todom&todoE"ecucinE"ecucin
CompiladorCompiladorJ5TJ5T
CdigoCdigoNativoNativo
Cdigo (IL)Cdigo (IL)
MetadatosMetadatos
-
7/24/2019 Taller MSDN Migracion VB NET
19/82
F.: VB' vs VB.NET,
Di+erencias en el lengua"e
Visual Basic ' vs. Visual Basic .NET Compati!ilidad con Visual Basic ' Cam!ios a nivel de cdigo
-
7/24/2019 Taller MSDN Migracion VB NET
20/82
Se ec7a!a en +alta en VB' ...
No totalmente orientado a o!"etos, 7erencia
No se pueden crear aplicaciones free-threaded
Evitar pro!lemas de registro ) versiones na programacin Ge! menos comple"a
6respecto a la programacin Gindo1s8
Mecanismos para evitar +ugas de memoria n tratamiento de errores m;s potente
Runtime integrada
-
7/24/2019 Taller MSDN Migracion VB NET
21/82
Novedades del lengua"e
-
7/24/2019 Taller MSDN Migracion VB NET
22/82
Novedades del lengua"e 68
Control de errores estructurado, Tr) # Catc7
3a runtime de VB.NET +orma parte del 0rame1or2. 5ncluida en el redistri!ui!le
M;s,
Punteros a +unciones 6delegates8 nuevos tipos de datos compro!acin estricta de tipos #
-
7/24/2019 Taller MSDN Migracion VB NET
23/82
VB.NET no es VB' H nuevas caracter(sticas
Nuevas caracter(sticas re%uieren redise/o
Nuevo +ormato de +ic7eros
5nteropera!ilidad entre lengua"es
5ntegracin con .NET +rame1or2
> Compati!ilidad ?No es +;cil
-
7/24/2019 Taller MSDN Migracion VB NET
24/82
3i!rer(a de compati!ilidad
Microsoft.VisualBasic.Compatibility Cuando no 7a)a nada e%uivalente
Cuando lo e%uivalente sea mu) di+erente
VB'.nom!re de +uncinO No recomenda!le su utili4acin
'VB6
Form1.Show
Form1.Show vbModal
Form1.Show X
'Visual Basic.NET
Form1.Show
Form1.ShowDialog
VB6.ShowForm(Form1, X)
-
7/24/2019 Taller MSDN Migracion VB NET
25/82
Cam!ios a nivel de cdigo
Tipos Variant, sustituidos por Object
No 7a) propiedades por de+ecto
Varia!les a nivel de !lo%ue
3as llamadas a procedimiento necesitan par&ntesis
3os procedimientos permiten Return
3os par;metros son ByVal por de+ecto Posi!le declarar iniciali4ar varia!les
M;s #
Imor!s S"s!#m Ma!h
-
7/24/2019 Taller MSDN Migracion VB NET
26/82
Imor!sS"s!#m.Ma!hNam#sac#$#om#!ria
%ublic Modul#Modul#1 SubMai&( Dim!ri )s N#wTria&gulo*+ ,+ -( o&sol#./ri!#0i!ri.alcular)r#a((
o&sol#./ri!#0iirculo.)r#a(( E&d Sub E&d Modul#
%ublic lass Tria&gulo Dimm2a+ m2b+ m2c )s I&!#g#r
%ublic SubN#w( E&d Sub
%ublic SubN#w B"Vala )s I&!#g#r+ B"Valb )s I&!#g#r+ B"Valc )s I&!#g#r(
m2a 3 a 4 m2b 3 b 4 m2c 3 c E&d Sub
%ublic Fu&c!io& alcular)r#a( )s Doubl# Dims )s Doubl# 3 m2a 5 m2b 5 m2c( * 7#!ur&S8r!s 9 s : m2a( 9 s : m2b( 9 s : m2c((
E&d Fu&c!io& E&d lass
%ublic lass irculo %ublic Shar#d Fu&c!io& )r#aB"Val r)s Doubl#()s Doubl# 7#!ur& %i 9 r ; *( E&d Fu&c!io& E&d lass
E&d Nam#sac#
-
7/24/2019 Taller MSDN Migracion VB NET
27/82
Demo 9
Novedades del lengua"e
-
7/24/2019 Taller MSDN Migracion VB NET
28/82
Q.: Acceso a datos, AD.NET
AD vs AD.NET
Caracter(sticas de AD.NET Ar%uitectura Enlace a datos 6!inding8
-
7/24/2019 Taller MSDN Migracion VB NET
29/82
AD tra!a"a !ien pero, Necesita CM ) Gindo1s 3os recordsets no via"an !ien a trav&s de 5nternet
AD.NET resuelve estos pro!lemas, tili4a M3 6a !a"o nivel8 para reali4ar el
transporte de datos M3 no tiene re%uisitos espec(+icos de
runtime*transporte No se necesita un cdigo especial para 7acer el
mars7aling a trav&s de 5nternet
AD .NET una nueva mentalidad, Entorno desconectado Todo el transporte de datos utili4a M3
AD vs AD.NET
-
7/24/2019 Taller MSDN Migracion VB NET
30/82
AD.NET
DB3i! DBC DA RD AD #. AD.NET S)stem.Data, la clase rai4
A partir de a7( principales namespaces,
S)stem.Data.leDB S)stem.Data.SL3Client
S)stem.Data.DBC S)stem.Data.racleClient
S)stem.M3, para tra!a"ar directamente con
M3
-
7/24/2019 Taller MSDN Migracion VB NET
31/82
AD.NET
S)stem.Data.leD!, tra!a"a con todaslas +uentes 3E DB Soporta unmanagedproviders de AD
S)stem.Data.SL3Client, slo SL3Server 6managed8
VStudio F, S)stem.Data.DBC
S)stem.Data.racleClient
-
7/24/2019 Taller MSDN Migracion VB NET
32/82
NegocioNegocio DatosDatos
PresentacinPresentacin
Gindo1s 0ormsGindo1s 0orms
Ge! +ormsGe! +orms
Business to !usinessBusiness to !usiness
Data o!"ect 6class8Data o!"ect 6class8
DataSetDataSet
DataSetDataSetDataSetDataSet
5nternet5nternetintranetintranet
Data adapterData adapter
Data adapterData adapter
6Bi4Tal2 por e"emplo86Bi4Tal2 por e"emplo8
mlml
MiAp.E$eMiAp.E$e
5E5E
Ar%uitectura de AD.NET
-
7/24/2019 Taller MSDN Migracion VB NET
33/82
Bu++er de
datos
Acceso a
datosDataAdapter
DataSet
Di+erencia +undamental
Bu++er de
datos
Acceso a
datos
RecordsetEn AD,
En AD.NET,
-
7/24/2019 Taller MSDN Migracion VB NET
34/82
AD.NET, Connection
leD!Connection*SL3Connection Representa la sesin contra la BD
tili4ados por o!"etos Data Adapter ) Commandpara recuperar*actuali4ar
5nicia las transacciones Connection.BeginTransaction68 devuelve un o!"eto
Transaction $$$Transaction
n comando se enlista en una transaccin 5solation3evel Commit68 * Roll!ac268
Con+iguracin del pool de cone$iones en elconnection string
-
7/24/2019 Taller MSDN Migracion VB NET
35/82
AD.NET, Command
leD!Command*SL3Command Representa Transact:SL3 o procedimientos
almacenados
Devuelve un resultset 6E$ecuteReader8 unvalor 6E$ecuteScalar8 o e"ecuta sentencias demodi+icacin 6E$ecuteNonLuer)8
-eneracin autom;tica con el o!"eto
CommandBuilder
-
7/24/2019 Taller MSDN Migracion VB NET
36/82
AD.NET, DataReader
leD!DataReader*SL3DataReader Stream +or1ard:onl) read:onl) tili4ado por el DataAdapter
Mu) r;pido Creado por un o!"eto Command
6E$ecuteReader8
-
7/24/2019 Taller MSDN Migracion VB NET
37/82
AD.NET, DataAdapter
leD!DataAdapter*SL3DataAdapter Representa un con"unto de Commands) unaConnection
Puente entre el DataSet ) la BD 3ee ) actuali4a la BD,
SelectCommand pdateCommand5nsertCommand DeleteCommand
-
7/24/2019 Taller MSDN Migracion VB NET
38/82
AD.NET DataAdapter
DataAdapterDataAdapter
SelectCommandSelectCommand
5nsertCommand5nsertCommand
pdateCommandpdateCommand
DeleteCommandDeleteCommand
Ta!leMappingsTa!leMappings
Base de datosBase de datos
DataSetDataSet
-
7/24/2019 Taller MSDN Migracion VB NET
39/82
AD.NET, DataSet
!"eto estrella en AD.NET Representa una cac7& de datos en memoria Contiene DataTa!les 3ee ) escri!e datos ) es%uemas en M3
Seriali4a!le Puede ser tipado o no tipado,
Am!os 7eredan de la clase DataSet El tipado se apo)a en un es%uema M3 6.SD8
para generar la clase El tipado tiene venta"as, E$pone estructura como propiedades ) m&todos,
5ntellisense Recoge la Primar) 2e)
-
7/24/2019 Taller MSDN Migracion VB NET
40/82
AD.NET, tros o!"etos
DataTa!le Representa una ta!la en memoria 3o rellena un DataAdapter o a mano Componente principal de los o!"etos DataSet )
DataVie1
DataVie1 Vista personali4ada de un o!"eto DataTa!le 0iltros ordenacin !s%uedas #
DataRelation De+ine relaciones entre ta!las tili4a columnas de un DataTa!le
-
7/24/2019 Taller MSDN Migracion VB NET
41/82
AD.NET : DataSet
DataSetDataSet
DataTa!leDataTa!le
DataTa!leDataTa!le
DataRo1DataRo1
DataColumnDataColumn
RelationsRelations
ConstraintsConstraintsM3 Sc7emaM3 Sc7ema
-
7/24/2019 Taller MSDN Migracion VB NET
42/82
AD.NET, 3ecturas
M&todo Filldel o!"eto DataAdapter
Se utili4a el SelectCommand del DataAdapter
5nserta*actuali4a datos del DataSet
Si la ta!la e$iste actuali4a datos Si no e$iste crea ) rellena la ta!la
na ta!la por cada resultset
Mantiene la cone$in en su estado original
-
7/24/2019 Taller MSDN Migracion VB NET
43/82
AD.NET, Actuali4aciones
3a +uncionalidad en AD es impl(cita.Recordset ca"a negra. E"emplo, pdateBatc7
En AD.NET, Se crea un modelo m;se$pl(cito ) transparente. 5nsertCommand pdateCommand
DeleteCommand
Eventos de pdate
CommandBuilder, generacin autom;tica delos comandos de 5nsert pdate ) Delete apartir del SelectCommand
-
7/24/2019 Taller MSDN Migracion VB NET
44/82
AD.NET, Actuali4aciones
DataAdapter.pdate, Anali4a los cam!ios del DataSet
E"ecuta los comandos 5nsert pdate )
Delete necesarios Re+resca el DataSet
rden de e"ecucin por de+ecto,
5nsert pdate ) Delete.
-
7/24/2019 Taller MSDN Migracion VB NET
45/82
AD.NET, Enlace a datos
AD .NET soporta enla4ar 6!inding8DataSets a Gindo1s 0orms * Ge!0orms ) sus controles
VStudio .NET inclu)e !astantes1i4ards para 7acer el enlace entredatos ) controles
-
7/24/2019 Taller MSDN Migracion VB NET
46/82
Demo ,Aplicacin maestro:
detalle
-
7/24/2019 Taller MSDN Migracion VB NET
47/82
.: Asistente de actuali4acin
de aplicaciones, cdigo Consideraciones Asistente, lo no soportado
pgrade Gi4ard 0inal de la actuali4acin
-
7/24/2019 Taller MSDN Migracion VB NET
48/82
Consideraciones
pciones Continuar con VB' 5nteroperar entre VB' ) VB.NET Actuali4ar a VB .NET
El nuevo cdigo .NET podr; ser,
Creado desde cero Migrado pgrade Gi4ard
Venta"as de la actuali4acin Aprovec7ar las caracter(sticas del .NET 0rame1or2 Aprovec7ar las caracter(sticas de Visual Basic .NET
Desventa"as de la actuali4acin Algunas caracter(sticas no se actuali4an M;s tra!a"o de desarrollo ) prue!as
3a actuali4acin de cdigo es slo una parte
-
7/24/2019 Taller MSDN Migracion VB NET
49/82
Consideraciones
Migracin 7ori4ontal na sola capa al
completo
Migracin vertical Aislar ) reempla4ar unaparte en todas las capas
-
7/24/2019 Taller MSDN Migracion VB NET
50/82
Consideraciones
Elegir una estrategia %ue minimice el riesgo Elegir actividades %ue permitan continuar
utili4ando la !ase de cdigo CM mientras nosmovemos a .NET
Sacar partido r;pidamente a las nuevas+uncionalidades del entorno .NET
0actores a tener en cuenta, Aislamiento Nueva +uncionalidad so intensivo de recordsets entre capas Ar%uitectura e$istente
-
7/24/2019 Taller MSDN Migracion VB NET
51/82
Asistente, lo no soportado
Data !inding de DA ) RD Controles de Visual Basic . Aplicaciones D
-
7/24/2019 Taller MSDN Migracion VB NET
52/82
pgrade Gi4ard
Aspecto del +ormularioAspecto del +ormulario
Controles ActiveControles Active
AD 6data !inding8AD 6data !inding8
CdigoCdigo
Cam!ios de sinta$isCam!ios de sinta$is
3i!rer(as CM3i!rer(as CM
Arc7ivos .RESArc7ivos .RES
Avisos de comportamientoAvisos de comportamiento
-
7/24/2019 Taller MSDN Migracion VB NET
53/82
0inal de la actuali4acin
Pro)ecto Visual Basic .NET El pgrade Gi4ard enumera,
pgrade issues pgrade to:dos pgrade 1arnings pgrade notes
Completar los cam!ios Compilar la aplicacin
-
7/24/2019 Taller MSDN Migracion VB NET
54/82
Demo F,
pgrade Gi4ard
-
7/24/2019 Taller MSDN Migracion VB NET
55/82
'.: 5nteropera!ilidad con CM
Migrar o interoperar CM ) .NET 3lamadas desde .NET a CM 3lamadas desde CM a .NET
-
7/24/2019 Taller MSDN Migracion VB NET
56/82
Migrar o interoperar
Migrar Todo el cdigo en un entorno consistente
Actuali4ar para tomar venta"a de .NET
5nteroperar Reutili4ar cdigo e$istente
Preservar inversiones
Acceso a +uncionalidad no migra!le
-
7/24/2019 Taller MSDN Migracion VB NET
57/82
CM ) .NET
Componentes DCM
CMH
Recordset *O
5n2no1n*5Dispatc7
-5D*C3S5D*etc
Assem!lies Remoting
EnterpriseServices
DataSet Seriali4ation
*O
*O
-
7/24/2019 Taller MSDN Migracion VB NET
58/82
CM ) .NET
.NET utili4ando CM 3os tipos .NET pueden acceder a tipos CM Vuelta al registr) ) a las limitaciones de implantacin actuales
CM utili4ando .NET 3os tipos CM pueden acceder a tipos .NET
.NET.NET
CMCM
CMCM
.NET.NET
C
-
7/24/2019 Taller MSDN Migracion VB NET
59/82
3lamadas desde .NET a CM
CommonCommon3anguage Runtime3anguage Runtime
Servidor CMServidor CM
Re+erenciaspor contador
Re+erenciastraceadas
ClienteCliente
RuntimeRuntimeCalla!le GrapperCalla!le Grapper
!"eto!"eto
RCG,
Creado con Visual Studio .NET
tl!imp.e$e
Primar) interop assem!l)Mars7al.ReleaseCom!"ect68
3l d d d CM NET
-
7/24/2019 Taller MSDN Migracion VB NET
60/82
CMCMCalla!leCalla!le
GrapperGrapper
CommonCommon3anguage Runtime3anguage Runtime
3lamadas desde CM a .NET
!"eto!"eto
Re+erenciastraceadas
Re+erenciaspor contador
Servidor CMServidor CM5n2no1n5n2no1n
5Dispatc75Dispatc7
5Propio5Propio
5Propio5Propio
ClienteCliente
3l d d d CM NET
-
7/24/2019 Taller MSDN Migracion VB NET
61/82
3lamadas desde CM a .NET
Creacin del assem!l) .NET, De+inir inter+ace en el componente
Tipos p!licos
pcional, crear strong name e incluir en la -AC
CM Calla!le Grapper Crear el assem!l) con Visual Studio .NET
E$portar la li!rer(a de tipos con tl!e$p.e$e
-
7/24/2019 Taller MSDN Migracion VB NET
62/82
Demo Q,CM 5nterop
-
7/24/2019 Taller MSDN Migracion VB NET
63/82
U.: 5mplantacinSmart Clients
Consideraciones Nuevas opciones No:Touc7
Seguridad Apo)os
-
7/24/2019 Taller MSDN Migracion VB NET
64/82
5mplantacinConsideraciones 5mpacto en el sistema
> 3a instalacin de la aplicacin 9 romper; laaplicacin ?
5mplantacin la primera ve4 Cada cliente de!e tener la aplicacin
e$pl(citamente instalada
Actuali4acin de la aplicacin Si 7a) cam!ios en el inter+a4 de usuario cada
cliente de!e reinstalar la aplicacin paraactuali4arse
5mplantacin
-
7/24/2019 Taller MSDN Migracion VB NET
65/82
5mplantacinConsideraciones
Pro!lema a resolver,
E"ecutar o actuali4ar una aplicacin sintocar el cliente
Si )a utili4amos un so+t1are de gestin deinstalaciones 65ntelliMirror SMS etc8continuar utili4;ndolo.
5mplantacin
-
7/24/2019 Taller MSDN Migracion VB NET
66/82
5mplantacinConsideraciones
3as aplicaciones son aisladas 5mplantacin privada por de+ecto
3as aplicaciones son autodescriptivas
Pueden coe$istir mltiples versiones 3a comparticin es controlada ) e$pl(cita,
Strong name -AC
Por de+ecto las aplicaciones utili4an el assem!l)con el %ue +ueron construidas no la ltimaversin
Side:!):side
5mplantacin
-
7/24/2019 Taller MSDN Migracion VB NET
67/82
5mplantacinNuevas opciones
3a implantacin es simple CP en el cliente
E"ecucin desde un recurso de red
Clic2 so!re un enlace en el !ro1ser 6no touc78
No:touc7 deplo)ment Por de+ecto aislamiento de aplicaciones
No se necesita registro
Componentes compartidos 6strong namesversin8
5mplantacin
-
7/24/2019 Taller MSDN Migracion VB NET
68/82
5mplantacinNo touc7
MiApp.e$eMiApp.e$e
Ge! ServerGe! Server
5nternet5nternet
E$plorerE$plorer
Do1nloadDo1nload
Cac7eCac7e
AplicacinAplicacin
clientecliente
.NET.NET
0rame1or20rame1or2
ManagedManaged
E$e?E$e?
MiApp.dllMiApp.dll
-
7/24/2019 Taller MSDN Migracion VB NET
69/82
5mplantacinNo:Touc7 E"ecuta!le lan4ado como R3 65EEec8 Sin instalacin actuali4acin autom;tica
Clic2 en un lin2 en el !ro1ser
El EE ) los assem!lies re+erenciados se descargan
tros assem!lies, utili4ar Assem!l).3oad0rom
Almacenamiento en do1nload cac7e C,WDocuments and SettingsWusuarioW3ocal SettingsWApplication DataWassem!l)
Descarga slo cuando 7a) actuali4aciones Por usuario
Descarga de assem!lies dependientes, segnse van necesitando
5mplantacin
-
7/24/2019 Taller MSDN Migracion VB NET
70/82
5mplantacinNo:Touc7 con loader tra opcin, EE local pe%ue/o, loader
Carga de assem!lies desde un Ge! server 3a aplicacin se descarga en tiempo de e"ecucin
Para actuali4ar la aplicacin actuali4ar losassem!lies del servidor
Para cargar los assem!lies,Assem!l).3oad0rom6R38
R3, R3 a un assem!l) Descarga ) cac7ea el assem!l)
C7e%ueo autom;tico de nuevas versiones
Permisos, depende de dnde viene el assem!l)
5mplantacin
-
7/24/2019 Taller MSDN Migracion VB NET
71/82
5mplantacinSeguridad 3as aplicaciones son semi:con+ia!les
Se e"ecutan ) pueden reali4ar un nmero limitadode tareas
Seguridad en +uncin del origen de la aplicacin
6de dnde viene8 Similar a p;ginas 1e! en el !ro1ser
Con+iguracin de seguridad, 7erramienta.NET 0rame1or2 Con+iguration
Strong names Proporcionan un grado de seguridad ma)or
Distinto de signcode
5mplantacin
-
7/24/2019 Taller MSDN Migracion VB NET
72/82
5mplantacinApo)os
Auto pdater 6componente8, .NET Client Applications, .NET Application
pdater Component 7ttp,**111.gotdotnet.com*team*1indo1s+orms*appupdater.asp$
Art(culo en MSDN Maga4ine, Grite Auto:pdating Apps 1it7 .NET and
t7e Bac2ground 5ntelligent Trans+er ServiceAP5 6utili4a Gindo1s pdate8 7ttp,**msdn.microso+t.com*msdnmag*issues*F**B5TS*de+ault.asp$
-
7/24/2019 Taller MSDN Migracion VB NET
73/82
Demo ,
No Touc7 Deplo)ment
X Seguridad
-
7/24/2019 Taller MSDN Migracion VB NET
74/82
X.: Seguridad
en el .NET 0rame1or2 Conceptos de seguridad Seguridad !asada en roles Autenticacin Autori4acin
S id d
-
7/24/2019 Taller MSDN Migracion VB NET
75/82
Seguridad
>Lu& se %uiere evitar? Acceso no controlado a la aplicacin por parte de
usuarios no conocidos
Acceso ilimitado a toda la aplicacin por parte deusuarios autenticados
Lu& aporta .NET, Nuevas 7erramientas para proteger la in+ormacin del
usuario 6e". S)stem.Securit).Cr)ptograp7)8
Acceso al cdigo Code:access securit) 6evidencias8
Acceso de usuarios Y De Gindo1s
-en&ricos
Seguridad
-
7/24/2019 Taller MSDN Migracion VB NET
76/82
Seguridadsuarios, seguridad !asada en roles
Roles con una serie de permisos 0;cil administracin Soporte para
-rupos de Gindo1s Roles gen&ricos
5mport de, S)stem.T7reading
S)stem.Securit).Principal
Enterprise Services tam!i&n dispone de roles
Seguridad
-
7/24/2019 Taller MSDN Migracion VB NET
77/82
SeguridadAutenticacin
5denti+icar al usuario Veri+icarsus credenciales
SeguridadGindo1s Base de datos Arc7ivo M3
Creacin delo!"eto5dentit) 5denti+icaalusuario Tipo de autenticacin, Gindo1so -eneric
Creacin delo!"etoPrincipal 5nclu)e el5dentit) ) almacenalapertenenciaal role
Seaplica a usuarios -en&ricos )deGindo1s
Seguridad
-
7/24/2019 Taller MSDN Migracion VB NET
78/82
SeguridadAutenticacin
suario deGindo1s
Dim winIdentity as WindowsIdentity = WindowsIdentity.GetCurrent()
Dim winPrincipal As New WindowsPrincipal(winIdentity)Thread.CurrentPrincipal = winPrincipal
suario -eneric
Dim enIdentity as New GenericIdentity(!"ohn#)Dim $oles() as %trin = &!'mployee##anaer#*
Dim enPrincipal As New GenericPrincipal(enIdentity $oles)Thread.CurrentPrincipal = enPrincipal
Seguridad
-
7/24/2019 Taller MSDN Migracion VB NET
79/82
SeguridadAutori4acin
Proceso de autori4acin de acceso El usuario )a 7a sido autenticado El usuario solicita reali4ar una tarea Se comprue!a la pertenencia al role Se restringe el acceso a ciertas partes de la aplicacin
Seguridad
-
7/24/2019 Taller MSDN Migracion VB NET
80/82
SeguridadAutori4acin
suarios Gindo1s * -eneric
I+ Thread.CurrentPrincipal.IsIn$ole(!anaer#) ,r -
Thread.CurrentPrincipal.IsIn$ole(!uiltIn/Admministrators#) Then
ind'mployeesGrid()
ind'mployeeDetailsGrid()
0n1iew%alary$eport.'na0led = True
'lseind'mployeeGrid()
0n1iew%alary$eport.'na0led = 2alse
'nd I+
-
7/24/2019 Taller MSDN Migracion VB NET
81/82
Demo ',
Seguridad en lasaplicaciones
-
7/24/2019 Taller MSDN Migracion VB NET
82/82
Preguntas * Dudas
*O