Tecnologia microsoft .net
-
Upload
lilymejia1979 -
Category
Documents
-
view
114 -
download
2
Transcript of Tecnologia microsoft .net
![Page 1: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/1.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.combernardorobelo.blogspot.com
Tecnología Microsoft.NetBernardo Antonio Robelo Jirón
Ingeniero en Sistemas
![Page 2: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/2.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.combernardorobelo.blogspot.com
![Page 3: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/3.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Antes de comenzar
• Presentación.• Ocupación Actual.• Experiencia con el uso de .NET y VB.NET• Expectativas.• Metodología del curso.
![Page 4: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/4.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Objetivos del curso• Tecnología .NET• Net Framework 3.5• ASP.NET• ADO.NET• LINQ• WCF Y WPF• SilverLight 2.0• Lenguaje Visual Basic .NET
![Page 5: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/5.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Agenda del Curso• Introducción a .NET ( Estructuras del Lenguaje)• SQL Server ( Transact – SQL )• Acceso a Datos ( ADO.NET)• Acceso a Datos (LINQ)• Controles Avanzados• WPF• Crystal Report• ASP.NET
![Page 6: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/6.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Elementos Adicionales
• XHTML• JavaScript• CSS• XML• XAML
![Page 7: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/7.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.combernardorobelo.blogspot.com
Tecnología Microsoft .NET
![Page 8: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/8.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Objetivo
• Presentar una introducción a la plataforma de desarrollo Microsoft .NET, describiendo sus principios básicos de funcionamiento, su arquitectura de componentes y sus principales bibliotecas reutilizables, mostrando además las novedades introducidas en la última versión de la misma.
![Page 9: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/9.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Paradigmas de Programación
1980 1990 2000
Fu
nci
on
alid
ad
Win16 Win32COM
MFCComponentes
Servicios
APIs
Windows3.0
![Page 10: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/10.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Que tal un poquito de historia?
![Page 11: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/11.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Primera GeneraciónTodos con las Mainframes
• Programación orientada a uso de terminales tontas, con cerebros un poco “más inteligentes”.
• Integrar aplicaciones era MUY difícil (procesos batch, importación-exportación, etc. etc.).
• Programación en lenguajes de “Primera” (Generación). COBOL, Fortran, Pascal, C, etc.• No cualquiera podía escribir aplicaciones.
No cualquiera tenía acceso apoder de cómputo.
• “Al final de los tiempos,solo sobrevivirán lascucarachas y COBOL”¿Será cierto?
![Page 12: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/12.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Segunda Generación”Aquí se rompió una taza...”
• Después de años de pensar de manera centralizada, a “alguien” se le ocurrió dotar de poder para ser independientes a esas terminales tontas.
• Ahora ya el uso de cómputo no era privilegio de unos pocos.• Compartiendo el poder de los equipos de computo con el poder de
los equipos de escritorio,se tenían aplicaciones más potentes.
• Se podía tener aplicaciones en una solacomputadora (stand alone).
• Se hizo extensivo el uso delenguajes tipo Clipper, FoxPro
• COBOL seguía ¡vivito y coleando!
![Page 13: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/13.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Tercera GeneraciónGeneración Internet... ¡Todos a la Red!
• Al surgir el “boom” de Internet, se sigue mezclando el poder de las maquinas de escritorio con el uso de servidores potentes para darles servicio.
• Aparecen nuevos lenguajes: Java, Visual Basic, etc.
• Aunque ya no es protagonista,COBOL continúa entre nosotros.
• En esta generación es la actual.
![Page 14: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/14.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Que es .NET?
![Page 15: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/15.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Tecnología .Net
.NET no es un Sistema Operativo
.NET no es un Lenguaje de Programación
.NET no es un Entorno de Desarrollo
.NET no es un Servidor de Aplicaciones
.NET no es un producto empaquetado que se pueda comprar como tal
![Page 16: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/16.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
¿Qué es .NET?• Plataforma de Desarrollo compuesta de
– Entorno de Ejecución (Runtime)– Bibliotecas de Funcionalidad (Class Library)– Lenguajes de Programación– Compiladores– Herramientas de Desarrollo (IDE & Tools)
• Visual Studio 2005. Visual Studio 2008.• Visual Studio 2010.
– Guías de Arquitectura
• La evolución de la plataforma COM
![Page 17: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/17.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Plataforma .NET
![Page 18: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/18.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
¿Cuales son los Componentes de .NET?
• Experiencias .NET• Clientes .NET• Servicios .NET• Servidores .NET• Herramientas .NET
Experiencias
Clientes
Servicios
Herramientas
Servidores
![Page 19: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/19.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Características de .NET• Plataforma de ejecución intermedia• 100% Orientada a Objetos• Multilenguaje• Plataforma Empresarial de Misión Crítica• Modelo de Programación único para todo tipo de
aplicaciones y dispositivos de hardware• Se integra fácilmente con aplicaciones existentes
desarrolladas en plataformas Microsoft• Se integra fácilmente con aplicaciones desarrolladas en otras
plataformas
![Page 20: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/20.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Arquitectura .Net
Entorno de
Desarrollo
Mic
roso
ft .
NET
Librerías de Funcionalidad
Lenguajes de Programación
Entorno de Ejecución
Sistema Operativo (Familia Windows)
Aplicación .NET
![Page 21: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/21.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
.NET como evolución de COM• Entorno de Ejecución (Runtime)
– COM: Windows– .NET: Common Language Runtime
• Librerías de Funcionalidad– COM: Algunas (ADO, FSO, etc.)– .NET: Muy extensa (.NET Framework Class Library)
• Lenguajes de Programación– COM: VB, C++, VFP, ASP, J++– .NET: Common Language Specification
• Entorno de Desarrollo (IDE)– COM: Uno para cada lenguaje– .NET: Uno independiente del lenguaje (VS.NET)
![Page 22: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/22.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.combernardorobelo.blogspot.com
.NET Framework
![Page 23: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/23.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Que es un Framework?
![Page 24: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/24.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Un Framework es, básicamente, un conjunto de clases que
interactúan en forma cooperativa para dar solución a
una determinada necesidad.
.NET FrameworkQue es un Framework?
![Page 25: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/25.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
.NET FrameworkQue es un Framework?
¿Quedo claro?
![Page 26: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/26.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Suponga que usted necesita construir un edificio…
.NET FrameworkQue es un Framework?
![Page 27: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/27.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Imagine que a usted le tocara construir cada una de las partes…
.NET FrameworkQue es un Framework?
![Page 28: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/28.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
.NET FrameworkQue es un Framework?
¿Cuánto tiempo cree que tardaría en terminar?
![Page 29: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/29.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Lo mismo sucede con el software, si cada vez
tuviéramos que construir todos los componentes que lo
conforman, tardaríamos mucho más tiempo…
.NET FrameworkQue es un Framework?
![Page 30: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/30.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
¿Qué es un Framework? Marco de trabajo Puede estar compuesto por
Librerías de clases Documentación Ayuda Ejemplos Tutoriales Etc.
![Page 31: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/31.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
¿Qué es .NET Framework?
Herramientas de Desarrollo
Clientes
Aplicaciones de Usuario
Aplicaciones Web ASP.NET
Servicios Web XML
Bases de Datos
.NET Framework
![Page 32: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/32.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Net Framework• Paquete de software fundamental de la plataforma .NET.
Incluye:– Entorno de Ejecución (Runtime)– Bibliotecas de Funcionalidad (Class Library)
• Se distribuye en forma libre y gratuita
• Existen tres variantes principales:– .NET Framework Redistributable Package
– .NET Framework SDK
– .NET Compact Framework
• Está instalado por defecto en Windows 2003 Server o superior
![Page 33: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/33.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
.NET Compact Framework
ü*ü
ü
ü*ü
AplicaciónMóvil
Aplicación de Consola
Aplicación Web
Aplicación de Escritorio
¿Dónde instalar el .NET Framework?
ServidorCliente
* Sólo si la aplicación es distribuida
![Page 34: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/34.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Línea del tiempo de .NETVisual Studio 6.0Visual BasicVBAVisual FoxProVBScriptC++J++JScriptASP
Visual Studio .NET 2003.NET Framework 1.1.NET Compact FrameworkJ#
Visual Studio 2008.NET Framework 3.0 – 3.5.NET Compact Framework
2000 2001 2002 2003 2004 2005 2006 y más 2008 2010
Visual Studio 2005.NET Framework 2.0.NET Compact Framework 2.0
Visual Studio .NET 2002.NET Framework 1.0Visual Basic .NETC#
Visual Studio 2010.NET Framework 4.0
![Page 35: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/35.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Evolucion del .NET Framework
![Page 36: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/36.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Windows COM+ Services
Common Language Runtime
Base Class Library
ADO.NET y XML
ASP.NET Windows Forms
Common Language Specification
VB C++ C# J# …
Arquitectura del .NET Framework.N
ET
Fra
mew
ork
Red
istr
ibut
able
.NE
T F
ram
ewo
rk S
DK
.NE
T F
ramew
ork
Class Library
![Page 37: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/37.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Que es el .NET Framework 3.5 ?
![Page 38: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/38.jpg)
38Windows 7, Windows Vista, Windows XP, Windows Server 2008
Common Language Runtime (CLR)
Biblioteca de Clases
ASP.NET WPF
WCF
WF
WCS
CLS y CTS
VB C# J# IronPhyton
Microsoft .NET Framework 3.5
ADO.NET LINQ
Add-in Framework
WindowsForms
WF & WCF
Enhancements
Additional
Enhancements
MVC
Dynamic Data
Entity Framework
Data Services
Ruby …
![Page 39: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/39.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Common Language Runtime
![Page 40: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/40.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
CLR – Common Languaje RuntimeArquitecturas de Ejecución de Aplicaciones
![Page 41: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/41.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
CLR – Common Language Runtime• El CLR es el motor de ejecución (runtime) de .NET• Características
– Compilación Just-In-Time (JIT)– Gestión automática de memoria (Garbage Collector)– Gestión de errores consistente (Excepciones)– Ejecución basada en componentes (Assemblies)– Gestión de Seguridad– Multithreading
![Page 42: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/42.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
CLR – Componentes Internos
![Page 43: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/43.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Código Fuente
Cualquier lenguaje .NET
CompiladorAssembly
(MSIL)
Bibliotecao Ejecutable
CLR – Proceso de Compilación
![Page 44: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/44.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.combernardorobelo.blogspot.com
DemoPrimer vistazo a .Net
Desarrollar nuestra aplicación “Hello World”
![Page 45: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/45.jpg)
Microsoft Intermediately Language
.method private hidebysig static void Main(string[] args) cil managed {
.entrypoint maxstack 8 L_0000: ldstr "Hola Mundo" L_0005: call void [mscorlib]System.Console::WriteLine(string) L_000a: ret }
![Page 46: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/46.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Assembly
Metadata
Código CompiladoMSIL
Recursos
MiBiblioteca.DLL
Descripción de Tipos
ClasesClases BaseInterfaces ImplementadasAtributos de las ClasesMétodos de las Clases
NombreVersiónCultura
Manifiesto del Assembly
Otros AssembliesPermisos de SeguridadTipos Externos
![Page 47: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/47.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Assemblies - Aplicaciones .NET• Uno o más Assemblies• Al ejecutar una aplicación, ¿cómo ubico los
assemblies necesarios?• El Class Loader busca en el directorio local (preferido)• Global Assembly Cache (GAC)
• Diferentes aplicaciones pueden usar diferentes versiones– Actualizaciones más simples– Desinstalación más simple
![Page 48: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/48.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
.NET Framework Class Library
• Conjunto de Tipos básicos (clases, interfaces, etc.) que vienen incluídos en el .NET Framework
• Los tipos están organizados en jerarquías lógicas de nombres, denominados NAMESPACES
• Los tipos son INDEPENDIENTES del lenguaje de desarrollo
• Es extensible y totalmente orientada a objetos
![Page 49: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/49.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
.NET Framework Class Library
System
System.Data System.Xml
System.Web
Globalization
Diagnostics
Configuration
Collections
Resources
Reflection
Net
IO
Threading
Text
ServiceProcess
Security
Common
OleDb
SqlClient
Odbc
XPath
XSLT
Runtime
InteropServices
Remoting
Serialization
Serialization
Configuration SessionState
Caching Security
Services
Description
Discovery
Protocols
UI
HtmlControls
WebControls
System.Drawing
Imaging
Drawing2D
Text
Printing
System.Windows.FormsDesign ComponentModel
![Page 50: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/50.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Common Language Specification (CLS)• Especificación que estandariza una serie de
características soportadas por el CLR• Contrato entre diseñadores de lenguajes de
programación y autores de bibliotecas• Permite la interoperabilidad entre lenguajes• Microsoft provee implementaciones de 4
lenguajes, todos compatibles con CLS– Microsoft Visual Basic .NET– Microsoft Visual C# .NET– Microsoft Visual J#.NET– Microsoft Visual C++.NET
![Page 51: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/51.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Common Language Specification (CLS)El resto de la industria y el sector académico han desarrollado
más de 20 lenguajes compatibles con la especificación CLS
Cobol
Eiffel
Fortran
Pascal
Perl
C++.NET C#
Haskell
Java JavaScript
Visual Basic.NET
Mercury
ML
PHP
Objective Caml
Oberon Smalltalk Scheme
J#
RPG
Mondrian
APL
Delphi Python
LISP Prolog
![Page 52: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/52.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
CLS - Elección del lenguaje• .NET posee un único runtime (el CLR) y un único
conjunto de bibliotecas para todos los lenguajes• No hay diferencias notorias de performance entre los
lenguajes provistos por Microsoft• El lenguaje a utilizar, en gral., dependerá de su
experiencia previa con otros lenguajes o de gustos personales– Si conoce Java, Delphi, C++, etc. C#– Si conoce Visual Basic o VBScript VB.NET
• Los tipos de aplicaciones .NET son INDEPENDIENTES del lenguaje que elija
![Page 53: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/53.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
VB.NETCódigoFuente
Compilador VB.NET
C++.NETC#
AssemblyCódigo MSIL
Sistema Operativo (Windows)
Common Language Runtime
Compilador JIT
Código Nativo
Código Manejado
ComponenteNo Manejado
Modelo de Ejecución del CLR
CompiladorC#
CompiladorC++ .NET
AssemblyCódigo MSIL
AssemblyCódigo MSIL
![Page 54: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/54.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Debug Engine
CompiladorJIT
Assembly en la máquina
destino
Modelo de Ejecución del CLR
Assembly
Desarrollo Instalación
Instalación
Ejecución
AssemblyLoader
SeguridadClass Loader
.exe Nativo+
Tabla GC
Code Manager
Garbage Collector
Manejador Excepciones
Soporte MultiThread
COM Interop
Policy<?xml version="1.0" encoding="utf-8" ?><configuration> <mscorlib> <security> <policy> <PolicyLevel version="1"> <CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="Nothing" Name="All_Code" Description="Code group grants no permissions and forms the root of the code group tree."> <IMembershipCondition class="AllMembershipCondition" version="1"/> <CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="FullTrust"
![Page 55: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/55.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Ventajas de .NET
• Unifica los modelos de programación• Simplifica aún más el desarrollo• Provee un Entorno de Ejecución robusto y seguro• Es independiente del lenguaje de programación• Interoperabilidad con código existente• Simplifica la instalación y administración de las
aplicaciones• Es Extensible
![Page 56: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/56.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Unificando los Modelos
Windows API
.NET Framework
API consistente mas allá del lenguaje o del modelo de programación
ASP
Basado en Servidor,
UI Embebido en el código
MFC/ATL (C++)
OOP, Potencia,
Acceso a bajo nivel
Visual Basic
Desarrollo Rapido,Componentes,Event Driven
![Page 57: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/57.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Desarrollo Simplificado• Alto nivel de abstracción
– No mas accesos COM a bajo nivel– Orientado a Objetos desde el Núcleo
• Sistema de tipos unificado (CTS)– Todo es un objeto, no mas variants
• Componentes de Software– Propiedades, métodos, eventos, y atributos
incluidos en la construcción de clases• API organizada en forma Jerárquica
![Page 58: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/58.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Entorno de Ejecución Robusto y Seguro
• Gestión automática de la memoria– Todos los objetos son administrados por el Garbage
Collector• Manejo de Excepciones• Fuertemente tipado
– Solo casteos seguros– Inicialización de variables obligatoria
• Instalación con Cero Impacto– No requiere registración en la Registry
![Page 59: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/59.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Independencia del lenguaje• Libertad en la elección del lenguaje
– Todas las facilidades de la plataforma .NET están disponibles a todos los lenguajes de programación .NET
– Los componentes de una aplicación .NET pueden ser escritos en distintos lenguajes de alto nivel compatibles con la plataforma
• Herramientas compartidas– Debuggers, profilers, analizadores de código, y otras
trabajan para todos los lenguajes
![Page 60: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/60.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Instalación y Administración más simples• Unidades de Ensamblado (“Assemblies”)
– Mínima unidad de distribución, versionado y administración de seguridad de aplicaciones .NET
– Auto-descriptas a través de un manifiesto (“manifest”)
• Instalaciones Cero-impacto– Aplicaciones y componentes pueden ser
compartidas o privadas• Versioning
– Múltiples versiones del mismo componente pueden co-existir, aún en el mismo proceso
![Page 61: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/61.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Extensibilidad• El Framework no es una “caja negra”• Sus clases pueden ser extendidas a través del
mecanismo de herencia– A diferencia de COM, usamos y extendemos las
clases en si mismas, no un “wrapper”• Herencia entre distintos lenguajes
![Page 62: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/62.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Interoperabilidad
.NET Framework Servicios Web XML
C#
C++ VB
Otros... .NET
COMCOM INTEROP
![Page 63: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/63.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Además
![Page 64: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/64.jpg)
Moneando
• El Proyecto MONO es una implementación en código abierto de las herramientas del Framework .NET
• Desarrollado por Miguel de Icaza e impulsado por Novell.• Permite ejecutar aplicaciones desarrolladas en .NET sobre
las plataformas:- Windows- Linux- MAC OS
Proyecto Mono: http://www.go-mono.com/
![Page 65: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/65.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Y Por Fin……¿Qué le paso a COBOL?
Pues con la ayuda del .NET Framework, se pudo rescatar esa reliquia (que en realidad es importante por que muchas dependencias importantes aun lo usan). Fujitsu se dio a la tarea de hacer la versión .NET llamada NetCOBOL.
Así que todavía hay COBOL para un buen rato
![Page 66: Tecnologia microsoft .net](https://reader035.fdocumento.com/reader035/viewer/2022062216/55c61dabbb61ebda568b466c/html5/thumbnails/66.jpg)
Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com
Gracias
Bernardo A. Robelo Jirón
Email: [email protected]
Blog: bernardorobelo.blogspot.com