Upload
theresa-barcena
View
13
Download
2
Embed Size (px)
Citation preview
La plataforma .NETLa plataforma .NET
David CarmonaDavid [email protected] Ibérica Ibérica
AgendaAgendaEstrategia y arquitectura .NETEstrategia y arquitectura .NETLa plataforma .NETLa plataforma .NET Interoperabilidad y migraciónInteroperabilidad y migraciónEnterprise ServersEnterprise ServersMicrosoft ServicesMicrosoft Services
Estrategia y Estrategia y arquitectura .NETarquitectura .NET
Primera generación Primera generación
Servicios SOServicios SO
LógicaLógicaClienteCliente
Capa de Capa de negocionegocio
Modelo cliente / servidor. El Modelo cliente / servidor. El servidor de datos se enfocaba servidor de datos se enfocaba a la conexión.a la conexión.
Segunda generaciónSegunda generación
Cliente ricoCliente ricoServidores deServidores dedatos, hostsdatos, hosts
ServiciosServiciosSOSO
ServiciosServiciosSOSO
Capa deCapa denegocionegocio
Capa deCapa denegocionegocio
BrowsersBrowsers
Generación .NETGeneración .NET
En cualquier sitio,En cualquier sitio, a cualquier hora,a cualquier hora,
en cualquier dispositivoen cualquier dispositivo
Servicios web Servicios web disponibles disponibles globalmenteglobalmente
OS OS ServicesServices
BizBizTier LogicTier Logic
BizBizTier LogicTier Logic
Servicios SOServicios SOServicios SOServicios SO
Otros serviciosOtros servicios
ServiciosServiciosbuilding blocksbuilding blocks
XMLXML
XMLXML
XMLXML
OtrosOtrosserviciosservicios
XMLXML
HTMLHTML
XMLXML
XMLXML
BrowsersBrowsersestándarestándar
DispositivosDispositivosmóvilesmóviles
ClientesClientesricosricos
Capa de negocioCapa de negocioCapa de negocioCapa de negocio
Web ServicesWeb ServicesWeb ServicesWeb Services
La plataforma .NETLa plataforma .NET
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#
Visu
al Stu
dio
.NE
TV
isual S
tud
io.N
ET
ASP.NET: Web ServicesASP.NET: Web Servicesand Web Formsand Web Forms
JScriptJScript ……
WindowsWindowsFormsForms
Common Language RuntimeCommon Language Runtime
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#
Visu
al Stu
dio
.NE
TV
isual S
tud
io.N
ET
ASP.NET: Web ServicesASP.NET: Web Servicesand Web Formsand Web Forms
JScriptJScript ……
WindowsWindowsFormsForms
Common Language Runtime Common Language Runtime CompilaciónCompilación
Código fuenteCódigo fuente
C++, C#, VB o C++, C#, VB o cualquier otro cualquier otro lenguaje .NETlenguaje .NET
CompilaciónCompilaciónAssemblyAssembly
DLL o EXEDLL o EXE
(Strong name opcional)(Strong name opcional)
Common Language Runtime Common Language Runtime AssembliesAssemblies
Cabecera PE / COFFCabecera PE / COFF
Cabecera CLRCabecera CLR
Código y recursos nativosCódigo y recursos nativos
Datos CLRDatos CLR
MetadatosMetadatosMetadatosMetadatos
RecursosRecursosRecursosRecursos
Código ILCódigo ILCódigo ILCódigo IL
Common Language Runtime Common Language Runtime EjecuciónEjecución
VBVBVBVB
VCVCVCVC
............
ILILILILNativeNativeCodeCode
NativeNativeCodeCode
““Econo”-JITEcono”-JITCompilerCompiler
““Econo”-JITEcono”-JITCompilerCompiler
Standard JITStandard JITCompilerCompiler
Standard JITStandard JITCompilerCompiler
NativeNativeCodeCode
NativeNativeCodeCode
Install timeInstall timeCode GenCode Gen
Install timeInstall timeCode GenCode Gen
CLRCLR VerificaciónVerificaciónVerificaciónVerificación
Common Language Runtime Common Language Runtime ¿Por qué verificación?¿Por qué verificación?
Application DomainsApplication Domains Aislamiento real entre aplicaciones dentro Aislamiento real entre aplicaciones dentro
de un mismo procesode un mismo proceso Sólo código 100% type safe y manejadoSólo código 100% type safe y manejado
Proceso Nativo 1Proceso Nativo 1
Application Application Domain 1Domain 1
Application Application Domain 1Domain 1
Application Application Domain 2Domain 2
Application Application Domain 2Domain 2
Proceso Nativo 2Proceso Nativo 2
Application Application Domain 1Domain 1
Application Application Domain 1Domain 1
El CLREl CLR
Lenguajes .NETLenguajes .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#
Visu
al Stu
dio
.NE
TV
isual S
tud
io.N
ET
ASP.NET: Web ServicesASP.NET: Web Servicesand Web Formsand Web Forms
JScriptJScript ……
WindowsWindowsFormsForms
Requisitos mínimos para compiladores Requisitos mínimos para compiladores de lenguajes .NETde lenguajes .NET Conjunto mínimo de funcionalidad que Conjunto mínimo de funcionalidad que
deben implementardeben implementar
Su objetivo es facilitar la Su objetivo es facilitar la interoperabilidad entre lenguajesinteroperabilidad entre lenguajes
Lenguajes .NET Lenguajes .NET CLS (Common Language Specification)CLS (Common Language Specification)
Lenguajes .NET Lenguajes .NET CLS (II)CLS (II)
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 .NET Lenguajes .NET ComparativaComparativa
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 no Código no manejadomanejado
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
MultilenguajeMultilenguaje
Librería de clasesLibrería de clases
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#
Visu
al Stu
dio
.NE
TV
isual S
tud
io.N
ET
ASP.NET: Web ServicesASP.NET: Web Servicesand Web Formsand Web Forms
JScriptJScript ……
WindowsWindowsFormsForms
Implementadas en el propio CLRImplementadas en el propio CLR Hilos, sincronizaciónHilos, sincronización AppDomainsAppDomains ……
Implementadas en código manejadoImplementadas en código manejado FicherosFicheros RedRed CriptografíaCriptografía ……
Librería de clases Librería de clases Base Class LibraryBase Class Library Base Class LibraryBase Class Library
Acceso a cualquier base de datosAcceso a cualquier base de datos OLEDB, ODBC, SQL Server, Oracle…OLEDB, ODBC, SQL Server, Oracle…
Caché de datos en memoria (Dataset)Caché de datos en memoria (Dataset) Facilita aplicaciones desconectadasFacilita aplicaciones desconectadas Serializable en XMLSerializable en XML Definidos por XSDDefinidos por XSD
Librería de clases Librería de clases ADO.NETADO.NET ADO.NETADO.NET
Acceso en memoriaAcceso en memoria DOM niveles 1 y 2DOM niveles 1 y 2
Acceso secuencialAcceso secuencial XmlReaderXmlReader
XPathXPath Con posibilidad de compilaciónCon posibilidad de compilación
Definición y validación de esquemas XSDDefinición y validación de esquemas XSDTransformaciones XSLTTransformaciones XSLT
Librería de clases Librería de clases XMLXML XMLXML
Todos los tipos .NET son serializables en Todos los tipos .NET son serializables en XMLXML Controlable con atributosControlable con atributos
HerramientasHerramientas XmlSerializerXmlSerializer
Serializa instancias en XMLSerializa instancias en XML Deserializa instancias desde XMLDeserializa instancias desde XML
Xsd.exeXsd.exe Genera clases a partir de un XSDGenera clases a partir de un XSD Genera un XSD a partir de una claseGenera un XSD a partir de una clase
Librería de clases Librería de clases Serialización XMLSerialización XML XMLXML
.NET y XML.NET y XML
Librería de clases Librería de clases Serialización XML (II)Serialización XML (II) XMLXML
XSDXSDXSDXSDXMLXMLXMLXML
C#, VB, JSC#, VB, JSC#, VB, JSC#, VB, JS
Xsd.exeXsd.exe
Xsd.exeXsd.exe
ValidatorValidator
XmlSerializerXmlSerializer
Serialización XMLSerialización XML
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 clases Librería de clases Enterprise ServicesEnterprise Services Enterprise ServicesEnterprise Services
Librería de clasesLibrería de clases
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#
Visu
al Stu
dio
.NE
TV
isual S
tud
io.N
ET
ASP.NET: Web ServicesASP.NET: Web Servicesand Web Formsand Web Forms
JScriptJScript ……
WindowsWindowsFormsForms
Desarrollo de Desarrollo de smart clientssmart clients Potencia WindowsPotencia Windows Deployment Web con poca huellaDeployment Web con poca huella AutoactualizaciónAutoactualización Consumo Web ServicesConsumo Web Services
Librería de clases Librería de clases Windows FormsWindows Forms Windows FormsWindows Forms
Máxima productividadMáxima productividad Enlazado a ADO.NETEnlazado a ADO.NET Diseño visual muy potenteDiseño visual muy potente
Características WindowsCaracterísticas Windows Gráficos GDI+Gráficos GDI+ AccesibilidadAccesibilidad ImpresiónImpresión AyudaAyuda
Librería de clases Librería de clases Windows Forms (II)Windows Forms (II)
ADO.NET y smart clientsADO.NET y smart clients
Librería de clasesLibrería de clases
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#
Visu
al Stu
dio
.NE
TV
isual S
tud
io.N
ET
ASP.NET: Web ServicesASP.NET: Web Servicesand Web Formsand Web Forms
JScriptJScript ……
WindowsWindowsFormsForms
Modelo de programación similar a Modelo de programación similar a WinFormsWinForms RAD visualRAD visual ComponentesComponentes
Diseñ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 clases Librería de clases ASP.NETASP.NET ASP.NET Web FormsASP.NET Web Forms
Características avanzadasCaracterísticas avanzadas CompilaciónCompilación Soporte múltiples browsers automáticoSoporte múltiples browsers automático Soporte dispositivos móvilesSoporte dispositivos móviles Sesión distribuidaSesión distribuida CachéCaché
De páginasDe páginas De controlesDe controles De datosDe datos
Librería de clases Librería de clases ASP.NETASP.NET ASP.NET Web FormsASP.NET Web Forms
ASP.NETASP.NET
¿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 clases Librería de clases Web ServicesWeb Services ASP.NET Web ServicesASP.NET Web Services
Librería de clases Librería de clases Web Services (II)Web Services (II) ASP.NET Web ServicesASP.NET Web Services
Servicios publicados
Registro UDDI
AplicaciónCliente
Descubrimientomediante
UDDI
Servicio 1Servicio 1
tModel
Servicio Web
Invocación/Acceso mediante SOAPTransporte mediante HTTP / SMTP / WAP Mensaje
SOAP
Publicaciónmediante
UDDI
Descripción mediante WSDLXMLSchemaWSDL
Librería de clases Librería de clases Web Services (III)Web Services (III) ASP.NET Web ServicesASP.NET Web Services
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 extremo Integrado con Visual StudioIntegrado con Visual Studio
La serialización XML hace el restoLa serialización XML hace el resto
Web servicesWeb services
Visual Studio .NETVisual Studio .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#
Visu
al Stu
dio
.NE
TV
isual 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 todotodoPlataforma RAD de alta Plataforma RAD de alta productividadproductividad
Diseñ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
Visual Studio .NETVisual Studio .NETPara todo el ciclo de vidaPara todo el ciclo de vida
Modelado de sistemas y bases de datosModelado de sistemas y bases de datosPatrones de arquitecturaPatrones de arquitecturaVersionado de códigoVersionado de códigoMonitorización y optimizaciónMonitorización y optimizaciónSimulación de cargaSimulación de cargaDespliegue e instalaciónDespliegue e instalación
Interoperabilidad y Interoperabilidad y migraciónmigración
DNA y .NETDNA y .NETInteroperabilidadInteroperabilidad
Objetivos de .NETObjetivos de .NET Reaprovechar conocimientos desarrolladorReaprovechar conocimientos desarrollador Conservar inversión desarrolloConservar inversión desarrollo
Presentación
Negocio
Datos
ASPASP
COM+COM+
ADOADO
Aplicación mixtaAplicación mixta
Presentación
Negocio
Datos
ASP.NETASP.NET
Enterprise ServicesEnterprise Services
ADO.NETADO.NET
DNA y .NETDNA y .NETMigraciónMigración
Migración de códigoMigración de código Visual Basic 6.0 Visual Basic 6.0 Visual Basic .NET Visual Basic .NET
Asistente de migraciónAsistente de migración
Visual C++ Visual C++ Visual C++ .NET Visual C++ .NET CompatibleCompatible
ASP ASP ASP.NET ASP.NET Asistente de migración Asistente de migración
DNA y .NETDNA y .NETMigración (II)Migración (II)
Migración de conceptosMigración de conceptos Utilizar otros patrones de diseño Utilizar otros patrones de diseño EjemplosEjemplos
Separación HTML – código de presentaciónSeparación HTML – código de presentación Controles ASP.NETControles ASP.NET Entidades de negocio serializables en BDEntidades de negocio serializables en BD Acceso desconectadoAcceso desconectado Acceso por servicio webAcceso por servicio web
Migración ASP Migración ASP ASP.NET ASP.NET
Otras tecnologíasOtras tecnologíasJavaJava
Visual J#Visual J# Sintaxis y clases Java en .NETSintaxis y clases Java en .NET
Compatible JDK 1.1.4Compatible JDK 1.1.4
Asistente de migración JavaAsistente de migración Java Java + JDK Java + JDK C# + .NET Framework C# + .NET Framework Servlets, JSPs, AWT, appletsServlets, JSPs, AWT, applets
InteroperabilidadInteroperabilidad Vía servicios web o recurso compartidoVía servicios web o recurso compartido
Otras tecnologíasOtras tecnologías
PHPPHP Herramienta de migraciónHerramienta de migración
HostHost Host Integration ServerHost Integration Server
Acceso a datosAcceso a datos TransaccionesTransacciones Single Log-onSingle Log-on
© 2004 Microsoft Corporation. All rights reserved.© 2004 Microsoft Corporation. All rights reserved.