Vous êtes sur la page 1sur 84

La plataforma .

NET

Aurelio Porras aureliop@microsoft.com Divisin de Desarrolladores y Plataforma Microsoft Ibrica

Agenda
.NET Framework y Visual Studio .NET
.NET Framework Visual Studio .NET

Guas para desarrollar mejor: Patterns & Practices Arquitectura de Referencia en .NET
Opciones para la capa lgica de Datos Opciones para la capa lgica de Negocio Opciones para la capa lgica de Presentacin Despliegue de las capas lgicas en niveles fsicos

Interoperabilidad o Migracin Mejores prcticas en el Ciclo de Vida software Recursos

Microsoft .NET

Arquitectura .NET

Retos del desarrollo en Microsoft


Integracin de aplicaciones Mltiples lenguajes de programacin Mltiples modelos de programacin Complejidad del desarrollo y despliegue Seguridad no inherente Preservar la inversin del desarrollador Elevar la productividad del desarrollador

Arquitectura .NET
VB C++ C#

.NET Framework y Visual Studio .NET


J#
Common Language Specification Visual Studio .NET ASP .NET
Web Forms Web Services Mobile Web Forms (MIT)

Windows Forms

XML, ADO .NET, Enterprise Services Base Class Library

Common Language Runtime


Sistema Operativo

.NET Framework
VB C++ C#

Common Language Runtime


J#

Common Language Specification Visual Studio .NET ASP .NET


Web Forms Web Services Mobile Web Forms (MIT)

Windows Forms

XML, ADO .NET, Enterprise Services Base Class Library 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 Un empaquetado de cdigo: Assembly

El cdigo que ejecuta el CLR se llama cdigo gestionado (managed code)

Common Language Runtime


Proceso del cdigo gestionado
Compilacin
Cdigo Fuente Compilador lenguaje
Cdigo (IL)

Assembly
Metadatos

Cdigo Nativo

Compilador JIT

Ejecucin

En instalacin o la primera vez que se llama a un mtodo

Common Language Runtime


Anatoma de un assembly
Manifesto

Cdigo IL Tipo X

Cdigo IL Tipo Y

Cdigo IL Tipo Z

Metadatos para Tipos X, Y y Z Mdulo 1 app1.dll

Assembly A
Cdigo IL Tipo P Cdigo IL Tipo Q Cdigo IL Tipo R Metadatos Tipo R M. 3 Mod.netmodule grafico.jpg

Manifesto

Recurso

Metadatos Tipos P y Q Mdulo 2 app2.exe

Assembly B

Common Language Runtime


Beneficios
Entorno de ejecucin robusto Seguridad inherente Desarrollo simplificado Fcil gestin y despliegue de aplicaciones Preserva inversin de desarrollador

El CLR

.NET Framework
VB C++ C#

.NET Framework Class Library


J#

Common Language Specification Visual Studio .NET ASP .NET


Web Forms Web Services Mobile Web Forms (MIT)

Windows Forms

XML, ADO .NET, Enterprise Services Base Class Library Common Language Runtime Sistema Operativo

.NET Framework Class Library


Modelo de programacin unificado
.NET Framework
RAD, Composicin, Delegacin Subclassing, Potencia, Expresividad Sin estado, Cdigo embebido en pginas HTML Disponibilidad de API consistente en cualquier lenguaje y modelo de programacin

VB Forms

MFC/ATL

ASP

Windows API

.NET Framework Class Library


System namespace
System.Web
Services Description Discovery Protocols Caching Configuration UI HtmlControls WebControls Security SessionState

System.Windows.Forms
Design ComponentModel

System.Drawing
Drawing2D Imaging Printing Text

System.Data
OleDb Common SqlClient SQLTypes XSLT XPath

System.Xml
Serialization

System
Collections Configuration Diagnostics Globalization IO Net Reflection Resources Security ServiceProcess Text Threading Runtime InteropServices Remoting Serialization

.NET Framework Class Library


Beneficios
Completa, Organizada, Extensible Para cualquier Arquitectura de Aplicacin
Acceso a Datos
ADO.NET XML

Lgica de Negocio
Enterprise Services (COM+) Servicios Web XML .NET Remoting

Presentacin
Windows Forms Web Forms y Mobile Web Forms

.NET Framework
Lenguajes .NET
VB C++ C# J#

Common Language Specification (CLS) Visual Studio .NET ASP .NET


Web Forms Web Services Mobile Web Forms (MIT)

Windows Forms

XML, ADO .NET, Enterprise Services Base Class Library Common Language Runtime Sistema Operativo

Lenguajes .NET
CLS
CLR

Fujitsu COBOL Extensions

COBOL
CLS

C++

Microsoft Managed C++ Extensions

Los lenguajes no tienen que exponer toda la funcionalidad definida por la CLR

Lenguajes .NET

Mltiples 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

Soporte multilenguaje
Dim s as String VB.NET s = "authors" Dim cmd As New SqlCommand("select * from " & s, sqlconn) cmd.ExecuteReader() string s = "authors"; C# 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();

C++

Lenguajes .NET

Soporte multilenguaje
String s = "authors"; J# 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
Beneficios
Independencia de las aplicaciones del lenguaje de programacin utilizado Desarrollo de aplicaciones multi-lenguaje Preserva inversin del desarrollador Facilita adopcin de .NET

Multilenguaje

.NET Framework
Estandarizacin
CLI y C#
Common Language Infrastructure, funcionalidad e interfaces del CLR y la Base Class Library Lenguaje de programacin C#

CLI y C# cedidos a organismos de estandarizacin (ECMA, ISO, IEEE)

.NET Compact Framework

.NET Framework para dispositivos


Diseado 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

Visual Studio .NET


VB C++ C#

Entorno de Desarrollo Integrado


J#

Common Language Specification

Visual Studio .NET

ASP .NET
Web Forms Web Services Mobile Web Forms (MIT)

Windows Forms

XML, ADO .NET, Enterprise Services Base Class Library Common Language Runtime Sistema Operativo

Visual Studio .NET


Productividad
nica herramienta de desarrollo para todo Plataforma completa para creacin, pruebas e integracin de Servicios Web Plataforma RAD de alta productividad
Diseadores visuales de Formularios Diseadores visuales de Componentes Depuracin extremo a extremo, a travs de lenguajes Tecnologa IntelliSense y Ayuda Dinmica

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

Gestin de Versiones del cdigo


Visual SourceSafe

Diseo, Codificacin y Depuracin


Visual Studio: Designers, Editors, Debugger

Monitorizacin y Optimizacin
Visual Studio Analyzer

Pruebas
Application Center Test

Despliegue e Instalacin
Visual Studio: Setup Projects

Arquitectura .NET
Retos del desarrollo
Integracin de aplicaciones
Mltiples lenguajes de programacin Mltiples modelos de programacin Complejidad del desarrollo y despliegue Seguridad no inherente

Servicios Web XML


.NET Framework

Common Language Runtime .NET Framework Class Library Componentes .NET assemblies

Preservar la inversin del desarrollador Elevar la productividad del desarrollador

.NET Framework

Lenguajes .NET Interoperatividad COM

Visual Studio .NET

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

Guas publicadas y prximas


Reference Architectures
Application Architecture for .NET Microsoft Systems Architecture
Enterprise Data Center Internet Data Center

Reference Building Blocks


Exception Management App Block Logging App Block Configuration App Block Data Access App Block

Lifecycle Practices
Team Development with Visual Studio.NET & Visual SourceSafe Debugging Microsoft .NET Applications Deploying .NET Applications

.NET and J2EE Interoperability WSI Base Profile and Security .NET Line of Business Application UNIX Migration

Updater App Block


User Process Interface App Block Designing Data Tier Components and Passing Data Through Tiers Building Secure ASP.NET Applications

Operating .NET-Based Applications


Operations Guides () Security Operations Guides () Backup and Restore for MSA Operations

Authoring ASP.NET Applications

Patterns
.NET Enterprise Patterns Data Patterns Network Infrastructure Patterns

Patterns & Practices


Arquitectura de Aplicaciones
Disponibles End-to-end Application & Service Design

Users

DNA Interop

En desarrollo

Instrumentation Rich Client Web Client UI Components Exception Mgmt

Operational Management

UI Process Components User Interface Process Communication Service Interfaces


Data Exchange & Format Business Caching

Authentication

Workflows

Business Service Data Aggregation & Components Caching

Business Entities

Secure ASP.NET

Application AuthZ Data Access Data Access Components Persistent Asynch Invocation Service Agents

Security

Configuration

Data Sources

Services

Team Dev

Debugging Profiling Deployment Development Lifecycle

.NET Ops

Patterns & Practices

Disponibilidad
Online en MSDN y TechNet:
http://www.microsoft.com/resources/practices

Guas escritas disponibles en:


http://shop.microsoft.com/practices

Distribuidas en CD-ROM Library en eventos

Arquitectura de Referencia .NET

Arquitectura de Aplicacin en capas lgicas


Arquitectura Arquitectura Tradicional Orientada 3 capas A Servicios lgicas
Comunicaciones Administracin Operativa Seguridad Componentes de Interfaz de Usuario Componentes de Proceso de IU

Agentes Servicios

CAPA DE PRESENTACIN

Procesos de Negocio

Componentes de Negocio

Entidades de Negocio

Interfaces Servicios Agentes Servicios

CAPA DE NEGOCIO

Componentes de Acceso a Recursos

Interfaces Servicios Agentes Servicios

CAPA DE DATOS

Recursos Servicios Ciclo de Vida del software

Arquitectura de Aplicacin .NET


Capas en aplicaciones y servicios
2 1
Credit Authorization

Orders

Courier

1. 2. 3. 4.

Comunicacin dbilmente acoplada Aplicaciones/Servicios con arquitectura en capas Algunos servicios pueden no tener IU Cada servicio gestiona sus propios datos

Arquitectura de Referencia .NET


Capa de Datos
Usuarios Comunicaciones Administracin Operativa Seguridad

Capa de Presentacin

Capa de Negocio Capa de Datos Componentes de Acceso a Datos (Recursos)

Fuentes de Datos (Recursos) Servicios Ciclo de Vida del software

Capa de Datos
XML
Funcionalidad tradicional
Acceso en memoria: DOM niveles 1 y 2 Acceso secuencial: XmlReader Bsquedas: XPath, con posibilidad de compilacin Definicin y validacin de esquemas XSD Transformaciones XSLT

Funcionalidad en .NET: Serializacin XML


Controlable con atributos XmlSerializer: Instancias de objetos XML XSD.EXE: Clases XSD

XML

Serializacin XML
C#, VB, JS

XmlSerializer

XSD.EXE

XSD.EXE XML XSD

Validator

Serializacin XML

Capa de Datos
ADO.NET
Independiente de la fuente de datos
IDbConnection Conexin a cualquier base de datos con proveedores
Generales: .NET OLE DB y .NET ODBC Especficos: .NET SQL Client, .NET Oracle Client

Modelo conectado de acceso a datos


IDbCommand: sentencias SQL (parametrizables con IDbParameter), procedimientos almacenados IDbDataReader: para recuperar resultados

Acceso conectado con ADO.NET

Capa de Datos
ADO.NET (II)
Dataset
Modelo de datos en memoria Desconectado de la base de datos Mantiene memoria de los cambios Es serializable en XML

Modelo Desconectado de acceso a datos

DataAdapter
Rellenan un Dataset desde la fuente de datos Concilian los cambios de un Dataset hacia la fuente de datos

Capa de Datos
Capa de presentacin Windows forms
Aplicacin.Exe

ADO.NET: Modelo desconectado

Dataset

Web forms
IE

Internet intranet
Xml

Capa de negocios Dataset


DataAdapter DataAdapter

Dataset

Capa de datos
Negocio a Negocio

Acceso desconectado con ADO.NET

Arquitectura de Referencia .NET


Capa de Negocio
Comunicaciones Administracin Operativa Seguridad Usuarios

Capa de Presentacin Capa de Negocio Procesos de Negocio Componentes de Negocio Entidades de Negocio

Agentes Servicios

Interfaces Servicios Agentes Servicios

Interfaces Servicios Capa de Datos Agentes Servicios

Recursos Servicios Ciclo de Vida del software

Capa de Negocio

Consumidores de componentes de Negocio


Capa de Presentacin Llamadas desde otros Agentes de Servicios

Interfaz de Servicios

Componente de Negocio

Proceso de Negocio

Llamadas a otros Servicios Componente de Negocio Agentes de Servicios

Datos

Componentes de Acceso a Datos

Llamadas a otros Servicios

Capa de Negocio

Integrando servicios en un flujo de proceso


Capa de Presentacin

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


Arquitectura Orientada a Servicio (SOA) Ejemplo de una solucion fuertemente acoplada

Aplicacin A
Lenguaje de programacion Base de datos

Aplicacin B
Lenguaje de programacion Base de datos

Acuerdos

Modelo de objetos
Sistema operativo Servidor de aplicaciones Esquemas

Modelo de objetos Sistema operativo


Servidor de aplicaciones

Capa de Negocio
Protocolos Internet Abiertos

ASP.NET Web Services


Servicio Web

Componente de aplicacin programable, accesible a travs de protocolos estndar de Internet UDDI Suministra un Directorio de Servicios en
La Red Los Servicios Web se definen en trminos de formatos y ordenacin de mensajes

Universal Description, Discovery, and Integration

WSDL
Web Services Description Language

Los consumidores de Servicios Web pueden enviar y recibir mensajes XML


Construido empleando protocolos abiertos de Internet

SOAP
XML & HTTP

Capa de Negocio

ASP.NET Web Services (II)


Servicios publicados Servicio 1 Servicio 1 tModel

Descubrimiento mediante UDDI

Publicacin mediante UDDI

Registro UDDI

Aplicacin Cliente

Descripcin mediante WSDL


XML Schema WSDL

Servicio Web

Invocacin / Acceso mediante SOAP Transporte mediante HTTP / SMTP /


Mensaje SOAP

Capa de Negocio

ASP.NET Web Services (III)


Conceptos de Aplicacin Datos .NET Framework facilita Un mapeo bi-direccional

Web
XML

Framework
Objetos

Esquemas
Servicios Invocaciones

XSD
WSDL SOAP

Clases
Mtodos Llamadas

Capa de Negocio

ASP.NET Web Services (IV)


Sencillo modelo de programacin
Aplicacin 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 automticamente WSDL y pginas de prueba

En el cliente: .NET genera un proxy para comunicar con el servidor


Integrado con Visual Studio

La serializacin XML hace el resto

Web Services

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 Aplicacin dedicada .EXE

Capa de Negocio
Enterprise Services

Enterprise Services y System.Messaging


Modelo de programacin 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 programacin para el uso de colas MSMQ

Arquitectura de Referencia .NET


Capa de Presentacin
Usuarios

Comunicaciones

Administracin Operativa

Seguridad

Capa de Presentacin Componentes de Interfaz de Usuario Componentes de Proceso de Interfaz de Usuario Capa de Negocio

Capa de Datos

Recursos Servicios Ciclo de Vida del software

Capa de Presentacin

ASP.NET Web Forms: modelo de cdigo


Modelo de programacin similar a WinForms
RAD Visual: Formularios, Controles servidor, Eventos El cdigo est detrs

Separacin entre lgica y presentacin


ASP
cdigo <tags> <tags> cdigo

ASP .NET

Form1.asp

Form1.aspx

Form1.vb

Capa de Presentacin
Motor
ASP.NET

ASP.NET: modelo de ejecucin


Parsing Generar
Clase Codebehind

Peticin Peticin

Fichero ASPX ASMX

Instanciar

Clase de pgina generada

Respuesta Respuesta

Clase compilada

Compilar

Capa de Presentacin
ASP.NET: Sesin y Cach
Sesin
Soporta granjas de servidores No requiere obligatoriamente cookies Mejor tolerancia a fallos (ms opciones para guardar estado):
Servicio Windows en otro equipo (alta disponibilidad) SQL Server (alta disponibilidad + tolerancia a fallos)

Cach
a nivel de pgina Cach fragmentado Modos cliente y servidor Dependencias de cach (tiempo, fichero, consulta SQL) Cache API

ASP.NET Web Forms

Capa de Presentacin
Windows Forms
Combinacin de productividad formularios VB con potencia MFC C++ Herencia visual de controles y formularios Soporte grfico mejorado GDI+ Fcil enlazado de datos con ADO.NET Fcil consumo de Servicios Web XML Controles Windows hospedados en IE Impresin de formularios, ayuda,

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

Capa de Presentacin
Cliente Rico
Instalacin costosa Experiencia rica de usuario Productividad desarrollo Infierno de las DLLs Respuesta rpida

Cliente Rico o Cliente Ligero: Smart Client


Cliente Inteligente
Cliente Ligero
Mnima/nula instalacin Facilidad de despliegue Versionado y mantenimiento

Dificultad de despliegue

Dependencia de la red Experiencia pobre de usuario

Complejidad de desarrollo

Cliente Rico o Cliente Ligero


Despliegue de aplicaciones
Opcin 1: File Copy (XCOPY, FTP)
Instalacin sin ejecutar nada en el cliente

Opcin 2: paquetes Windows Installer


Incluyendo o no .NET Framework Redistributable Ejecutar Setup en el cliente o desplegar con Systems Management Server o IntelliMirror

Opcin 3: Despliegue sin tocar desde Internet Explorer (No-Touch Deployment)


Descarga de Controles Windows en pginas Web Descarga de Aplicaciones Windows de Intranet El cdigo se mantiene y se versiona en un nico punto: el servidor de Intranet

Cliente Rico o Cliente Ligero


Sin instalacin ni desinstalacin Aplicaciones .NET son ligeras
Hello World = ~3.5 Kb

Despliegue sin tocar (No-Touch Deployment)

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


Client

Despliegue de aplicaciones Windows


Web Server
Form1
Windows App

HTTP
Assembly Cache

Web Server
Form2

Cliente Rico o Cliente Ligero


Despliegue de controles Windows
Client
HTTP
Internet Explorer 5.5

Web Server
Chart.html

HTTP
Assembly Cache

Web Server
Charting.DLL

Customizer.DLL

ChartEngine.DLL

Windows Forms
Smart Client y el despliegue sin tocar

Escenarios de Aplicaciones Mviles


Visin general

Experiencia Web mvil Ejemplo: titulares de noticias Muchos tipos de dispositivos

Dispositivo Inteligente Ejemplo: trabajo de campo Funcionalidad online y offline Servicios Web XML Integracin de dispositivos Interfaz de usuario enriquecida

Todo el potencial del PC Ejemplo: gestin de conocimiento Pantalla a tamao completo Aplicaciones compatibles PC Anotacin y edicin enriquecidas

Entrada de datos muy limitada Uso breve e intermintente

Escenarios de aplicaciones mviles


Retos tradicionales
Diferentes dimensiones Diferentes caractersticas Diferentes estndares Web

Aplicaciones multi-dispositivo difcil:

Poca reutilizacin
Diferentes plataformas Diferentes APIs Diferentes lenguajes

Pgina Web Mvil

Cdigo Local

Navegador Web del Dispositivo


Sistema Operativo del Dispositivo

Escenarios de aplicaciones mviles


Ventajas arquitectnicas
Ventajas de apl. Web mvil Ventajas de apl. cliente inteligente

Presentacin adaptable
Soporte dinmico de mltiples navegadores de dispositivos Soporte navegador en dispositivos bajo coste

Operativa off-line
Ejecucin Local Datos Locales

IU enriquecido
Multimedia IU elaborado

Cdigo base nico


Mantenimiento simplificado Extensin natural de las apl. Web existentes

Integracin con elementos dispositivo


Lectores tarjetas Lectores cdigo barras Receptores GPS Telefona / mensajera

Ejecucin en servidor
Sin instalacin en cliente Sin ejecucin en cliente

Escenarios de aplicaciones mviles


Desarrollo Microsoft para dispositivos

Controles Web Mviles ASP.NET

Extensiones para Dispositivos Inteligentes

Pgina Web Mvil

Cdigo Local

Navegador Web del Dispositivo

.NET Compact Framework

Sistema Operativo del Dispositivo

Capa de Presentacin

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 automtico
WML, HTML 3.2, cHTML, XHTML, XML

Desarrollo para dispositivos


ASP.NET Mobile Web Forms Windows Forms de .NET Compact Framework

Arquitectura de Referencia .NET

Arquitectura de Aplicacin en capas lgicas


Arquitectura Orientada A Servicios
Comunicaciones Administracin Operativa Seguridad Componentes de Interfaz de Usuario 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 Servicios Ciclo de Vida del software

Arquitectura de Referencia .NET


Entornos de Despliegue Fsico

DMZ

Infrastructure VLAN

Data & Management VLAN

VPN

Entornos de Despliegue Fsico


Tecnologas de Clustering Microsoft
Network Load Balancing (NLB)
Balancea trfico TCP/IP entre mltiples servidores Hasta 32 nodos Proporciona alta disponibilidad y escalabilidad

Microsoft Cluster Service (MSCS)


Tolerancia a fallos (failover) 2 4 nodos Proporciona alta disponibilidad

Interoperabilidad o Migracin
COM Interop bidireccional
Utilizar componentes COM desde .NET

Interoperabilidad con COM y cdigo nativo


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 librera 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 estticas en DLLs de cdigo nativo desde cdigo gestionado
Class EjemploPInvoke { // Declarar la funcin 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 funcin externa no gestionada MessageA(0, P/Invoke funciona!, Ejemplo P/Invoke, 0); } }

Interoperabilidad o Migracin
Actualizar de DNA a .NET
Visual C++
Visual C++ .NET: MFC, ATL y extensiones manejadas .NET

Visual Basic
Visual Basic .NET: asistente de migracin automtica 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 ejecucin ASP y ASP.NET en la misma mquina Gua de migracin con recomendaciones y mejores prcticas Asistente de migracin automtica (versin beta) en www.asp.net

ADO
ADO.NET es la tecnologa de acceso a datos en .NET ADO est soportado va COM Interop RDO y DAO tambin estn soportados va COM Interop Data Binding a controles slo soportado en ADO (no RDO ni DAO)

Migracin de ASP a ASP.NET


Estrategia de Migracin
Coexistencia de DNA y .NET
Componentes COM y Componentes .NET
Interoperabilidad bidireccional COM.NET va COM Interop

ASP y ASP.NET en el mismo IIS


Permite desarrollar nuevas pginas y aplicaciones Web ASP.NET No comparten Session ni Application pero pueden?

Cmo migro de DNA a .NET? una estrategia:


1 migracin de cdigo: herramientas automticas de migracin sintctica que hace gran parte del trabajo 2 migracin de componentes: manualmente, usar componentes .NET en lugar de componentes COM 3 migracin de conceptos: refactorizacin, arquitectura

Recursos
Guas 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

Crea tu web... y al cine!


Concurso de programacin web con ASP.NET
Te gusta la programacin? Te gusta el cine? Lo tuyo es crear sitios web? Pues esta es tu oportunidad de hacerlo y llevarte premios de pelcula!

Un concurso

Del 1 de abril al 15 de junio de 2004 participa en el concurso de programacin 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 ms de 2.000 salas en toda Espaa. Y si tu web es una de las ganadoras en alguna de las seis categoras contempladas, te esperan fantsticos premios: consolas y juegos Xbox, mandos para ver DVDs en la consola, pelculas en DVD, cajas de Visual Studio .NET, alojamiento gratuito ASP.NET durante un ao y suscripciones a revistas patrocinadoras durante un ao.

Ms informacin en www.microsoft.com/spanish/msdn/concuasp
Patrocinan:

Empresas de alojamiento web patrocinadoras:

Amsterdam, Holanda 29 junio 2 julio

Adntrate!
El evento definitivo de Microsoft en Europa sobre creacin, implantacin, proteccin y gestin de soluciones conectadas

2004 Microsoft Corporation. Todos los derechos reservados.


Esta presentacin tiene propsitos informativos nicamente. Microsoft no ofrece garantas, implcitas o explcitas, de este contenido.

Vous aimerez peut-être aussi