Title: Octubre 2002
1La Arquitectura y el Entorno de Desarrollo
Integrado de .NET
2Microsoft .NET
3Agenda
- Retos del desarrollo
- .NET Framework
- Common Language Runtime (CLR)
- .NET Framework Class Library
- Lenguajes .NET
- Tipos de aplicaciones en .NET
- Visual Studio .NET
4Arquitectura .NETRetos del desarrollo
- 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
5Arquitectura .NET.NET Framework y Visual Studio
.NET
Visual Studio .NET
Common Language Runtime
Sistema Operativo
6.NET FrameworkCommon Language Runtime
Visual Studio .NET
Common Language Runtime
Sistema Operativo
7.NET FrameworkCommon 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)
8Common Language RuntimeProceso del código
gestionado
Compilación
En instalación o la primera vez que se llama a un
método
9Proceso ASP.NETProceso de peticiones
10Common Language RuntimeAnatomÃa de un assembly
11Common Language RuntimeBeneficios
- Entorno de ejecución robusto
- Seguridad inherente
- Desarrollo simplificado
- Fácil gestión y despliegue de aplicaciones
- Preserva inversión de desarrollador
12.NET Framework.NET Framework Class Library
Visual Studio .NET
Common Language Runtime
Sistema Operativo
13.NET Framework Class LibraryModelo de
programación unificado
Disponibilidad de API consistente en cualquier
lenguaje y modelo de programación
.NET Framework
Sin estado, Código embebido en páginas HTML
Subclassing, Potencia, Expresividad
RAD, Composición, Delegación
ASP
MFC/ATL
VB Forms
Windows API
14.NET Framework Class LibrarySystem namespace
15.NET Framework Class LibraryADO.NET y XML
- Consumo de todos los tipos de datos
- Datos relacionales, con ADO.NET
- Caché de datos en memoria (DataSet)
- Sin estado, desconectada, soporte de accesos
relacional y XML, escalabilidad y rendimiento - Conexión a cualquier BD (Managed Providers)
- Generales .NET OLE DB y .NET ODBC
- EspecÃficos .NET SQL Client
- Datos jerárquicos, con XML
- W3C DOM, XSL/T, XPath, Schema
16.NET Framework Class LibraryEnterprise 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
- Sincronización
- Activación JIT
- Eventos débilmente acoplados
17.NET Framework Class LibraryWindows Forms
- Combinación de productividad formularios VB con
potencia MFC C - Herencia visual de controles y formularios
- Soporte gráfico mejorado GDI
- Fácil uso del modelo de datos ADO.NET
- Fácil consumo de Servicios Web XML
- Controles Windows hospedados en IE
18.NET Framework Class LibraryWeb Forms y Mobile
Web Forms
- Modelo de programación similar a Windows Forms
- Separación de código y presentación
- Controles basados en servidor
- Programación en cualquier lenguaje
- Páginas compiladas, no interpretadas
- Soporte multi-cliente automático (MIT)
19.NET Framework Class LibraryXML Web Services (I)
Conceptos de Aplicación
20.NET Framework Class LibraryXML Web Services (II)
- Sencillo modelo de programación
- Aplicación Web especial (.asmx), sin interfaz de
usuario - ASP.NET compila bajo demanda
- Generación dinámica de WSDL
- Generación dinámica de páginas de prueba
- Peticiones entrantes invocan métodos
- Soporte de múltiples formatos de mensajes
- SOAP, HTTP Get, HTTP Post
21.NET Framework Class LibraryBeneficios
- Completa, Organizada, Extensible
- Para cualquier Arquitectura de Aplicación
- Acceso a Datos
- ADO.NET
- XML
- Lógica de Negocio
- Servicios Web XML
- Enterprise Services (COM)
- .NET Remoting
- Presentación
- Windows Forms
- Web Forms
- Mobile Web Forms
22.NET FrameworkLenguajes .NET
Visual Studio .NET
Common Language Runtime
Sistema Operativo
23Lenguajes .NETMúltiples lenguajes soportados
- Common Language Specification (CLS)
- Especificación para la integración de lenguajes
en .NET Framework - .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 (Fujitsu), RPG, APL, Perl, Pascal,
Smalltalk, Eiffel, Fortran, Haskell, Mercury,
Oberon, Oz, Python, Scheme, Standard ML, hasta
22 lenguajes
24Lenguajes .NETSoporte multilenguaje
VB.NET
Dim s as String s "authors" Dim cmd As New
SqlCommand("select from " s,
sqlconn) cmd.ExecuteReader()
C
string s "authors" SqlCommand cmd new
SqlCommand("select from "s, sqlconn) cmd.
ExecuteReader()
C
String s S"authors" SqlCommand cmd new
SqlCommand(StringConcat(S"select from ",
s), sqlconn) cmd.ExecuteReader()
25Lenguajes .NETSoporte multilenguaje
J
String s "authors" SqlCommand cmd new
SqlCommand("select from "s, sqlconn) cmd.Ex
ecuteReader()
JScript
var s "authors" var cmd new
SqlCommand("select from " s,
sqlconn) cmd.ExecuteReader()
Perl
String s S"authors" SqlCommand cmd new
SqlCommand(StringConcat (S"select from ",
s), sqlconn) cmd.ExecuteReader()
26Lenguajes .NETSoporte multilenguaje
Cobol
ENVIRONMENT DIVISION. CONFIGURATION
SECTION. REPOSITORY. CLASS SqlCommand AS
"System.Data.SqlClient.SqlCommand" Â Â Â Â CLASS
SqlConnection AS "System.Data.SqlClient.SqlConnect
ion". 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. gt
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".
27Lenguajes .NETSoporte multilenguaje
RPG
  DclFld MyInstObj Type( System.Data.SqlClient.Sq
lCommand ) Â DclFld s Type( string ) Â s
"authors" Â MyInstObj New System.Data.SqlClient.S
qlCommand("select from "s,
sqlconn) Â MyInstObj.ExecuteReader()
Fortran
assembly_external(name"System.Data.SqlClient.Sq
lCommand") sqlcmdcharacter10 xsqlcmd Cmd
x'authors' cmd sqlcmd("select from "//x,
sqlconn)Â Â Â Â Â Â Â Â Â Â call cmd.ExecuteReader() endÂ
28Lenguajes .NETSoporte multilenguaje
APL
s?String.New authors cmd?SqlCommand.New
(select from ,s.ToString s)
sqlconn cmd.ExecuteReader
s 'authors'. cmd SqlCommand('select
from 's, sqlconn). cmd.ExecuteReader().
Smalltalk
Python
s "authors" cmd SqlCommand("select from "
s, sqlconn) cmd.ExecuteReader()
29Lenguajes .NETSoporte 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.Execu
teReader() SqlCommand create
System.Data.SqlClient.SqlCommand(String,\
System.Data.SqlClient.SqlConnection) qu
ery sqlconn -gt let s "authors" in  Â
cmd lt- SqlCommand ("select from "s, sqlconn)
 cmd ExecuteReader()   Â
Mondrian
30Lenguajes .NETBeneficios
- 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
31.NET FrameworkEstandarizació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 estandarizado por ECMA
- CLI y C cedidos al IEEE y en proceso de
estandarización
32.NET Compact Framework.NET Framework para
dispositivos
- Diseñado para dispositivos inteligentes
- PDA y PDA Phone Edition
- Smart Phone
- Amplia disponibilidad planeada
- Mismo modelo de arquitectura que .NET Framework
- Misma herramienta de desarrollo Visual Studio
.NET, incorporándole las Smart Device Extensions - Disponibilidad a principios 2003
33Tipos de Aplicaciones
- Aplicaciones de Consola
- Servicios Windows
- Registrador y Configurador
- Aplicaciones Windows
- Despliegue sin impacto, Impresión
- Aplicaciones Web
- Seguridad, Sesión, Caché, Trazas
- Servicios Web XML
34Visual Studio .NETEntorno de Desarrollo Integrado
Visual Studio .NET
Common Language Runtime
Sistema Operativo
35Visual Studio .NETProductividad
- Ú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
36Visual Studio .NETPara todo el ciclo de vida
- Modelado de Sistemas y Bases de Datos
- Visio for Enterprise Architects (VSEA)
- Patrones de Arquitectura
- Enterprise Templates (VSEA), 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
37Arquitectura .NETRetos del desarrollo
- Integración de aplicaciones
- Múltiples lenguajes de programación
- Múltiples modelos de programación
- Complejidad del desarrollo y despliegue
- Seguridad no inherente
- .NET Framework
- Common Language Runtime
- .NET Framework Class Library
- Componentes .NET assemblies
- Preservar la inversión del desarrollador
- .NET Framework
- Lenguajes .NET
- Interoperatividad COM
- Elevar la productividad del desarrollador
38Forum para Arquitectos de Software.NET Y LAS
ARQUITECTURAS DE APLICACIONES EMPRESARIALES