la plataforma.net david carmona [email protected] división de desarrolladores y plataforma...

30
La plataforma .NET La plataforma .NET David Carmona David Carmona [email protected] [email protected] División de Desarrolladores y Plataforma División de Desarrolladores y Plataforma Microsoft Ibérica Microsoft Ibérica

Upload: severo-alverez

Post on 03-Jan-2015

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: La plataforma.NET David Carmona davidcsa@microsoft.com División de Desarrolladores y Plataforma Microsoft Ibérica

La plataforma .NETLa plataforma .NET

David CarmonaDavid [email protected]@microsoft.com División de Desarrolladores y PlataformaDivisión de Desarrolladores y PlataformaMicrosoft IbéricaMicrosoft Ibérica

Page 2: La plataforma.NET David Carmona davidcsa@microsoft.com División de Desarrolladores y Plataforma Microsoft Ibérica

Arquitectura .NETArquitectura .NETPrimera generación de aplicacionesPrimera generación de aplicaciones

Servicios SOServicios SO

LógicaLógicaClienteCliente

LógicaLógicaaplicaciónaplicación

Page 3: La plataforma.NET David Carmona davidcsa@microsoft.com División de Desarrolladores y Plataforma Microsoft Ibérica

BrowsersBrowsersBrowsersBrowsers

ServiciosServiciosSOSO

ServiciosServiciosSOSO

LógicaLógicaaplicaciónaplicación

LógicaLógicaaplicaciónaplicación

FormulariosFormularioswebweb

FormulariosFormularioswebweb

Arquitectura .NETArquitectura .NETSegunda generación de aplicacionesSegunda generación de aplicaciones

Cliente ricoCliente ricoCliente ricoCliente rico

Page 4: La plataforma.NET David Carmona davidcsa@microsoft.com División de Desarrolladores y Plataforma Microsoft Ibérica

OtrosOtrosserviciosservicios

OtrosOtrosserviciosservicios

Arquitectura .NETArquitectura .NETGeneración de aplicaciones .NETGeneración de aplicaciones .NET

OS OS ServicesServices

BizBizTier LogicTier Logic

BizBizTier LogicTier Logic

Servicios SOServicios SOServicios SOServicios SO

XMLXML

XMLXML

XMLXML

HTMLHTML

XMLXML

XMLXML

BrowsersBrowsersestándarestándar

BrowsersBrowsersestándarestándar

DispositivosDispositivosmóvilesmóviles

DispositivosDispositivosmóvilesmóviles

ClientesClientesinteligentesinteligentes

ClientesClientesinteligentesinteligentes

Lógica aplicaciónLógica aplicaciónLógica aplicaciónLógica aplicación

Servicios Servicios WebWeb

Servicios Servicios WebWeb

OtrosOtrosserviciosservicios

OtrosOtrosserviciosservicios

ServiciosServiciosbuilding blocksbuilding blocks

ServiciosServiciosbuilding blocksbuilding blocks

Formularios Formularios WebWeb

Formularios Formularios WebWeb

Page 5: La plataforma.NET David Carmona davidcsa@microsoft.com División de Desarrolladores y Plataforma Microsoft Ibérica

ServiciosServiciosbuilding blocksbuilding blocks

ServiciosServiciosbuilding blocksbuilding blocks

OtrosOtrosserviciosservicios

OtrosOtrosserviciosservicios

OtrosOtrosserviciosservicios

OtrosOtrosserviciosservicios

Arquitectura .NETArquitectura .NETGeneración de aplicaciones .NETGeneración de aplicaciones .NET

OS OS ServicesServices

BizBizTier LogicTier Logic

BizBizTier LogicTier Logic

Servicios SOServicios SOServicios SOServicios SO

XMLXML

XMLXML

XMLXML

HTMLHTML

XMLXML

XMLXML

BrowsersBrowsersestándarestándar

BrowsersBrowsersestándarestándar

DispositivosDispositivosmóvilesmóviles

DispositivosDispositivosmóvilesmóviles

ClientesClientesinteligentesinteligentes

ClientesClientesinteligentesinteligentes

Lógica aplicaciónLógica aplicaciónLógica aplicaciónLógica aplicación

Servicios Servicios WebWeb

Servicios Servicios WebWeb

Formularios Formularios WebWeb

Formularios Formularios WebWeb

Page 6: La plataforma.NET David Carmona davidcsa@microsoft.com División de Desarrolladores y Plataforma Microsoft Ibérica

La plataforma .NETLa plataforma .NET

Base Class LibraryBase Class Library

Common Language SpecificationCommon Language Specification

Common Language RuntimeCommon Language Runtime

ADO.NET, XML, Enterprise ServicesADO.NET, XML, Enterprise Services

VBVB C++C++ C#C#V

isu

al S

tud

io.N

ET

Vis

ual S

tud

io.N

ET

ASP.NET: Web ServicesASP.NET: Web Servicesand Web Formsand Web Forms

JScriptJScript ……

WindowsWindowsFormsForms

Page 7: La plataforma.NET David Carmona davidcsa@microsoft.com División de Desarrolladores y Plataforma Microsoft Ibérica

La plataforma .NETLa plataforma .NET

Base Class LibraryBase Class Library

Common Language SpecificationCommon Language Specification

Common Language RuntimeCommon Language Runtime

ADO.NET, XML, Enterprise ServicesADO.NET, XML, Enterprise Services

VBVB C++C++ C#C#V

isu

al S

tud

io.N

ET

Vis

ual S

tud

io.N

ET

ASP.NET: Web ServicesASP.NET: Web Servicesand Web Formsand Web Forms

JScriptJScript ……

WindowsWindowsFormsForms

Page 8: La plataforma.NET David Carmona davidcsa@microsoft.com División de Desarrolladores y Plataforma Microsoft Ibérica

Common Language RuntimeCommon Language RuntimeEjecuciónEjecución

VBVB

VC++VC++

......

AssemblyAssembly

NativeNativeCodeCode

JitterJitterJitterJitter

CódigoCódigonativonativo

CódigoCódigonativonativo

Install timeInstall timeCode GenCode Gen

CLRCLR VerificaciónVerificaciónVerificaciónVerificación

CompilaciónCompilación

MetadatosMetadatosMetadatosMetadatos

Código ILCódigo ILCódigo ILCódigo IL

Page 9: La plataforma.NET David Carmona davidcsa@microsoft.com División de Desarrolladores y Plataforma Microsoft Ibérica

La plataforma .NETLa plataforma .NET

Base Class LibraryBase Class Library

Common Language SpecificationCommon Language Specification

Common Language RuntimeCommon Language Runtime

ADO.NET, XML, Enterprise ServicesADO.NET, XML, Enterprise Services

VBVB C++C++ C#C#V

isu

al S

tud

io.N

ET

Vis

ual S

tud

io.N

ET

ASP.NET: Web ServicesASP.NET: Web Servicesand Web Formsand Web Forms

JScriptJScript ……

WindowsWindowsFormsForms

Page 10: La plataforma.NET David Carmona davidcsa@microsoft.com División de Desarrolladores y Plataforma Microsoft Ibérica

Lenguajes .NETLenguajes .NETCommon Language Specification Common Language Specification (CLS)(CLS)

COBOLCOBOL C++C++

CLRCLR

MicrosoftMicrosoftManaged Managed C++C++ExtensionsExtensions

FujitsuFujitsuCOBOLCOBOLExtensionsExtensions

CLS

Los lenguajes no tienen que exponer toda la Los lenguajes no tienen que exponer toda la funcionalidad definida por la CLRfuncionalidad definida por la CLR

Page 11: La plataforma.NET David Carmona davidcsa@microsoft.com División de Desarrolladores y Plataforma Microsoft Ibérica

Lenguajes .NETLenguajes .NETComparativaComparativa

LenguajeLenguaje Código Código manejadomanejado

Código Código type-safetype-safe

Llamadas a Llamadas a código no código no manejadomanejado

Código Código no no

manejadmanejadoo

VB.NETVB.NET SíSí SiempreSiempre SíSí NoNo

C#C# SíSí OpcionalOpcional SíSí NoNo

C++C++ SíSí NuncaNunca SíSí SíSí

J#J# SíSí SiempreSiempre SíSí NoNo

OtrosOtrosAPL, Cobol, Component Pascal, Delta Forth, compiler, Eiffel, Fortran, Haskell, Mercury, Oberon, PERL, Python, Salford FTN95, Scheme SmallScript, Standard ML ,TMT Pascal, F#, AVR, ASML

Page 12: La plataforma.NET David Carmona davidcsa@microsoft.com División de Desarrolladores y Plataforma Microsoft Ibérica

El CLREl CLR

Page 13: La plataforma.NET David Carmona davidcsa@microsoft.com División de Desarrolladores y Plataforma Microsoft Ibérica

La plataforma .NETLa plataforma .NET

Base Class LibraryBase Class Library

Common Language SpecificationCommon Language Specification

Common Language RuntimeCommon Language Runtime

ADO.NET, XML, Enterprise ServicesADO.NET, XML, Enterprise Services

VBVB C++C++ C#C#V

isu

al S

tud

io.N

ET

Vis

ual S

tud

io.N

ET

ASP.NET: Web ServicesASP.NET: Web Servicesand Web Formsand Web Forms

JScriptJScript ……

WindowsWindowsFormsForms

Page 14: La plataforma.NET David Carmona davidcsa@microsoft.com División de Desarrolladores y Plataforma Microsoft Ibérica

Librería de clasesLibrería de clasesBase Class LibraryBase Class Library

Implementadas en el propio CLRImplementadas en el propio CLRHilos, sincronizaciónHilos, sincronización

AppDomainsAppDomains

……

Implementadas en código manejadoImplementadas en código manejadoFicherosFicheros

RedRed

CriptografíaCriptografía

……

Page 15: La plataforma.NET David Carmona davidcsa@microsoft.com División de Desarrolladores y Plataforma Microsoft Ibérica

Librería de clasesLibrería de clasesADO.NETADO.NET

Acceso conectado a cualquier base de Acceso conectado a cualquier base de datosdatos

OLEDB, ODBC, SQL Server, Oracle…OLEDB, ODBC, SQL Server, Oracle…

Plataforma para acceso desconectadoPlataforma para acceso desconectadoDatasetDataset

Subconjunto de datos en memoriaSubconjunto de datos en memoria

DataadapterDataadapterAlimenta el Dataset y concilia los cambiosAlimenta el Dataset y concilia los cambios

Page 16: La plataforma.NET David Carmona davidcsa@microsoft.com División de Desarrolladores y Plataforma Microsoft Ibérica

Librería de clasesLibrería de clasesXMLXML

Acceso en memoriaAcceso en memoriaDOM niveles 1 y 2DOM niveles 1 y 2

Acceso secuencialAcceso secuencialXmlReaderXmlReader

XPathXPathCon posibilidad de compilaciónCon posibilidad de compilación

Definición y validación de esquemas Definición y validación de esquemas XSDXSD

Transformaciones XSLTTransformaciones XSLT

Page 17: La plataforma.NET David Carmona davidcsa@microsoft.com División de Desarrolladores y Plataforma Microsoft Ibérica

Librería de clasesLibrería de clasesSerialización XMLSerialización XML

XSDXSDXSDXSDXMLXMLXMLXML

ClasesClases.NET.NET

ClasesClases.NET.NET

Xsd.exeXsd.exe

Xsd.exeXsd.exe

XmlSerializerXmlSerializer

Page 18: La plataforma.NET David Carmona davidcsa@microsoft.com División de Desarrolladores y Plataforma Microsoft Ibérica

Serialización XMLSerialización XML

Page 19: La plataforma.NET David Carmona davidcsa@microsoft.com División de Desarrolladores y Plataforma Microsoft Ibérica

Librería de clasesLibrería de clasesEnterprise ServicesEnterprise Services

Acceso a servicios COM+Acceso a servicios COM+TransaccionesTransacciones

Object poolingObject pooling

Activación JITActivación JIT

Queued componentsQueued components

Eventos poco acopladosEventos poco acoplados

……

Fácil desarrollo con atributosFácil desarrollo con atributos

Page 20: La plataforma.NET David Carmona davidcsa@microsoft.com División de Desarrolladores y Plataforma Microsoft Ibérica

Librería de clasesLibrería de clasesWindows FormsWindows Forms

Desarrollo de Desarrollo de smart clientssmart clientsPotencia WindowsPotencia Windows

Deployment Web con poca huellaDeployment Web con poca huella

AutoactualizaciónAutoactualización

Consumo Web ServicesConsumo Web Services

Page 21: La plataforma.NET David Carmona davidcsa@microsoft.com División de Desarrolladores y Plataforma Microsoft Ibérica

Librería de clasesLibrería de clasesWindows Forms (II)Windows Forms (II)

Máxima productividadMáxima productividadEnlazado a ADO.NETEnlazado a ADO.NET

Diseño visual muy potenteDiseño visual muy potente

HerenciaHerencia

Características WindowsCaracterísticas WindowsGráficos GDI+Gráficos GDI+

AccesibilidadAccesibilidad

ImpresiónImpresión

AyudaAyuda

Page 22: La plataforma.NET David Carmona davidcsa@microsoft.com División de Desarrolladores y Plataforma Microsoft Ibérica

Windows Forms y Windows Forms y ADO.NETADO.NET

Page 23: La plataforma.NET David Carmona davidcsa@microsoft.com División de Desarrolladores y Plataforma Microsoft Ibérica

Librería de clasesLibrería de clasesASP.NET Web FormsASP.NET Web Forms

Modelo de programación similar a Modelo de programación similar a WinFormsWinForms

RAD visualRAD visual

ComponentesComponentesDiseñadoresDiseñadores

Propiedades, eventos, estadoPropiedades, eventos, estado

Enlazado a datosEnlazado a datos

Separación lógica - presentaciónSeparación lógica - presentación

Page 24: La plataforma.NET David Carmona davidcsa@microsoft.com División de Desarrolladores y Plataforma Microsoft Ibérica

Librería de clasesLibrería de clasesWeb ServicesWeb Services

¿Qué son?¿Qué son?““Hosting” de aplicaciones y servicios a Hosting” de aplicaciones y servicios a través de Internettravés de Internet

Una infraestructura de integración de Una infraestructura de integración de aplicacionesaplicaciones

Una plataforma software adecuada para Una plataforma software adecuada para internetinternet

Page 25: La plataforma.NET David Carmona davidcsa@microsoft.com División de Desarrolladores y Plataforma Microsoft Ibérica

Librería de clasesLibrería de clasesWeb Services (II)Web Services (II)

ASP.NET permite exponer clases .NET ASP.NET permite exponer clases .NET como servicios webcomo servicios web

Atributos [WebService], [WebMethod]Atributos [WebService], [WebMethod]

Traduce peticiones SOAPTraduce peticiones SOAP

Genera automáticamente WSDLGenera automáticamente WSDL

.NET genera un proxy al otro extremo.NET genera un proxy al otro extremoIntegrado con Visual StudioIntegrado con Visual Studio

La serialización XML hace el restoLa serialización XML hace el resto

Page 26: La plataforma.NET David Carmona davidcsa@microsoft.com División de Desarrolladores y Plataforma Microsoft Ibérica

Windows Forms y Windows Forms y Web ServicesWeb Services

Page 27: La plataforma.NET David Carmona davidcsa@microsoft.com División de Desarrolladores y Plataforma Microsoft Ibérica

La plataforma .NETLa plataforma .NET

Base Class LibraryBase Class Library

Common Language SpecificationCommon Language Specification

Common Language RuntimeCommon Language Runtime

ADO.NET, XML, Enterprise ServicesADO.NET, XML, Enterprise Services

VBVB C++C++ C#C#V

isu

al S

tud

io.N

ET

Vis

ual S

tud

io.N

ET

ASP.NET: Web ServicesASP.NET: Web Servicesand Web Formsand Web Forms

JScriptJScript ……

WindowsWindowsFormsForms

Page 28: La plataforma.NET David Carmona davidcsa@microsoft.com División de Desarrolladores y Plataforma Microsoft Ibérica

Visual Studio .NETVisual Studio .NET

UnaUna herramienta para herramienta para todotodo

Plataforma RAD de alta Plataforma RAD de alta productividadproductividadDiseñadores visuales win, web, mobileDiseñadores visuales win, web, mobile

Editores de entidades, XSD, XMLEditores de entidades, XSD, XML

Desarrollo bases de datosDesarrollo bases de datos

Depuración extremo a extremoDepuración extremo a extremo

Tecnología Tecnología IntelliSense IntelliSense y Ayuda Dinámicay Ayuda Dinámica

Extensible y AbiertoExtensible y Abierto

Para todo el ciclo de vidaPara todo el ciclo de vida

Page 29: La plataforma.NET David Carmona davidcsa@microsoft.com División de Desarrolladores y Plataforma Microsoft Ibérica

.NET Compact Framework.NET Compact FrameworkDesarrollo sobre dispositivosDesarrollo sobre dispositivos

Versión reducida del Framework .NETVersión reducida del Framework .NET

Diseñado para dispositivos móvilesDiseñado para dispositivos móvilesPocketPC, Smartphone, Windows CEPocketPC, Smartphone, Windows CE

Base Class LibraryBase Class Library

Common Language SpecificationCommon Language Specification

Common Language RuntimeCommon Language Runtime

ADO.NET, XMLADO.NET, XML

VBVB

Vis

ual S

tud

io.N

ET

Vis

ual S

tud

io.N

ET

Windows FormsWindows Forms

C#C# JScriptJScript ……

Page 30: La plataforma.NET David Carmona davidcsa@microsoft.com División de Desarrolladores y Plataforma Microsoft Ibérica