Professional Documents
Culture Documents
NET:
Qu es .NET?
Microsoft .NET es una plataforma de desarrollo y ejecucin de aplicaciones. Esto quiere
decir que no slo nos brinda todas las herramientas y servicios que se necesitan para
desarrollar modernas aplicaciones empresariales y de misin crtica, sino que tambin nos
provee de mecanismos robustos, seguros y eficientes para asegurar que la ejecucin de
las mismas sea ptima. Los componentes principales de la plataforma .NET son:
Entorno de Ejecucin (Runtime)
Un entorno de ejecucin de aplicaciones, tambin llamado Runtime, que es un
componente de software cuya funcin es la de ejecutar las aplicaciones .NET e
interactuar con el sistema operativo ofreciendo sus servicios y recursos.
Bibliotecas de Funcionalidad (Class Library)
Un conjunto de bibliotecas de funcionalidades y controles reutilizables, con una enorme
cantidad de componentes ya programados listos para ser consumidos por otras
aplicaciones.
Lenguajes de Programacin
.NET es multi-lenguaje: esto quiere decir que para poder codificar aplicaciones sobre esta
plataforma no necesitamos aprender un nico lenguaje especfico de programacin de
alto nivel, sino que se puede elegir de una amplia lista de opciones. Veremos este tema
con mayor detalle ms adelante en la presentacin.
Compiladores
NET es una plataforma que permite el desarrollo de aplicaciones empresariales de misin
crtica, entendindose por esto que permite la creacin y ejecucin de aplicaciones de
porte corporativo que sean crticas para la operacin de tipos variados de organizaciones.
Si bien tambin es muy atrayente para desarrolladores no profesionales, estudiantes y
entusiastas, su verdadero poder radica en su capacidad para soportar las aplicaciones
ms grandes y complejas.
Qu es el .NET Framework?
El .NET Framework (traducido como Marco de Trabajo) es el componente fundamental
de la plataforma Microsoft .NET, necesario tanto para poder desarrollar aplicaciones como
para poder ejecutarlas luego en entornos de prueba o produccin.
El .NET framework tiene tres variantes principales, todas descargables gratuitamente
desde Internet
1. .NET Framework Redistributable Package: este es el mnimo componente de la
plataforma .NET que se necesita para poder ejecutar aplicaciones. Normalmente
sta es la variante que se instala en los entornos productivos, una vez que el
desarrollo y las pruebas de la aplicacin han finalizado.
Est compuesto por:
En la figura se pueden apreciar las distintas partes que componen al .NET Framework,
includas el entorno de ejecucin de aplicaciones (CLR, en verde), el conjunto de
bibliotecas de funcionalidad reutilizable (.NET Framework Class Library, en azul) y los
compiladores y herramientas de desarrollo para los lenguajes .NET (en rojo). Todos estos
componentes se motan por encima de la familia de sistemas operativos Windows.
Dentro del conjunto de la .NET Framework Class Library se distinguen 4 subcomponentes principales:
ADO.NET, que contiene un conjunto de clases que permiten interactuar con bases
de datos relacionales y documentos XML como repositorios de informacin
persistente.
ASP.NET, que constituye la tecnologa dentro del .NET Framework para construir
aplicaciones con interfaz de usuario Web (es decir, aplicaciones cuya lgica se
encuentra centralizada en uno o varios servidores y que los clientes pueden
acceder usando un browser o navegador mediante una serie de protocolos y
estndares como HTTP y HTML).
El modelo de ejecucin que propone la plataforma .NET se suele definir como virtual, o
de mquina virtual, ya que las aplicaciones no son desarrolladas directamente contra las
APIs de programacin expuestas por el sistema operativo, ni es ste el que se encarga de
su ejecucin y ciclo de vida, sino que .NET provee un entorno de ejecucin (el CLR) que
corre por sobre el sistema operativo y que es el encargado de ejecutar las aplicaciones y
proveerles servicios en tiempo de ejecucin. A los componentes de software que se
ejecutan de esta manera se los conoce comnmente como componentes manejados, ya
que su ejecucin es controlada por un entorno intermedio. En la figura podemos ver las
diferencias entre las arquitecturas de ejecucin de los componentes tradicionales (como
los COM) y los componentes manejados.
Una de las principales ventajas de contar con una plataforma virtual es que no estn
atadas de ninguna forma con el sistema operativo y la plataforma de hardware
subyacente. Es sabido que una aplicacin compilada para que utilice directamente las
APIs y servicios expuestas por un sistema operativo x muy difcilmente pueda ser
ejecutada en otro sistema operativo distinto sin ser recompilada. Las aplicaciones
manejadas, en cambio, descansan la tarea de su compilacin a un cdigo de mquina
Qu es un Assembly?
Un Assembly es la menor unidad de ejecucin y distribucin de una aplicacin .NET.
Los assemblies son reutilizables, versionables y autodescriptivos, ya que no slo
contienen el cdigo MSIL que representa la lgica de la aplicacin, sino que tambin
incluyen informacin sobre si mismos y sobre todos los recursos externos de los que
dependen para funcionar correctamente. A esta informacin se la denomina MetaData ,
y forma una parte integral de un assembly junto con el cdigo MSIL ya que ambos no
pueden estar separados. La MetaData se ubica en una seccin especial del Assembly
denominada Manifest, o Manifiesto, y es utilizada por el CLR a la hora de cargar y
ejecutar el Assembly.
Una aplicacin .NET se compone, de uno o ms assemblies. Otra de las caractersticas
de los Assemblies es que no necesitan estar registrados en la Registry de Windows, como
sus predecesores COM. De esta forma, instalar una aplicacin .NET puede ser tan simple
como copiar todos los assemblies necesarios a la computadora de destino, y basta con
borrarlos a todos para tener una desinstalacin limpia y completa.
Dado que .NET no depende de la Registry, y que cada assembly contiene informacin
acerca de su versin y las versiones de los componentes de que depende, mltiples
versiones de assemblies pueden coexistir sin ningn problema en la misma computadora.
Existen dos formas de que una aplicacin pueda encontrar en tiempo de ejecucin los
assemblies de los que depende:
1)
2)
ADO.NET es un subconjunto de la .NET Framework Class Library, que contiene todas las
funcionalidades necesarias para conectarse e interactuar con dos tipos de repositorios
permamentes de informacin:
1)
2)
Al haber una nica conexin a la base de datos por usuario, o incluso a veces por
aplicacin, establecida permanentemente, puede llegar a resultar ms sencillo
administrar la seguridad y el acceso al servidor de datos. Lo mismo ocurre con el
control de concurrencia: en un escenario donde mltiples usuarios se estuvieran
Algunas Desventajas:
Se requiere una conexin abierta todo el tiempo con el servidor de base de datos,
lo cual consume recursos innecesariamente si no se la est utilizando.
Algunas Desventajas:
Puede ocurrir que en un momento dado un usuario no est accediendo a los datos
ms actualizados del repositorio central
ADO.NET - Arquitectura
En la figura se pueden apreciar las clases ms comunes que componen a todos los
proveedores de acceso a datos de ADO.NET. Ntese que algunos nombres empiezan
con las letras Xxx: esto se debe a que los nombres de esas clases varan segn el
proveedor especfico que se est utilizando. Por ejemplo, la clase que representa una
conexin con la base de datos usando el Data Provider For Sql Server es
SqlConnection, mientras que si usamos el Data Provider For Oracle podemos obtener la
misma funcionalidad de la clase OracleConnection. Mas all del ejemplo, pasemos a
describir cada una de estas clases y su funcionalidad:
XxxCommand: permite almacenar y ejecutar una instruccin SQL contra una base
de datos, enviando parmetros de entrada y recibiendo parmetros de salida.
ADO.NET - DATASET