La plataforma .NET David Carmona davidcsa@microsoft.com Microsoft Ibérica
Agenda Estrategia y arquitectura .NET La plataforma .NET Interoperabilidad y migración Enterprise Servers Microsoft Services
Estrategia y arquitectura .NET
Primera generación Lógica Cliente Capa de negocio Servicios SO Modelo cliente / servidor. El servidor de datos se enfocaba a la conexión.
Segunda generación Capa de Servidores de negocio datos, hosts Cliente rico Browsers Servicios SO
Servicios web disponibles globalmente en cualquier dispositivo Generación .NET Otros servicios Otros servicios OS Services Biz Tier Logic XML Web Services XML Servicios building blocks Browsers estándar HTML XML Capa de negocio XML Servicios SO XML Clientes ricos XML Dispositivos móviles Servicios web disponibles globalmente En cualquier sitio, a cualquier hora, en cualquier dispositivo
La plataforma .NET
La plataforma .NET VB C++ C# JScript … Visual Studio.NET Common Language Specification ASP.NET: Web Services and Web Forms Windows Forms ADO.NET, XML, Enterprise Services Base Class Library Common Language Runtime
Common Language Runtime VB C++ C# JScript … Visual Studio.NET Common Language Specification ASP.NET: Web Services and Web Forms Windows Forms ADO.NET, XML, Enterprise Services Base Class Library Common Language Runtime
(Strong name opcional) Common Language Runtime Compilación Assembly Código fuente Compilación (Strong name opcional) C++, C#, VB o cualquier otro lenguaje .NET DLL o EXE
Código y recursos nativos Common Language Runtime Assemblies Cabecera PE / COFF Cabecera CLR Código y recursos nativos Datos CLR Metadatos Recursos Código IL
Common Language Runtime Ejecución VB Native Code Install time Code Gen IL VC ... CLR Verificación “Econo”-JIT Compiler Standard JIT Compiler Native Code
Common Language Runtime ¿Por qué verificación? Application Domains Aislamiento real entre aplicaciones dentro de un mismo proceso Sólo código 100% type safe y manejado Proceso Nativo 1 Proceso Nativo 2 Application Domain 1 Application Domain 1 Application Domain 2
El CLR
Lenguajes .NET VB C++ C# JScript … Visual Studio.NET Common Language Specification ASP.NET: Web Services and Web Forms Windows Forms ADO.NET, XML, Enterprise Services Base Class Library Common Language Runtime
Lenguajes .NET CLS (Common Language Specification) Requisitos mínimos para compiladores de lenguajes .NET Conjunto mínimo de funcionalidad que deben implementar Su objetivo es facilitar la interoperabilidad entre lenguajes
Lenguajes .NET CLS (II) C++ COBOL CLS CLR Fujitsu COBOL Extensions C++ COBOL Microsoft Managed C++ Extensions CLS Los lenguajes no tienen que exponer toda la funcionalidad definida por la CLR
Llamadas a código no manejado Lenguajes .NET Comparativa Lenguaje Código manejado Código type-safe Llamadas a código no manejado Código no manejado VB.NET Sí Siempre No C# Opcional C++ Nunca J# Otros APL, Cobol, Component Pascal, Delta Forth, compiler, Eiffel, Fortran, Haskell, Mercury, Oberon, PERL, Python, Salford FTN95, Scheme SmallScript, Standard ML ,TMT Pascal, F#, AVR, ASML
Multilenguaje
Librería de clases VB C++ C# JScript … Visual Studio.NET Common Language Specification ASP.NET: Web Services and Web Forms Windows Forms ADO.NET, XML, Enterprise Services Base Class Library Common Language Runtime
Librería de clases Base Class Library Implementadas en el propio CLR Hilos, sincronización AppDomains … Implementadas en código manejado Ficheros Red Criptografía
Librería de clases ADO.NET Acceso a cualquier base de datos OLEDB, ODBC, SQL Server, Oracle… Caché de datos en memoria (Dataset) Facilita aplicaciones desconectadas Serializable en XML Definidos por XSD
Librería de clases XML Acceso en memoria Acceso secuencial XPath DOM niveles 1 y 2 Acceso secuencial XmlReader XPath Con posibilidad de compilación Definición y validación de esquemas XSD Transformaciones XSLT
Librería de clases Serialización XML Todos los tipos .NET son serializables en XML Controlable con atributos Herramientas XmlSerializer Serializa instancias en XML Deserializa instancias desde XML Xsd.exe Genera clases a partir de un XSD Genera un XSD a partir de una clase
Librería de clases Serialización XML (II) .NET y XML C#, VB, JS XmlSerializer Xsd.exe Xsd.exe XML XSD Validator
Serialización XML
Librería de clases Enterprise Services Acceso a servicios COM+ Transacciones Object pooling Activación JIT Queued components Eventos poco acoplados … Fácil desarrollo con atributos
Librería de clases VB C++ C# JScript … Visual Studio.NET Common Language Specification ASP.NET: Web Services and Web Forms Windows Forms ADO.NET, XML, Enterprise Services Base Class Library Common Language Runtime
Librería de clases Windows Forms Desarrollo de smart clients Potencia Windows Deployment Web con poca huella Autoactualización Consumo Web Services
Librería de clases Windows Forms (II) Máxima productividad Enlazado a ADO.NET Diseño visual muy potente Características Windows Gráficos GDI+ Accesibilidad Impresión Ayuda
ADO.NET y smart clients
Librería de clases VB C++ C# JScript … Visual Studio.NET Common Language Specification ASP.NET: Web Services and Web Forms Windows Forms ADO.NET, XML, Enterprise Services Base Class Library Common Language Runtime
Librería de clases ASP.NET ASP.NET Web Forms Modelo de programación similar a WinForms RAD visual Componentes Diseñadores Propiedades, eventos, estado Enlazado a datos Separación lógica - presentación
Librería de clases ASP.NET ASP.NET Web Forms Características avanzadas Compilación Soporte múltiples browsers automático Soporte dispositivos móviles Sesión distribuida Caché De páginas De controles De datos
ASP.NET
Librería de clases Web Services ASP.NET Web Services ¿Qué son? “Hosting” de aplicaciones y servicios a través de Internet Una infraestructura de integración de aplicaciones Una plataforma software adecuada para internet
Librería de clases Web Services (II) ASP.NET Web Services Servicios publicados Servicio 1 Descubrimiento mediante UDDI Servicio 1 Publicación mediante UDDI tModel Servicio Web Aplicación Cliente Registro UDDI Descripción mediante WSDL XML Schema WSDL Invocación/Acceso mediante SOAP Transporte mediante HTTP / SMTP / WAP Mensaje SOAP
Librería de clases Web Services (III) ASP.NET Web Services ASP.NET permite exponer clases .NET como servicios web Atributos [WebService], [WebMethod] Traduce peticiones SOAP Genera automáticamente WSDL .NET genera un proxy al otro extremo Integrado con Visual Studio La serialización XML hace el resto
Web services
Visual Studio .NET VB C++ C# JScript … Visual Studio.NET Common Language Specification ASP.NET: Web Services and Web Forms Windows Forms ADO.NET, XML, Enterprise Services Base Class Library Common Language Runtime
Visual Studio .NET Una herramienta para todo Plataforma RAD de alta productividad Diseñadores visuales win, web, mobile Editores de entidades, XSD, XML Desarrollo bases de datos Depuración extremo a extremo Tecnología IntelliSense y Ayuda Dinámica Extensible y Abierto
Visual Studio .NET Para todo el ciclo de vida Modelado de sistemas y bases de datos Patrones de arquitectura Versionado de código Monitorización y optimización Simulación de carga Despliegue e instalación
Interoperabilidad y migración
DNA y .NET Interoperabilidad Objetivos de .NET Reaprovechar conocimientos desarrollador Conservar inversión desarrollo Presentación ASP Presentación ASP.NET Negocio COM+ Negocio Enterprise Services Datos ADO Datos ADO.NET Aplicación mixta
DNA y .NET Migración Migración de código Visual Basic 6.0 Visual Basic .NET Asistente de migración Visual C++ Visual C++ .NET Compatible ASP ASP.NET
DNA y .NET Migración (II) Migración de conceptos Utilizar otros patrones de diseño Ejemplos Separación HTML – código de presentación Controles ASP.NET Entidades de negocio serializables en BD Acceso desconectado Acceso por servicio web
Migración ASP ASP.NET
Otras tecnologías Java Visual J# Sintaxis y clases Java en .NET Compatible JDK 1.1.4 Asistente de migración Java Java + JDK C# + .NET Framework Servlets, JSPs, AWT, applets Interoperabilidad Vía servicios web o recurso compartido
Otras tecnologías PHP Host Herramienta de migración Host Integration Server Acceso a datos Transacciones Single Log-on
© 2004 Microsoft Corporation. All rights reserved.