Publicado el 7 de Noviembre del 2019
1.744 visualizaciones desde el 7 de Noviembre del 2019
2,0 MB
77 paginas
Creado hace 15a (05/10/2009)
HERRAMIENTAS Y
ENTORNOS DE
PROGRAMACIÓN
Tema 3. Entornos de Desarrollo. Caso de Estudio:
Tecnología .NET
Escuela Superior de Informática
Ramón Hervás Lucas - Curso 2009/2010 - HyEP
Herramientas y Entornos de Programación
Tema 3. Entornos de Desarrollo.
!! Entornos de Desarrollo. Caso de Estudio
Tecnología .NET (~ 8 horas)
!! Características generales de .NET
!! Ensamblados (Assemblies)
!! Administración de datos con ADO.NET
!! .NET frente a otras tecnologías
!! El entorno Visual Studio .NET
!! Lenguaje de Programación C#
1
2
1
Herramientas y Entornos de Programación
Tema 3. Entornos de Desarrollo. Características
!! ¿Qué es .NET?
!! .NET es una plataforma para el desarrollo, despliegue y ejecución
de aplicaciones orientadas a servicios sobre entornos altamente
distribuidos.
!! Es el Resultado de la confluencia de dos proyectos:
!! El primero de ellos tenía como objetivo la mejora del desarrollo sobre
las plataformas Windows, prestando una especial atención a la mejora
del modelo COM.
!! El segundo proyecto, conocido como NGWS (Next Generation Windows
Services), tenía como objetivo la creación de una plataforma para el
desarrollo del software como servicio.
!! La plataforma .NET cubre todas las capas del desarrollo de
software, existiendo una alta integración entre las tecnologías de
presentación, de componentes y de acceso a datos.
Herramientas y Entornos de Programación
Tema 3. Entornos de Desarrollo. Características
!! Objetivos de la Tecnología .NET
!! Proporcionar un modelo de programación simple y consistente.
!! A diferencia del modelo anterior, en el cual algunas facilidades del
sistema operativo son ofrecidas mediante DLLs y otras mediante
objetos COM, todos los servicios del framework son proporcionados de
la misma forma mediante un modelo de programación orientado a
objetos.
!! Así mismo, se ha simplificado el modelo de programación, lo que
permite a los desarrolladores centrarse en las cuestiones relativas a
la lógica de la aplicación.
!! Liberar al programador de las cuestiones de infraestructura
(aspectos no funcionales).
!! El framework .NET se encarga de gestionar automáticamente tales
cuestiones como la gestión de la memoria, de los hilos o de los
objetos remotos.
3
4
2
Herramientas y Entornos de Programación
Tema 3. Entornos de Desarrollo. Características
!! Objetivos de la Tecnología .NET
!! Proporcionar integración entre diferentes lenguajes. El problema de la
interoperabilidad ha sido considerado durante muchos años,
desarrollándose varios estándares y arquitecturas con diferente nivel de
éxito:
!! Estándares de representación de datos, que solucionan las cuestiones relativas
al paso de tipos de datos entre distintas máquinas, tales como los formatos
little-endian y big-endian.
!! Estándares arquitecturales, como RPC, CORBA o COM, que solucionan las
cuestiones relativas a la llamada de métodos entre diferentes lenguajes,
procesos o máquinas.
!! Estándares de lenguajes, como ANSI C, que permite la distribución de código
fuente entre distintos compiladores y máquinas.
!! Entornos de ejecución, como los proporcionados por las máquinas virtuales de
SmallTalk y Java, que permiten la ejecución en diferentes máquinas físicas
proporcionando un entorno de ejecución estandarizado.
Sin embargo, ninguno de estos esquemas ha solucionado completamente
los problemas asociados con un entorno de computación distribuido.
Herramientas y Entornos de Programación
Tema 3. Entornos de Desarrollo. Características
!! Objetivos de la Tecnología .NET
!! Proporcionar una ejecución multiplataforma.
!! .NET ha sido diseñado para ser independiente de la plataforma sobre
la cual se ejecutaran las aplicaciones. Para conseguir este objetivo las
aplicaciones .NET se compilan a un lenguaje intermedio denominado
Lenguaje Intermedio de Microsoft o MSIL (Microsoft Intermediate
Language), el cual es independiente de las instrucciones de una CPU
concreta.
!! Proporcionar soporte para arquitecturas fuertemente
acopladas y débilmente acopladas.
!! Para conseguir un buen rendimiento, escalabilidad y confiabilidad con
grandes sistemas distribuidos, hay operaciones en las cuales los
componentes están fuertemente acoplados.
!! Sin embargo, también debe soportarse una comunicación débilmente
acoplada, de forma que una transacción no quede interrumpida o
bloqueada por cualquier dependencia en tiempo de ejecución.
5
6
3
Herramientas y Entornos de Programación
Tema 3. Entornos de Desarrollo. Características
!! Objetivos de la Tecnología .NET
!! Proporcionar un mecanismo de errores consistente.
!! En la plataforma Windows no existe un sistema unificado para el manejo de los errores,
de forma que este se realiza mediante códigos de error Win32, mediante la variable
HRESULT en COM, o mediante el lanzamiento de excepciones. En .NET todos los
errores son manejados mediante un mecanismo de excepciones, el cual permite aislar
el código de manejo de errores del resto, permitiéndose la propagación de excepciones
entre distintos módulos y lenguajes.
!! Proporcionar un mecanismo de seguridad avanzado.
!! Así, la plataforma.NET proporciona un modelo de seguridad basado en la evidencia,
que posee un modelo de control de gran granularidad, pudiendo basarse o no en quien
escribió el código, que intenta hacer dicho código, donde está instalado, y quién está
intentando ejecutar dicho código.
!! Sistema de despliegue simple.
!! Se ha eliminado la necesidad de tratar con el registro, con GUIDs, etc, de forma que la
instalación de una aplicación es tan sencilla como su copia en un directorio.
Herramientas y Entornos de Programación
Tema 3. Entornos de Desarrollo. Características
!! Compatibilidad de Visual Basic.NET
!! Visual Basic.NET NO es 100% compatible con las versiones anteriores
!! Alternativas iniciales
!! Mejorar el código base de Visual Basic para que se ejecute sobre .NET
!! Reconstruir Visual Basic desde cero para aprovechar todas las posibilidades de .NET
!! Objetivos alcanzados
!! Garantía de interoperatividad con el resto de lenguajes .NET
!! Comparte tipos de variables, arrays, tipos definidos por el usuario, clases e interfaces
que C++ y C#.
!! Visual Basic .NET es realmente un lenguaje orientado a objetos
!! Pérdidas
!! Eliminación de cadenas de longitud fija y arrays cuyo índice inicial es distinto a cero
!! Eliminación de características inconsistentes como GoSub/Return
7
8
4
Herramientas y Entornos de Programación
Tema 3. Entornos de Desarrollo. Características
!! Componentes principales
9
Herramientas y Entornos de Programación
Tema 3. Entornos de Desarrollo. Características
!! Lenguaje común en tiempo de ejecución
!! El lenguaje común en tiempo de ejecución, o CLR, es el motor de
ejecución para las aplicaciones de .NET.
!! El CLR puede considerarse como el núcleo de .NET, desempeñando el
papel de una máquina virtual que se encarga de gestionar la ejecución
del código y de proporcionar una serie de servicios a dicho código.
!! Entre los servicios proporcionados por el CLR a las aplicaciones .NET
se encuentran los siguientes:
!! Gestión del código, encargándose de la carga y ejecución del código MSIL.
!! Aislamiento de la memoria de las aplicaciones, de forma que desde el código
perteneciente a un determinado proceso no pueda accederse al código o datos
pertenecientes a otro proceso, lo que permite que un error en una aplicación no
afecte al resto
!! Garantizar la robustez del código mediante la implementación de un Sistema
de Tipos Común o CTS (Common Type System).
10
5
Herramientas y Entornos de Programación
Tema 3. Entornos de Desarrollo. Características
!! Lenguaje común en tiempo de ejecución
!! Servicios del CLR (continuación)
!! Conversión del código MSIL al código nativo, utilizándose para ello técnicas de
compilación “Just In Time” (JIT).
!! Acceso a los metadatos, que contienen información sobre los tipos, y sus
dependencias, definidos en el código.
!! Gestión automática de la memoria, encargándose de gestionar las referencias
de los objetos y de la tareas de recolección de basura.
!! Asegurar la seguridad en los accesos del código a los recursos, la cual estará
en función del nivel de confianza del que goce el código, lo que dependerá de
una serie de factores tales como su origen.
!! Manejo de las excepciones, incluyendo las excepciones entre código escrito en
diferentes lenguajes.
Interoperabilidad con el código no gestionado, lo que incluye desde objetos
COM hasta código incluido en DLLs.
!!
!! Soporte de servicios para los desarrolladores, tales como la depuración.
11
Herramientas y Entornos de Programación
Tema 3. Entornos de Desarrollo. Características
!! Lenguaje común en tiempo de ejecución
!! El CLR es el que posibilita la integración entre diferentes lenguajes,
proporcionando a su vez una mejora en el rendimiento como
consecuencia de los servicios que ofrece, tales como la gestión
automática de la memoria. El CLR esta formado principalmente por tres
componentes:
!! Un Sistema de Tipos Común o CTS, formado por un amplio conjunto de tipos y
operaciones que se encuentran presentes en la mayoría de los lenguajes de
programación.
!! Un sistema de metadatos, que permite almacenar dichos metadatos junto con
los tipos a los que se refieren en tiempo de compilación, así como obtenerlos en
tiempo de ejecución.
!! Un sistema de ejecución, que se encarga de ejecutar las aplicaciones del
framework .NET, haciendo uso del sistema de información de metadatos para
desarrollar los servicios tales como la gestión de la memoria.
12
6
Herramientas y Entornos de Programación
Tema 3. Entornos de Desarrollo. Características
!! Lenguaje común en tiempo de ejecución
!! Un fichero fuente, podría cont
Comentarios de: Tema 3. Entornos de Desarrollo. Caso de Estudio: Tecnología .NET - Herramientas y entornos de programación (0)
No hay comentarios