Microsoft .NET FRAMEWORK
Microsoft .NET FRAMEWORK
.NET
Framework es una tecnología que soporta la compilación y ejecución de
aplicaciones y servicios Web XML de última generación. El diseño de .NET
Framework está enfocado a cumplir los siguientes objetivos:
Proporcionar
un entorno coherente de programación orientada a objetos, en el que el código
de los objetos se pueda almacenar y ejecutar de forma local, ejecutar de forma
local pero distribuida en Internet o ejecutar de forma remota.
Proporcionar
un entorno de ejecución de código que minimiza los conflictos en el despliegue
y versionado de software.
Ofrecer un
entorno de ejecución de código que promueva la ejecución segura del mismo,
incluso del creado por terceros desconocidos o que no son de plena confianza.
Proporcionar
un entorno de ejecución de código que elimine los problemas de rendimiento de
los entornos en los que se utilizan scripts o intérpretes de comandos.
Ofrecer al
programador una experiencia coherente entre tipos de aplicaciones muy
diferentes, como las basadas en Windows o en el Web.
Basar toda
la comunicación en estándares del sector para asegurar que el código de .NET
Framework se puede integrar con otros tipos de código.
.NET
Framework consta de dos componentes principales: Common Language Runtime y la
biblioteca de clases de .NET Framework. Common Language Runtime es el
fundamento de .NET Framework. El motor en tiempo de ejecución se puede
considerar como un agente que administra el código en tiempo de ejecución y
proporciona servicios centrales, como la administración de memoria, la
administración de subprocesos y la comunicación remota, al tiempo que aplica
una seguridad estricta a los tipos y otras formas de especificación del código
que promueven su seguridad y solidez.
De hecho, el concepto de administración
de código es un principio fundamental del motor en tiempo de ejecución. El
código destinado al motor en tiempo de ejecución se denomina código administrado,
a diferencia del resto de código, que se conoce como código no administrado. La
biblioteca de clases es una completa colección orientada a objetos de tipos
reutilizables que se pueden emplear para desarrollar aplicaciones que abarcan
desde las tradicionales herramientas de interfaz gráfica de usuario (GUI) o de
línea de comandos hasta las aplicaciones basadas en las innovaciones más
recientes proporcionadas por ASP.NET, como Web Forms y Servicios Web XML.
.NET
Framework puede hospedarse en componentes no administrados que cargan Common
Language Runtime en sus procesos e inician la ejecución de código administrado,
con lo que se crea un entorno de software en el que se pueden utilizar
características administradas y no administradas. En .NET Framework no sólo se
ofrecen varios hosts de motor en tiempo de ejecución, sino que también se
admite el desarrollo de estos hosts por parte de terceros.
Por ejemplo,
ASP.NET hospeda el motor en tiempo de ejecución para proporcionar un entorno de
servidor escalable para el código administrado. ASP.NET trabaja directamente
con el motor en tiempo de ejecución para habilitar aplicaciones de ASP.NET y
servicios Web XML, que se tratan más adelante en este tema.
Internet
Explorer es un ejemplo de aplicación no administrada que hospeda el motor en
tiempo de ejecución (en forma de una extensión de tipo MIME). Al usar Internet
Explorer para hospedar el motor en tiempo de ejecución, puede incrustar
componentes administrados o controles de Windows Forms en documentos HTML. Al
hospedar el runtime se hace posible el uso de código móvil administrado, pero
con mejoras significativas que solo el código administrado puede ofrecer, como
la ejecución con confianza parcial y el almacenamiento aislado de archivos.
En la
ilustración siguiente se muestra la relación de Common Language Runtime y la
biblioteca de clases con las aplicaciones y el sistema en su conjunto. En la
ilustración se representa igualmente cómo funciona el código administrado
dentro de una arquitectura mayor.
La
plataforma .NET de Microsoft es un componente de software que puede ser añadido
al sistema operativo Windows. Provee un extenso conjunto de soluciones
predefinidas para necesidades generales de la programación de aplicaciones, y
administra la ejecución de los programas escritos específicamente con la
plataforma. Esta solución es el producto principal en la oferta de Microsoft, y
pretende ser utilizada por la mayoría de las aplicaciones creadas para la
plataforma Windows.
.NET
Framework se incluye en Windows Server 2008, Windows Vista y Windows 7. De
igual manera, la versión actual de dicho componente puede ser instalada en
Windows XP, y en la familia de sistemas operativos Windows Server 2003. Una
versión "reducida" de .NET Framework está disponible para la
plataforma Windows Mobile, incluyendo teléfonos inteligentes.
La norma
(incluido en ECMA-335, ISO/IEC 23271) que define el conjunto de funciones que
debe implementar la biblioteca de clases base (BCL por sus siglas en inglés,
tal vez el más importante de los componentes de la plataforma), define un
conjunto funcional mínimo que debe implementarse para que el marco de trabajo
sea soportado por un sistema operativo. Aunque Microsoft implementó esta norma
para su sistema operativo Windows, la publicación de la norma abre la
posibilidad de que sea implementada para cualquier otro sistema operativo existente
o futuro, permitiendo que las aplicaciones corran sobre la plataforma
independientemente del sistema operativo para el cual haya sido implementada.
El Proyecto Mono emprendido por Ximian pretende realizar la implementación de
la norma para varios sistemas operativos adicionales bajo el marco del código
abierto.
Los
principales componentes del marco de trabajo son:
El conjunto
de lenguajes de programación.
La
biblioteca de clases base o BCL.
El entorno
común de ejecución para lenguajes, o CLR (Common Language Runtime) por sus
siglas en inglés.
Debido a la
publicación de la norma para la infraestructura común de lenguajes (CLI por sus
siglas en inglés), el desarrollo de lenguajes se facilita, por lo que el marco
de trabajo .NET soporta ya más de 20 lenguajes de programación y es posible
desarrollar cualquiera de los tipos de aplicaciones soportados en la plataforma
con cualquiera de ellos, lo que elimina las diferencias que existían entre lo
que era posible hacer con uno u otro lenguaje.
Algunos de
los lenguajes desarrollados para el marco de trabajo .NET son: C#, Visual Basic
.NET, Delphi (Object Pascal), C++, F#, J#, Perl, Python, Fortran, Prolog
(existen al menos dos implementaciones, el P#1 y el Prolog.NET2), Cobol y
PowerBuilder.
Common
Language Runtime
Estructura
interna del entorno de ejecución en lenguaje común.
El CLR es el
verdadero núcleo del framework de .NET, entorno de ejecución en el que se
cargan las aplicaciones desarrolladas en los distintos lenguajes, ampliando el
conjunto de servicios del sistema operativo (W2k y W2003). Permite integrar
proyectos en distintos lenguajes soportados por la plataforma .Net, como C++,
Visual Basic, C#, entre otros.
La
herramienta de desarrollo compila el código fuente de cualquiera de los
lenguajes soportados por .NET en un código intermedio, el CIL (Common
Intermediate Language) antes conocido como MSIL (Microsoft Intermediate
Language), similar al BYTECODE de Java. Para generarlo, el compilador se basa
en la especificación CLS (Common Language Specification) que determina las
reglas necesarias para crear el código MSIL compatible con el CLR.
Para
ejecutarse se necesita un segundo paso, un compilador JIT (Just-In-Time) es el
que genera el código máquina real que se ejecuta en la plataforma del cliente.
De esta forma se consigue con .NET independencia de la plataforma de hardware.
La compilación JIT la realiza el CLR a medida que el programa invoca métodos.
El código ejecutable obtenido se almacena en la memoria caché del ordenador,
siendo recompilado de nuevo sólo en el caso de producirse algún cambio en el
código fuente.
Características[editar]
Es el
encargado de proveer lo que se llama código administrado, es decir, un entorno
que provee servicios automáticos al código que se ejecuta. Los servicios son
variados:
Cargador de
clases: permite cargar en memoria las clases.
Compilador
MSIL a nativo: transforma código intermedio de alto nivel independiente del
hardware que lo ejecuta a código de máquina propio del dispositivo que lo
ejecuta.
Administrador
de código: coordina toda la operación de los distintos subsistemas del Common
Language Runtime.
Recolector
de basura: elimina automáticamente de memoria objetos no utilizados.
Motor de
seguridad: administra la seguridad del código que se ejecuta.
Motor de
depuración: permite hacer un seguimiento de la ejecución del código aún cuando
se utilicen lenguajes distintos.
Verificador
de tipos: controla que las variables de la aplicación usen el área de memoria
que tienen asignado.
Administrador
de excepciones: maneja los errores que se producen durante la ejecución del
código.
Soporte de
multiproceso (hilos): permite desarrollar aplicaciones que ejecuten código en
forma paralela.
Empaquetador
de COM: coordina la comunicación con los componentes COM para que puedan ser
usados por el .NET Framework.
Biblioteca
de Clases Base que incluye soporte para muchas funcionalidades comunes en las
aplicaciones.
AQUÍ LES DEJO UN VÍDEO
Comentarios
Publicar un comentario