Manual de Programacion
Manual de Programacion
¿Qué es .NET?
.NET es toda una nueva arquitectura tecnológica, desarrollada por Microsoft para la creación
y distribución del software como un servicio. Esto quiere decir, que mediante las
herramientas de desarrollo proporcionadas por esta nueva tecnología, los programadores
podrán crear aplicaciones basadas en servicios para la web.
----------------------------------------------------------------------------------------------------------
-ISIV- Página 4 de 67
Programación II
Visual Basic .NET
----------------------------------------------------------------------------------------------------------
Contienen todas las clases que la interfaz de usuario podrá generar, usando el explorador en
ASP y ventanas standares WIN32 en Windows Forms.
----------------------------------------------------------------------------------------------------------
-ISIV- Página 5 de 67
Programación II
Visual Basic .NET
----------------------------------------------------------------------------------------------------------
y de C++. Para evitar este tipo de problemas y poder gestionar de forma eficiente y segura
el acceso a la memoria, el CLS define un conjunto de tipos de datos comunes (Common Type
System o CTS) que indica qué tipos de datos se pueden manejar, cómo se declaran y se
utilizan éstos, y de qué manera se deben gestionar durante la ejecución.
Cada lenguaje .NET utiliza una sintaxis diferente para cada tipo de datos. Así, por ejemplo, el
tipo común correspondiente a un número entero de 32 bits (System.Int32) se denomina
Integer en Visual Basic .NET, pero se llama int en C#. En ambos casos representan el mismo
tipo de datos que es lo que realmente cuenta (System.Int32).
ADO .NET es la nueva versión del modelo de objetos ADO (ActiveX Data Objects), es decir, la
estrategia que ofrece Microsoft para el acceso a datos. ADO .NET ha sido ampliado para
cubrir todas las necesidades que ADO no ofrecía, y está diseñado para trabajar con
conjuntos de datos desconectados, lo que permite reducir el tráfico de red. ADO .NET utiliza
XML como formato universal de transmisión de los datos.
ADO .NET posee una serie de objetos que son los mismos que aparecen en la versión
anterior de ADO, como pueden ser el objeto Connection o Command, e introduce nuevos
objetos tales como el objeto DataReader, DataSet o DataView.
- Arquitectura de ADO.NET
El concepto más importante que hay que tener claro sobre ADO.NET es su modo de
funcionar, que se revela claramente al analizar su arquitectura:
----------------------------------------------------------------------------------------------------------
-ISIV- Página 6 de 67
Programación II
Visual Basic .NET
----------------------------------------------------------------------------------------------------------
Capa conectada
La primera de ellas contiene objetos especializados en la conexión con los orígenes de datos.
Así, la clase genérica Connection se utiliza para establecer conexiones a los orígenes de
datos. La clase Command se encarga de enviar comandos de toda índole al origen de datos.
Por fin la clase DataReader está especializada en leer los resultados de los comandos
mientras se permanece conectado al origen de datos.
La clase DataAdapter hace uso de las tres anteriores para actuar de puente entre la capa
conectada y la desconectada. Estas clases son abstractas, es decir, no tienen una
implementación real de la que se pueda hacer uso directamente. Es en este punto en donde
entran en juego los proveedores de datos. Cada origen de datos tiene un modo especial de
comunicarse con los programas que los utilizan, además de otras particularidades que se
deben contemplar.
Un proveedor de datos de ADO.NET es una implementación concreta de las clases
conectadas abstractas que hemos visto, que hereda de éstas y que tiene en cuenta ya todas
las particularidades del origen de datos en cuestión.
Así, por ejemplo, las clases específicas para acceder a SQL Server se llaman SqlConnection,
SqlCommand, SqlDataReader y SqlDataAdapter y se encuentran bajo el espacio de nombres
System.Data.SqlClient. Es decir, al contrario que en ADO clásico no hay una única clase
Connection o Command que se use en cada caso, si no que existen clases especializadas
para conectarse y recuperar información de cada tipo de origen de datos.
Existen proveedores nativos, que son los que se comunican directamente con el origen de
datos (por ejemplo el de SQL Server o el de Oracle), y proveedores "puente", que se utilizan
para acceder a través de ODBC u OLEDB cuando no existe un proveedor nativo para un
determinado origen de datos.
Capa desconectada
Una vez que ya se han recuperado los datos desde cualquier origen de datos que requiera
una conexión ésta ya no es necesaria. Sin embargo sigue siendo necesario trabajar con los
datos obtenidos de una manera flexible. Es aquí cuando la capa de datos desconectada entra
----------------------------------------------------------------------------------------------------------
-ISIV- Página 7 de 67
Programación II
Visual Basic .NET
----------------------------------------------------------------------------------------------------------
en juego. Además, en muchas ocasiones es necesario tratar con datos que no han sido
obtenidos desde un origen de datos relacional con el que se requiera una conexión. A veces
únicamente necesitamos un almacén de datos temporal pero que ofrezca características
avanzadas de gestión y acceso a la información.
Por otra parte las conexiones con las bases de datos son uno de los recursos más escasos
con los que contamos al desarrollar. Su mala utilización es la causa más frecuente de cuellos
de botella en las aplicaciones y de que éstas no escalen como es debido. Esta afirmación es
especialmente importante en las aplicaciones Web en las que se pueden recibir muchas
solicitudes simultáneas de cualquier parte del mundo.
Finalmente otro motivo por el que es importante el uso de los datos desconectado de su
origen es la transferencia de información entre capas de una aplicación. Éstas pueden
encontrarse distribuidas por diferentes equipos, e incluso en diferentes lugares del mundo
gracias a Internet. Por ello es necesario disponer de algún modo genérico y eficiente de
poder transportar los datos entre diferentes lugares, utilizarlos en cualquiera de ellos y
posteriormente tener la capacidad de conciliar los cambios realizados sobre ellos con el
origen de datos del que proceden.
Todo esto y mucho más es lo que nos otorga el uso de los objetos DataSet. Es obvio que no
se trata de tareas triviales, pero los objetos DataSet están pensados y diseñados con estos
objetivos en mente. Como podremos comprobar más adelante en este curso es bastante
sencillo conseguir estas funcionalidades tan avanzadas y algunas otras simplemente usando
de manera adecuada este tipo de objetos.
----------------------------------------------------------------------------------------------------------
-ISIV- Página 8 de 67
Programación II
Visual Basic .NET
----------------------------------------------------------------------------------------------------------
Al contrario que en en VB6, .NET proporciona control sobre todos los aspectos de las
ventanas y controles, no dejando nada fuera del alcance del programador y otorgando por lo
tanto la máxima flexibilidad. Los formularios (ventanas) son clases que heredan de la clase
base Form, y cuyos controles son miembros de ésta. De hecho se trata únicamente de
código y no es necesario (aunque sí muy recomendable) emplear el diseñador gráfico de
Visual Studio para crearlas.
Este es el aspecto que presenta parte del código que genera la interfaz mostrada en la
anterior figura:
----------------------------------------------------------------------------------------------------------
-ISIV- Página 9 de 67
Programación II
Visual Basic .NET
----------------------------------------------------------------------------------------------------------
Figura 1.5.- Código autogenerado por Visual Studio para crear la interfaz
de la figura anterior.
----------------------------------------------------------------------------------------------------------
-ISIV- Página 10 de 67