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.