Transcript Slide 1
La plataforma .NET David Carmona [email protected] 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 Cliente rico Browsers Capa de negocio Servicios SO Servidores de datos, hosts Generación .NET Otros servicios Otros servicios Web Biz Services Browsers estándar Clientes ricos Dispositivos móviles En cualquier sitio, a cualquier hora, en cualquier dispositivo Tier Logic Capa de negocio Servicios building blocks Servicios SO OS Services Servicios web disponibles globalmente La plataforma .NET La plataforma .NET VB C++ C# JScript … ASP.NET: Web Services and Web Forms Windows Forms ADO.NET, XML, Enterprise Services Base Class Library Common Language Runtime Visual Studio.NET Common Language Specification Common Language Runtime VB C++ C# JScript … ASP.NET: Web Services and Web Forms Windows Forms ADO.NET, XML, Enterprise Services Base Class Library Common Language Runtime Visual Studio.NET Common Language Specification 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 Common Language Runtime Assemblies Cabecera PE / COFF Cabecera CLR Datos CLR Metadatos Código IL Recursos Código y recursos nativos 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 … ASP.NET: Web Services and Web Forms Windows Forms ADO.NET, XML, Enterprise Services Base Class Library Common Language Runtime Visual Studio.NET Common Language Specification 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) CLR Fujitsu COBOL Extensions C++ COBOL CLS Microsoft Managed C++ Extensions Los lenguajes no tienen que exponer toda la funcionalidad definida por la CLR 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 Sí No C# Sí Opcional Sí No C++ Sí Nunca Sí Sí J# Sí Siempre Sí No 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 … ASP.NET: Web Services and Web Forms Windows Forms ADO.NET, XML, Enterprise Services Base Class Library Common Language Runtime Visual Studio.NET Common Language Specification Librería de clases Base Class Library 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, ADO.NET ODBC, SQL Server, Oracle… Caché de datos en memoria (Dataset) Facilita aplicaciones desconectadas Serializable en XML Definidos por XSD Librería de clases XML XML Acceso en memoria 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 XML 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) XML .NET y XML C#, VB, JS XmlSerializer Xsd.exe Xsd.exe XML XSD Validator Serialización XML Librería de clases Enterprise Services 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 … ASP.NET: Web Services and Web Forms Windows Forms ADO.NET, XML, Enterprise Services Base Class Library Common Language Runtime Visual Studio.NET Common Language Specification Librería de clases Windows Forms 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 … ASP.NET: Web Services and Web Forms Windows Forms ADO.NET, XML, Enterprise Services Base Class Library Common Language Runtime Visual Studio.NET Common Language Specification 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 Descubrimiento mediante UDDI Servicio 1 Servicio 1 tModel Publicación mediante UDDI Registro UDDI Aplicación Cliente Servicio Web 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 permite exponer clases .NET como servicios web Atributos [WebService], [WebMethod] Traduce peticiones SOAP Genera automáticamente WSDL .NET genera un proxy al otro extremo ASP.NET Web Services Integrado con Visual Studio La serialización XML hace el resto Web services Visual Studio .NET VB C++ C# JScript … ASP.NET: Web Services and Web Forms Windows Forms ADO.NET, XML, Enterprise Services Base Class Library Common Language Runtime Visual Studio.NET Common Language Specification 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 Negocio Datos ASP COM+ ADO Presentación Negocio ASP.NET Enterprise Services Datos Aplicación mixta ADO.NET DNA y .NET Migración Migración de código Visual Asistente de migración Visual C++ Visual C++ .NET Compatible ASP Basic 6.0 Visual Basic .NET ASP.NET Asistente de migración 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 + JDK C# + .NET Framework Servlets, JSPs, AWT, applets Java Interoperabilidad Vía servicios web o recurso compartido Otras tecnologías PHP Herramienta de migración Host Host Integration Server Acceso a datos Transacciones Single Log-on © 2004 Microsoft Corporation. All rights reserved.