La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

La plataforma.NET Aurelio Porras División de Desarrolladores y Plataforma Microsoft Ibérica.

Presentaciones similares


Presentación del tema: "La plataforma.NET Aurelio Porras División de Desarrolladores y Plataforma Microsoft Ibérica."— Transcripción de la presentación:

1 La plataforma.NET Aurelio Porras División de Desarrolladores y Plataforma Microsoft Ibérica

2 Agenda.NET Framework y Visual Studio.NET.NET Framework Visual Studio.NET Guías para desarrollar mejor: Patterns & Practices Arquitectura de Referencia en.NET Opciones para la capa lógica de Datos Opciones para la capa lógica de Negocio Opciones para la capa lógica de Presentación Despliegue de las capas lógicas en niveles físicos Interoperabilidad o Migración Mejores prácticas en el Ciclo de Vida software Recursos

3 Microsoft.NET

4 Arquitectura.NET Retos del desarrollo en Microsoft Integración de aplicaciones Múltiples lenguajes de programación Múltiples modelos de programación Complejidad del desarrollo y despliegue Seguridad no inherente Preservar la inversión del desarrollador Elevar la productividad del desarrollador

5 Arquitectura.NET.NET Framework y Visual Studio.NET Sistema Operativo Common Language Runtime Base Class Library XML, ADO.NET, Enterprise Services ASP.NET Web Forms Web Services Mobile Web Forms (MIT) WindowsForms Common Language Specification VBC++C#J#… Visual Studio.NET

6 .NET Framework Common Language Runtime Sistema Operativo Common Language Runtime Base Class Library XML, ADO.NET, Enterprise Services ASP.NET Web Forms Web Services Mobile Web Forms (MIT) WindowsForms Common Language Specification VBC++C#J#… Visual Studio.NET

7 .NET Framework Common Language Runtime El CLR es el entorno donde se ejecutan todas las aplicaciones.NET El CLR determina para las aplicaciones.NET: Un conjunto de tipos de datos: CTS Un lenguaje intermedio: CIL Un empaquetado de código: Assembly El código que ejecuta el CLR se llama código gestionado (managed code)

8 Common Language Runtime Proceso del código gestionado Código Fuente Compilación En instalación o la primera vez que se llama a un método Compilador lenguaje Assembly Ejecución Compilador JIT Código Nativo Código (IL) Metadatos

9 Common Language Runtime Assemblies Cabecera PE / COFF Cabecera CLR Código y recursos nativos Datos CLR MetadatosMetadatos RecursosRecursos Código IL

10 Common Language Runtime Ejecución VBVB VCVC IL Native Code Econo-JIT Compiler Standard JIT Compiler Native Code Install time Code Gen CLR VerificaciónVerificación

11 Common Language Runtime Anatomía de un assembly Metadatos Tipos P y Q app2.exe Código IL Tipo P Assembly B Mod.netmodule Manifesto Módulo 2 M. 3 Código IL Tipo Q Metadatos Tipo R Código IL Tipo R Recurso grafico.jpg Assembly A Metadatos para Tipos X, Y y Z app1.dll Código IL Tipo X Manifesto Módulo 1 Código IL Tipo Y Código IL Tipo Z

12 Common Language Runtime Beneficios Entorno de ejecución robusto Seguridad inherente Desarrollo simplificado Fácil gestión y despliegue de aplicaciones Preserva inversión de desarrollador

13 El CLR

14 .NET Framework.NET Framework Class Library Sistema Operativo Common Language Runtime Base Class Library XML, ADO.NET, Enterprise Services ASP.NET Web Forms Web Services Mobile Web Forms (MIT) WindowsForms Common Language Specification VBC++C#J#… Visual Studio.NET

15 .NET Framework Class Library Modelo de programación unificado Windows API.NET Framework Disponibilidad de API consistente en cualquier lenguaje y modelo de programación ASP Sin estado, Código embebido en páginas HTML MFC/ATL Subclassing,Potencia,Expresividad VB Forms RAD,Composición,Delegación

16 .NET Framework Class Library System namespace System System.DataSystem.Xml System.Web Globalization Diagnostics Configuration Collections Resources Reflection Net IO Threading Text ServiceProcess Security Common OleDb SQLTypes SqlClient XPath XSLT Runtime InteropServices Remoting Serialization Serialization ConfigurationSessionState CachingSecurity Services Description Discovery Protocols UI HtmlControls WebControls System.Drawing Imaging Drawing2D Text Printing System.Windows.Forms DesignComponentModel

17 .NET Framework Class Library Beneficios Completa, Organizada, Extensible Para cualquier Arquitectura de Aplicación Acceso a Datos ADO.NETXML Lógica de Negocio Enterprise Services (COM+) Servicios Web XML.NET Remoting Presentación Windows Forms Web Forms y Mobile Web Forms

18 .NET Framework Lenguajes.NET Sistema Operativo Common Language Runtime Base Class Library XML, ADO.NET, Enterprise Services ASP.NET Web Forms Web Services Mobile Web Forms (MIT) WindowsForms Common Language Specification (CLS) VBC++C#J#… Visual Studio.NET

19 Lenguajes.NET CLS COBOL C++ C++ CLR Microsoft Managed C++ Extensions Fujitsu COBOL Extensions CLS Los lenguajes no tienen que exponer toda la funcionalidad definida por la CLR

20 .NET es neutral con respecto al lenguaje Microsoft suministra: Visual C#.NET, Visual Basic.NET, Visual C++.NET, JScript, Visual J#.NET Terceros suministran: COBOL, RPG, APL, Perl, Pascal, Smalltalk, Eiffel, Fortran, Haskell, Mercury, Oberon, Oz, Python, Scheme, Standard ML, … hasta +26 lenguajes Lenguajes.NET Múltiples lenguajes soportados

21 Lenguajes.NET Soporte multilenguaje string s = "authors"; SqlCommand cmd = new SqlCommand("select * from "+s, sqlconn); cmd.ExecuteReader(); C# Dim s as String s = "authors" Dim cmd As New SqlCommand("select * from " & s, sqlconn) cmd.ExecuteReader() VB.NET C++ String *s = S"authors"; SqlCommand cmd = new SqlCommand(String::Concat(S"select * from ", s), sqlconn); cmd.ExecuteReader();

22 Lenguajes.NET Soporte multilenguaje J# String s = "authors"; SqlCommand cmd = new SqlCommand("select * from "+s, sqlconn); cmd.ExecuteReader(); String *s = S"authors"; SqlCommand cmd = new SqlCommand(String::Concat (S"select * from ", s), sqlconn); cmd.ExecuteReader(); Perl var s = "authors" var cmd = new SqlCommand("select * from " + s, sqlconn) cmd.ExecuteReader() JScript

23 Lenguajes.NET Soporte multilenguaje ENVIRONMENT DIVISION. CONFIGURATION SECTION. REPOSITORY. CLASS SqlCommand AS "System.Data.SqlClient.SqlCommand" CLASS SqlConnection AS "System.Data.SqlClient.SqlConnection". DATA DIVISION. WORKING-STORAGE SECTION. 01 str PIC X(50). 01 cmd-string PIC X(50). 01 cmd OBJECT REFERENCE SqlCommand. 01 sqlconn OBJECT REFERENCE SqlConnection. PROCEDURE DIVISION. *> Establish the SQL connection here somewhere. MOVE "authors" TO str. STRING "select * from " DELIMITED BY SIZE, str DELIMITED BY " " INTO cmd-string. INVOKE SqlCommand "NEW" USING BY VALUE cmd-string sqlconn RETURNING cmd. INVOKE cmd "ExecuteReader". Cobol

24 Independencia de las aplicaciones del lenguaje de programación utilizado Desarrollo de aplicaciones multi-lenguaje Preserva inversión del desarrollador Facilita adopción de.NET Lenguajes.NET Beneficios

25 Multilenguaje

26 .NET Framework Estandarización CLI y C# Common Language Infrastructure, funcionalidad e interfaces del CLR y la Base Class Library Lenguaje de programación C# CLI y C# cedidos a organismos de estandarización (ECMA, ISO, IEEE)

27 .NET Compact Framework.NET Framework para dispositivos Diseñado para dispositivos inteligentes Pocket PC y Pocket PC Phone Edition (v1.1) Smart Phone Windows CE Amplia disponibilidad planeada Mismo modelo de desarrollo que.NET Framework Misma herramienta de desarrollo Visual Studio.NET

28 Visual Studio.NET Entorno de Desarrollo Integrado Sistema Operativo Common Language Runtime Base Class Library XML, ADO.NET, Enterprise Services ASP.NET Web Forms Web Services Mobile Web Forms (MIT) WindowsForms Common Language Specification VBC++C#J#… Visual Studio.NET

29 Visual Studio.NET Productividad Única herramienta de desarrollo para todo Plataforma completa para creación, pruebas e integración de Servicios Web Plataforma RAD de alta productividad Diseñadores visuales de Formularios Diseñadores visuales de Componentes Depuración extremo a extremo, a través de lenguajes Tecnología IntelliSense y Ayuda Dinámica Extensible y Abierto

30 Visual Studio.NET Para todo el ciclo de vida Modelado de Sistemas y Bases de Datos Visio for Enterprise Architects Patrones de Arquitectura Enterprise Templates, Application Building Blocks Gestión de Versiones del código Visual SourceSafe Diseño, Codificación y Depuración Visual Studio: Designers, Editors, Debugger Monitorización y Optimización Visual Studio Analyzer Pruebas Application Center Test Despliegue e Instalación Visual Studio: Setup Projects

31 Arquitectura.NET Retos del desarrollo Integración de aplicaciones Servicios Web XML Servicios Web XML Múltiples lenguajes de programación Múltiples modelos de programación Complejidad del desarrollo y despliegue Seguridad no inherente Preservar la inversión del desarrollador Elevar la productividad del desarrollador.NET Framework.NET Framework Common Language Runtime Common Language Runtime.NET Framework Class Library.NET Framework Class Library Componentes.NET assemblies Componentes.NET assemblies.NET Framework.NET Framework Lenguajes.NET Lenguajes.NET Interoperatividad COM Interoperatividad COM Visual Studio.NET Visual Studio.NET

32 Patterns & Practices Proven Based on field experience Authoritative Best advice available Accurate Technically validated and tested Actionable Provide the steps to success Relevant Address real world scenarios Proven practices for predictable results

33 Patterns & Practices Guías publicadas y próximas Reference ArchitecturesReference Building BlocksLifecycle Practices Application Architecture for.NET Microsoft Systems Architecture Enterprise Data Center Internet Data Center.NET and J2EE Interoperability WSI Base Profile and Security.NET Line of Business Application UNIX Migration … Exception Management App Block Logging App Block Configuration App Block Data Access App Block Updater App Block User Process Interface App Block Designing Data Tier Components and Passing Data Through Tiers Building Secure ASP.NET Applications Authoring ASP.NET Applications … Team Development with Visual Studio.NET & Visual SourceSafe Debugging Microsoft.NET Applications Deploying.NET Applications Operating.NET-Based Applications Operations Guides (…) Security Operations Guides (…) Backup and Restore for MSA Operations … Patterns.NET Enterprise Patterns Data Patterns Network Infrastructure Patterns …

34 UI Components UI Process Components Data Access Components Business Workflows Business Components Users Business Entities Service Agents Service Interfaces Data Sources Services Operational Management Security Communication Development Lifecycle Disponibles En desarrollo Profiling Team Dev Deployment Debugging.NET Ops Persistent Asynch Invocation Caching Service Data Aggregation & Caching Rich Client User Interface Process Web Client Configuration Data Exchange & Format End-to-end Application & Service Design Data Access DNA Interop Authentication Instrumentation Exception Mgmt Application AuthZ Secure ASP.NET Patterns & Practices Arquitectura de Aplicaciones

35 Patterns & Practices Disponibilidad Online en MSDN y TechNet: Guías escritas disponibles en: Distribuidas en CD-ROM Library en eventos

36 Arquitectura de Referencia.NET Arquitectura de Aplicación en capas lógicas Servicios Recursos Componentes de Interfaz de Usuario Componentes de Proceso de IU Procesos de Negocio Componentes de Negocio Entidades de Negocio Componentes de Acceso a Recursos Ciclo de Vida del software Administración Operativa Comunicaciones Agentes Servicios Interfaces Servicios Agentes Servicios Interfaces Servicios Seguridad Arquitectura Orientada A Servicios Arquitectura Tradicional 3 capas lógicas CAPA DE PRESENTACIÓN CAPA DE NEGOCIO CAPA DE DATOS

37 Arquitectura de Aplicación.NET Capas en aplicaciones y servicios 1. Comunicación débilmente acoplada 2. Aplicaciones/Servicios con arquitectura en capas 3. Algunos servicios pueden no tener IU 4. Cada servicio gestiona sus propios datos Orders Credit Authorization Courier

38 Arquitectura de Referencia.NET Capa de Datos Servicios Fuentes de Datos (Recursos) Capa de Datos Capa de Presentación Capa de Negocio Componentes de Acceso a Datos (Recursos) Ciclo de Vida del software Administración Operativa Comunicaciones Seguridad Usuarios

39 Capa de Datos XML Funcionalidad tradicional Acceso en memoria: DOM niveles 1 y 2 Acceso secuencial: XmlReader Búsquedas: XPath, con posibilidad de compilación Definición y validación de esquemas XSD Transformaciones XSLT Funcionalidad en.NET: Serialización XML Controlable con atributos XmlSerializer: Instancias de objetos XML XSD.EXE: Clases XSD

40 XML Serialización XML XSDXSDXMLXML C#, VB, JS XSD.EXE XSD.EXE Validator XmlSerializer

41 Serialización XML

42 Capa de Datos ADO.NET Independiente de la fuente de datos IDbConnection Conexión a cualquier base de datos con proveedores Generales:.NET OLE DB y.NET ODBC Específicos:.NET SQL Client,.NET Oracle Client Modelo conectado de acceso a datos IDbCommand: sentencias SQL (parametrizables con IDbParameter), procedimientos almacenados IDbDataReader: para recuperar resultados

43 Acceso conectado con ADO.NET

44 Capa de Datos ADO.NET (II) Modelo Desconectado de acceso a datos Dataset Modelo de datos en memoria Desconectado de la base de datos Mantiene memoria de los cambios Es serializable en XML DataAdapter Rellenan un Dataset desde la fuente de datos Concilian los cambios de un Dataset hacia la fuente de datos

45 Capa de Datos ADO.NET: Modelo desconectado Capa de negocios Capa de datos Capa de presentación Web forms Negocio a Negocio Dataset Dataset Internet intranet DataAdapter DataAdapter Xml Aplicación.Exe IE Dataset Windows forms

46 Acceso desconectado con ADO.NET

47 Arquitectura de Referencia.NET Capa de Negocio Servicios Capa de Datos Capa de Presentación Capa de Negocio Procesos de Negocio Componentes de Negocio Entidades de Negocio Ciclo de Vida del software Administración Operativa Comunicaciones Agentes Servicios Interfaces Servicios Agentes Servicios Interfaces Servicios Seguridad Recursos Usuarios

48 Capa de Negocio Consumidores de componentes de Negocio Capa de Presentación Interfaz de Servicios Componente de Negocio Componentes de Acceso a Datos Componente de Negocio Proceso de Negocio Llamadas desde otros Agentes de Servicios Llamadas a otros Servicios Datos Llamadas a otros Servicios Agentes de Servicios

49 Capa de Negocio Integrando servicios en un flujo de proceso Interfaz de Servicio Capa de Presentación Agente de Servicio Componentes de Acceso a Datos Agente de Servicio Interfaz de Servicio Componentes de Negocio Proceso de Negocio Servicios

50 Esquemas Acuerdos Lenguaje de programacion Modelo de objetos Servidor de aplicaciones Base de datos Sistema operativo Base de datos Sistema operativo Lenguaje de programacion Modelo de objetos Servidor de aplicaciones Aplicación A Aplicación B Ejemplo de una solucion fuertemente acoplada Arquitectura Orientada a Servicio (SOA) Capa de Negocio Servicios Web: reduciendo dependencias

51 SOAP Los consumidores de Servicios Web pueden enviar y recibir mensajes XML Los consumidores de Servicios Web pueden enviar y recibir mensajes XML WSDL Web Services Description Language Los Servicios Web se definen en términos de formatos y ordenación de mensajes Los Servicios Web se definen en términos de formatos y ordenación de mensajes Construido empleando protocolos abiertos de Internet Construido empleando protocolos abiertos de Internet XML & HTTP Componente de aplicación programable, accesible a través de protocolos estándar de Internet Protocolos Internet Abiertos Internet Abiertos Servicio Web UDDI Universal Description, Discovery, and Integration Suministra un Directorio de Servicios en La Red Suministra un Directorio de Servicios en La Red Capa de Negocio ASP.NET Web Services

52 Capa de Negocio ASP.NET Web Services (II) Servicios publicados Registro UDDI Aplicación Cliente Descubrimiento mediante UDDI Servicio 1 tModel Servicio Web Invocación / Acceso mediante SOAP Transporte mediante HTTP / SMTP / … Mensaje SOAP Publicación mediante UDDI Descripción mediante WSDL XML Schema WSDL

53 Capa de Negocio ASP.NET Web Services (III) Datos Esquemas Servicios Invocaciones Framework Objetos Clases Métodos Llamadas Web XML XSD WSDL SOAP Conceptos de Aplicación.NET Framework facilita Un mapeo bi-direccional

54 Capa de Negocio ASP.NET Web Services (IV) Sencillo modelo de programación Aplicación Web especial (.asmx), sin interfaz de usuario En el servidor: ASP.NET permite exponer clases.NET como servicios web Atributos [WebService], [WebMethod] Traduce peticiones SOAP Genera automáticamente WSDL y páginas de prueba En el cliente:.NET genera un proxy para comunicar con el servidor Integrado con Visual Studio La serialización XML hace el resto

55 Web Services

56 Capa de Negocio.NET Remoting Acceso remoto a objetos 3 modelos de acceso remoto: Objetos activados por el cliente (similar a DCOM) Objetos activados por el servidor Single-CallSingleton Hospedaje de objetos de acceso remoto: ASP.NET Aplicación dedicada.EXE

57 Capa de Negocio Enterprise Services y System.Messaging Enterprise Services Modelo de programación simplificado para el uso de servicios COM+ Servicios empresariales: Transacciones Interoperabilidad XA Seguridad basada en roles Pooling de objetos Componentes encolados …System.Messaging Modelo de programación para el uso de colas MSMQ

58 Arquitectura de Referencia.NET Capa de Presentación Capa de Datos Capa de Presentación Componentes de Interfaz de Usuario Componentes de Proceso de Interfaz de Usuario Capa de Negocio Ciclo de Vida del software Administración Operativa Comunicaciones Seguridad Servicios Recursos Usuarios

59 Capa de Presentación ASP.NET Web Forms: modelo de código Modelo de programación similar a WinForms RAD Visual: Formularios, Controles servidor, Eventos El código está detrás Separación entre lógica y presentación Form1.asp códigocódigo Form1.aspx código Form1.vb ASP ASP.NET

60 Capa de Presentación ASP.NET: modelo de ejecución FicheroASPXóASMXPetición MotorASP.NET Parsing Clase de página generada Respuesta Petición Instanciar RespuestaClase Code- behind Clase compilada Compilar Generar

61 Capa de Presentación ASP.NET: Sesión y Caché Sesión Soporta granjas de servidores No requiere obligatoriamente cookies Mejor tolerancia a fallos (más opciones para guardar estado): Servicio Windows en otro equipo (alta disponibilidad) SQL Server (alta disponibilidad + tolerancia a fallos) Caché a nivel de página Caché fragmentado Modos cliente y servidor Dependencias de caché (tiempo, fichero, consulta SQL) Cache API

62 ASP.NET Web Forms

63 Capa de Presentación Windows Forms Combinación de productividad formularios VB con potencia MFC C++ Herencia visual de controles y formularios Soporte gráfico mejorado GDI+ Fácil enlazado de datos con ADO.NET Fácil consumo de Servicios Web XML Controles Windows hospedados en IE Impresión de formularios, ayuda, …

64 Windows Forms ¿Otra? pero si ya los hemos visto … (pesao!)

65 Cliente Rico Cliente Ligero Cliente Inteligente Experiencia rica de usuario Productividad desarrollo Infierno de las DLLs Instalación costosa Mínima/nula instalación Respuesta rápida Dependencia de la red Facilidad de despliegue Experiencia pobre de usuario Versionado y mantenimiento Dificultad de despliegue Complejidad de desarrollo Capa de Presentación Cliente Rico o Cliente Ligero: Smart Client

66 Opción 1: File Copy (XCOPY, FTP) Instalación sin ejecutar nada en el cliente Opción 2: paquetes Windows ® Installer Incluyendo o no.NET Framework Redistributable Ejecutar Setup en el cliente o desplegar con Systems Management Server o IntelliMirror ® Opción 3: Despliegue sin tocar desde Internet Explorer (No-Touch Deployment) Descarga de Controles Windows en páginas Web Descarga de Aplicaciones Windows de Intranet El código se mantiene y se versiona en un único punto: el servidor de Intranet Cliente Rico o Cliente Ligero Despliegue de aplicaciones

67 Sin instalación ni desinstalación Aplicaciones.NET son ligeras Hello World = ~3.5 Kb No se instala nada en la carpeta System No se escribe en el Windows Registry Requerimientos del cliente Windows 98/Windows NT ® 4.0 o superior Internet Explorer 5.5 o superior.NET Framework Redistributable (~20 MB) Cliente Rico o Cliente Ligero Despliegue sin tocar (No-Touch Deployment)

68 Web Server Assembly Cache HTTP Client Windows App Form1 Form2 Cliente Rico o Cliente Ligero Despliegue de aplicaciones Windows

69 Web Server Assembly Cache HTTPChart.htmlChartEngine.DLL Customizer.DLL Client HTTP Internet Explorer 5.5 Charting.DLL Cliente Rico o Cliente Ligero Despliegue de controles Windows

70 Windows Forms Smart Client y el despliegue sin tocar

71 Escenarios de Aplicaciones Móviles Visión general Experiencia Web móvil Ejemplo: titulares de noticias Muchos tipos de dispositivos Entrada de datos muy limitada Uso breve e intermintente Dispositivo Inteligente Ejemplo: trabajo de campo Funcionalidad online y offline Integración de dispositivos Interfaz de usuario enriquecida Todo el potencial del PC Ejemplo: gestión de conocimiento Pantalla a tamaño completo Aplicaciones compatibles PC Anotación y edición enriquecidas Servicios Web XML

72 Aplicaciones multi-dispositivo difícil: Diferentes dimensiones Diferentes dimensiones Diferentes características Diferentes características Diferentes estándares Web Diferentes estándares Web Código Local Página Web Móvil Sistema Operativo del Dispositivo Navegador Web del Dispositivo Poca reutilización Diferentes plataformas Diferentes plataformas Diferentes APIs Diferentes APIs Diferentes lenguajes Diferentes lenguajes Escenarios de aplicaciones móviles Retos tradicionales

73 Operativa off-line Ejecución Local Datos Locales IU enriquecido Multimedia IU elaborado Integración con elementos dispositivo Lectores tarjetas Lectores código barras Receptores GPS Telefonía / mensajería Presentación adaptable Soporte dinámico de múltiples navegadores de dispositivos Soporte navegador en dispositivos bajo coste Código base único Mantenimiento simplificado Extensión natural de las apl. Web existentes Ejecución en servidor Sin instalación en cliente Sin ejecución en cliente Ventajas de apl. Web móvil Ventajas de apl. cliente inteligente Escenarios de aplicaciones móviles Ventajas arquitectónicas

74 Código Local Página Web Móvil Sistema Operativo del Dispositivo Navegador Web del Dispositivo Controles Web Móviles ASP.NET.NET Compact Framework Extensiones para Dispositivos Inteligentes Escenarios de aplicaciones móviles Desarrollo Microsoft para dispositivos

75 Capa de Presentación Desarrollo para dispositivos Desarrollo del lado del cliente Windows Forms de.NET Compact Framework Desarrollo del lado del servidor ASP.NET Mobile Web Forms Soporte multi-cliente automático WML, HTML 3.2, cHTML, XHTML, XML

76 Desarrollo para dispositivos ASP.NET Mobile Web Forms Windows Forms de.NET Compact Framework

77 Arquitectura de Referencia.NET Arquitectura de Aplicación en capas lógicas Servicios Recursos Componentes de Interfaz de Usuario Componentes de Proceso de IU Procesos de Negocio Componentes de Negocio Entidades de Negocio Componentes de Acceso a Recursos Ciclo de Vida del software Administración Operativa Comunicaciones Agentes Servicios Interfaces Servicios Agentes Servicios Interfaces Servicios Seguridad Arquitectura Orientada A Servicios

78 Arquitectura de Referencia.NET Entornos de Despliegue Físico Infrastructure VLAN Data & Management VLAN DMZ VPN

79 Entornos de Despliegue Físico Tecnologías de Clustering Microsoft Network Load Balancing (NLB) Balancea tráfico TCP/IP entre múltiples servidores Hasta 32 nodos Proporciona alta disponibilidad y escalabilidad Microsoft Cluster Service (MSCS) Tolerancia a fallos (failover) 2 ó 4 nodos Proporciona alta disponibilidad

80 Interoperabilidad o Migración Interoperabilidad con COM y código nativo COM Interop bidireccional Utilizar componentes COM desde.NET TlbImp.exe : genera un proxy.NET de un componente COM (early binding) AxImp.exe : genera proxy.NET de un control ActiveX System.Reflection (late binding) Utilizar componentes.NET desde COM TlbExp.exe : genera una librería de tipos de un componente.NET (early binding) RegAsm.exe : registra un componente.NET en el registro del sistema (late binding) Platform Invoke (P/Invoke) Llamadas a puntos de entrada estáticas en DLLs de código nativo desde código gestionado Class EjemploPInvoke { // Declarar la función externa no gestionada [sysimport(dll=user32.dll)] public static extern int MessageBoxA (int modal, string mensaje, string titulo, int opciones); public static void Main (string[] args) { // Invocar a la función externa no gestionada MessageA(0, P/Invoke funciona!, Ejemplo P/Invoke, 0); }

81 Interoperabilidad o Migración Actualizar de DNA a.NET Visual C++ Visual C++.NET: MFC, ATL y extensiones manejadas.NET Visual Basic Visual Basic.NET: asistente de migración automática en VS.NET ASP ASP.NET: Compatible casi al 100% con ASP JScript no sufre cambios, VBScript se reemplaza por Visual Basic.NET Se soporta Late Binding con COM (Server.CreateObject / CreateObject) Posibilidad de ejecución ASP y ASP.NET en la misma máquina Guía de migración con recomendaciones y mejores prácticas Asistente de migración automática (versión beta) en ADO ADO.NET es la tecnología de acceso a datos en.NET ADO está soportado vía COM Interop RDO y DAO también están soportados vía COM Interop Data Binding a controles sólo soportado en ADO (no RDO ni DAO)

82 Migración de ASP a ASP.NET Estrategia de Migración Coexistencia de DNA y.NET Componentes COM y Componentes.NET Interoperabilidad bidireccional COM.NET vía COM Interop ASP y ASP.NET en el mismo IIS Permite desarrollar nuevas páginas y aplicaciones Web ASP.NET No comparten Session ni Application… pero ¿pueden? ¿Cómo migro de DNA a.NET? una estrategia: 1º migración de código: herramientas automáticas de migración sintáctica que hace gran parte del trabajo 2º migración de componentes: manualmente, usar componentes.NET en lugar de componentes COM 3º migración de conceptos: refactorización, arquitectura

83 Recursos Guías de Arquitectura Patterns & Practices Desarrollo Web Server Side Desarrollo Windows Smart Client Servicios Web de Microsoft MSDN Online, El Recurso del desarrollador Comunidad de GotDotNet

84 Crea tu web... ¡y al cine! Concurso de programación web con ASP.NET ¿Te gusta la programación? ¿Te gusta el cine? ¿Lo tuyo es crear sitios web? Pues esta es tu oportunidad de hacerlo y llevarte premios ¡de película! Empresas de alojamiento web patrocinadoras: Patrocinan: Del 1 de abril al 15 de junio de 2004 participa en el concurso de programación web con ASP.NET (el alojamiento de los sitios web participantes es gratuito durante el concurso), y solo por hacerlo ya tienes dos entradas para ir al cine cuando quieras en más de salas en toda España. Y si tu web es una de las ganadoras en alguna de las seis categorías contempladas, te esperan fantásticos premios: consolas y juegos Xbox, mandos para ver DVDs en la consola, películas en DVD, cajas de Visual Studio.NET, alojamiento gratuito ASP.NET durante un año y suscripciones a revistas patrocinadoras durante un año. Un concurso Más información en

85 ¡Adéntrate! Amsterdam, Holanda 29 junio – 2 julio El evento definitivo de Microsoft en Europa sobre creación, implantación, protección y gestión de soluciones conectadas

86 © 2004 Microsoft Corporation. Todos los derechos reservados. Esta presentación tiene propósitos informativos únicamente. Microsoft no ofrece garantías, implícitas o explícitas, de este contenido.


Descargar ppt "La plataforma.NET Aurelio Porras División de Desarrolladores y Plataforma Microsoft Ibérica."

Presentaciones similares


Anuncios Google