<Nombre> < > <Empresa>

Slides:



Advertisements
Presentaciones similares
SERVICIOS WEB EN.NET INTEGRANTES: ADRIANA BLANCO PEÑA MIRIAM SORIANO HERNANDEZ ALVARO PETROVICH CID CONTRERAS LUIS RAMIREZ PALESTINO.
Advertisements

Framework de.Net Infraestructura sobre la que se reúne todo un conjunto de lenguajes y servicios que simplifican el desarrollo de aplicaciones Entorno.
Conceptos básicos para el Desarrollo sobre Dispositivos Móviles.
.NET y Servicios Web David Carmona Development Advisor
Desarrollo de aplicaciones 100%.NET Octavio Hernández DANYSOFT Internacional Delphi 8 para Microsoft.NET Framework.
La plataforma .NET Aurelio Porras
Programación para Office 2003 con Visual Studio Tools for Office System Octavio Hernández Servicios Profesionales Danysoft.
La plataforma .NET David Carmona
Microsoft SQL Server 2005 Integration Services
Introducción a la plataforma .NET.
Introducción a Microsoft .NET
Rossy Garita Componentes fundamentales de CLR y
ASP.NET Daniel A. Seara Director Regional MSDN Buenos Aires – ARGENTINA NDSoft.
Introducción a Microsoft .NET
Introducción a ASP.NET.
Agregar código a un formulario Web Form con Microsoft ASP.NET
TEMA 3 Parte A Lenguajes de programación. Criterios de clasificación según su nivel de abstracción según la forma de ejecución según el paradigma de programación.
Desarrollo de una Aplicación Web sobre tecnología Microsoft .NET
Dr. Diego Lz. de Ipiña Gz. de Artaza
Agenda Conceptos Claves.
Iniciativa Microsoft Multiplataforma
Common Language Runtime
Herramientas de Desarrollo Dr. Diego Lz. De Ipiña Gz. De Artaza
Programación Visual de Sistemas
Introducción a Microsoft .NET
Introducción a la plataforma .NET.
Acceso a datos y paso de datos entre capas
Estrella 1 Introducción a Microsoft .NET
César de la Torre – Programas Técnicos para Partners División de Desarrollo y Plataforma – Microsoft Spain.
.NET para Programadores Java
Carlos Walzer Vemn Sistemas Como crear un sitio con ASP.NET.
Módulo 1: Primeros Pasos
Características Técnicas
Introducción ADO .Net.
Introducción ASP .NET.
La plataforma .NET David Carmona
Plataforma Microsoft.NET
Clase VI Delio Alanis. Agenda Base Class Library Base Class Library  Introducción  Aplicaciones tipo Consola  Manejo de Strings  XML  Entrada y Salida.
Sistema La Plata Módulo I INTRODUCCION A APLICACIONES WEB.
Interacción Persona Ordenador
Módulo 14 Programación para DBA. TEMARIO Programación y DBAProgramación y DBA.NET Framework.NET Framework Arquitectura ADO.NETArquitectura ADO.NET.NET.
TALLER DE PROGRAMACIÓN III
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors (Seminaris de CASO) Autors Microsoft.Net Toni Rivas Castaño Xavier Romero.
Programación e Ingeniería de Software III Informática UNIVERSIDAD AUTÓNOMA DE SINALOA Material Proporcionado por: MC. Gerardo Gálvez Gámez.
TALLER DE PROGRAMACIÓN III
F RAMEWORKS DE DESARROLLO JAVA,.NET Deisy Pérez Sánchez.
Programación e Ingeniería de Software III
ASP.NET es una nueva y potente tecnología para escribir páginas web dinámica. Es una importante evolución respecto a las antiguas páginas ASP de Microsoft.
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
Introducción .NET Framework
Acercamiento al Proyecto Mono Cristhián Gómez
REMOTING by Juan Martínez Gil.
Introducción a la plataforma Microsoft.NET. Descripción ¿Qué es la plataforma Microsoft.NET? ¿Qué es el.NET Framework? ¿Cuáles son los componentes del.NET.
Arquitectura del Common Language Runtime Daniel A. Seara Director Regional MSDN Buenos Aires – ARGENTINA NDSoft.
J2EE vs.Net. Integración de sistemas Integrar = Asimilar y agregar rápidamente gran cantidad de información de sistemas distintos Aspecto crítico No se.
Los ensamblados y el código IL Contenido Módulo ¿Qué es un Ensamblado? El código MSIL.
CAPACITACIÓN VISUAL STUDIO.NET(FILE) JOHNNY IV YOUNG OSPINO Analista Desarrollador
Introducción a la plataforma .NET Erich Bühler
Teaching Microsoft ®.NET An Overview Event programming using Visual C#.NET Ana C. Gonzalez Departamento de Matematicas M-305 This presentation is based.
Facilitador: Christian Alexander Martinez
Clase I Curso Microsoft .NET I.S.F.T. N° 182.
Introducción a .NET Nombre : Ethel García-Simón Matachana
.NET Multiplataforma (Windows, Linux, OS X)
 Palabra inglesa que define un conjunto de conceptos, prácticas y criterios.  En el desarrollo de Sw es una estructura conceptual y tecnológica que proporciona.
VISUAL STUDIO. Paradigmas de Programación Funcionalidad Win16 Win32 COM MFC Componentes Servicios APIs Windows 3.0.
Estrella 1 Introducción a Microsoft.NET Programa Microsoft Desarrollador Cinco Estrellas.
Servicios Web-SOA Aula: Fomento 05/06/2006 a 08/05/2006.
Introducción a la plataforma Microsoft .NET
Tema 1 El entorno de desarrollo de C#
Tema 1 El entorno de desarrollo de C#
Transcripción de la presentación:

<Nombre> <e-mail> <Empresa> La plataforma .NET <Nombre> <e-mail> <Empresa>

Agenda .NET Framework y 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 Recursos

Microsoft .NET Yukon

Arquitectura .NET Primera generación de aplicaciones Lógica Cliente Lógica aplicación Servicios SO

Arquitectura .NET Segunda generación de aplicaciones Formularios web Browsers Lógica aplicación Cliente rico Servicios SO

Arquitectura .NET Generación de aplicaciones .NET Otros servicios Otros servicios OS Services Biz Tier Logic XML Servicios Web Formularios Web XML Browsers estándar HTML XML Lógica aplicación XML Clientes inteligentes Servicios SO Servicios building blocks XML Dispositivos móviles

Arquitectura .NET Generación de aplicaciones .NET Otros servicios Otros servicios OS Services Biz Tier Logic XML Servicios Web Formularios Web XML Yukon Browsers estándar HTML XML Lógica aplicación XML Clientes inteligentes Servicios SO Servicios building blocks XML Dispositivos móviles

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

Arquitectura .NET .NET Framework y Visual Studio .NET Common Language Specification VB C++ C# J# … Visual Studio .NET Base Class Library XML, ADO .NET, Enterprise Services ASP .NET Web Forms Web Services Windows Forms Common Language Runtime Sistema Operativo

.NET Framework Common Language Runtime Common Language Specification VB C++ C# J# … Visual Studio .NET Base Class Library XML, ADO .NET, Enterprise Services ASP .NET Web Forms Web Services Windows Forms Common Language Runtime Sistema Operativo

.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 (MSIL) Un empaquetado de código: Assembly El código que ejecuta el CLR se llama código gestionado (managed code)

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

Common Language Runtime Compilación Assembly Código fuente Compilación C++, C#, VB o cualquier otro lenguaje .NET DLL o EXE

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 Anatomía de un assembly 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 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

Common Language Runtime Assemblies Cabecera PE / COFF Cabecera CLR Datos CLR Metadatos Código IL Recursos Código y recursos nativos

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

El CLR

.NET Framework .NET Framework Class Library Common Language Specification VB C++ C# J# … Visual Studio .NET Base Class Library XML, ADO .NET, Enterprise Services ASP .NET Web Forms Web Services Windows Forms Common Language Runtime Sistema Operativo

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

.NET Framework Class Library System namespace System.Data System.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 SessionState Caching Services Description Discovery Protocols UI HtmlControls WebControls System.Drawing Imaging Drawing2D Printing System.Windows.Forms Design ComponentModel

.NET Framework Class Library Base Class Library Implementadas en el propio CLR Hilos, sincronización Application Domains … Implementadas en código manejado Ficheros Red Criptografía

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

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

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 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 el CLR

Lenguajes .NET Múltiples lenguajes soportados .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 Comparativa Código gestionado Código type-safe Llamadas a código no gestionado Código no gestionado 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

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

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

Lenguajes .NET Soporte multilenguaje Cobol 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".

Lenguajes .NET Soporte multilenguaje RPG   DclFld MyInstObj Type( System.Data.SqlClient.SqlCommand )  DclFld s Type( *string )  s = "authors"  MyInstObj = New System.Data.SqlClient.SqlCommand("select * from "+s, sqlconn)  MyInstObj.ExecuteReader() Fortran assembly_external(name="System.Data.SqlClient.SqlCommand") sqlcmdcharacter*10 xsqlcmd Cmd x='authors' cmd = sqlcmd("select * from "//x, sqlconn)           call cmd.ExecuteReader() end 

Lenguajes .NET Soporte multilenguaje APL s←String.New ‘authors’ cmd←SqlCommand.New (‘select * from ‘,s.ToString σ) sqlconn cmd.ExecuteReader |s| := 'authors'. |cmd| := SqlCommand('select * from '+s, sqlconn). cmd.ExecuteReader(). Smalltalk s = "authors" cmd =SqlCommand("select * from " + s, sqlconn) cmd.ExecuteReader() Python

Lenguajes .NET Soporte multilenguaje (let* ( (s "authors")   (cmd (new-SqlCommand (string-append "select * from " s) sqlconn))) (execute-command cmd)) Scheme local       s: STRING       cmd: SQLCOMMAND do      s := "authors"       create cmd("select * from " + s, sqlconn)       cmd.ExecuteReader() end Eiffel ExecuteReader = invoke System.Data.SqlClient.ExecuteReader(); SqlCommand = create System.Data.SqlClient.SqlCommand(String,\ System.Data.SqlClient.SqlConnection); query = sqlconn -> let{ s = "authors"; } in {    cmd <- SqlCommand ("select * from "+s, sqlconn);   cmd # ExecuteReader();    };  Mondrian

Lenguajes .NET Beneficios 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

Multilenguaje

.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)

.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 Fw. Mismo modelo de ejecución que .NET Fw. Misma herramienta de desarrollo VS .NET

Visual Studio .NET Entorno de Desarrollo Integrado Common Language Specification VB C++ C# J# … Visual Studio .NET Base Class Library XML, ADO .NET, Enterprise Services ASP .NET Web Forms Web Services Windows Forms Common Language Runtime Sistema Operativo

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

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

Visual Studio .NET Versiones 2003 Visual Studio 2003 Professional .NET Framework 1.1 .NET Compact Framework 1.1 para Pocket PC y Windows CE Web Services Enhancements 1.0 Lenguajes de programación: Visual Basic .NET, Visual C++ .NET, Visual C# .NET y Visual J# .NET Diseñadores XML y XSD SQL Server Desktop Engine 2000 (MSDE) y Visual Database Tools (limitadas MSDE) Visual Studio 2003 Enterprise Developer Windows Server 2003 Enterprise Edition, SQL Server 2000 Developer, Exchange Server 2000, Commerce Server 2002, Host Integration Server 2000, Windows 2000 Advanced Server (licencias para desarrollo y pruebas) Visual Database Tools (SQL Server y Oracle) Visual SourceSafe 6.0d Application Center Test Visual Studio Analyzer Uso de Enterprise Templates Visual Studio 2003 Enterprise Architect Visio (modelado de base de datos y modelado UML de software) Creación y Uso de Enterprise Templates BizTalk Server (licencias para desarrollo y pruebas)

Arquitectura .NET Retos del desarrollo Integración de aplicaciones Servicios Web Múltiples lenguajes de programación Múltiples modelos de programación .NET Framework Common Language Runtime .NET Framework Class Library Lenguajes .NET Complejidad del desarrollo y despliegue .NET Framework CLR: Assembly (componentes .NET) Seguridad no inherente .NET Framework CLR: Seguridad Acceso Código (CAS) Preservar la inversión del desarrollador .NET Framework Lenguajes .NET CLR: COM-Interop y P/Invoke Elevar la productividad del desarrollador Visual Studio .NET

“Proven practices for predictable results” 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”

Patterns & Practices Guías publicadas Arquitecturas de Referencia Reference Architectures) Componentes de Aplicación (Application Blocks) Prácticas de Ciclo de Vida (Lifecycle 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 Patrones (Patterns) Enterprise Solution Patterns using Microsoft .NET Data Patterns Integration Patterns …

Patterns & Practices Cobertura de las guías de desarrollo Servicios Recursos Componentes de Interfaz de Usuario Componentes de Proceso de IU Procesos de Negocio Componentes Entidades Componentes de Acceso a Recursos Administración Operativa Comunicaciones Agentes Servicios Interfaces Servicios Seguridad Arquitectura de Referencia en .NET Diseño de aplicaciones y servicios Interop. DNA Cliente Web Cliente Windows Smart Client Caché Datos Invocación Asincrónica de Servicios Fachadas de Servicios para aplicaciones heredadas Ciclo de Vida del software Excepciones Proceso de Interfaz de Usuario (UIP) Trazas (logs) Agregación y Formato de Datos Paso de Datos entre Capas Configuración Autenticación Acceso a Datos Autorización Monitorización Com. Seguras Auto-actualización Desarrollo en equipo Despliegue Depuración en producción Optimización Operaciones

Patterns & Practices Disponibilidad Online en MSDN y TechNet: http://www.microsoft.com/resources/practices Guías escritas disponibles en: http://shop.microsoft.com/practices

Mejores prácticas en el ciclo de vida Desarrollo en Equipo Desarrollo en equipo con Visual Studio .NET y Visual SourceSafe Estructurando Soluciones y Proyectos Modelos de desarrollo de aplicaciones Web Gestionando las dependencias El proceso de build Trabajando con Visual SourceSafe Configurando y manteniendo el entorno de trabajo en equipo

Procesos del Desarrollo en Equipo VSS Server Development Team Workstation Workstation Development Process Get Latest Check In / Out / Get Latest IT Resource Source Control Admin Build Manager Database Server Build Process Admin Team Reference Reference Web Services Server Build Output Automated Product Builds Test Process Test Team Reference Build Server Release Process MSI Package Issue Tracking MSI Package Test Results Deployment Process

Mejores prácticas en el ciclo de vida Despliegue de Aplicaciones Despliegue de aplicaciones .NET El proceso de despliegue en diferentes entornos Desplegando .NET Framework con las aplicaciones Cómo utilizar los proyectos de despliegue de Visual Studio .NET Consideraciones de despliegue de aplicaciones .NET Cómo empaquetar la solución y cómo distribuirla Actualizando las aplicaciones .NET

Procesos del Despliegue de Aplicaciones VSS Server Development Team Workstation Workstation Development Process Get Latest Check In / Out / Get Latest IT Resource Source Control Admin Build Manager Database Server Build Process Admin Team Reference Reference Web Services Server Build Output Automated Product Builds Test Process Test Team Reference Build Server Release Process MSI Package Issue Tracking MSI Package Test Results Deployment Process

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

Arquitectura de Aplicación .NET Capas en aplicaciones y servicios 2 4 1 Transporte 3 Pedidos Autorización Crédito Cada servicio gestiona sus propios datos Comunicación débilmente acoplada Cada servicio tiene su arquitectura en capas Las aplicaciones son servicios con IU

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

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

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

Serialización XML

Capa de Datos ADO.NET (I) Soporte de cualquier fuente de datos a través de diferentes proveedores de acceso a datos: Generales: .NET OLE DB y .NET ODBC Específicos: .NET SQL Client, .NET Oracle Client Modelo conectado de acceso a datos IDbConnection IDbCommand: sentencias SQL (parametrizables con IDbParameter), procedimientos almacenados IDataReader: para recuperar resultados

Acceso conectado con ADO.NET

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 IDataAdapter Rellenan un Dataset desde la fuente de datos Concilian los cambios de un Dataset hacia la fuente de datos

Capa de Datos ADO.NET: Modelo desconectado Capa Presentación Windows forms Aplicación.Exe DataSet Internet Intranet Capa Negocio Web forms IE DataSet DataAdapter DataSet Xml DataAdapter Capa Datos Negocio a Negocio

Acceso desconectado con ADO.NET

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

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

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

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

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

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

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

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

Servicio Web con ASP.NET Web Services

Capa de Negocio ASP.NET Web Services ASP.NET Web Services de .NET Fx 1.0/1.1 Servicios Web Básicos basado en estándares abiertos Mensajería SOAP Transporte HTTP Hospedados en ASP.NET / IIS Soporte de servicios Web “interoperables” WS-I Basic Profile 1.0

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-Call Singleton Hospedaje de objetos de acceso remoto: ASP.NET Aplicación dedicada .EXE

Capa de Negocio Enterprise Services y System.Messaging Modelo de programación simplificado para el uso de servicios COM+ Transacciones heterogéneas Otros servicios empresariales: Interoperabilidad XA Seguridad basada en roles Pooling de objetos Componentes encolados … System.Messaging Modelo de programación para el uso de colas MSMQ Mensajería fiable

Capa de Negocio Tecnologías distribuidas en .NET ASP.NET Web Services (ASMX) Orientación a mensajes, SOA, interoperabilidad .NET Remoting Orientado a objetos, amplia visión, extensible Enterprise Services Orientado a objetos, componentes, transacciones System.Messaging Orientación a mensajes, fiable, colas ¿Cual usar?

Capa de Negocio Arquitectura de Servicios Web: evolución Evolve and Extend Secure, Reliable, Transacted Fundamentals WS-I formed WS-I BP 1.0 As of Feb/2004 Interoperability Security Roadmap SRT Web Services Whitepaper Reliable Messaging Roadmap Whitepapers WS-Coordination WS-Transaction WS-AtomicTransaction WS-BusinessActivity Transactions WS-ReliableMessaging Reliability WS-Security WS-Federation WS-Federation Active Requestor Profile WS-Trust Security WS-Security Addendum WS-Security Profile for Tokens WS-Security SOAP Message Security WS-Security Username Token Profile WS-Security X.509 Certificate Token Profile WS-Security Kerberos Binding UDDI 1.0 UDDI 2.0 UDDI 3.0 WS-Policy 1.1 WS-PolicyAttachments 1.1 WS-PolicyAssertions 1.1 WSDL WS-Inspection Metadata WS-Policy WS-PolicyAttachments WS-PolicyAssertions WS-SecurityPolicy WS-Discovery WS-MetadataExchange SOAP 1.1 SOAP 1.2 WS-Referral WS-Routing WS-Addressing Messaging WS-Eventing SOAP Messages with Attachments DIME WS-Attachments MTOM 2003 2000 2001 2002 2004 2005

Capa de Negocio Arquitectura de Servicios Web y Microsoft Aplicaciones “Indigo” (con “Longhorn”) Seguridad Fiabilidad Transaccional WS-Discovery WS-MetadataExchange WS-Federation WS-BusinessActivity WS-AtomicTransaction Metadatos WS-Trust WS-SecureConversation WS-Policy WS-ReliableMessaging WS-Coordination WS-Transaction WS-Security WS-Inspection UDDI WSDL Mensajería SOAP XSD WS-Routing WS-Referral DIME WS-Addressing WS-Attachments MTOM WS-Eventing ASP.NET Web Services .NET FX 1.0 / 1.1 XML WSE 1.0 WSE 2.0 Transportes HTTP TCP in-process

Capa de Negocio “Indigo” y la unificación ASMX + WSE .NET Remoting Enterprise Services System.Messaging Simple Config Interoperable Service-Oriented Broad Vision Extensibility Object-Oriented Attributes Transactions Components Queuing Reliable Msg Durable Msg Indigo Indigo será el superconjunto de las capacidades de las tecnologías de comunicaciones actuales

Capa de Negocio Tecnologías distribuidas en .NET ¿Cuál usar? Guía Prescriptiva (1) Construir servicios con ASMX WSE si es necesario (ej. seguridad) Usar objetos remotos dentro de servicios Enterprise Services si es necesario (ej. transacciones) .NET Remoting si no es necesario servicios empresariales Usar System.Messaging si es necesaria fiabilidad

Capa de Negocio Tecnologías distribuidas en .NET ¿Cómo usar? Guía Prescriptiva (2) – Migración a Indigo El código existente funcionará sin cambios, por interoperabilidad con tecnologías anteriores Si se quiere migrar el código: Evitar o abstraer el uso de la extensibilidad de bajo nivel de ASMX (ej. HTTP Context) Evitar o abstraer el uso de la extensibilidad de bajo nivel de .NET Remoting (ej. Sinks y Channels) Evitar el paso de referencias de objetos dentro Enterprise Services No usar APIs de COM+ – usar Enterprise Services No usar APIs de MSMQ – usar System.Messaging

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

Capa de Presentación ASP.NET Web Forms: modelo de desarrollo 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 ASP ASP .NET <tags> <tags> código código Form1.asp Form1.aspx Form1.aspx.vb

Capa de Presentación ASP.NET: modelo de ejecución Clase Code- behind Motor ASP.NET Generar Parsing Fichero ASPX ó ASMX Clase de página generada Petición Instanciar Petición Compilar Respuesta Clase compilada Respuesta

Capa de Presentación ASP.NET: Sesión y Caché No requiere obligatoriamente cookies Soporta granjas de servidores 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

Aplicación Web con ASP.NET Web Forms

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, …

Capa de Presentación Cliente Rico o Cliente Ligero: “Smart Client” Instalación costosa Cliente Ligero Experiencia de usuario rica Dificultad de despliegue Instalación mínima/nula Dependencia de la red Desarrollo productivo Facilidad de despliegue Infierno de las DLLs Interactivo Experiencia de usuario pobre Versionado centralizado Desarrollo complejo

Capa de Presentación Cliente Rico o Cliente Ligero: “Smart Client” Necesidad Cliente Pesado Cliente Ligero Cliente Inteligente Funcionalidad rica e interactiva Facilidad de despliegue, actualización y mantenimiento Productividad de usuario en modo desconectado Ningún problema Limitado por tecnologías de desarrollo para Web Sí $$$ Ningún problema Sí Si, pero código de sincronización es complicado No es posible Sí

Aplicación Windows “Smart Client” con Windows Forms

Capa de Presentación “Smart Client”: atributos clave Utiliza la potencia del procesador local Experiencia de usuario rica, interactiva Consume servicios Servicios Web y SOA Puede funcionar de forma desconectada Exige incorpora lógica de negocio y acceso a datos en el cliente Se despliega y actualiza de forma centralizada

Capa de Presentación Despliegue de aplicaciones .NET 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” con Internet Explorer (“No-Touch” Deployment) Descarga de Aplicaciones Windows de Intranet Descarga de Controles Windows en páginas Web El código se mantiene y se versiona en un único punto: servidor de Intranet

Capa de Presentación Despliegue sin tocar (No-Touch Deployment) Sin instalación ni desinstalación Aplicaciones .NET son ligeras código gestionado IL < código nativo No se instala nada en la carpeta System No se escribe nada 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) El futuro del despliegue de aplicaciones (“Whidbey”) Click-Once = No-Touch Deployment + Updater App. Block

Capa de Presentación Despliegue de aplicaciones Windows Web Server Client Form1 Web Server Windows App HTTP Form2 Assembly Cache

Capa de Presentación Despliegue de controles Windows Web Server Client Chart.html HTTP Web Server Internet Explorer 5.5 HTTP Charting.DLL Assembly Cache ChartEngine.DLL Customizer.DLL

Aplicación Windows “Smart Client” y el despliegue sin tocar

Capa de Presentación Escenarios de Aplicaciones Móviles 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

Capa de Presentación Ventajas arquitectónicas de apl. móviles Ventajas de apl. Web móvil Ventajas de apl. cliente inteligente 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 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

Capa de Presentación Retos tradicionales de aplicaciones móviles Soporte multi-dispositivo complejo Diferentes dimensiones Diferentes características Diferentes estándares Web Poca reutilización Diferentes plataformas Diferentes APIs Diferentes lenguajes Página Web Móvil Código Local Navegador Web del Dispositivo Sistema Operativo del Dispositivo

Capa de Presentación Soluciones Microsoft para apl. móviles Controles Web Móviles ASP.NET Extensiones para Dispositivos Inteligentes Página Web Móvil Código Local Navegador Web del Dispositivo .NET Compact Framework Sistema Operativo del Dispositivo

Aplicaciones para dispositivos Aplicación Web para dispositivos con ASP.NET Mobile Web Forms Aplicación Windows “Smart Client” para dispositivos con Windows Forms de .NET Compact Framework

Capa de Presentación Amplio abanico de posibilidades Cliente ligero, basado en Web Navegador estándar: ASP.NET Web Forms Navegador de dispositivo: ASP.NET Mobile Web Forms Cliente inteligente (“smart client”) basado en Windows PC: Windows Forms de .NET Framework TabletPC: Windows Forms de .NET Framework + controles especiales de manejo de tinta y de lápiz Pocket PC, Pocket PC PE, Smartphone, Windows CE: Windows Forms de .NET Compact Framework Cliente inteligente (“smart client”) basado en Office Word y Excel: Visual Studio Tools for Office (VSTO) InfoPath

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

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

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 Con Windows Server 2003 (todas las ediciones) Cluster Service (MSCS) Tolerancia a fallos (failover) Hasta 8 nodos Proporciona alta disponibilidad Con Windows Server 2003 (sólo las ediciones Enterprise, DataCenter y 64-bit)

Entornos de Despliegue Físico Granjas Web Consideraciones NLB Estado de Session Uso de ViewState Comunicaciones SSL

Entornos de Despliegue Físico Granjas de aplicación Balanceo de carga para componentes (Enterprise Services / COM+) NLB para componentes sin estado CLB para componentes con estado

Entornos de Despliegue Físico Clusters de base de datos Windows Clustering Service Clusters de 2 o 4 nodos Configuración Activo/Activo o Activo/Pasivo La gestión de la conexión con base de datos es crucial cuando se utiliza configuración cluster

Entornos de Despliegue Físico Clusters MSMQ, Clusters EAI Microsoft Message Queue (MSMQ) BizTalk Server (EAI) Requiere SQL Server para BTS Orchestration Multiples servidores “receive” y “worker”

Interoperabilidad o Migración Coexistencia de DNA y .NET Aplicaciones DNA y aplicaciones .NET coexisten en la misma máquina (tanto Web como Windows) Componentes COM y Componentes .NET coexisten en la misma máquina Componentes COM y Componentes .NET pueden usar los servicios de COM+ en la misma máquina ASP y ASP.NET pueden ejecutarse en el IIS de la misma máquina Páginas .asp son procesadas por ASP Páginas .aspx y .asmx son procesadas por ASP.NET ASP y ASP.NET no comparten Session ni Application (aunque es posible hacerlo)

Interoperabilidad o Migración Interoperabilidad entre DNA y .NET COM Interop: interoperabilidad COM 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) P/Invoke: interoperabilidad código nativo 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); }

Interoperabilidad o Migración Actualización de DNA a .NET (I) Visual C++ Visual C++ .NET: MFC, ATL y extensiones gestionadas .NET Visual Basic Visual Basic .NET: lenguaje orientado a objetos puro Asistente de migración automática VB a VB.NET [Visual Studio .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) Asistente de migración automática ASP a ASP.NET [http://www.asp.net] ADO ADO.NET: tecnología de acceso a datos en .NET ADO está soportado vía COM Interop DAO y RDO también están soportados vía COM Interop Data Binding a controles sólo soportado con ADO (no con DAO ni RDO)

Interoperabilidad o Migración Actualización de DNA a .NET (II) Gracias a la coexistencia y la interoperabilidad entre DNA y .NET Es posible construir nueva funcionalidad en .NET Es posible actualizar de DNA a .NET gradualmente ¿Cómo migro de DNA a .NET? una estrategia: Utilizar .NET para desarrollo de nueva funcionalidad 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

Interoperabilidad o Migración .NET como evolución de DNA (I) Presentación Negocio Datos ASP.NET Enterprise Services ADO.NET .NET Presentación ASP Negocio COM+ Datos ADO DNA

Interoperabilidad o Migración .NET como evolución de DNA (II) Mejoras de la plataforma .NET Integración de sistemas Paradigma Servicios Web Unificación modelo de desarrollo Simplificar despliegue y operaciones Seguridad de código Productividad Facilidad de mantenimiento Rendimiento

Interoperabilidad o Migración Coexistencia e Interoperabilidad DNA y Interoperabilidad o Migración Coexistencia e Interoperabilidad DNA y .NET Objetivos de diseño de .NET Conservar inversión en el desarrollador Conservar inversión en el código Presentación ASP Presentación ASP.NET Negocio COM+ Negocio Enterprise Services Datos ADO Datos ADO.NET Aplicación mixta

Interoperabilidad o Migración Coexistencia e Interoperabilidad DNA y Interoperabilidad o Migración Coexistencia e Interoperabilidad DNA y .NET Permite utilizar .NET sin migrar la aplicación Nueva funcionalidad en .NET Módulo 3 - ASP.NET Módulo 3 – ES Módulo 3 – ADO.NET Módulo 1 - ASP Módulo 2 - ASP Módulo 3 - ASP.NET Módulo 1 – COM+ Módulo 2 – COM+ Módulo 3 – ES Módulo 1 - ADO Módulo 2 - ADO Módulo 3 – ADO.NET

Interoperabilidad o Migración Coexistencia e Interoperabilidad DNA y Interoperabilidad o Migración Coexistencia e Interoperabilidad DNA y .NET Permite migración gradual de la aplicación Por componentes Módulo 1 - ASP Módulo 2 – ASP.NET Módulo 2 – ASP Módulo 1 – COM+ Módulo 1 – ES Módulo 2 – COM+ Módulo 1 - ADO Módulo 2 – ADO.NET Módulo 2 - ADO

Interoperabilidad o Migración (1) Migración de Código DNA a .NET Portar código a algún lenguaje .NET Ej. VBScript a VB.NET Existen herramientas automáticas de Microsoft Según la aplicación, 80% del trabajo Módulo 1 – ASP.NET Módulo 1 - ASP ASP Migration Assistant Tool Lista tareas

Interoperabilidad o Migración (2) Migración de Componentes DNA a .NET Utilizar librería de clases .NET System.Xml en lugar de MSXML System.Data en lugar de ADO … Este nivel aumenta el rendimiento Dim rs As ADODB.Recordset Dim SQLstr As String SQLstr = "SELECT * FROM register” rs.Open(SQLstr, conn, 1, 3) If (rs.EOF) Then checkpw = 1 End If rs.Close() Dim rs As SqlDataReader Dim SQLstr As String SQLstr = "SELECT * FROM register” rs = conn.ExecuteReader(SQLstr) If (!rs.Read()) Then checkpw = 1 End If rs.Close()

Interoperabilidad o Migración (3) Migración de Conceptos DNA a .NET Refactoring del componente Utilizar nuevos patrones de diseño más eficientes Ejemplos Separación HTML – código de presentación Controles ASP.NET Entidades de negocio serializables en BD Acceso desconectado Acceso por servicio web …

Interoperabilidad o Migración Estrategia de migración (I) Utilizar .NET para nueva funcionalidad Ventajas Nuevos desarrollos a “velocidad .NET” Reutilización de la lógica existente .NET DNA DNA DNA DNA DNA DNA

Interoperabilidad o Migración Estrategia de migración (II) Primera fase Migrar el código de todos o algunos componentes Esfuerzo: 5% – 10% Ventajas: Unificación del modelo de desarrollo Despliegue, operaciones y mantenimiento únicos .NET .NET - Código DNA DNA .NET - Código DNA .NET - Código DNA DNA .NET - Código DNA

Interoperabilidad o Migración Estrategia de migración (III) Segunda fase Optimizar el código más crítico con la migración de componentes Esfuerzo: 10% - 20% Ventajas: Mejora del rendimiento .NET .NET - Componentes DNA .NET - Código DNA .NET - Código DNA DNA .NET - Código DNA .NET - Componentes .NET - Código DNA

Interoperabilidad o Migración Estrategia de migración (IV) Tercera fase Rediseñar con patrones que nos interesen Esfuerzo: 60% - 90% Ventajas: Diseño abierto de última generación Fácil mantenimiento y evolución, integración, reutilización y máxima productividad del desarrollador .NET DNA .NET - Componentes .NET .NET - Código DNA DNA .NET - Código .NET - Código DNA DNA .NET - Componentes .NET - Código DNA

Interoperabilidad o Migración Java y Visual J++ Interoperabilidad con Java Servicios Web (WS-I) Brokers de mensajes (tipo BizTalk Server) Puentes de tecnología (Bridges: Janeva, Ja.Net, …) Migración de Visual J++ y Java a .NET Visual J# .NET Sintaxis Java en .NET Visual J# .NET 2003: soporte JDK 1.1.4 Visual J# .NET 2005: soporte JDK 1.3 (con “Whidbey”) JLCA Conversión de Java y JDK a Visual C# y .NET Framework JLCA 2.0: conversión JDK 1.1.4 JLCA 3.0: conversión JDK 1.3 (con “Whidbey”)

Referencias Guías de Arquitectura “Patterns & Practices” http://www.microsoft.com/resources/practices Desarrollo Web “Server Side” http://www.asp.net Desarrollo Windows “Smart Client” http://www.windowsforms.net Servicios Web de Microsoft http://www.microsoft.com/webservices MSDN Online, “El Recurso” del desarrollador http://www.microsoft.com/Spanish/msdn/spain http://msdn.microsoft.com Comunidad de GotDotNet http://www.gotdotnet.com

© 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.