taller msdn migracion vb net

Upload: kadosch

Post on 20-Feb-2018

229 views

Category:

Documents


1 download

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