Post on 02-Aug-2015
Microsoft .Microsoft .NETNET
Microsoft .Microsoft .NETNET
Temas a TratarTemas a Tratar
Introducción a Microsoft .NETIntroducción a Microsoft .NET ¿Qué no es .NET?¿Qué no es .NET? ¿Qué es .NET?¿Qué es .NET? .NET Como evolución de COM.NET Como evolución de COM
Paradigmas de Paradigmas de ProgramaciónProgramación
19801980 19901990 20002000
Fu
nci
on
alid
adF
un
cio
nal
idad
Win16Win16 Win32Win32COMCOM
MFCMFCComponentes
ComponentesServiciosServicios
APIsAPIs
Windows3.0
¿Qué NO es .NET?¿Qué NO es .NET?
.NET no es un Sistema Operativo.NET no es un Sistema Operativo
.NET no es un Lenguaje de .NET no es un Lenguaje de ProgramaciónProgramación
.NET no es un Entorno de Desarrollo.NET no es un Entorno de Desarrollo
.NET no es un Servidor de .NET no es un Servidor de AplicacionesAplicaciones
.NET no es un producto empaquetado .NET no es un producto empaquetado que se pueda comprar como talque se pueda comprar como tal
¿Qué es .NET?¿Qué es .NET?Plataforma de Desarrollo compuesta Plataforma de Desarrollo compuesta dede Entorno de Ejecución (Runtime)Entorno de Ejecución (Runtime) Bibliotecas de Funcionalidad (Class Bibliotecas de Funcionalidad (Class
Library)Library) Lenguajes de ProgramaciónLenguajes de Programación CompiladoresCompiladores Herramientas de Desarrollo (IDE & Herramientas de Desarrollo (IDE &
Tools)Tools) Guías de ArquitecturaGuías de Arquitectura
La evolución de la plataforma COMLa evolución de la plataforma COM
Características de .NET Características de .NET (2/2)(2/2)
Modelo de Programación único para Modelo de Programación único para todo tipo de aplicaciones y dispositivos todo tipo de aplicaciones y dispositivos de hardwarede hardware
Se integra fácilmente con aplicaciones Se integra fácilmente con aplicaciones existentes desarrolladas en existentes desarrolladas en plataformas Microsoftplataformas Microsoft
Se integra fácilmente con aplicaciones Se integra fácilmente con aplicaciones desarrolladas en otras plataformasdesarrolladas en otras plataformas
Plataforma de Ejecución Plataforma de Ejecución IntermediaIntermedia
Entorno de
Desarrollo
Mic
rosoft
.N
ET
Librerías de Funcionalidad
Lenguajes de Programación
Entorno de Ejecución
Sistema Operativo (Familia Windows)
Aplicación .NET
¿Qué es el .NET Framework?¿Qué es el .NET Framework?
Paquete de software fundamental de Paquete de software fundamental de la plataforma .NET. Incluye:la plataforma .NET. Incluye: Entorno de Ejecución (Runtime)Entorno de Ejecución (Runtime) Bibliotecas de Funcionalidad (Class Library)Bibliotecas de Funcionalidad (Class Library)
Se distribuye en forma libre y Se distribuye en forma libre y gratuitagratuita
Existen tres variantes principales:Existen tres variantes principales: .NET Framework Redistributable .NET Framework Redistributable
PackagePackage .NET Framework SDK.NET Framework SDK .NET Compact Framework .NET Compact Framework
Está instalado por defecto en Está instalado por defecto en Windows 2003 Server o superiorWindows 2003 Server o superior
.NET Compact Framework
*
*
AplicaciónMóvil
Aplicación de Consola
Aplicación Web
Aplicación de Escritorio
¿Dónde instalar el .NET ¿Dónde instalar el .NET Framework?Framework?
ServidorCliente
* Sólo si la aplicación es distribuída* Sólo si la aplicación es distribuída
Línea del tiempo de .NETLínea del tiempo de .NETVisual Studio 6.0Visual BasicVBAVisual FoxProVBScriptC++J++JScriptASP
Visual Studio .NET 2003.NET Framework 1.1.NET Compact FrameworkJ#
Visual Studio “Orcas”.NET Framework “Orcas”.NET Compact Framework “Orcas”
2000 2001 2002 2003 2004 2005 2006 y más
Visual Studio 2005 (“Whidbey”).NET Framework 2.0 (“Whidbey”).NET Compact Framework 2.0 (“Whidbey”)
Visual Studio .NET 2002.NET Framework 1.0Visual Basic .NETC#
Windows COM+ Services
Common Language Runtime
Base Class Library
ADO.NET y XML
ASP.NET Windows Forms
Common Language Specification
VB C++ C# J# …
Arquitectura del .NET Arquitectura del .NET FrameworkFramework
.NE
T F
ram
ewor
k R
edis
trib
utab
le
.NE
T F
ram
ewo
rk S
DK
.NE
T F
ramew
ork
Class Library
.NET Framework Class .NET Framework Class LibraryLibrary
Conjunto de Tipos básicos (clases, interfaces, etc.) que vienen incluídos en el .NET Framework Los tipos están organizados en jerarquías lógicas de nombres, denominados NAMESPACESLos tipos son INDEPENDIENTES del lenguaje de desarrolloEs extensible y totalmente orientada a objetos
.NET Framework Class .NET Framework Class LibraryLibraryEl namespace raíz es SYSTEM
System
System.Data System.Xml
System.Web
GlobalizationGlobalization
DiagnosticsDiagnostics
ConfigurationConfiguration
CollectionsCollections
ResourcesResources
ReflectionReflection
NetNet
IOIO
ThreadingThreading
TextText
ServiceProcessServiceProcess
SecuritySecurity
CommonCommon
OleDbOleDb
SqlClientSqlClient
OdbcOdbc
XPathXPath
XSLTXSLT
RuntimeRuntime
InteropServicesInteropServices
RemotingRemoting
SerializationSerialization
SerializationSerialization
ConfigurationConfiguration SessionStateSessionState
CachingCaching SecuritySecurity
ServicesServices
DescriptionDescription
DiscoveryDiscovery
ProtocolsProtocols
UIUI
HtmlControlsHtmlControls
WebControlsWebControls
System.Drawing
ImagingImaging
Drawing2DDrawing2D
TextText
PrintingPrinting
System.Windows.FormsDesignDesign ComponentModelComponentModel
Acceso a Datos: ADO.NETAcceso a Datos: ADO.NETSystem.Data
OleDb
SqlClient
OracleClient
Common
Odbc SqlTypes
System.Xml
Serialization
XPath
XSLT
Schema
Acceso a Bases de Datos Acceso a Bases de Datos Relacionales Escenario Relacionales Escenario ConectadoConectado Un entorno conectado es uno en el Un entorno conectado es uno en el
cual los usuarios están cual los usuarios están constantemente conectados a la constantemente conectados a la fuente de datosfuente de datos Ventajas:Ventajas: Mayor seguridadMayor seguridad Mejor control de concurrenciaMejor control de concurrencia Los datos se mantienen actualizadosLos datos se mantienen actualizados
Desventajas:Desventajas: Se requiere una conexión constante Se requiere una conexión constante
(consume recursos del servidor)(consume recursos del servidor) EscalabilidadEscalabilidad
En un entorno desconectado, una En un entorno desconectado, una parte de los datos del repositorio parte de los datos del repositorio central se copia y modifica en forma central se copia y modifica en forma local, para luego sincronizarse con local, para luego sincronizarse con éste. éste. VentajasVentajas Se puede trabajar en forma Se puede trabajar en forma
independienteindependiente Mayor escalabilidad y performanceMayor escalabilidad y performance
DesventajasDesventajas Los datos no están sinconizadosLos datos no están sinconizados Resolución manual de conflictosResolución manual de conflictos
Acceso a Bases de Datos Acceso a Bases de Datos Relacionales Escenario Relacionales Escenario DesconectadoDesconectado
ADO.NET - ArquitecturaADO.NET - Arquitectura
ADO.NET- Proveedores de ADO.NET- Proveedores de Acceso a DatosAcceso a Datos
SQL Server/Access SQL Server/Access (System.Data.SqlClient)(System.Data.SqlClient)OLE DB (System.Data.OleDb)OLE DB (System.Data.OleDb)ODBC (System.Data.Odbc)ODBC (System.Data.Odbc)Oracle (System.Data.OracleClient)Oracle (System.Data.OracleClient)Otros provistos por terceros (MySQL, Otros provistos por terceros (MySQL, PostgreSQL, DB2, etc..)PostgreSQL, DB2, etc..)
Base de Datos
XxxConnectionXxxConnection
XxxCommandXxxCommand
DataSetDataSet XxxDataReaderXxxDataReader
XxxDataAdapterXxxDataAdapter
Maneja la conección a una base de datos
Maneja la conección a una base de datos
Ejecuta comandos contra una basede datos
Ejecuta comandos contra una basede datos
Copia local de datos relacionalesCopia local de datos relacionales
Provee acceso a datos read-only, Forward-onlyProvee acceso a datos read-only, Forward-only
Intercambia datos entre un dataset y una base de datos
Intercambia datos entre un dataset y una base de datos
ADO.NET- Clases más ADO.NET- Clases más comunescomunes
DataSetDataSet
DataTableDataTable
DataTableDataTable
DataRowDataRow
DataColumnDataColumn
RelacionesRelaciones
RestriccionesRestriccionesEsquema XML Esquema XML
ADO.NET- DataSetADO.NET- DataSet
ADO.NET vs. ADOADO.NET vs. ADO
Windows FormsWindows Forms
System.Drawing
Drawing2D
Imaging
Printing
Text
System.WinForms
Design ComponentModel
Aplicaciones Web: Aplicaciones Web: ASP.NETASP.NET
System.Web
Caching
Configuration
Services UI
SessionState
HtmlControls
WebControls
Description
Discovery
Security
Protocols
Ventajas de .NETVentajas de .NETUnifica los modelos de programaciónUnifica los modelos de programaciónSimplifica aún más el desarrolloSimplifica aún más el desarrolloProvee un Entorno de Ejecución Provee un Entorno de Ejecución robusto y segurorobusto y seguroEs independiente del lenguaje de Es independiente del lenguaje de programaciónprogramaciónInteroperabilidad con código Interoperabilidad con código existenteexistenteSimplifica la instalación y Simplifica la instalación y administración de las aplicacionesadministración de las aplicacionesEs ExtensibleEs Extensible
Desarrollo SimplificadoDesarrollo Simplificado
Alto nivel de abstracciónAlto nivel de abstracción No mas accesos COM a bajo nivelNo mas accesos COM a bajo nivel Orientado a Objetos desde el NúcleoOrientado a Objetos desde el Núcleo
Sistema de tipos unificado (CTS)Sistema de tipos unificado (CTS) Todo es un objeto, no mas variantsTodo es un objeto, no mas variants
Componentes de SoftwareComponentes de Software Propiedades, métodos, eventos, y Propiedades, métodos, eventos, y
atributos incluidos en la construcción de atributos incluidos en la construcción de clasesclases
API organizada en forma JerárquicaAPI organizada en forma Jerárquica
Entorno de Ejecución Robusto y Entorno de Ejecución Robusto y SeguroSeguro
Gestión automática de la memoriaGestión automática de la memoria Todos los objetos son administrados por Todos los objetos son administrados por
el Garbage Collectorel Garbage Collector
Manejo de ExcepcionesManejo de ExcepcionesFuertemente tipadoFuertemente tipado Solo casteos segurosSolo casteos seguros Inicialización de variables obligatoriaInicialización de variables obligatoria
Instalación con Cero ImpactoInstalación con Cero Impacto No requiere registración en la RegistryNo requiere registración en la Registry
Independencia del Independencia del lenguajelenguaje
Libertad en la elección del lenguajeLibertad en la elección del lenguaje Todas las facilidades de la Todas las facilidades de la
plataforma .NET están disponibles a plataforma .NET están disponibles a todos los lenguajes de todos los lenguajes de programación .NETprogramación .NET
Los componentes de una Los componentes de una aplicación .NET pueden ser escritos en aplicación .NET pueden ser escritos en distintos lenguajes de alto nivel distintos lenguajes de alto nivel compatibles con la plataformacompatibles con la plataforma
Herramientas compartidasHerramientas compartidas Debuggers, profilers, analizadores de Debuggers, profilers, analizadores de
código, y otras trabajan para todos los código, y otras trabajan para todos los lenguajeslenguajes
InteroperabilidadInteroperabilidad
.NET Framework.NET FrameworkServicios Web XMLServicios Web XML
C#C#
C++C++ VBVB
Otros...Otros... .NET.NET
COMCOMCOM INTEROP
Visual Studio 2005Visual Studio 2005
Novatos
Entusiastas
Estudiantes
Hobbyists
Part-Timers
Profesionales
Consultores
Desarrolladores
Arquitectos
Testers
VB6 Devs