PDF de programación - 5. Conceptos de la arquitectura .NET Framework

Imágen de pdf 5. Conceptos de la arquitectura .NET Framework

5. Conceptos de la arquitectura .NET Frameworkgráfica de visualizaciones

Publicado el 25 de Abril del 2020
816 visualizaciones desde el 25 de Abril del 2020
437,5 KB
23 paginas
Creado hace 13a (30/09/2010)
Fundamentos de la Interacción
Persona-Ordenador

5. Conceptos de la
arquitectura .NET Framework
Luís Rodríguez Baena ([email protected])

Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática

El entorno .NET Framework

l

j

t

Entorno de ejecución de aplicaciones

b

áti

i f
informáticas sobre el que se ejecuta cualquier
programa desarrollado en .NET en cualquiera
de sus lenguajes (VB.NET, Visual C++ .NET,
de sus lenguajes (VB.NET, Visual C++ .NET,
Visual C# .NET, Visual J#, NetCOBOL, etc.).
● Forma parte de Microsoft .NET que incluye además
herramientas de programación (Visual Studio NET)
herramientas de programación (Visual Studio .NET),
servidores, software cliente, etc.

l

i

Ofrecen un entorno de ejecución común:

● Instalación transparente.
● Fin de las incompatibilidades de DLL y otros componentes.
● Mismas capacidades para todos los lenguajes.

Universidad Pontificia de Salamanca (Campus Madrid)

Facultad de Informática, Luís Rodríguez Baena, 2010

2

Arquitectura de .NET Framework

VB .NET

C++ .NET C# .NET

Otros...

Especificación común de lenguajes
(CLS, Common Language Specification)

ASP.NET

(Servicios Web, Web Forms)

Windows Forms

Datos y XML

y

Biblioteca de clases base
(BCL, Base Class Library)

Common Language Runtime (CLR)

Sistema operativo

p

.

N
E
T
F
F
r
a
m
e
w
o
o
r
k

Universidad Pontificia de Salamanca (Campus Madrid)

Facultad de Informática, Luís Rodríguez Baena, 2010

3

Arquitectura de .NET Framework (II)

Entorno común de ejecución (Common

Language Runtime CLR)
Language Runtime, CLR).
● Administra el código en tiempo de ejecución y

proporciona los servicios básicos (administración de
memoria, control de excepciones, control de hilos de
ió )
ejecución).
j

Biblioteca de clases base (Base Class

Library, BCL).
)
● Colección de código OO que puede ser empleado desde

y,

● Al tener definidos los tipos de datos para todos los

lenguajes, facilita el intercambio de datos entre
aplicaciones desarrolladas en distintos lenguajes.

● Contiene los tipos básicos, clases para la entrada/salida,

cualquier lenguaje .NET.

seguridad etc
seguridad, etc.

Universidad Pontificia de Salamanca (Campus Madrid)

Facultad de Informática, Luís Rodríguez Baena, 2010

4

Arquitectura de .NET Framework (III)

Capa de datos y XML.
d t

l

l

l t

● Gestiona el acceso a los datos y el tratamiento de datos

G ti
XML.
Los datos los gestiona mediante ADO.NET.
Gran parte de la información de .NET (configuración,
Gran parte de la información de NET (configuración
estructura de archivos y de aplicaciones) se gestiona
mediante XML.
○ Facilidad para importar, exportar y tratar datos de/hacia XML.

t d d t

t

i

Definición de la interfaz: ASP.NET y

ó

Windows Forms.
● ASP NET utiliza Web Forms (para aplicaciones Web
● ASP.NET utiliza Web Forms (para aplicaciones Web

basadas en ASP) y los servicios Web.

● Windows Forms proporciona un conjunto de componentes

de interfaz para desarrollar aplicaciones cliente basadas
p
en Windows.

p

Universidad Pontificia de Salamanca (Campus Madrid)

Facultad de Informática, Luís Rodríguez Baena, 2010

5

Common Language Runtime

Frameworks

Clases base

e
m
m

i
t

n
u
R
e
g
a
a
u
g
n
a
L

n
o
o
m
m
o
C

Compilador
de código
intermedio a
código nativo

Control de
excepciones

Control de
seguridad

Recolector de basura (GC), stack walk y

administrador de código
g

Cargador de clases y entorno de trabajo

(class loader)

Universidad Pontificia de Salamanca (Campus Madrid)

Facultad de Informática, Luís Rodríguez Baena, 2010

6

Common Language Runtime (II)

Cargador de clases (Class Loader).

● Llama al puntero de inicio del procedimiento establece
● Llama al puntero de inicio del procedimiento, establece

su entorno de memoria y mantiene la ejecución bajo
control.

Control de recursos: recolector de basura,
eco ecto de basu a,

Co t o de ecu sos
control de la pila, administrador de
códigos.

Interacción con el sistema operativo:
Interacción con el sistema operativo:

control de excepciones, control de
seguridad, compilador de código nativo.
● El código intermedio debe compilarse a código nativo.

di d b

El ódi

i t

il

ódi

ti

Clases base.

ódi
código.

● Definen el entorno de trabajo sobre el que se apoya el

Universidad Pontificia de Salamanca (Campus Madrid)

Facultad de Informática, Luís Rodríguez Baena, 2010

7

Especificación de lenguajes común (CLS)

Conjunto de directivas proporcionadas por

Microsoft para el desarrollo de lenguajes
Microsoft para el desarrollo de lenguajes
compatibles con .NET.
● Fijan las características comunes de los lenguajes.
● Los fabricantes pueden ampliarlas o modificarlas.
● Los fabricantes pueden ampliarlas o modificarlas.

Una aplicación no debería hacer uso de las características ampliadas

cuando se comunique con otros componentes .NET.

Actualmente están desarrollados o en fase de

d
NET
desarrollo más de 60 lenguajes .NET.

á d 60 l

ll

j

Código administrado y código no administrado.

● Todos los lenguajes .NET producen código administrado.

Código que ejecuta el CLR directamente.

● .NET puede ejecutar también código generado por lenguajes que

j

no sigan el CLS.
Código no administrado (código nativo) que permite, por ejemplo,
p ,

) q
utilizar API antiguas y controles ActiveX.

, p

p

g

(

g

Universidad Pontificia de Salamanca (Campus Madrid)

Facultad de Informática, Luís Rodríguez Baena, 2010

8

Especificación de lenguajes común (CLS) (II)

Los lenguajes .NET son más parecidos

l

entre si que otros lenguajes clásicos.
● Por lo tanto:



Su velocidad de ejecución es bastante similar. La elección de
Su velocidad de ejecución es bastante similar. La elección de
un lenguaje u otro no dependerá de la velocidad de
ejecución.

Garantiza la interoperabilidad entre lenguajes.

○ Todos utilizan los mismos tipos basados en el Sistema de tipo

común (Common Type System, CTS).

○ Posibilidad de crear una aplicación con componentes

desarrollados en distintos lenguajes.
desarrollados en distintos lenguajes.

La curva de aprendizaje para un nuevo lenguaje .NET es

menor.

Universidad Pontificia de Salamanca (Campus Madrid)

Facultad de Informática, Luís Rodríguez Baena, 2010

9

Especificación de lenguajes común (CLS) (III)

System.Console.WriteLine("¡Hola, mundo!")
System.Console.ReadLine()

System.Console.WriteLine("¡Hola, mundo!");
l R dLi ()
System.Console.ReadLine();
S t

C

'HolaMundo en VB.NET
Public Class HolaMundo
Shared Sub main()
Shared Sub main()

End Sub

End Class
//HolaMundo en C#
public class HolaMundo{
static void Main(){

}

}
//HolaMundo en VJ#
public class HolaMundo{
H l M d {

bli

l

public static void main(String args[]){

System.Console.WriteLine("¡Hola, mundo!");
System.Console.ReadLine();

}

}
}

Universidad Pontificia de Salamanca (Campus Madrid)

Facultad de Informática, Luís Rodríguez Baena, 2010

10

Lenguaje intermedio de Microsoft (MSIL)

Los compiladores .NET no producen código nativo (código

binario ejecutable directamente por el procesador)
binario ejecutable directamente por el procesador).
● Producen código intermedio (MSIL o simplemente IL).

Se trata de una especie de lenguaje máquina asociado a un

procesador virtual que no corresponde a ninguna CPU
procesador virtual que no corresponde a ninguna CPU
disponible en la actualidad.

El compilador a código nativo (compliador JIT, Just-In-
Time) de la CLR es el que se encargará de compilar “al
Time) de la CLR es el que se encargará de compilar al
vuelo” el código IL a lenguaje nativo de la plataforma
donde se ejecute la aplicación.

Esta característica permitirá que el código de una aplicación
Esta característica permitirá que el código de una aplicación

.NET pueda ejecutarse en otra plataforma distinta sin
ningún cambio (siempre y cuando exista un CLR para esa
plataforma).
p
)

Universidad Pontificia de Salamanca (Campus Madrid)

Facultad de Informática, Luís Rodríguez Baena, 2010

11

Estructura de una aplicación .NET

Aplicación NET
Aplicación .NET

Ensamblado1

Metadatos del ensamblado

Metadatos de los tipos

Código MSIL

Ensamblado2

Ensamblado3

Recursos
Recursos

(archivos bitmap, archivos

HTML, XML, …)

Universidad Pontificia de Salamanca (Campus Madrid)

Facultad de Informática, Luís Rodríguez Baena, 2010

12

Ensamblados, manifiestos y
metadatos

Ensamblado: unidad de instalación de una

aplicación NET
aplicación .NET.

Compuesto de uno o más archivos de

y

recursos y de archivos ejecutables MSIL
j
(módulos administrados).
● Los módulos administrados contienen código IL y metadatos

que describen los tipos del módulo.

Un ensamblado tendrá un archivo ejecutable
portable (PE) que se generará al compilar la
aplicación a MSIL
aplicación a MSIL.
● Archivo .exe o .dll.
● Un archivo PE no podrá ejecutarse si no está contenido en

un manifiesto de ensamblado.
un manifiesto de ensamblado.

Universidad Pontificia de Salamanca (Campus Madrid)

Facultad de Informática, Luís Rodríguez Baena, 2010

13

Ensamblados, manifiestos y
metadatos (II)
)

(

Los ensamblados:

● Crean un límite de seguridad.
● Crean un límite de seguridad.

Es la unidad donde se solicitan y conceden los permisos.

● Crean un límite de tipos.

La referencia a un tipo incluye el nombre del ensamblado en que

reside
reside.

● Crean un límite de ámbito de referencia.

El manifiesto del ensamblado contiene metadatos para resolver los

tipos: especifica que tipos se exponen fuera del ensamblado y
enumera los ensamblados de los que depende.

bl d

d l

d

l

d

● Forma un límite de versión.

Todos los recursos de un ensamblado
  • Links de descarga
http://lwp-l.com/pdf17561

Comentarios de: 5. Conceptos de la arquitectura .NET Framework (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad