Está en la página 1de 7

DEFINICION DE LA PLATAFORMA .

NET

La plataforma .NET es un componente de los sistemas operativos


Windows, que permite el desarrollo, la liberación y la ejecución de
aplicaciones. La plataforma posee un conjunto de herramientas de
desarrollo y lenguajes de programación (de propósito general,
orientados a objetos, de tercera generación, de alto nivel y compilación
a código intermedio), que nos permiten utilizar todos los recursos
disponibles en la computadora a través de una librería de clases común,
con la que se pueden desarrollar aplicaciones de Consola, basadas en
Windows, y para la Web, que utilizan protocolos abiertos para la
interacción entre los elementos que las componen.

Problemas que elimina .NET


 El infierno del os DLL
 Falta de interoperabilidad con otras plataformas
 Incapacidad para el manejo de esquema orientado a objetos
 Manejo deficiente de errores
 Incapacidad para utilizar Internet como medio eficiente de
comunicación
 Incapacidad para el desarrollo de aplicaciones que aprovechen
arquitecturas

Beneficios que proporciona .NET


 Integración de aplicaciones multi – lenguaje
 Homologación de las capacidades de los lenguajes
 Disponibilidad de una biblioteca de clases común para los
lenguajes
 Arquitectura abierta a nuevos lenguajes
 Desarrollo simplificado
 Implementación simple
 Mejor soporte de componentes
 Interoperacion con dispositivos móviles
 Rentabilidad
 Seguridad
 Fácil implementación
 Permite el desarrollo de aplicaciones de 64 bits

Capas principales de la plataforma .NET


Las capas que componen la plataforma .NET son:
 Capa de lenguajes. La capa de lenguajes esa integrada por la CLS
(especificación común para lenguajes, Common Language
Specification) y los lenguajes de programación compatibles con
ella. La CLS es una especificación abierta de Microsoft que los
lenguajes deben cumplir para ser considerados .NET.
 .NET Framework (Infraestructura y servicios). .NET Framework es
la capa compuesta por el núcleo de servicios y recursos de .NET,
que incluye los compiladores, la biblioteca de clases común para
todos los lenguajes y los servicios que convierten el código fuente
en código máquina para los diversos sistemas operativos a través
del uso de código intermedio, .NET Framework se compone de los
siguientes elementos: capa de servicios, BCL y CLR
 Capa de servicios (Services). La capa de servicios se compone de
aquellos servicios que permiten la intercomunicación entre los
programas desarrollados en un lenguaje .NET y el resto de los
elementos de .NET Framework, con el fin de generar
comportamientos a través del dialogo con el sistema operativo.
Existen dos principales: a) Windows Application Services, que dan
soporte a las aplicaciones de interfaz gráfica estilo Windows y a las
de consola en su dialogo con .NET Framework y el sistema
operativo; b) ASP.NET Application Services, que apoya a las
aplicaciones de interfaz grafica basadas en la Web, servicios Web
XML y aplicaciones de computo móvil en su dialogo con .NET
Framework y el sistema operativo, a través del motor de servicios
Web. En plataformas Microsoft este motor de servicios Web se
llama Internet Information Server (IIS).
 Biblioteca de clases base (BCL/Base Class Library). La biblioteca de
clases base (BCL/Base Class Library) esta constituida por un
conjunto de bibliotecas de clase que ponen a disposición de los
programas un conjunto de funciones jerárquicas de clase que
ponen a disposición de los programas un conjunto de funciones
jerárquicamente organizadas, que podrán ser utilizadas como
funciones nativas de manera no dedicada por todos los lenguajes
de .NET
 Motor Comun de ejecución (CLR/Common Language Runtime). El
Motor Comun de ejecución (CLR/ Common Language Runtime) es
la plataforma común de ejecución de los programas desarrolladas
en cualquier lenguaje .NET. CLR agrupa compiladores de línea de
comando que permiten la creación de código intermedio, libre de
ambigüedades, al que se conoce como ensamblado (assembly).

Lenguajes .NET
La definición de lenguajes .NET es simple: todo aquel lenguaje de
programación que sus herramientas de análisis y compilación que
cumpla con la CLS.
Los lenguajes .NET requieren someterse a un proceso de compilación, y
el resultado de la compilación debe ser un programa intermedio, que
llamamos ensamblado (assembly), los ensamblados pueden ejecutarse
solo en colaboración con el motor de ejecución de .NET (CLR)
A todo programa que se ejecuta en colaboración con el Motor común de
ejecución (CLR) se le da el calificativo de administrado (Managed), por lo
cual a los lenguajes de .NET también se les conoce como lenguajes
administrados (managed languages). En esencia, son administrados
aquellos elementos ejecutados por el motor común de ejecución (en
lugar de ser ejecutados directamente por el sistema operativo)

.NET Framework
El Framework de .Net es una infraestructura sobre la que se reúne todo
un conjunto de lenguajes y servicios que simplifican enormemente el
desarrollo de aplicaciones. Mediante esta herramienta se ofrece un
entorno de ejecución altamente distribuido, que permite crear
aplicaciones robustas y escalables.
Capa de servicios
La capa de servicios se encarga de proporcionar los medios de
comunicación de datos entre lenguajes y herramientas de desarrollo, y
los elementos internos de .NET que se encargan de transformar los
desarrollos en aproximadamente de recursos a través de lenguaje
máquina, es decir, el .NET Framework.
La capa de servicios esta integrada por dos tipos fundamentales:
ASP.NET Application Services y Windows Application Services.
Estos servicios son en realidad modelos de programación que permiten
la intercomunicación entre la interfaz y el nucleo de la plataforma .NET.
Cualquier lenguaje es útil para programar y darse a entender para
cualquiera de los servicios; la diferencia estriba en que ASP.NET
Application Services esta dirigido a los desarrollos n ambiente Web
(Internet, Intranet y Computacion movil), mientras que Windows
Application Services esta dirigido a los desarrollados en ambiente
Windows (aplicaciones de escritorio y Cliente/servidor).

Biblioteca de clases base de NET Framework (BCL)


Para enternder las Biblioteca de clases de .NET Framework (BCL/Base
Class Library), debemos considerar primero que todo en .NET es un
objeto, pues los lenguajes .NET son completamente orientados a
objetos.

 Un objeto es un conjunto de datos y procedimientos que


proporcionan una funcionabilidad determinada
 Otra definición clásica indica que un objeto es una instancia de
una clase
 Una clase es la definición formal de un objeto; es como una
“plantilla” que especifica los datos que un objeto puede manejar
para identificarse, definirse y producir resultados; la clase también
especifica los procesos que es capaz de realizar un objeto
(comportamiento) y los resultados que proporciona.
 Al proceso de derivar un objeto a partir de una clase se conoce
como instanciacion
 Los objetos tienen propiedades, métodos y eventos
 Los métodos son las acciones predefinidas que es posible llevar a
cabo a través de un objeto. Para utilizar un método es necesario
instanciar un objeto, generarlo a partir de una clase un método
siempre es referid a través de un objeto
 Existen clases, interfaces y tipos de valor que cumplen con CLS y
permiten el acceso a la funcionabilidad de BCL sin necesidad de
ser instaciados previamente; para diferenciaros de los que si
requieren instanciacion, se conocen como Types

Con esto en mente, es facil concluir que los programas desarrollados


en .NET tienen como finabilbidad poner a trabajar, por medio de las
estructuras del lenguaje, a los types y a los objetos generados a partir
de clases

La biblioteca de clases base de .NET Framework integra una gran


cantidad de clases y cada una de ellas ofrece una determinada
funcionabilidad que puede ser integrada a las aplicaciones: algunas
permiten crear objetos que desarrollen calculos matematicos o
trigonometricos, otrs permiten definir objetos que permiten la
realización de graficos, otras mas permiten crear objetos a través de los
cuales es posible manipular bases de datos.

Cuando se está programando una aplicación muchas veces se necesitan


realizar acciones como manipulación de archivos, acceso a datos,
conocer el estado del sistema, implementar seguridad, etc. El
Framework organiza toda la funcionalidad del sistema operativo en un
espacio de nombres jerárquico de forma que a la hora de programar
resulta bastante sencillo encontrar lo
que se necesita.

Para ello, el Framework posee un sistema de tipos universal,


denominado Common Type System (CTS). Este sistema permite que el
programador pueda interactuar los tipos que se incluyen en el propio
Framework (biblioteca de clases de .Net) con los creados por él mismo
(clases). De esta forma se aprovechan las ventajas propias de la
programación orientada a objetos, como la herencia de clases
predefinidas para crear nuevas clases, o el polimorfismo de clases para
modificar o ampliar funcionalidades de clases ya existentes.
La forma de organizar la biblioteca de clases de .Net dentro del código
es a través de los espacios de nombres (namespaces), donde cada clase
está organizada en espacios de nombres según su funcionalidad. Por
ejemplo, para manejar ficheros se utiliza el espacio de nombres
System.IO y si lo que se quiere es obtener información de una fuente de
datos se utilizará el
espacio de nombres System.Data.

La principal ventaja de los espacios de nombres de .Net es que de esta


forma se tiene toda la biblioteca de clases de .Net centralizada bajo el
mismo espacio de nombres (System). Además, desde cualquier lenguaje
se usa la misma sintaxis de invocación, ya que a todos los lenguajes se
aplica la misma biblioteca de clases.
Common Language Runtime (CLR)

El CLR es el verdadero núcleo del Framework de .Net, ya que es el


entorno de ejecución en el que se cargan las aplicaciones desarrolladas
en los distintos lenguajes, ampliando el conjunto de servicios que ofrece
el sistema operativo estándar Win32.

La herramienta de desarrollo compila el código fuente de cualquiera de


los lenguajes soportados por .Net en un mismo código, denominado
código intermedio (MSIL, Microsoft Intermediate Lenguaje). Para generar
dicho código el compilador se basa en el Common Language
Specification (CLS) que determina las reglas necesarias para crear
código MSIL compatible con
el CLR.

De esta forma, indistintamente de la herramienta de desarrollo utilizada


y del lenguaje elegido, el código generado es siempre el mismo, ya que
el MSIL es el único lenguaje que entiende directamente el CLR. Este
código es transparente al desarrollo de la aplicación ya que lo genera
automáticamente el compilador.

Sin embargo, el código generado en MSIL no es código máquina y por


tanto no puede ejecutarse directamente. Se necesita un segundo paso
en el que una herramienta denominada compilador JIT (Just-In-Time)
genera el código máquina real que se ejecuta en la plataforma que
tenga la computadora.

De esta forma se consigue con .Net cierta independencia de la


plataforma, ya que cada plataforma puede tener su compilador JIT y
crear su propio código máquina a partir del código MSIL.
La compilación JIT la realiza el CLR a medida que se invocan los métodos
en el programa y, el código ejecutable obtenido, se almacena en la
memoria caché de la computadora, siendo recompilado sólo cuando se
produce algún cambio en el código fuente.

La compilación en dos fases en .NET


La plataforma .NET compila los programas a dos tiempos, separando la
fase de análisis de la compilación, de la de síntesis. Para el juega un
papel muy importante el CLR.
El CLR (motor de ejecución, Common Language Runtime) es el motor de
ejecución de código administrado, que se encarga de proporcionar al
programa en ejecución servicios de alto nivel, tales como la integración
de módulos multi – lenguaje, seguridad, acceso a módulos de código,
administración del ciclo de vida de los objetos, administración de
memoria, recuperación de recursos, pistas de depuración.

El CLR trabaje en dos tiempos:

1. Tiempo de compilación. Se inicia cuando el programador utiliza


cualquier compilador de lenguaje .NET para compilar un código
fuente, y termina cuando se obtiene un código intermedio a partir
del código fuente compilado.
2. Tiempo de ejecución. Se inicia cuando se llama a ejecución un
código intermedio CLR se encarga de someterlo a la acción de
compiladores Justo a tiempo que produce código nativo, para
luego producir los efectos esperados del programa.
A partir de lo anterior, podemos definir al CLR como el motor de
ejecución de codigo administrado que provee una infraestructura de
compilación y ejecución que abstrae en un plano subyacente las
diferencias de plataformas de hardware en donde programas es
ejecutado
La definición es complej; el concepto mismo del CLR lo es. De manera
simplificada podemos decir que el CLR se encarga de administrar la

También podría gustarte