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
Arquitectura .NETArquitectura .NETPrimera generación de aplicacionesPrimera generación de aplicaciones
Servicios SOServicios SO
LógicaLógicaClienteCliente
LógicaLógicaaplicaciónaplicación
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
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
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
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
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
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
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
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
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
El CLREl CLR
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
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
……
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
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
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
Serialización XMLSerialización XML
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
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
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
Windows Forms y Windows Forms y ADO.NETADO.NET
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
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
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
Windows Forms y Windows Forms y Web ServicesWeb Services
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
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
.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 ……