Actualizado el 11 de Agosto del 2020 (Publicado el 28 de Abril del 2020)
861 visualizaciones desde el 28 de Abril del 2020
3,2 MB
33 paginas
Creado hace 15a (04/03/2010)
Integración de Sistemas
Introducción a la
plataforma .NET
Integración de Sistemas
Parte II. Diseño e implementación de
aplicaciones Web con .NET
Contenido
Introducción
.NET Framework
Acceso a datos con ADO .NET
Windows Forms
Aplicaciones Web: ASP.NET
Herramientas de desarrollo
Curso 2009 - 2010
1
Integración de Sistemas
¿Qué no es .NET?
.NET no es un Sistema Operativo
.NET no es un Lenguaje de Programación
.NET no es un Entorno de Desarrollo
.NET no es un Servidor de Aplicaciones
¿Qué es .NET?
Plataforma de Desarrollo compuesta de
Entorno de Ejecución (Common Language Runtime)
Common Type System
Common Language Specification
Bibliotecas de Funcionalidad (Class Library)
Lenguajes de Programación
Compiladores
Herramientas de Desarrollo (IDE & Tools)
Documentación y Guías de Arquitectura
Curso 2009 - 2010
2
Integración de Sistemas
Línea del tiempo de .NET
Visual Studio 6.0
Visual Basic
VBA
Visual FoxPro
VBScript
C++
J++
JScript
ASP
Visual Studio .NET 2003
.NET Framework 1.1
.NET Compact Framework
J#
Visual Studio 2008
.NET Framework 3.5
.NET Compact Framework 3.5
2000 2001 2002 2003 2004 2005 2006 2008
Visual Studio .NET 2002
.NET Framework 1.0
Visual Basic .NET
C#
Visual Studio 2005 (“Whidbey”)
.NET Framework 2.0 (“Whidbey”)
.NET Compact Framework 2.0 (“Whidbey”)
Características de .NET
Plataforma independiente del lenguaje
Múltiples lenguajes (C#, VB .NET, COBOL, Perl, Phython, Eiffel, etc.)
Código fuente se compila a MSIL (Microsoft Intermediate Language)
MSIL se compila antes de ser ejecutado (no es interpretado)
Sentencias MSIL manipulan tipos de datos comunes, compartidos por todos los
lenguajes de .NET
Juntos forman el Common Type System (CTS)
Todos los lenguajes proporcionados por Microsoft tienen la misma
potencia y capacidad de acceso a los recursos y servicios que expone
el .NET Framework
No condiciona la elección del lenguaje
Curso 2009 - 2010
3
Integración de Sistemas
Características de .NET
Plataforma de ejecución intermedia
El Common Language Runtime (CLR) es el responsable de cargar
y ejecutar una aplicación .NET
Utiliza compilación Just-In-Time (JIT) para traducir MSIL a código máquina
Código .NET siempre es compilado, nunca interpretado
No usa máquina virtual para ejecutar aplicaciones
Código es compilado JIT la primera vez que se llama
Proceso de compilación genera fichero ejecutable en formato portable
executable (PE). Implicaciones:
CLR nunca sabe, ni le importa, que lenguaje fue usado para crear la aplicación o
componente
Para que el código funcione en otra plataforma basta reemplazar el compilador JIT
Características de .NET
Plataforma 100% Orientada a Objetos ⇒ no existen tipos primitivos
Permite el desarrollo de aplicaciones empresariales
Modelo de programación único para todo tipo de aplicaciones (consola, Web,
aplicaciones móviles, etc.) y dispositivos de hardware (PC, PDA, SmartPhone,
etc.)
Código gestionado
Además de compilar, CLR gestiona las aplicaciones, haciéndose responsable de:
Cargar, verificar y ejecutar código, la recolección de basura (Garbage Collector), proteger las
aplicaciones unas de otras, hacer cumplir las restricciones de seguridad, proporcionar
servicios de depuración e incluir soporte para versiones y desarrollo
Además del MSIL, compiladores generan Metadata
Metadata describe tipos
Componentes .NET son autodescriptivos
Curso 2009 - 2010
4
Integración de Sistemas
Características de .NET
Modelo de ejecución
Todos los lenguajes son compilados a IL
Extraído de: Grimes, F. (2002). Microsoft. Net for Programmers: Manning.
MSIL vs. Java bytecode
Java bytecode específicamente diseñado para soportar lenguaje
Java, mientras MSIL diseñado para soportar múltiples lenguajes
Java Virtual Machine diseñada para permitir Java bytecode
interpretado o compilado, mientras MSIL fue diseñado
explícitamente para compilación JIT (Just-In-Time Compilation)
Curso 2009 - 2010
5
Integración de Sistemas
Common Type System (CTS)
El Common Type System (CTS) o
Sistema de Tipo Común es el conjunto
de reglas que han de seguir las
definiciones de tipos de datos para
que el CLR las acepte
Define un conjunto común de tipos de
datos orientados a objetos
Todo lenguaje de programación .NET
debe implementar los tipos definidos
por el CTS
Todo tipo hereda directa o
indirectamente del tipo System.Object
Define tipos valor y tipos referencia
Tipos valor vs. Tipos referencia
CLR administra dos segmentos de memoria:
Stack (Pila) y Heap (Montón)
Tipos valor (i.e: enteros, caracteres, boleanos,
etc.) se almacenan en el Stack
Tipos referencia (i.e: strings, clases definidas
por el usuario, etc.) en el Heap
El Stack es liberado automáticamente una vez
finaliza el procedimiento o el bloque de código,
mientras que el Heap es administrado por el
GC
Tipo referencia puede ser nulo, tipo valor no
Posible crear nuevos objetos valor (e.g.
C# struct)
Para preservar filosofía “Todo es un objeto”,
.NET provee un tipo referencia correspondiente
a cada tipo valor
Curso 2009 - 2010
6
Integración de Sistemas
Assemblies
Un Assembly o Ensamblado es la unidad mínima de ejecución,
distribución, instalación y versionado de aplicaciones .NET
Normalmente, extensión .dll o .exe
Todo código ejecutable debe formar parte de un Assembly
Contienen:
Código MSIL
Manifest (Manifiesto)
METADATA: información sobre sí mismos y los recursos de los que dependen (son
autodescriptivos)
Aplicación .NET se compone de uno o más ensamblados
Pueden ser privados (opción por defecto) o compartidos (se instalan
en la Global Assembly Cache)
Assemblies
Extraído de: Richter, J. (2003). Applied Microsoft. NET framework programming: Microsoft Press.
Combinando módulos gestionados en Assemblies
Curso 2009 - 2010
7
Integración de Sistemas
Assemblies
Herramienta MSIL Dissasembler (ildasm.exe), incluida en el .NET
Framework SDK
Assemblies. Global Assembly Cache (GAC)
Es un repositorio centralizado de ensamblados en el cual se instalan
todos los ensamblados que serán utilizados por múltiples aplicaciones en la
misma máquina
Para registrar un ensamblado en la GAC es necesario utilizar la
herramienta gacutil.exe, incluida en el .NET Framework SDK
Obligatorio un nombre distinto para cada librería
Se consigue con tecnología de cifrado de clave pública
Es posible distinguir entre versiones de un mismo ensamblado y éstas
pueden convivir sin ningún conflicto
Cada aplicación utiliza la versión de la librería que necesite
Soluciona problema DLL Hell
Actualizaciones y desinstalaciones más simples
Curso 2009 - 2010
8
Integración de Sistemas
Assemblies. Global Assembly Cache (GAC)
Panel de Control > Herramientas Administrativas >
.NET Framework Configuration Administrative tool
Assemblies. Global Assembly Cache (GAC)
Curso 2009 - 2010
9
Integración de Sistemas
Contenido
Introducción
.NET Framework
Acceso a datos con ADO .NET
Windows Forms
Aplicaciones Web: ASP.NET
Herramientas de desarrollo
.NET Framework
Paquete de software fundamental de la plataforma .NET. Incluye:
Entorno de ejecución (Runtime)
Bibliotecas de funcionalidad reutilizable (Class Library)
Tres variantes principales:
.NET Framework Redistributable Package (R + CL)
.NET Framework SDK (R + CL + compiladores, depuradores, etc.)
.NET Compact Framework
Distribución libre y gratuita
Instalado por defecto en Windows 2003 Server, Windows XP SP2 y
Vista
Curso 2009 - 2010
10
Integración de Sistemas
Arquitectura del .NET Framework
K
D
S
k
r
o
w
e
m
a
r
F
T
E
N
.
k
r
o
w
e
m
a
r
F
T
E
N
.
l
e
b
a
t
u
b
i
r
t
s
d
e
R
i
k
r
o
w
e
m
a
r
F
T
E
N
.
i
y
r
a
r
b
L
s
s
a
C
l
VB
C++
C#
J#
…
Common Language Specification
LINQ
ADO.NET Entity Framework
WPF
WCF
WF
Card Space
ADO.NET
WinForms
ASP.NET
Base Class Library
Common Language Runtime
Windows
COM+ Services
Arquitectura del .NET Framework
Common Language Runtime
El CLR es un entorno de ejecución que puede ser usado por distintos
lenguajes de programación
El CLR es el responsable de cargar y ejecutar una aplicación .NET
Utiliza compilación Just-In-Time (JIT) para traducir MSIL a código máquina
Además de compilar, CLR gestiona las aplicaciones, haciéndose
responsable de:
Cargar, verificar y ejecutar código, la recolección de basura (Garbage Collector),
proteger las aplicaciones unas de otras, hacer cumplir las restricciones de
seguridad, proporcionar servicios de depuración e incluir soporte para versiones
y desarrollo
La gestión del código por parte del CLR proporciona una capa extra que
desacopla la aplicación del SO
Curso 2009 - 2010
11
Integración de Sistemas
Arquitectura del .NET Framework
.NET Framework Class Library
Conjunto de Tipos básicos (clases, interfaces, etc.) que vienen
incluidos en el .NET Framework
Los tipos están organizados en jerarquías lógicas de nombres,
denominados namespaces
Los tipos son independientes del lenguaje de programación de alto
nivel que se desee utilizar (C#, VB .NET, etc.)
Es extensible y totalmente orientada a objetos
Estas clases están disponibles para todos los lenguajes .NET
Arquitectura del .NET Framework
.NET Framework Class Library
Se divide en dos partes
Base Class Library
Incluye un pequeño subconjunto de la class library y es el núcleo de clases que
constituyen el API básica del CLR
Clases en mscorlib.dll y algunas de las clases en System.dll y System.core.dll
Las clases de la BCL están disponibles las distinas implementaciones del .NET
Framework
Framework Class Library
Es un superconjunto de las clases de la BCL formado por la librería completa
Comentarios de: Introducción a la plataforma .NET (0)
No hay comentarios