Microsoft.Net. CLR (Common Language Runtime)
|
|
- Victoria Murillo Parra
- hace 6 años
- Vistas:
Transcripción
1 Universidad de Oviedo Departamento de Informática Microsoft.Net. CLR (Common Language Runtime) Junio, 2002 Introducción Necesidad de una Infraestructura El desarrollo de aplicaciones software es una tarea en sí compleja La apertura de éstas a entornos distribuidos (Internet) la hace todavía más compleja Puede dar lugar al fracaso de un proyecto Los requisitos de infraestructura de las aplicaciones distribuidas son los mismos, por qué no ofrecerlos en una plataforma? Microsoft.net es una plataforma que ofrece la infraestructura para resolver los problemas comunes del desarrollo de aplicaciones distribuidas 1
2 .net Framework Introducción.net Framework proporciona soluciones prefabricadas para el desarrollo de aplicaciones distribuidas. Consta de: 1. Common Language Runtime (CLR) Proporciona el entorno de ejecución de todas las aplicaciones del sistema Proporciona una capa intermedia entre el sistema operativo y las aplicaciones Su diseño se basa en el concepto de máquina virtual o abstracta 2. Librerías de clases: Base Class Libraries (BCL), WinForms, Win32, ADO.NET Plataforma de Aplicaciones Web: ASP.NET y Servicios Web CLR Introducción La utilización del CLR aporta las siguientes ventajas: 1. Disponibilidad de las características de cualquier lenguaje: La elección del lenguaje estará condicionada por el dominio del problema, no por otras características librerías, eficiencia, frameworks... Puedo utilizar el API de Java desde otros lenguajes? 2. Heterogeneidad: Internet es una arquitectura heterogénea, las aplicaciones deberían poder ejecutarse de forma independiente a la plataforma 3. Interoperabilidad de aplicaciones orientadas a objetos, independientemente de los lenguajes de programación seleccionados 4. Gestión automática de memoria: la gestión de memoria es compleja en aplicaciones de servidor 2
3 CLR (II) Introducción 5. El mantenimiento de aplicaciones da lugar a versiones de componentes OO utilizados por diversas aplicaciones. La coexistencia de distintas versiones de componentes demandada por distintos clientes debe ser gestionada sin incoherencias 6. Las aplicaciones distribuidas por redes son cada vez más un canal de adquisición y ejecución de software. La limitación de acceso a recursos por aplicaciones posee mayor veracidad que un sistema todo o nada de certificados 7. Organización de las funciones del sistema operativo mediante jerarquías 8. Debe mantenerse compatibilidad hacia atrás para crear e interactuar con código existente (legacy code) Independencia del Lenguaje Expresividad de los Lenguajes Siempre puede aparecer la controversia acerca de qué lenguaje de programación utilizar Lo ideal es que la elección de un lenguaje estuviera condicionada al dominio del problema (parcial o total) a resolver Las facetas propias de: Librerías Gestión de memoria Eficiencia Tamaño de los programas a utilizar Componentes Portabilidad Distribución Persistencia estarán ligadas al entorno de ejecución (al CLR), no al lenguaje 3
4 Todos se ejecutan sobre el mismo entorno de ejecución: el CLR! Procesamiento del Lenguaje Independencia del Lenguaje Entorno Computacional Único JScript Perl Python Orientado a Objetos VBS VBA VB.NET C# C++ Dinámico/ Scripting Haskell Script Paradigma Funcional /Lógico Prolog Haskell Estático ML Solución Independencia del Lenguaje Objetivos Principales: Ejecución Más de aplicaciones 20 lenguajes Generación de código nativo (JIT) Pascal C# Gestión Oberonde Memoria Python (GC) Scheme Cobol Gestión de versiones (componentes) Mondrian Mercury Seguridad (acceso recursos) SML Manejo de VBexcepciones JScript Eiffel Haskell Único Sistema de tipos Independencia Compilación de la plataforma Interoperabilidad con COM Código Intermedio: IL (Intermediate Language), MSIL (Microsoft...), CIL (Common...) Ejecución CLR Sistema Operativo 4
5 Demo Independencia del Lenguaje ILASM (Intermediate Language Assembler): Hola.il Angulo.il Heterogeneidad Independencia de la Plataforma Internet es heterogéneo Una aplicación deberá ser capaz de ejecutarse en cualquier plataforma Windows o no. Write one, run anywhere La utilización de una plataforma virtual, permite que una aplicación se ejecute en cualquier dispositivo capaz de ejecutar una implementación del CLR Muy útil para distribuir código por redes 5
6 Portabilidad de un Lenguaje Máquina abstracta: Diseño de un procesador computacional sin intención de que éste sea desarrollado de forma física La utilización de una plataforma intermedia abstracta (máquina virtual) ya fue utilizada en los 70 por la UCSD para construir código pascal portable (p-code) Posteriormente, se utilizó en Scheme, Prolog, Smalltalk y Java Pascal P-code Compilación Heterogeneidad Ejecución Máquina-P Máquina-P Máquina-P Máquina-P Zilog Z80 DEC LSI Motorola Intel 8088 Distribución de Código Heterogeneidad Las aplicaciones podrán ejecutarse en todas las plataformas que posean una implementación de la máquina abstracta Se facilita la distribución de código por la red: En el caso de Java, permitía ejecutar Applets en cualquier plataforma (navegador) Aplicación Compilación Código Portable 6
7 Heterogeneidad Portabilidad de un Único Lenguaje La utilización de máquinas virtuales ha estado enfocada a la portabilidad de un único lenguaje Lo mejor de la plataforma Java, sólo es accesible desde el lenguaje Java : Modelo de componentes (JavaBeans) Distribución (RMI, applets, java.net...) Serialización Gestión de memoria Conjunto de librerías Servidores de aplicaciones J2EE... La idea de Microsoft.net es que todas estas ventajas sean accesibles directamente (sin bridges) desde cualquier lenguaje Heterogeneidad Common Language Runtime El CLR fue diseñado para poder ejecutar un elevado número de lenguajes de programación (Common) Es capaz de ejecutar cualquier lenguaje? Existen algún lenguaje (o características de algún lenguaje), que no puede computar de un modo directo: Forth El concepto de continuation de Scheme C# VB Eiffel Haskell Compilación CLR Sistema Operativo Ejecución 7
8 Demo Heterogeneidad HolaVB.vb HolaCS.cs ILDASM (Intemediate Language Disassembler) Comparación de código generado Eficiencia Heterogeneidad La utilización de un único motor computacional (CLR) proporciona multitud de ventajas, pero un claro inconveniente: la eficiencia La interpretación es más cara que la ejecución nativa, puesto que existe un nivel computacional más Es el CLR un intérprete? NO (necesariamente) En lugar de interpretar el código, el CLR (Compilador JIT): Compila dinámicamente el código a su representación nativa en la plataforma de ejecución Optimiza el código generado (e.g., inlining) Aplicación Código Portable Compilador JIT Compilación Ejecución 8
9 Utilización del JIT Heterogeneidad La utilización de la compilación bajo demanda (JIT) es óptima para aplicaciones descargadas de una red Se ejecutan de un modo esporádico Su actualización es frecuente Sin embargo, la generación de código nativo, cada vez que se ejecuta una aplicación de escritorio, es una tarea inútil: Conviene llevar en el sistema un almacén de imágenes nativas de las aplicaciones generadas Demo Heterogeneidad JIT.cs NGEN (Native Generator) Compilación / Ejecución: Debug / sin imagen (ngen /delete) No-debug / con imagen (ngen) 9
10 Interoperabilidad Interacción de Aplicaciones La utilización de una máquina virtual permite que las aplicaciones interactúen independientemente del lenguaje de programación empleado COM trataba de conseguir dicho objetivo, pero tiene los siguientes inconvenientes: Es necesaria una elevada infraestructura para cada componente: factorías de clases, contadores de referencias de interfaz, GUIDs, Progs IDs, necesidad o no de IDispatch... No se comparte una única implementación de un modelo computacional: la traducción de los distintos elementos es una tarea compleja String(Pascal)!= String(C++)!= String(Java) La representación de los objetos es distinta para cada lenguaje... Metadatos Interoperabilidad La interacción entre aplicaciones en.net es directa gracias a los metadatos (metadata): la representación de los datos es común en todos los lenguajes de programación Un archivo.exe en.net es portable (portable executable) puesto que consta de: Código gestionado (managed code): Código intermedio que será ejecutado por el CLR en cualquier plataforma Metadatos (metadata): Descripción de todas las estructuras de una aplicación (clases, atributos, métodos, signaturas...) De este modo, la interacción entre aplicaciones es directa, sin necesidad de traducciones previas 10
11 Demo Interoperabilidad Modificar Holacs.cs para que invoque a HolaVB.Mostrar() Compilar Holavb.vb con /target:library Compilar Holacs.cs con /r:holavb.dll Holacs.exe: Interacción directa de dos lenguajes de dos lenguajes de programación (VB y C#) Ensamblados Interoperabilidad Un ensamblado (assembly) es una colección lógica de recursos de una aplicación (archivos.exe,.dll,.ini,.jpg...) Es una unidad reutilizable de implantación (despliegue); componente La generación de ensamblados puede llevarse a cabo mediante la utilización del Assembly Linker (AL.exe) del.net Framework Los ensamblados poseen un conjunto de módulos: código gestionado (archivos.exe y.dll ) 11
12 Módulos Interoperabilidad Los ensamblados poseen un conjunto de módulos: código gestionado (archivos.exe y.dll ) Los cada ensamblado ha de tener un módulo principal Los distintos módulos Módulo Principal de un ensamblado CIL interactúan entre sí mediante la Metadatos utilización de sus metadatos: Metadatos Metadatos CIL CIL Módulo 2 Módulo 3 Ensamblado Manifiestos Interoperabilidad Todo ensamblado contiene un manifiesto (manifest): metadatos que describen el ensamblado y sus módulos. Consta de: Dependencias con otros ensamblados (.assembly extern) Identificación de ensamblado (nombre) Versión Valor hash (CRC) Clave pública (opcional) Módulo principal (.module) Módulos secundarios (.module extern) Archivos adicionales (.file) Información adicional de compiladores y herramientas 12
13 Demo Interoperabilidad Mostrar los manifiestos de los dos ensamblados: ILDASM holacs.exe ILDASM holavb.dll Crear un único ensamblado (único manifiesto) con todos los módulos de la aplicación: VBC /target:module /out:holavb.dll holavb.vb CSC /target:module /out:holacs.dll holacs.cs AL holacs.dll,holavb.dll /target:exe /out:ens.exe /main:holacs.main ILDASM ens.exe Gestión de Memoria Liberación Automática En el desarrollo de aplicaciones de servidor la gestión automática de memoria es una tarea crítica: Ejecución continua durante largos periodos Múltiples clientes en aplicaciones multihilo Utilización de protocolos stateless (HTTP) Una de las tareas del CLR es gestionar automáticamente la liberación automática de memoria: recolección de basura (Garbage Collection) 13
14 Infierno de las DLLs Versiones de Componentes DLLs Las aplicaciones se construyen mediante la utilización de componentes El mantenimiento de aplicaciones requiere el mantenimiento de los componentes empleados Los componentes sufren modificaciones y sus nuevas versiones reemplazan las antiguas La compatibilidad hacia atrás no se consigue en multitud de ocasiones: Aplicaciones funcionaban correctamente, al instalar nuevas aplicaciones, dejan de funcionar Este problema se conoce como Infierno de las DLLs (DLL Hell) Ensamblados Versiones de Componentes La sobrescritura de DLLs y su registro en el Registry es eliminada en.net El concepto a utilizar es el de ensamblado: Podrán coexistir diversas versiones del mismo ensamblado en un mismo equipo Los ensamblados no necesitarán entradas en el Registry Existen dos tipos de ensamblados: Privados a una aplicación (ej. ens.exe): Uso exclusivo de una aplicación basta con ubicarlo en su directorio Compartidos por aplicaciones: Se utiliza cuando se desea el componente sea accesible para cualquier aplicación 14
15 Versiones de Componentes Ensamblados Compartidos Un ensamblado compartido se ubica en el GAC (Global Assembly Cache) \\winnt\assembly\ (Windows 2000) \\windows\assembly\ (Windows XP) Éste puede verse con el Assembly Cache Viewer que es una extensión del explorador de archivos No utiliza el Registry ni el Active Directory Para manipular el GAC, tenemos la utilidad GACUTIL del.net framework Nombre Seguro Versiones de Componentes Un nombre nombre seguro o compartido (strong name) consta de: 1. Nombre (identificador) 2. Clave pública del fabricante 3. Versión Con 1 y 2, evitamos la colisión de nombres Con 1, 2 y 3, evitamos la colisión de versiones Los componentes se deben firmar desde el VS.NET o con SN.exe del SDK 15
16 Services Description Discovery Organización de Funciones Llamadas al Sistema System.Web La plataforma.net ofrece el acceso System.Drawing a sus librerías Security Drawing2D Printing dentro del concepto de organización jerárquica SessionState Imaging Text espacio de nombres (namespace) La funcionalidad System.Data del sistema se ofrece System.Xml por medio SQL XSLT Serialization del espacio de nombres System SQLTypes XPath El conjunto de funcionalidades se denomina librería de clases base System (BCL, Base Class Library) Protocols Caching Configuration ADO Design Collections Configuration Diagnostics Globalization UI HtmlControls WebControls IO Net Reflection Resources Security ServiceProcess Text Design Threading System.WinForms ComponentModel Runtime InteropServices Remoting Serialization Interoperabilidad con COM Legacy Code Existen múltiples aplicaciones desarrolladas para las antiguas plataformas Win32. La compatibilidad hacia atrás con este tipo de aplicaciones (lecacy code) es esencial para.net El CLR es capaz de interactuar con COM en dos sentidos para: Acceder desde nuevas aplicaciones.net a módulos o aplicaciones COM, sin necesidad de rescribir éstas Actualizar aplicaciones antiguas con nuevos módulos desarrollados en.net: acceso desde COM a.net 16
17 Acceso a COM Legacy Code Un cliente.net tiene acceso a COM mediante RCW Runtime Callable Wrapper La utilidad TLBIMP del SDK permite crear el RCW a partir de un componente COM Importando el espacio de nombres, podemos crear objetos mediante new (CoCreateInstance) En el paso de mensajes se efectúa el marshaling de parámetros de.net a COM El decremento de la referencia a este objeto es gestionada por el recolector de basura Cliente.net RCW Componente COM Demo Legacy Code Desde VS.NET, Project Add Reference se crea un espacio de nombres envoltorio que traduce su acceso al propio del componente COM Añadir una referencia Automation al Word Word.Application ap=new Word.ApplicationClass(); 17
18 Acceso desde COM Legacy Code.net Framework permite que un cliente COM pueda acceder a objetos.net CCW, COM Callable Wrapper ofrece dicha funcionalidad: El componente ha de estar firmado El componente ha de estar en el GAC La clase.net que sea accesible desde COM, debe ofrecer un constructor sin parámetros Es necesario incluir una entrada en el Registry, mediante RegAsm.exe del SDK Se crean los interfaces IUnknown e IDispatch más los interfaces de las clases públicas Clase.net MiInterface CCW IUnknown MiInterface IDispatch Cliente COM Carencias de Seguridad Seguridad La mayoría de sistemas de seguridad se basan en listas de control de acceso (ACL) Este sistema de acceso es correcto para aplicaciones de escritorio, pero qué sucede con la distribución de aplicaciones por medio de redes (Internet)? Authenticode es realmente un sistema de responsabilidad, no de seguridad: identifica quien produjo el daño, pero no lo evita Lo que se desea es limitar las operaciones que puedan realizar los distintos fragmentos de código en función del nivel de confianza (trust management) que tengan 18
19 Acceso a Recursos Seguridad El administrador otorga los niveles de confianza a los distintos ensamblados del sistema \\WINDOWS\Microsoft.NET\Framework\[version]\CONFIG\security.config El CLR ejecuta el código de las aplicaciones limitando el acceso a los recursos en base a su configuración Se puede dar un nivel de confianza (IPermission) a ensamblados agrupados por distintos criterios (PermissionSet) Procedencia: Internet, LocalIntranet, Execution (Desktop)... Fabricante: ECMA, Microsoft, My_Computer_Zone, All_Code... Se trata pues de un sistema de privilegio de acceso a recursos por código, no usuario Documentación S. Lidin. Inside Microsoft.net IL Assembler Microsoft Press, 2002 J. Gough Compiling for the.net Common Language Runtime Bertrand Meyer Series Editor, 2002 msdn.microsoft.com/net Download de.net Framework SDK Documentación (Common Language Specification, MS-IL Assembly Programmers Guide...) Artículos de.net E. Meijer, J. Gough Technical Overview of the Common Language Runtime Microsoft.com,
20 Universidad de Oviedo Departamento de Informática Microsoft.Net. CLR (Common Language Runtime) Junio,
Introducción a la plataforma.net. Tema I.b: Rafael Corchuelo POOHV
Tema I.b: Introducción a la plataforma.net Rafael Corchuelo POOHV Índice Introducción Algo de marketing Elementos de.net Conclusiones Índice Introducción Algo de marketing Elementos de.net Conclusiones
Más detallesLenguajes y herramientas de.net
Lenguajes y herramientas de.net Juan Manuel Cueva Lovelle cueva@lsi lsi.uniovi.es www.di di.uniovi.es/~ /~cueva Departamento de Informática OOTLab www.ootlab ootlab.uniovi.es.net Framework Reglas de diseño
Más detallesDesarrollo de Aplicaciones Distribuidas con Servicios Web
Desarrollo de Aplicaciones Distribuidas con Servicios Web Email: javier@softwareandina.com Tema 1 La Plataforma.NET Agenda Microsoft.NET Componentes.NET framework Common Language Runtime Framework Class
Más detallesCurso de Programación II con Visual Basic.Net
Curso de Programación II con Visual Basic.Net Conceptos básicos de.net Plataforma.NET? Visual Studio.NET?.NET AYUDA!.NET Framework? Visual Basic.NET? Qué es la plataforma Microsoft.NET? Visual Studio.NET
Más detallesProgramación con C# Tema 2: Introducción a.net
Programación con C# Tema 2: Introducción n a.net Índice Introducción Características de.net Componentes.NET Plataforma.NET Ejemplo Enlaces de interés Introducción Microsoft.NET es el conjunto de nuevas
Más detallesDispositivos móviles. Dispositivos móviles
Juan Manuel Cueva Lovelle cueva@lsi lsi.uniovi.es www.di di.uniovi.es/~ /~cueva Departamento de Informática OOTLab www.ootlab ootlab.uniovi.es Contenidos Sistemas Operativos Máquinas virtuales Software
Más detallesArquitectura.NET. César Julio Bustacara M. 2008
Arquitectura.NET César Julio Bustacara M. 2008 Agenda Guías de arquitectura, diseño y código Arquitectura del.net Framework y la CLR Acceso a datos: ADO.NET Guías de arquitectura / diseño y código Guías
Más detalles1. Introducción a la plataforma.net
1. Introducción a la plataforma.net Integración de Sistemas Diseño e implementación con.net Contenido Introducción.NET Framework Acceso a datos con ADO.NET Windows Forms Aplicaciones Web: ASP.NET Herramientas
Más detallesPáginas WEB Estáticas
Páginas WEB Estáticas Páginas WEB Estáticas Páginas WEB Estáticas Limitaciones Páginas Estáticas Limitaciones Páginas Estáticas No permite personalizar página WEB Seguridad Código Abierto Limitaciones
Más detalles1: La plataforma.net (.NET Framework)
Programació amb C#.NET Jordi Linares i Pellicer 1: La plataforma.net (.NET Framework) Índice! Introducción! Características de.net! Componentes.NET! Plataforma.NET! Ejemplo Introducción! Microsoft.NET
Más detallesProgramación de Aplicaciones de Escritorio
ENSAMBLADOS Entorno de ejecución común de los lenguajes El proceso de ejecución de cualquier aplicación incluye los pasos siguientes: 1.- Diseñar y escribir el código fuente. 2.- Compilar el código fuente
Más detallesIntroducción al.net Framework. Introducción al.net Framework. Diseño Basado en Componentes. Curso 2008 / 09. Diseño Basado en Componentes
Introducción al.net Framework Diseño Basado en Componentes Introducción al.net Framework Arquitectura.NET Herramientas, lenguajes y tecnologías.net.net Framework Ingeniería Informática Universidad Carlos
Más detallesPanorámica general de.net
Cod. 1728.61 PLATAFORMA.NET Y SERVICIOS WEB Panorámica general de.net Juan Manuel Cueva Lovelle cueva@lsi lsi.uniovi.es Departamento de Informática OOTLab www.ootlab ootlab.uniovi.es Qué es.net? Una plataforma
Más detallesPanorámica general de.net
Panorámica general de.net Juan Manuel Cueva Lovelle cueva@lsi lsi.uniovi.es www.di di.uniovi.es/~ /~cueva Departamento de Informática OOTLab www.ootlab ootlab.uniovi.es Qué es.net? Una plataforma de desarrollo
Más detallesPrograma de actualización profesional ACTI.NET Desarrollo de aplicaciones locales y web con tecnología VB.NET
Programa de actualización profesional ACTI.NET Desarrollo de aplicaciones locales y web con tecnología VB.NET OBJETIVOS: Conocer de las bondades del paradigma de orientación a objetos en.net y su lenguaje
Más detallesCharla Microsoft.NET un mundo de posibilidades. Julio Cesar Pupo Vega CIDS
Charla Microsoft.NET un mundo de posibilidades Julio Cesar Pupo Vega CIDS OBJETIVOS El que quiera tener razón y habla solo, de seguro logrará su objetivo. Johann Wolfgang Goethe Presentar una introducción
Más detallesPrograma de actualización profesional ACTI.NET Desarrollo de aplicaciones locales y web con tecnología VB.NET 2010
Programa de actualización profesional ACTI.NET Desarrollo de aplicaciones locales y web con tecnología VB.NET 2010 OBJETIVOS: Conocer de las bondades del paradigma de orientación a objetos en.net y su
Más detallesDispositivos móviles
Juan Manuel Cueva Lovelle cueva@lsi lsi.uniovi.es www.di di.uniovi.es/~ /~cueva Departamento de Informática OOTLab www.ootlab ootlab.uniovi.es Contenidos Sistemas Operativos Máquinas virtuales Software
Más detallesTemas a Tratar. Introducción a Microsoft.NET Componentes Fundamentales Funcionamiento Interno del CLR Bibliotecas Principales Ventajas de.
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,
Más detalles.NET Framework. Billy Reynoso billyr@microsoft.com
.NET Framework Billy Reynoso billyr@microsoft.com Plataforma.NET Visual Studio.NET.NET Enterprise Servers.NET Framework.NET Building Blocks Services Sistemas Operativos en servers, desktop y dispositivos
Más detallesComparativa y evaluación n de las herramientas de programación n para desarrollar aplicaciones en dispositivos Pocket PC
Comparativa y evaluación n de las herramientas de programación n para desarrollar aplicaciones en dispositivos Pocket PC M.C. Juan Gabriel González Serna Dra. Azucena Montes Rendón Ing. Juan Carlos Olivares
Más detallesIntroducción a la plataforma.net
Introducción a la plataforma.net Integración de Sistemas Parte II. Diseño e implementación de aplicaciones Web con.net Contenido Introducción.NET Framework Acceso a datos con ADO.NET Windows Forms Aplicaciones
Más detallesProgramación n con Visual Basic.NET. Visual Basic.NET. Plataforma.NET. Francisco Ruiz Manuel Ángel Serrano
Programación n con Visual Basic.NET 1 Plataforma.NET Francisco Ruiz Manuel Ángel Serrano Escuela Superior de Informática Universidad de Castilla-La Mancha Programación n con Visual Basic.NET Contenidos
Más detallesProgramación n con Visual Basic.NET
Programación n con Visual Basic.NET 1 Plataforma.NET Francisco Ruiz Manuel Ángel Serrano Escuela Superior de Informática Universidad de Castilla-La Mancha Programación n con Visual Basic.NET Contenidos
Más detallesFundamentos de Programación CAPÍTULO 3 EL LENGUAJE C# Ing. Bruno López Takeyas, M.C. 1
CAPÍTULO 3 EL LENGUAJE C# 2 http://www.itnuevolaredo.edu.mx/takeyas 1 Preguntas detonadoras Qué es el framework.net? Cómo está organizado? Para qué sirve? Cuál es la herramienta de software necesaria para
Más detallesLa máquina virtual de.net CLR, CLI y Rotor
CLR, CLI y Rotor Juan Manuel Cueva Lovelle cueva@lsi lsi.uniovi.es www.di di.uniovi.es/~ /~cueva Departamento de Informática OOTLab www.ootlab ootlab.uniovi.es CLR VB C++ C# JScript J# Common Language
Más detallesIntroducción al Framework.NET y C# Nicolás M. Paez Algoritmos y Programacion 3 npaez@fi.uba.ar
Introducción al Framework.NET y C# Nicolás M. Paez Algoritmos y Programacion 3 npaez@fi.uba.ar Agenda La plataforma.net.net Framework El lenguaje C# Herramientas de desarrollo Por donde empezar La plataforma.net
Más detallesSERVICIO NACIONAL DE APRENDIZAJE SENA SISTEMA INTEGRADO DE GESTIÓN Procedimiento Ejecución de la Formación Profesional Integral GUÍA DE APRENDIZAJE
Código: F004-P006- GFPI Nº 23 1. IDENTIFICACIÓN DE LA GUIA DE APRENDIZAJE Programa de Formación: Técnico en programación de software Código:228120 Versión: 102 Nombre del Proyecto: SISTEMA DE INFORMACIÓN
Más detallesIntroducción a la plataforma.net
Introducción a la plataforma.net Integración de Sistemas Parte II. Diseño e implementación de aplicaciones Web con.net Objetivos Conocer el origen y las características de la plataforma.net Estudiar el
Más detallesDesarrollo de aplicaciones para dispositivos móviles con.net
Desarrollo de aplicaciones para dispositivos móviles con.net Programación de Sistemas Empotrados y Móviles (PSEM) Marco A. Peña marcoa@ac.upc.edu Índice de contenidos Escenarios Aplicaciones pcacoesweb
Más detallesLa máquina virtual de.net CLR, CLI y Rotor
CLR, CLI y Rotor Juan Manuel Cueva Lovelle cueva@lsi lsi.uniovi.es www.di di.uniovi.es/~ /~cueva Departamento de Informática OOTLab www.ootlab ootlab.uniovi.es CLR VB C++ C# JScript J# Common Language
Más detallesDesarrollo de aplicaciones distribuidas con.net: Introducción a.net
Desarrollo de aplicaciones distribuidas con.net: Introducción a.net Grupo ARCOS Desarrollo de Aplicaciones Distribuidas Ingeniería Informática Universidad Carlos III de Madrid Contenidos 1. Introducción
Más detallesInstalación Visual Basic 2008 Express
Instalación Visual Basic 2008 Express 1.- Preparación del entorno de trabajo. Antes de poder comenzar a escribir aplicaciones para.net Framework, debemos instalar en nuestra máquina de trabajo las herramientas
Más detallesComputación Conociendo la herramienta de cálculo. La Computadora
Computación 1-2017 - Conociendo la herramienta de cálculo La Computadora Sistemas Operativos cómo funcionan? Esquema de relaciones: aplicaciones SO hardware A1 A2 Aplicaciones del usuario An Sistema Operativo
Más detallesCuales son los 6 lenguajes de programacion mas usados actualmente. Cuales son los 6 lenguajes de programación mas usados actualmente.
Cuales son los 6 lenguajes de programacion mas usados actualmente Cuales son los 6 lenguajes de programación mas usados actualmente. Java Es un lenguaje de programación con el cual podemos realizar cualquier
Más detallesAgenda..NET C# Laboratorio #1
PROGRAMACIÓN III Agenda.NET C# Laboratorio #1 .NET Qué es.net? Una arquitectura tecnológica para la creación y distribución de software como servicio. Servicio en cualquier plataforma, cliente en cualquier
Más detallesIMPLEMENTACIÓN DE INTEGRACIÓN DE SISTEMAS HEREDADOS UTILIZANDO WEB SERVICES
CAPÍTULO 5 IMPLEMENTACIÓN DE INTEGRACIÓN DE SISTEMAS HEREDADOS UTILIZANDO WEB SERVICES 5.1 Introducción En el capítulo anterior, se dio a conocer la arquitectura propuesta para la implementación de la
Más detallesTEMA 2 Introducción a C# ANÁLISIS Y DESARROLLO DE APLICACIONES INFORMÁTICAS Curso 2010/2011
TEMA 2 Introducción a C# ANÁLISIS Y DESARROLLO DE APLICACIONES INFORMÁTICAS Curso Origen Nuevo lenguaje de propósito general de Microsoft para la plataforma.net Es el único que ha sido diseñado específicamente.net
Más detallesTaller de Sistemas de Información 1
Taller de Sistemas de Información 1.NET Framework Contenidos Introducción.NET Framework CLR, CLI, CTS Assembly, Namespace, App Domain IDE Visual Studio INCO- Facultad de Ingeniería Montevideo, Uruguay
Más detallesMicrosoft Visual Studio está basado en.net framework. Definiciones de.net Framework:
1) CONCEPTO La palabra "Visual" hace referencia al método que se utiliza para crear la interfaz gráfica de usuario (GUI). En lugar de escribir numerosas líneas de código para describir la apariencia y
Más detallesGuía práctica Visual Studio 2005
Guía práctica Visual Studio 2005 Agradecimientos Francisco Charte Ojeda Introducción Precedentes La importancia de un entorno integrado Nuevas posibilidades Objetivos de este libro Cómo usar este libro
Más detallesIntroducción a la programación
Introducción a la programación PROGRAMACION I Grado en Matematicas Informática Programación I - 2015/2016 Introducción 1 Introducción a la programación Computador: aparato electrónico capaz de interpretar
Más detallesAnálisis arquitectural y funcional de la maquina virtual en la plataforma J2ME ÍNDICE
ÍNDICE 1. OBJETIVOS.... ERROR! MARCADOR NO 2. INTRODUCCIÓN... ERROR! MARCADOR NO 2.1. ESTRUCTURACIÓN DEL PROYECTO... ERROR! MARCADOR NO 3. INTRODUCCIÓN A LA TECNOLOGÍA JAVA: LA MAQUINA VIRTUAL... ERROR!
Más detallesProgramación I Ing. Pablo M. Flores Jara
Programación I Ing. Pablo M. Flores Jara pablofloresjara@gmail.com www.pablofloresjara.com ENTORNO DE DESARROLLO Ing. Pablo M. Flores Jara pablofloresjara@gmail.com Entorno de Desarrollo Integrado (IDE)
Más detallesVisual Studio 2008 es el conjunto de herramientas de
1. VISUAL STUDIO 2008 Visual Studio 2008 es el conjunto de herramientas de desarrollo y programación creado por Microsoft tanto para aplicaciones Windows como aplicaciones web. La aparición de Visual Studio
Más detallesLenguaje Orientado por Objetos Simple, Poderoso y Fácil de aprender Robusto Interactivo Arquitectura neutral Interpretado y de alto desempeño
Programación Orientada a Objetos Introducción a Java Angela Carrillo Ramos Java: Lenguaje de Programación Por qué surge un lenguaje? Para adaptarse a los cambios de entorno y usos: Independencia de la
Más detallesVersión: 01. Fecha: 01/04/2013. Código: F004-P006-GFPI GUÍA DE APRENDIZAJE Nº 1 1. IDENTIFICACIÓN DE LA GUIA DE APRENDIZAJE
SERVICIO NACIONAL DE APRENDIZAJE SENA GUÍA DE APRENDIZAJE SISTEMA INTEGRADO DE GESTIÓN Proceso Gestión de la Formación Profesional Integral Procedimiento Ejecución de la Formación Profesional Integral
Más detallesPanorámica actual de la Ingeniería Web
Panorámica actual de la Ingeniería Web Juan Manuel Cueva Lovelle cueva@lsi.uniovi.es Departamento de Informática Universidad de Oviedo OOTLab www.ootlab.uniovi.es WEB362 1 Contenidos Qué es la Ingeniería
Más detallesLenguaje de Cuarta Generación de Microsoft:.NET BACHILLERATO EN CIENCIAS DE LA COMPUTACIÓN E INFORMÁTICA DE LA UNIVERSIDAD DE COSTA RICA.
Lenguaje de Cuarta Generación de Microsoft:.NET BACHILLERATO EN CIENCIAS DE LA COMPUTACIÓN E INFORMÁTICA DE LA UNIVERSIDAD DE COSTA RICA Carlos Gourzong Gómez A32314 E-mail: cgourzongg@yahoo.es Alonso
Más detallesIntroducción a la plataforma.net
Introducción a la plataforma.net Integración de Sistemas Parte II. Diseño e implementación de aplicaciones Web con.net Contenido Introducción.NET Framework Acceso a datos con ADO.NET Windows Forms Aplicaciones
Más detallesTecnologías de Desarrollo Web I N G. E N R I Q U E M A R T E L O L Ó P E Z U N I V E R S I D A D G E R A R D O B A R R I O S
Tecnologías de Desarrollo Web I N G. E N R I Q U E M A R T E L O L Ó P E Z U N I V E R S I D A D G E R A R D O B A R R I O S Arquitectura Web Básica Arquitectura Web Contenido Estático Arquitectura Web
Más detallesTema 1 Introducción al paradigma de programación orientado a objetos
Tema 1 Introducción al paradigma de programación orientado a objetos Programación Orientada a Objetos Curso 2013/2014 Contenido Paradigmas de programación vs. Lenguajes de programación. Evolución de los
Más detallesLenguajes de Programación
Lenguajes de ción Bloque 1. Complemento a Tema 1 1. Historia 2. Paradigmas de programación 3. Fases creación de un programa 4. Traducción: compilación e interpretación 1ª Generación Ordenadores sólo entienden
Más detallesIntroducción a la programación 2005 Francisco Charte Ojeda
Introducción a la programación 2005 Francisco Charte Ojeda Agradecimientos Introducción Programar es enseñar Iniciación a la programación Finalidad de este libro 1. Aplicaciones de la programación Paco
Más detallesLenguajes. Ciclo de desarrollo. Cód. Máquina Lenguajes alto nivel Lenguaje ensamblador 6-2. Introducción a los microprocesadores IIE FI - UDELAR
6-1 Lenguajes Cód. Máquina Lenguajes alto nivel Lenguaje ensamblador Ciclo de desarrollo 6-2 Nivel de abstracción bajo ceros y unos. Es lo único que entiende el procesador. Objetivo: código de máquina
Más detallesImplementación de Componentes
Implementación de Componentes Concepto Un componente es una parte no trivial, casi independiente, y reemplazable de un sistema que llena claramente una funcionalidad dentro de un contexto en una arquitectura
Más detallesObjetivos. Conocer los avances en programación y diseño web a través de las aportaciones de lenguajes como HTML, PHP y DHTML
Objetivos Conocer los avances en programación y diseño web a través de las aportaciones de lenguajes como HTML, PHP y DHTML Introducirse en el conocimiento de la plataforma de gestión de aplicaciones ASP.NET
Más detalles5.6. Tendencias e innovaciones Portabilidad: Diversidad de ambientes: Oportunidad en su aparición:
5.6. Tendencias e innovaciones La plataforma J2EE resulta una propuesta atractiva, interesante y de vanguardia que responde, de manera natural a la demanda actual para el desarrollo de software, bajo el
Más detallesMASTER PROFESIONAL C# 5 Y ASP.NET MVC 5
MASTER PROFESIONAL C# 5 Y ASP.NET MVC 5 TEMARIO MODULO I. EL LENGUAJE C# 5 Introducción al desarrollo de soluciones informáticas. El Framework.NET. o Descripción de la plataforma. o Las especificaciones
Más detallesVisual Basic.NET. Programa de Estudio.
Visual Basic.NET Programa de Estudio Visual Basic.NET Aprende a construir aplicaciones con Visual Basic.NET y domina por completo una de las tecnologías mas utilizadas en el mercado. Aprende a desarrollar
Más detallesASP.NET PROGRAMA FORMATIVO. Modalidad: Teleformación. Duración: 56 horas. Objetivos:
ASP.NET Modalidad: Teleformación Duración: 56 horas. Objetivos: Comprender el marco de trabajo de Microsoft.NET y ASP.NET, crear componentes en Visual Basic.NET o C#, crear una aplicación en ASP.NET usando
Más detallesJAVA 7 Los fundamentos del lenguaje Java
Presentación 1. Historia 9 1.1 Por qué Java? 9 1.2 Objetivos del diseño de Java 10 1.3 Auge de Java 11 2. Características de Java 12 2.1 El lenguaje de programación Java 12 2.1.1 Sencillo 13 2.1.2 Orientado
Más detallesPráctica 1. Entorno de Trabajo e Introducción a Java. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos. Versión 1.0.
Práctica 1 Entorno de Trabajo e Introducción a Java Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.2 Índice Introducción a Java JDK (Java Development Kit) Eclipse
Más detallesDiplomado C#.NET con Visual Studio
Diplomado C#.NET con Visual Studio Descripción Desde la primera versión aparecida con Visual Studio en 2002, el lenguaje C# siguió una evolución constante hasta esta versión 4.0. Actualmente es el lenguaje
Más detallesAspectos pragmáticos de los lenguajes de programación
Aspectos pragmáticos de los lenguajes de programación 6.2 Principios de diseño de los lenguajes No hay lenguaje de programación perfecto. Ciertos lenguajes se usan más que otros. C: programación de sistemas
Más detallesIntroducción a la plataforma Microsoft.NET
Introducción a la plataforma Microsoft.NET Índice Descripción 1 Qué es la plataforma Microsoft.NET? 2 Qué es el.net Framework? 5 Cuáles son los componentes del.net Framework? 12 Cuáles son las mejoras
Más detallesProgramación con Visual C#
Programación con Visual C# Duración: 40.00 horas Descripción Visual C# es uno de los lenguajes de programación desarrollados por Microsoft, basado en la programación orientada a objetos. Es imprescindible
Más detallesUNIVERSIDAD DE LA HUASTECA
UNIVERSIDAD DE LA HUASTECA VERACRUZANA PLANEACIÓN Y ARTEFACTOS INGENIERIA DE SOFTWARE C A T E D R Á T I C O : N o m b r e d e l d o c e n t e P R E S E N T A N : N o m b r e d e l o s i n t e g r a n t
Más detallesObjetivos y Temario CURSO VISUAL BASIC 2010
Objetivos y Temario CURSO VISUAL BASIC 2010 OBJETIVOS Este curso sobre VB.NET se dirige a los desarrolladores, incluso principiantes, que desean dominar Visual Basic.NET. Después de una descripción del
Más detallesDIPLOMADO EN MICROSOFT VISUAL STUDIO
DIPLOMADO EN MICROSOFT VISUAL STUDIO Este diplomado tiene como objetivos proporcionar al estudiante conocimientos sobre el entorno.net y su aplicación al lenguaje Visual Basic.NET, además de conocer la
Más detallesUnidad I Introducción a la programación de Sistemas. M.C. Juan Carlos Olivares Rojas
Unidad I Introducción a la programación de Sistemas M.C. Juan Carlos Olivares Rojas Agenda 1.1 Qué es y que estudia la programación de sistemas? 1.2 Herramientas desarrolladas con la teoría de programación
Más detallesLenguajes de Programación 2 Introducción a Java
Lenguajes de Programación 2 Introducción a Java PUCP Lenguajes de Programación 2 Lenguajes de Programación Un programa es un conjunto ordenado de instrucciones que se dan a la computadora indicándole las
Más detallesObjetivos y Temario CURSO JAVA 7
Objetivos y Temario CURSO JAVA 7 OBJETIVOS Este curso se dirige a todos aquellos informáticos que quieran desarrollar en Java. Tanto si es principiante como si ya tiene experiencia con otro lenguaje, el
Más detallesCurso de Programación en C# (40 horas)
Curso de Programación en C# (40 horas) Descripción: C# (pronunciado C sharp en inglés) es un lenguaje de programación orientado a objetos desarrollado y estandarizado por Microsoft como parte de su plataforma.net,
Más detallesTECNOLOGIA.NET. Antes de decir qué es.net, es conveniente aclarar qué NO es.net:
Página 1 de 16 TECNOLOGIA.NET Antes de decir qué es.net, es conveniente aclarar qué NO es.net:.net no es un sistema operativo, como si lo es Microsoft Windows en sus distintas versiones..net no es un Lenguaje
Más detallesEstructura de Datos Unidad 1: Repaso del Lenguaje Java
Estructura de Datos Unidad 1: Repaso del Lenguaje Java Introducción Java es un lenguaje de programación orientado a objetos, desarrollado por Sun Microsystems a principios de 1991, con el que se van a
Más detallesTAREA 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS.
1 TAREA 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS. 1- Cuáles son las principales funciones de un sistema operativo? Los Sistemas Operativos tienen como objetivos o funciones principales lo siguiente; Comodidad;
Más detallesEvolución del software y su situación actual
Evolución del software y su situación actual El software es el conjunto de programas que permite emplear la PC, es decir, es el medio de comunicación con la computadora, el control de sus funciones y su
Más detallesRMI. Aplicaciones Distribuidas
RMI Aplicaciones Distribuidas Contenido Objetos Distribuidos y RMI. Interface Remota. Clase Implementación. Referencias Remotas. Registro RMI. Paso de parámetros. Descarga dinámica de código. Desarrollo
Más detallesAsignatura: Plataformas de Desarrollo de Software
Asignatura: Plataformas de Desarrollo de Software Cuatrimestre: 1º ECTS: 6 Carácter: OB Contenidos: ID C1 C2 C3 Descripción Desarrollo de aplicaciones informáticas en entornos de desarrollo Java. Desarrollo
Más detallesUniversidad Carlos III de Madrid Dpto. de Ingeniería Telemática
ÏT Universidad Carlos III de Madrid Dpto. de Ingeniería Telemática LABORATORIO DE TELEMATICA Guia de Instalación del API NEPAL Prof. Dr. José Ignacio Moreno Novella Ingeniería de Telecomunicación. 3 er
Más detallesDesarrollo.NET con Sharepoint
BECANET1 Desarrollo.NET con Sharepoint Fabricante: Indra Grupo: Bases de Datos Subgrupo: Visual Studio 2010 Formación: Indra Horas: 196 Personal de INDRA Dirigido a Contenidos Módulo 1 Arquitectura Net
Más detallesUnidad 2: Introducción a Programación Orientada a Objetos y UML
Unidad 1: Introducción a Microsoft.NET Microsoft.net Tiempo Común de Ejecución del Lenguaje (CLR) Lenguaje Intermedio de Microsoft (MSIL) Metadatos Ensamblados Librería de clase base (BCL) Sistema de Tipo
Más detallesPresentación del Curso Presencial. Programación en Java Nivel Básico
Presentación del Curso Presencial Programación en Java Nivel Básico Tabla de contenido Presentación del curso... 3 Objetivos de aprendizaje... 6 Contenidos del curso... 7 Competencias previas... 9 Recursos...
Más detallesTEMA 0 Organización de la asignatura ANÁLISIS Y DESARROLLO DE APLICACIONES INFORMÁTICAS Curso 2010/2011
TEMA 0 Organización de la asignatura ANÁLISIS Y DESARROLLO DE APLICACIONES INFORMÁTICAS Curso Profesores José Juan Arranz Justel Despacho: 417 Teléfono: 913366483 Correo electrónico: josejuan.arranz@upm.es
Más detallesProgramming with C# DESCRIPCION MODULOS DE CAPACITACION. Sistemas Informáticos del Valle Módulo 1: Revisión de la sintaxis de C#
Programming with C# DESCRIPCION MODULOS DE CAPACITACION Módulo 1: Revisión de la sintaxis de C# Este módulo repasa la sintaxis del núcleo y las características del lenguaje de programación C#. También
Más detalles20483 Programación en C#
20483B 20483 Programación en C# Fabricante: Microsoft Grupo: Desarrollo Subgrupo: Microsoft Visual Studio 2012 Formación: Presencial Horas: 25 Introducción Este curso enseña a los desarrolladores las habilidades
Más detallesINSTITUTO DE COMPUTACIÓN DE OCCIDENTE
INSTITUTO DE COMPUTACIÓN DE OCCIDENTE PROGRAMACIÓN WEB 32 HTML5 y CSS3 Aprenderás a manejar el lenguaje HTML5 y el CSS3, utilizado para describir y categorizar la estructura y el contenido de las páginas
Más detallesINGENIERÍA DE SOFTWARE. Sesión 4: Diseño de software
INGENIERÍA DE SOFTWARE Sesión 4: Diseño de software Contextualización El diseño de un software es un procedimiento en el que se deben estipular varios elementos antes de comenzar con el desarrollo del
Más detallesMicrosoft.Net. Programación III ISBO EMT CETP - 2013. Prof. L. Carámbula
Microsoft.Net Microsoft.Net.NET es un framework de Microsoft Frame marco Work trabajo Este marco de trabajo brinda: transparencia de redes independencia de plataforma de hardware rápido desarrollo de aplicaciones
Más detallesSINAPSIS. Documento de Arquitectura del Sistema
Ministerio del Poder Popular para Ciencia, Tecnología e Industrias Intermedias Centro Nacional de Tecnologías de Información SINAPSIS Documento de Arquitectura del Sistema 1 de 15 Historial de Revisiones
Más detallesEspecialista en Programación con Visual Basic net Avanzado
Especialista en Programación con Visual Basic net Avanzado Modalidad Online Horario Flexible Descuento Alumnos Duración 180 horas Nivel Superior Subvención Empresas Descripción Detallada Formación Superior
Más detallesCurso: Desarrollo de aplicaciones para escritorio y acceso de datos con.net FRAMEWORK 4.
Curso: Desarrollo de aplicaciones para escritorio y acceso de datos con.net FRAMEWORK 4. Código: 1385 Familia Profesional: Programación. Acreditación: Formación reconocida a través de vías no formales
Más detalles.NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS. Definiciones...2 C# y Java...3 Similitudes...4 Ventajas...
.NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS Definiciones...2 C# y Java.....3 Similitudes...4 Ventajas...4 Definiciones Sobre J2EE J2EE (Java 2 Platform Enterprise Edition)
Más detalles