La plataforma.NET Rossy Garita Componentes fundamentales de CLR y.

28
La plataforma .NET La plataforma .NET Rossy Garita Rossy Garita Componentes fundamentales de CLR y Componentes fundamentales de CLR y

Transcript of La plataforma.NET Rossy Garita Componentes fundamentales de CLR y.

Page 1: La plataforma.NET Rossy Garita Componentes fundamentales de CLR y.

La plataforma .NETLa plataforma .NET

Rossy Garita Rossy Garita Componentes fundamentales de CLR y Componentes fundamentales de CLR y

Page 2: La plataforma.NET Rossy Garita Componentes fundamentales de CLR y.

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 Rossy Garita Componentes fundamentales de CLR y.

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 Rossy Garita Componentes fundamentales de CLR y.

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 Rossy Garita Componentes fundamentales de CLR y.

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 Rossy Garita Componentes fundamentales de CLR y.

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 Rossy Garita Componentes fundamentales de CLR y.

.net .net

Microsoft .NET es el conjunto de nuevas tecnologías Microsoft .NET es el conjunto de nuevas tecnologías en las que Microsoft ha estado trabajando durante los en las que Microsoft ha estado trabajando durante los últimos años con el objetivo de obtener una últimos años con el objetivo de obtener una plataforma sencilla y potente para distribuir el plataforma sencilla y potente para distribuir el software en forma de servicios que puedan ser software en forma de servicios que puedan ser suministrados remotamente y que puedan suministrados remotamente y que puedan comunicarse y combinarse unos con otros de manera comunicarse y combinarse unos con otros de manera totalmente independiente de la plataforma, lenguaje totalmente independiente de la plataforma, lenguaje de programación y modelo de componentes con los de programación y modelo de componentes con los que hayan sido desarrollados. Ésta es la llamada que hayan sido desarrollados. Ésta es la llamada plataforma .NETplataforma .NET, y a los servicios antes , y a los servicios antes comentados se les denomina comentados se les denomina servicios Webservicios Web..

Page 8: La plataforma.NET Rossy Garita Componentes fundamentales de CLR y.

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 9: La plataforma.NET Rossy Garita Componentes fundamentales de CLR y.

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 10: La plataforma.NET Rossy Garita Componentes fundamentales de CLR y.

Common Language Common Language Runtime Runtime ((CLRCLR))

El El Common Language Runtime Common Language Runtime ((CLRCLR) es el ) es el núcleo de la plataforma .NET. Es el motor núcleo de la plataforma .NET. Es el motor encargado de gestionar la ejecución de las encargado de gestionar la ejecución de las aplicaciones para ella desarrolladas y a las aplicaciones para ella desarrolladas y a las que ofrece numerosos servicios que que ofrece numerosos servicios que simplifican su desarrollo y favorecen su simplifican su desarrollo y favorecen su fiabilidad y seguridad.fiabilidad y seguridad.

El CLR facilita la detección de errores de El CLR facilita la detección de errores de programación difíciles de localizar programación difíciles de localizar comprobando que toda conversión de tipos comprobando que toda conversión de tipos que se realice durante la ejecución de una que se realice durante la ejecución de una aplicación .NET se haga de modo que los aplicación .NET se haga de modo que los tipos origen y destino tipos origen y destino sean compatibles.sean compatibles.

Page 11: La plataforma.NET Rossy Garita Componentes fundamentales de CLR y.

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 12: La plataforma.NET Rossy Garita Componentes fundamentales de CLR y.

Integración de lenguajes Integración de lenguajes

Desde cualquier lenguaje para el que Desde cualquier lenguaje para el que exista un compilador que genere código exista un compilador que genere código para la plataforma .NET es posible para la plataforma .NET es posible utilizar código generado para la misma utilizar código generado para la misma usando cualquier otro lenguaje tal y usando cualquier otro lenguaje tal y como si de código escrito usando el como si de código escrito usando el primero se tratase. primero se tratase.

Page 13: La plataforma.NET Rossy Garita Componentes fundamentales de CLR y.

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 14: La plataforma.NET Rossy Garita Componentes fundamentales de CLR y.

CLS Resumen CLS Resumen

Como se puede deducir de las Como se puede deducir de las características comentadas, el CLR lo características comentadas, el CLR lo que hace es gestionar la ejecución de que hace es gestionar la ejecución de las aplicaciones diseñadas para la las aplicaciones diseñadas para la plataforma .NET. Por esta razón, al plataforma .NET. Por esta razón, al código de estas aplicaciones se le suele código de estas aplicaciones se le suele llamar llamar códigocódigo gestionadogestionado,, y al código y al código no escrito para ser ejecutado no escrito para ser ejecutado directamente en la plataforma .NET se directamente en la plataforma .NET se le suele llamar le suele llamar código no gestionadocódigo no gestionado

Page 15: La plataforma.NET Rossy Garita Componentes fundamentales de CLR y.

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 16: La plataforma.NET Rossy Garita Componentes fundamentales de CLR y.

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 17: La plataforma.NET Rossy Garita Componentes fundamentales de CLR y.

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 18: La plataforma.NET Rossy Garita Componentes fundamentales de CLR y.

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 19: La plataforma.NET Rossy Garita Componentes fundamentales de CLR y.

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

XML Schema es un lenguaje de esquema utilizado para describir la estructura y las restricciones de los contenidos de los documentos XML de una forma muy precisa, más allá de las normas sintácticas impuestas por el propio lenguaje XML

Page 20: La plataforma.NET Rossy Garita Componentes fundamentales de CLR y.

Librería de clasesLibrería de clasesEnterprise ServicesEnterprise Services

Acceso a servicios COM+Acceso a servicios COM+TransaccionesTransacciones

ObjectObject

Activación JITActivación JIT

Fácil desarrollo con atributosFácil desarrollo con atributos

Page 21: La plataforma.NET Rossy Garita Componentes fundamentales de CLR y.

Librería de clasesLibrería de clasesWindows FormsWindows Forms

Desarrollo de Desarrollo de smart clientssmart clientsPotencia WindowsPotencia Windows

Deployment WebDeployment Web

AutoactualizaciónAutoactualización

Consumo Web ServicesConsumo Web Services

Page 22: La plataforma.NET Rossy Garita Componentes fundamentales de CLR y.

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 23: La plataforma.NET Rossy Garita Componentes fundamentales de CLR y.

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 visual RAD visual El método comprende el El método comprende el desarrollo iterativo, la construcción de desarrollo iterativo, la construcción de prototiposprototipos

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 Rossy Garita Componentes fundamentales de CLR y.

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 Rossy Garita Componentes fundamentales de CLR y.

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 Rossy Garita Componentes fundamentales de CLR y.

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 27: La plataforma.NET Rossy Garita Componentes fundamentales de CLR y.

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 28: La plataforma.NET Rossy Garita Componentes fundamentales de CLR y.

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