programacion avanzada - introduccion microsoft.net

29
Microsoft . Microsoft . NET NET

Upload: jose-mayaute-gutty

Post on 02-Aug-2015

40 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Programacion Avanzada - Introduccion Microsoft.net

Microsoft .Microsoft .NETNET

Microsoft .Microsoft .NETNET

Page 2: Programacion Avanzada - Introduccion Microsoft.net

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

Page 3: Programacion Avanzada - Introduccion Microsoft.net

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

Page 4: Programacion Avanzada - Introduccion Microsoft.net

¿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

Page 5: Programacion Avanzada - Introduccion Microsoft.net

¿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

Page 6: Programacion Avanzada - Introduccion Microsoft.net

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

Page 7: Programacion Avanzada - Introduccion Microsoft.net

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

Page 8: Programacion Avanzada - Introduccion Microsoft.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

Page 9: Programacion Avanzada - Introduccion Microsoft.net

.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

Page 10: Programacion Avanzada - Introduccion Microsoft.net

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#

Page 11: Programacion Avanzada - Introduccion Microsoft.net

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

Page 12: Programacion Avanzada - Introduccion Microsoft.net

.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

Page 13: Programacion Avanzada - Introduccion Microsoft.net

.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

Page 14: Programacion Avanzada - Introduccion Microsoft.net

Acceso a Datos: ADO.NETAcceso a Datos: ADO.NETSystem.Data

OleDb

SqlClient

OracleClient

Common

Odbc SqlTypes

System.Xml

Serialization

XPath

XSLT

Schema

Page 15: Programacion Avanzada - Introduccion Microsoft.net

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

Page 16: Programacion Avanzada - Introduccion Microsoft.net

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

Page 17: Programacion Avanzada - Introduccion Microsoft.net

ADO.NET - ArquitecturaADO.NET - Arquitectura

Page 18: Programacion Avanzada - Introduccion Microsoft.net

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..)

Page 19: Programacion Avanzada - Introduccion Microsoft.net

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

Page 20: Programacion Avanzada - Introduccion Microsoft.net

DataSetDataSet

DataTableDataTable

DataTableDataTable

DataRowDataRow

DataColumnDataColumn

RelacionesRelaciones

RestriccionesRestriccionesEsquema XML Esquema XML

ADO.NET- DataSetADO.NET- DataSet

Page 21: Programacion Avanzada - Introduccion Microsoft.net

ADO.NET vs. ADOADO.NET vs. ADO

Page 22: Programacion Avanzada - Introduccion Microsoft.net

Windows FormsWindows Forms

System.Drawing

Drawing2D

Imaging

Printing

Text

System.WinForms

Design ComponentModel

Page 23: Programacion Avanzada - Introduccion Microsoft.net

Aplicaciones Web: Aplicaciones Web: ASP.NETASP.NET

System.Web

Caching

Configuration

Services UI

SessionState

HtmlControls

WebControls

Description

Discovery

Security

Protocols

Page 24: Programacion Avanzada - Introduccion Microsoft.net

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

Page 25: Programacion Avanzada - Introduccion Microsoft.net

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

Page 26: Programacion Avanzada - Introduccion Microsoft.net

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

Page 27: Programacion Avanzada - Introduccion Microsoft.net

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

Page 28: Programacion Avanzada - Introduccion Microsoft.net

InteroperabilidadInteroperabilidad

.NET Framework.NET FrameworkServicios Web XMLServicios Web XML

C#C#

C++C++ VBVB

Otros...Otros... .NET.NET

COMCOMCOM INTEROP

Page 29: Programacion Avanzada - Introduccion Microsoft.net

Visual Studio 2005Visual Studio 2005

Novatos

Entusiastas

Estudiantes

Hobbyists

Part-Timers

Profesionales

Consultores

Desarrolladores

Arquitectos

Testers

VB6 Devs