Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DCE1
DCE1
Desarrollador Cinco
Estrellas
Estrella 1
Introduccin a Microsoft
.NET
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.
Prerrequisitos
Poseer los conocimientos
proporcionados por la Estrella 0 del
programa
Haber aprobado el examen
correspondiente a la Estrella 0 del
programa
Conocimientos fundamentales de
bases de datos relacionales,
incluyendo
Modelo Relacional
Protocolos de Acceso (ODBC/OLEDB)
Temas a Tratar
Introduccin a Microsoft .NET
Componentes Fundamentales
Funcionamiento Interno del CLR
Bibliotecas Principales
Ventajas de .NET
Herramientas de Desarrollo .NET
Novedades en .NET 2.0
Temas a Tratar
Introduccin a Microsoft .NET
Qu no es .NET?
Qu es .NET?
.NET Como evolucin de COM
Funcionalidad
Paradigmas de
Programacin
s
e
t
en
n
o
p
m
o
C
Windows
3.0
s
API
COM
Win32
Win16
1980
1990
MFC
2000
s
o
i
c
vi
r
e
S
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
Qu es .NET?
Plataforma de Desarrollo compuesta
de
Caractersticas de .NET
(1/2)
Plataforma de ejecucin intermedia
100% Orientada a Objetos
Multilenguaje
Plataforma Empresarial de Misin
Crtica
Caractersticas de .NET
(2/2)
Modelo de Programacin nico para
todo tipo de aplicaciones y dispositivos
de hardware
Se integra fcilmente con aplicaciones
existentes desarrolladas en plataformas
Microsoft
Se integra fcilmente con aplicaciones
desarrolladas en otras plataformas
Plataforma de Ejecucin
Intermedia
Aplicacin .NET
Microsoft
.NET
Lenguajes de Programacin
Libreras de Funcionalidad
Entorno de Ejecucin
Entorno
de
Desarroll
o
COM: Windows
.NET: Common Language Runtime
Libreras de Funcionalidad
Lenguajes de Programacin
Qu es el .NET Framework?
Paquete de software fundamental de
la plataforma .NET. Incluye:
Cliente
Servidor
Aplicacin Web
Aplicacin de
Consola
Aplicacin
Mvil
2000
2001
2002
2003
2004
2005
2006 y ms
Temas a Tratar
Introduccin a Microsoft .NET
Componentes Fundamentales
Arquitectura
Common Language Runtime (CLR)
Microsoft Intermediate Language
Assemblies
.NET Class Library
Common Language Specification (CLS)
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
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
Especificacin CLI
Modelo de Ejecucin
Application Domains
Common Type System
Infraestructura de Lenguaje
Comn (CLI)
Entorno de Ejecucin de
Aplicaciones
Conjunto de Libreras Bsicas (BCL)
Tipos de Datos Comunes (CTS)
Sub-Especificaciones de
CLI
Lenguajes de Alto Nivel
se ajustan a las reglas de la
Sistema Operativo
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
Application Domains
Procesos virtuales dentro del CLR
AppDomain N
Cdigo Manejado
Los tipos
REFERENCIA se
almacenan en el
Heap
Temas a Tratar
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
Mayor seguridad
Mejor control de concurrencia
Los datos se mantienen actualizados
Desventajas:
Desventajas
ADO.NET - Arquitectura
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..)
ADO.NET- Clases ms
comunes
Base de Datos
Maneja la
la coneccin
coneccin aa una
una base
base de
de
Maneja
datos
datos
Ejecuta comandos
comandos contra
contra una
una base
base
Ejecuta
de datos
datos
de
XxxConnection
XxxConnection
Intercambia datos
datos entre
entre un
un dataset
dataset
Intercambia
una base
base de
de datos
datos
yy una
XxxCommand
XxxCommand
Copia local
local de
de datos
datos relacionales
relacionales
Copia
Provee acceso
acceso aa datos
datos
Provee
read-only, Forward-only
Forward-only
read-only,
XxxDataAdapter
XxxDataAdapter
DataSet
DataSet
XxxDataReader
XxxDataReader
ADO.NET- DataSet
DataSet
DataTable
DataColumn
DataTable
DataRow
Relaciones
Esquema XML
Restricciones
ADO.NET Accediendo a
datos Desconectado
En un escenario
desconectado, los recursos no
se mantienen en el servidor
mientras los datos se
procesan
1) Abrir Conexin
2) Llenar DataSet mediante
DataAdapter
3) Cerrar Conexin
4) Procesar DataSet
5) Abrir Conexin
6) Actualizar fuente de datos
mediante DataAdapter
7) Cerrar Conexin
DocumentNavigator
XmlTextWriter
XmlReader
XmlTextReader
XmlValidatingReader
XmlDocument
XmlNodeReader
Windows Forms
System.WinForms
Design
ComponentModel
System.Drawing
Drawing2D
Printing
Imaging
Text
UI
HtmlControls
Discovery
WebControls
Protocols
Caching
Security
Configuration
SessionState
Temas a Tratar
Introduccin a Microsoft .NET
Componentes Fundamentales
Funcionamiento Interno del CLR
Bibliotecas Principales
Ventajas de .NET
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
.NET Framework
Desarrollo Rapido,
Componentes,
Event Driven
OOP,
Potencia,
Acceso a bajo
nivel
Windows API
Basado en
Servidor,
UI Embebido en el
cdigo
ASP
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
C#
C++
COM INTEROP
COM
VB
Otros...
.NET
Temas a Tratar
Refactoring
Code Snippets
Diseadores WYSIWYG
Depuradores
Temas a Tratar
Introduccin a Microsoft .NET
Componentes fundamentales
Funcionamiento interno
Bibliotecas Principales
Ventajas de .NET
Herramientas de Desarrollo .NET
Novedades en .NET 2.0
Temas a Tratar
Generics
Soporte para 64 bits
Tipos Parciales
Nivel de Accesibilidad de Properties
Novedades en ADO.NET 2.0
Generics
Son tipos parametrizados soportados
por el CLR
Generics - Ejemplo
Definiendo una clase genrica en C#
public class ClaseGenerica<T>
{
public T atributo;
}
Generics - Ejemplo
Definiendo una clase genrica en
VB.NET
Public Class ClaseGenerica(Of T)
Public atributo As T
End Class
Generics - Colecciones
Colecciones Genricas Vs. Colecciones
Tradicionales
System.Collections.Generic
System.Collections
Comparer<T>
Comparer
Dictionary<K,T>
HashTable
List<T>
ArrayList
Queue<T>
Queue
SortedDictionary<K,T>
SortedList
Stack<T>
Stack
ICollection<T>
ICollection
IComparable<T>
System.IComparable
IComparer<T>
IComparer
IDictionary<K,T>
IDictionary
IEnumerable<T>
IEnumerable
IEnumerator<T>
IEnumerator
IKeyComparer<T>
IKeyComparer
IList<T>
IList
Generics - Colecciones
Sin generics
Con generics
Generics - Colecciones
Sin generics
Con generics
Tipos Parciales
Permiten la declaracin de un tipo en
varios archivos fsicos
// Demo.Part3.cs
// Error 1!
public class Demo
{
// Error 2!
private int i;
// OK
private int j;
public void Test()
{
// Error 3!
Console.Write( "P3" );
}
}
' Demo.Part3.vb
' OK en VB.NET
Public Class Demo
' Error 2!
Private i As Integer
' OK
Private j As Integer
Public Sub Test()
' OK en VB.NET
Console.Write("P3")
End Sub
End Class
Modificadores de acceso
El CLR 2.0 permite especificar diferentes
modificadores de acceso para el get y el
set de las propiedades e ndices
Permite solamente modificar uno de los
dos elementos de acceso, mientras que el
otro toma el nivel de acceso de la
property
Puede especificar ms restricciones
Mejora el encapsulamiento de atributos
Novedades en ADO.NET
2.0
API independiente del proveedor ADO.NET
Operaciones Asincrnicas
Novedades en ADO.NET
Integracin y aprovechamiento de
2.0
caractersticas de SQL Server 2005
Notification Services
Service Broker
Performance
Serializacin
Soporte a XML
DbCommandBuilder
DbConnection
DataAdapter
DbDataAdapter
DbDataReader
DbParameter
DbParameterCollection DbTransaction
DbProviderFactory DbProviderFactories
DbException
ProviderIndependiente
del cdigo de
la aplicacin
en esta capa
Sql
OleDb
ODBC
Oracle
3
Party 1
rd
3
Party 2
rd
Providerespecfico en
el cdigo de la
aplicacin en
esta capa
DataSet.RemotingFormat =
DataTable es auto-serializable:
System.Data.SqlTypes.SqlXml