Académique Documents
Professionnel Documents
Culture Documents
rm
fo
In
ic
t
a
Programacin e
Ingeniera de Software
III
Temas a Tratar
Componentes Fundamentales
VB
C++
C#
J#
.NET Framework
Redistributable
Windows Forms
ADO.NET y XML
Base Class Library
Common Language Runtime
Windows
COM+ Services
.NET Framework
ASP.NET
Class Library
CLR - Arquitecturas de
Ejecucin de Aplicaciones
Caractersticas
Compilacin Just-In-Time (JIT)
Gestin automtica de memoria
(Garbage Collector)
Gestin de errores consistente
(Excepciones)
Ejecucin basada en componentes
(Assemblies)
Gestin de Seguridad
COM Marshaler
Type Checker
Exception Manager
SecurityEngine
Debug Engine
IL to Native
Compilers
Code
Manager
Class Loader
Garbage
Collector
CLR Proceso de
Compilacin
Cdigo
Fuente
Cualquier
lenguaje .NET
Compilador
Assembly
(MSIL)
Biblioteca
o Ejecutable
CLR - MSIL
.method private hidebysig static void Main(string[]
args) cil managed {
.entrypoint
maxstack 8
L_0000: ldstr "Hola Mundo"
L_0005: call void [mscorlib]System.Console::WriteLine(
string)
L_000a: ret
}
Qu es un Assembly?
Un Assembly es la unidad mnima de
ejecucin, distribucin, instalacin y
versionado de aplicaciones .NET
Descripcin de Tipos
MiBiblioteca.DLL
Metadata
Recursos
Cdigo Compilado
MSIL
Clases
Clases Base
Interfaces Implementadas
Atributos de las Clases
Mtodos de las Clases
Uno o ms Assemblies
Al ejecutar una aplicacin, cmo
ubico los assemblies necesarios?
Actualizaciones ms simples
Desinstalacin ms simple
System.Windows.Forms
Services
Description
UI
HtmlControls
Discovery
WebControls
Protocols
Design
ComponentModel
System.Drawing
Caching
Security
Drawing2D
Printing
Configuration
SessionState
Imaging
Text
System.Data
System.Xml
OleDb
Odbc
XSLT
Common
SqlClient
XPath
Serialization
System
Runtime
InteropServices
Collections
IO
Security
Configuration
Net
ServiceProcess
Diagnostics
Reflection
Text
Remoting
Globalization
Resources
Threading
Serialization
Visual
C# J#
Basic.NET
+.NE
Delphi
Java PHP Perl Python JavaScri
T
pt
Pascal
Haskell LISP
Prolog
RPG
C+
Fortran
APL
ML
Scheme
Objective Caml
Mercury
Temas a Tratar
Funcionamiento Interno
del CLR
Cdigo
Manejado
VB.NET
Compilador
VB.NET
Assembly
Cdigo MSIL
C#
C++.NET
Compilador
C#
Compilador
C++ .NET
Assembly
Cdigo MSIL
Assembly
Cdigo MSIL
Componente
No Manejado
Assembly
Assembly en
la mquina
destino
Policy
<?xml ver sion="1.0" encoding=" ut f- 8" ?>
<conf igur at i on>
<mscor li b>
<secur it y>
<poli cy>
<Poli cyLevel ver si on="1">
<CodeGr oup cl ass="Uni onCodeGr oup"
ver sion="1"
Per mi ssi onSet Name="Not hing"
Name="All_Code"
Descr ipt i on="Code gr oup
gr ant s no per missio
ns and f or ms t he r oot of t he code gr oup t r ee.">
<I Member shipCondit ion cl as
s="Al lMember shi pCondi t ion"
ver si on="1"/>
<CodeGr oup cl ass="Uni onCodeGr oup"
version="1"
Per missi onSetN ame="Ful lTr ust "
Ejecucin
Compilador
JIT
Class
Loader
Seguridad
Assembly
Loader
Garbage Collector
.exe Nativo
+
Tabla GC
Code
Manager
Manejador Excepciones
Soporte MultiThread
Debug Engine
COM Interop
Los tipos
REFERENCIA se
almacenan en el
Heap
Temas a Tratar
Bibliotecas Principales
IO
Security
InteropServices
Configuration
Net
ServiceProcess
Remoting
Diagnostics
Reflection
Text
Serialization
Globalization
Resources
Threading
SqlClient
OracleClient
OleDb
Odbc
SqlTypes
System.Xml
XSLT
Serialization
XPath
Schema
ADO.NET- Proveedores de
Acceso a Datos
SQL Server/Access
(System.Data.SqlClient)
OLE DB (System.Data.OleDb)
ODBC (System.Data.Odbc)
Oracle (System.Data.OracleClient)
Otros provistos por terceros (MySQL,
PostgreSQL, DB2, etc..)
Windows Forms
System.WinForms
Design
ComponentModel
System.Drawing
Drawing2D
Printing
Imaging
Text
Aplicaciones Web:
ASP.NET
System.Web
Services
Description
UI
HtmlControls
Discovery
WebControls
Protocols
Caching
Security
Configuration
SessionState
Temas a Tratar
Ventajas de .NET
Ventajas de .NET
Desarrollo simplificado
Entorno de ejecucin robusto y seguro
Independencia del lenguaje
Extensibilidad
Interoperabilidad
Ventajas de .NET
Unifica los modelos de programacin
Simplifica an ms el desarrollo
Provee un Entorno de Ejecucin
robusto y seguro
Es independiente del lenguaje de
programacin
Interoperabilidad con cdigo
existente
Simplifica la instalacin y
administracin de las aplicaciones
Desarrollo Simplificado
Alto nivel de abstraccin
Componentes de Software
Manejo de Excepciones
Fuertemente tipado
Independencia del
lenguaje
Libertad en la eleccin del lenguaje
Herramientas compartidas
Instalacin y Administracin
ms simples
Unidades de Ensamblado
(Assemblies)
Instalaciones Cero-impacto
Versioning
Extensibilidad
El Framework no es una caja negra
Sus clases pueden ser extendidas a
travs del mecanismo de herencia
Interoperabilidad con
otras aplicaciones
Servicios Web XML
.NET Framework
C#
C++
COM INTEROP
VB
Otros...
COM
.NET
FIN
2007. All rights reserved.