Transcript Slide 1

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