Tema 1 - Introducción a Microsoft.net
Transcript of Tema 1 - Introducción a Microsoft.net
-
5/25/2018 Tema 1 - Introducci n a Microsoft.net
1/20
-
5/25/2018 Tema 1 - Introducci n a Microsoft.net
2/20
-
5/25/2018 Tema 1 - Introducci n a Microsoft.net
3/20
Contenido
1. Microsoft.NET
2. Common Language Runtime (CLR)
3.Metadatos4. Ensamblados
5. Base Class Library (BCL)
6. Common Type System (CTS)7. Common Language Specification
(CLS)
8. Lenguajes gestionados
-
5/25/2018 Tema 1 - Introducci n a Microsoft.net
4/20
Microsoft.NET
Qu es Microsoft.NET?Nueva estrategia de Microsoft. Suma de:
Nueva plataforma.NET Framework SDK
Aplicaciones .NET
Servicios Web (XML)
-
5/25/2018 Tema 1 - Introducci n a Microsoft.net
5/20
Microsoft.NET (II)
Servidores
Experiencias
y soluciones
Clientes
Servicios
Herramientas
-
5/25/2018 Tema 1 - Introducci n a Microsoft.net
6/20
Common Language Runtime
Qu es el CLR?
Motor de ejecucin de cdigo gestionado, alque ofrece numerosos servicios:
Modelo consistente (slo OO)Modelo sencillo (sin GUIDs, HRESULT,IUnknown, etc.)
Fin Infierno DLLMultiplataformaMultilenguaje
-
5/25/2018 Tema 1 - Introducci n a Microsoft.net
7/20
Common Language Runtime (II)
Recolector de basuraSeguridad de tipos
Aislamiento de procesosTratamiento errores homogneo:excepcionesinterlenguajeSeguridad avanzadaSoporte multihiloDistribucin transparenteInteroperabilidad con cdigo no gestionado
-
5/25/2018 Tema 1 - Introducci n a Microsoft.net
8/20
Microsoft Intermediate Language
MSIL:Alto nivel
Compilado JIT
Fuente
Compilador
EXE/DLL
(MSIL)
Jitter
Ejecucin
Pre-jitted
Jitters:
Normal
Econmico
Prejitter
-
5/25/2018 Tema 1 - Introducci n a Microsoft.net
9/20
Microsoft Intermediate Language
Cabecera CLR:Versin CLR
Firma digital
Punto de entrada...
Metadatos:
Descripcin tiposEstructura tabular
Archivo PE
MSIL
METADATOS
CABECERA CLR
-
5/25/2018 Tema 1 - Introducci n a Microsoft.net
10/20
Metadatos (II)
Tabla Describe...
ModuleDef Mdulo: nombre fichero, GUID,...
TypeDef Tipos: nombre, padre, modificadoresreferencias miembros,...
MethodDef Mtodos: signatura (ParamDef),modificadores , inicio MSIL
ParamDef Parmetros: nombre, modificadores
FieldDef Campos: nombre, tipo, modificadores
PropertyDef Propiedades: nombre, tipo, modificadores,set/get (MethodDef), ...
EventDef Eventos: nombre, tipo, modificadores,
add/remove(MethodDef), ...
-
5/25/2018 Tema 1 - Introducci n a Microsoft.net
11/20
Metadatos (II)
Accesibles con System.Reflection
Extensibles con atributos
Mejoran IDL y incrustados en mdulo adjuntos
Tabla Describe...AssemblyRef Ensamblados externos: versin, idioma,
nombre (sin extensin), marca clave pblica
ModuleRef Mdulos externos: nombre de fichero
TypeRef Tipos externos: nombre, entrada enModuleRef o AssemblyRef
MemberRef Miembros externos: signatura, TypeRef
-
5/25/2018 Tema 1 - Introducci n a Microsoft.net
12/20
Ensamblados
Util.dll Logo.jpg
manifiesto
Ayuda.htmlLib.dll
manifiesto
Ensamblado multiarchivoEnsamblado
de un archivo
-
5/25/2018 Tema 1 - Introducci n a Microsoft.net
13/20
Ensamblados (II)
Tabla Describe...
AssemblyDef Ensamblado: versin, idioma,alg. hash de FileDef, nombre(sin extensin)
FileDef Archivos: nombre, valor hash.
ManifestResourceDef Recursos: nombre,modificadores, ubicacin(FileDef u offset)
ExportedTypeDef Tipos: nombre, FileDef, TypeDefAssemblyProccesorDef CPU necesaria: no se suele
usar
AssemblyOSDef SO necesario: no se suele usar
-
5/25/2018 Tema 1 - Introducci n a Microsoft.net
14/20
Ensamblados (II)
Ensamblados privados:En directorio aplicacinEnsamblados compartivos:En GAC
Archivo manifiesto firmado con RSA+SHA-1Otros firmados con RSA + (SHA-1 MD-5)
Marca clave pblica en AssemblyRef (64 bits)
Identificados por: clave, nombre, versin e
idioma Nombre fuerte
Resuelto infierno de las DLLs! (configurable)
-
5/25/2018 Tema 1 - Introducci n a Microsoft.net
15/20
Base Class Library
BCL:Biblioteca de clases base (comn)
Espacios de nombres:
SystemCollections Data IO
Net Reflection Runtime.Remoting
Security Threading Web.UI.Webcontrols
Winforms XML
-
5/25/2018 Tema 1 - Introducci n a Microsoft.net
16/20
Common Type System
CTS:Sistema de tipos aceptado por CLR
Ejemplos reglas:
Herencia simple
Clase base System.Object
Miembros: Campos, mtodos, eventos,propiedades
Tablas multidimensionales y/o dentadasModificadores: public, private, family, assembly,family and assembly, family or assembly
-
5/25/2018 Tema 1 - Introducci n a Microsoft.net
17/20
Common Language Specification
CLS:Reglas para compartir miembrospblicos entre lenguajes gestionados
Ejemplos de reglas:No puede haber tablas dentadasndices de tablas desde 0 y dimensionasfijasInsensible a capitalizacin mismo mbitoTipos bsicos: bool, char, byte, short, int,long, float, decimal, string, object
-
5/25/2018 Tema 1 - Introducci n a Microsoft.net
18/20
Lenguajes gestionados (VIII)
Otros lenguajes:
APL Delphi
Cobol EiffelHaskell Java
Pascal Perl
Python SmalltalkPowerBuilder
...
-
5/25/2018 Tema 1 - Introducci n a Microsoft.net
19/20
-
5/25/2018 Tema 1 - Introducci n a Microsoft.net
20/20