Professional Documents
Culture Documents
NET Framework
Objetivo
Presentar una introduccin a la plataforma de desarrollo Microsoft .NET, describiendo sus principios bsicos de funcionamiento, su arquitectura de componentes y sus principales bibliotecas reutilizables, mostrando adems las novedades introducidas en la ltima versin de la misma.
2
Temas a Tratar
Introduccin a Microsoft .NET Componentes Fundamentales Funcionamiento Interno del CLR Bibliotecas Principales
Temas a Tratar
Introduccin a Microsoft .NET
l l l
Paradigmas de Programacin
Funcionalidad
s icio erv S
Windows 3.0
s API
Win16
1980 1990
s nte one p om C
COM Win32
MFC
2000
Qu NO es .NET?
.NET no es un Sistema Operativo .NET no es un Lenguaje de Programacin .NET no es un Entorno de Desarrollo .NET no es un Servidor de Aplicaciones .NET no es un producto empaquetado que se pueda comprar como tal
6
Qu es .NET?
Plataforma de Desarrollo compuesta de
l l l l l l
Entorno de Ejecucin (Runtime) Bibliotecas de Funcionalidad (Class Library) Lenguajes de Programacin Compiladores Herramientas de Desarrollo (IDE & Tools) Guas de Arquitectura
10
COM: Windows .NET: Common Language Runtime COM: Algunas (ADO, FSO, etc.) .NET: Muy extensa (.NET Framework Class Library) COM: VB, C++, VFP, ASP, J++ .NET: Common Language Specification COM: Uno para cada lenguaje
Libreras de Funcionalidad
l l
Lenguajes de Programacin
l l
Qu es el .NET Framework?
Paquete de software fundamental de la plataforma .NET. Incluye:
l l
l l
.NET Framework Redistributable Package .NET Framework SDK .NET Compact Framework
12
2000
2001
2002
2003
2004
2005
2008
2010
Visual Studio .NET 2002 .NET Framework 1.0 Visual Basic .NET C#
Visual Studio 2005 .NET Framework 2.0 .NET Compact Framework 2.0
Visual Studio 2008 .NET Framework 3.5 .NET Compact Framework 3.5
13
Temas a Tratar
Introduccin a Microsoft .NET Componentes Fundamentales
l l l l l l
Arquitectura Common Language Runtime (CLR) Microsoft Intermediate Language Assemblies .NET Class Library Common Language Specification (CLS)
14
VB
C++
C#
J#
ASP.NET
.NET Framework Redistributable
Windows Forms
ADO.NET y XML Base Class Library Common Language Runtime Windows COM+ Services
15
Compilacin Just-In-Time (JIT) Gestin automtica de memoria (Garbage Collector) Gestin de errores consistente (Excepciones) Ejecucin basada en componentes (Assemblies) Gestin de Seguridad
16
Compilador
Biblioteca o Ejecutable
18
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 }
19
Qu es un Assembly?
Un Assembly es la unidad mnima de ejecucin, distribucin, instalacin y versionado de aplicaciones .NET Descripcin de
MiBiblioteca . DLL Metadata Recursos Cdigo Compilado MSIL
Clases Clases Base Interfaces Implementadas Atributos de las Clases Mtodos de las Clases
Tipos
Uno o ms Assemblies Al ejecutar una aplicacin, cmo ubico los assemblies necesarios?
l l
Global Assembly Cache (GAC) El Class Loader busca en el directorio local (preferido)
21
System.Windows.Forms
Design ComponentModel
System.Drawing
Drawing2D Imaging Printing Text
System.Data
OleDb Common Odbc SqlClient
System.Xml
XSLT XPath Serialization
System
Collections Configuration Diagnostics Globalization IO Net Reflection Resources Security ServiceProcess Text Threading Runtime InteropServices Remoting Serialization
23
Especificacin que estandariza una serie de caractersticas soportadas por el CLR Contrato entre diseadores de lenguajes de programacin y autores de bibliotecas Permite la interoperabilidad entre lenguajes Microsoft provee implementaciones de 4 lenguajes, todos compatibles con CLS
24
El resto de la industria y el sector acadmico han desarrollado ms de 20 lenguajes compatibles con la especificacin CLS
C++.NET Delphi Pascal Oberon Cobol Visual C# J# Basic.NET Java PHP Perl Python JavaScri pt Haskell LISP Prolog RPG Smalltalk Eiffe ML l Objective Caml APL Scheme Mercury
25
Mondrian Fortran
CLS - Eleccin del lenguaje un nico runtime (el CLR) .NET posee
y un nico conjunto de bibliotecas para todos los lenguajes No hay diferencias notorias de performance entre los lenguajes provistos por Microsoft El lenguaje a utilizar, en gral., depender de su experiencia previa con otros lenguajes o de gustos personales
l l
26
Temas a Tratar
Introduccin a Microsoft .NET Componentes Fundamentales Funcionamiento Interno del CLR
l l l l
27
Especificacin patrocinada por Microsoft, Intel, HP y estandarizada por ECMA (2001) e ISO (2003) que describe:
l
Entorno de Ejecucin de Aplicaciones Conjunto de Libreras Bsicas (BCL) Tipos de Datos Comunes (CTS)
28
En una frase
.NET es el conjunto de nuevas tecnologas en las que
Microsoft ha estado trabajando durante los ltimos aos con el objetivo de obtener una plataforma sencilla y potente para distribuir el software en forma de servicios que puedan ser suministrados remotamente y que puedan comunicarse y combinarse unos con otros de manera totalmente independiente de la plataforma, lenguaje de programacin y modelo de componentes con los que hayan sido desarrollados.
29
Sub-Especificaciones de CLI
(Common Language Infrastructure)
Lenguajes de Alto Niv el
se ajustan a las reglas de la
Sistema Operativ o
30
Cdigo Manejado
Ejecucin
Compilador JIT
Class Loader
Seguridad
Code Manager
Debug Engine
COM Interop
32
Application Domains
Procesos virtuales dentro del CLR
l l
Se ejecutan dentro de un proceso del Sistema Operativo Un proceso del sistema operativo puede contener varios AppDomains Ms eficiente que mltiples procesos del sistema operativo Ms eficiente en el intercambio de contexto de ejecucin
Un Assembly y sus tipos son siempre cargados dentro de un AppDomain Provee una frontera para: Fallos, Tipos, Seguridad
33
34
Temas a Tratar
Introduccin a Microsoft .NET Componentes Fundamentales Funcionamiento Interno del CLR Bibliotecas Principales
l l l l l
36
37
Mayor seguridad Mejor control de concurrencia Los datos se mantienen actualizados Se requiere una conexin constante (consume recursos del servidor) Escalabilidad
Desventajas:
l l
39
Desventajas
ADO.NET - Arquitectura
41
Maneja la coneccin a una base de datos Ejecuta comandos contra una base de datos Intercambia datos entre un dataset y una base de datos Copia local de datos relacionales Provee acceso a datos read - only , Forward - only
43
ADO.NET- DataSet
DataSet DataTable DataColum n DataTabl e Relaciones Esquema XML Restriccione s DataRow
44
45
46
Web
XML XSD WSDL SOAP
Framework
Objetos Clases Mtodos Llamadas
47
XmlReader
XmlTextReader
XmlValidatingReader
XmlNodeReader
48
UI HtmlControls WebControls
Proceso ASP.NET
Procesar
Proceso de peticiones
Motor ASPNET Generar Clase codebehind
Peticin Peticin
Instanciar
Respuesta Respuesta
Clase Pgina