martes, 1 de abril de 2008

Ds - Dt vs2005/8 - Introduccion

DataSet/DataTable tipados y Table Adapter con Visual Studio 2005 y 2008
Introducción- Data Label- Capa de Datos- Capa de Negocios- UI Interfaz


Bueno amigos.


Lo prometido es deuda, si es que vienen siguiendo los artículos que he publicado se darán cuenta que había prometido mostrarles como crear una aplicación en tres capas con el objeto dataset tipado de visual studio 2005, presente también en la nueva versión 2008 de este producto. Así que, esta forma de trabajar les permitirá utilizar esta filosofía en las dos versiones del producto de visual studio.




Antes de partir con los ejemplos, quisiera introducirlos a las modificaciones y mejoras que se han llevado a cabo en la versión de dataset tipados desde vs2003 a vs2005, que en mi opinion es enorme.


Si nos gusta trabajar orientado a los objetos, podemos modelar las entidades que pertenecen a un objeto en un dataset tipado correspondiente, el cual crea automáticamente las relaciones de referencia que existen entre estas entidades, mapenado las estructuras desde la misma base de datos (esto dependerá del proveedor de conexión que estemos utilizando) y las exije al igual que en un modelo entidad relación, lo cual no existía en vs2003, ya que las relaciones las debíamos crear nosotros. Para Sql Server, los mapeos y generaciones de estructuras a raíz de las entidades seleccionadas es completo.

En segundo caso han agregado un nuevo metodo llamado getData(), a parte del método Fill() asociado al adapter seleccionado dependiendo del proveedor.


Si recordamos, el método Fill, nos permitía cargar un DataTable dentro de un dataset, utilizando el objeto Adapter correspondiente al proveedor que estabamos utilizando.
  • En vs2005 se mantiene el método Fill en la zona de diseño de un table adapter, asociado a un datatable, ya que el adaptador de consultas se crea directamente cuando tipamos la entidad, con lo cual accedemos al objeto Fill desde el objeto dataset, es decir dataset.modelodetabla.Fill, etc.
  • A la plantilla de dataset tipados se le ha agregado una nueva opción denominada GETDATA, la cual permite crear desde la sección de table adapter consultas a bases de datos, pudiendo ser de sql y/o procedimientos almecenados. Los mapeos a procedimientos almacenados pueden ser definidos desde procedimientos existentes o crear estos desde el diseñador provisto por esta plantilla.

Estos ejemplos quedarán bien destacados en nuestra aplicación ya que trabajaremos con procedimientos almacenados.



Al crear una Biblioteca de clases utilizando estos objetos, veremos que cuando generamos la Capa de Datos, en el cuadro de herramientas disponibles se agregarán una serie de componentes resultado de él o los dataset tipados que definamos, es decir, si en un dataset tipado definimos la estructura de un objeto, todas las entidades que atienden a este objeto, sean una o muchas se generan dentro del DataSet, por lo cual observarán el nombre del dataset que han creado como componente, adicionalmente observarán todos los tableAdapter que se asocian a cada una de las entidades, es decir, verán un componente con el nombre de la entidad seguido de TableAdapter. Estos componentes generados tendrán todos los métodos GetData que deben realizar las transacciones con las entidades físicas.



Se torna muy importante destacar que cada vez que se realiza una modificación en el modelo de datos Entidad Relación, se deben realizar las modificaciones pertinentes en la capa de datos, así como en los métodos correspondientes de las diferentes capaz que lo acompañan.



Bueno ahora a lo suyo, ver segunda parte

  • En este artículo definiremos el modelo entidad relación en una Base de Datos Sql server 2000 o 2005, con procedimientos almacenados para mostrarles las opciones respectivas.

  • Crearemos una capa de datos desde una biblioteca de clases tratando de mostrar la forma de desarrollar orientado a objetos (Ya que en un ejemplo con dos entidades no queda muy claro este tema).

  • Crearemos una Capa de negocios que relizará las llamadas a los métodos creados en la Capa de Datos y que utilizará las estructuras definidas en ésta para retornar la información.

  • Por último, crearemos una UI (Interfaz de usuario que realizará las solicitudes y que utilizará las estructuras definidas para capturar la información). Claro está que para que las capaz de datos y negocios sean totalmente portables, solo deben recibir variables y parámetros, nunca componentes, ya que si definimos una aplicación web y pasamos a una capa de negocios un control para que se carge, este metodo ya no nos servirá para una aplicación web (Los controles son distintos).

No hay comentarios: