Вы находитесь на странице: 1из 6

Programacion Visual II

Acceso a base de datos.

MODELO TIPICO DE TRES CAPAS.


Introduccin. Las aplicaciones a desarrollar con el modelo tpico de tres capas estarn compuestas por: capa de acceso a datos, capa de lgica de negocio y capa de presentacin (interfaz de usuario). El modelo de datos a usar estar basado en tablas alojadas en una base de datos diseada en el lenguaje SQL, utilizando para ello la herramienta SQL Server. Para interactuar con la base de datos se crear la capa de acceso a datos. Estar compuesta por un conjunto de clases que sern coincidentes con las tablas existentes en la propia base de datos. Cada clase contendr los mtodos necesarios para intercambiar datos con la base de datos. La capa de lgica de negocio es en donde se establecern y comprobarn todas las reglas que deben cumplirse. Es aqu donde se manipulan los datos antes de enviarlos a la capa de presentacin, siguiendo para ello una serie de criterios. Esta capa se comunica con la de datos (solicitando al gestor de la base de datos informacin o actualizndola) y tambin con la de presentacin (recibiendo solicitudes o presentando resultados). La capa de presentacin contiene todos los elementos que conforman la interfaz del usuario. Es por tanto lo que est a la vista del cliente. Se compondr de varias pginas Web y diferentes controles de usuario destinados a facilitar la interaccin. Esta capa se comunica exclusivamente con la capa de lgica de negocio. Desarrollo. Para una mejor comprensin de las aplicaciones que utilizan el modelo tpico de tres capas, se tomar como ejemplo el desarrollo de un portal Web utilizando ASP.NET. BASE DE DATOS. Toda aplicacin a desarrollar con el modelo tpico de tres capas inicia con el modelo de la base de datos a utilizar, creando en ella todas las tablas que formaran parte del mismo, as como las relaciones entre las tablas.

1 de 6

Programacion Visual II

Acceso a base de datos.

OBJETOS DE NEGOCIOS. Para intercambiar informacin entre la capa de acceso a datos y la de lgica de negocio se utilizarn los objetos de negocio. Esta tcnica est fundamentada en el patrn DTO (Data Transfer Object). Un objeto de negocio se construye a partir de una clase que nicamente contiene propiedades, que se correspondern en la mayora de los casos con los campos que conforman cada tabla. Su misin principal es servir de contenedor destinado exclusivamente a la transferencia de informacin. Cada objeto de negocio de la aplicacin lleva asociada una clase destinada a almacenar una coleccin de objetos de ese mismo tipo, para lo cual se aprovecharn las colecciones genricas que nos proporciona .NET.

CAPAS DE ACCESO A DATOS (DAL Data Access Layer).


La capa de acceso a datos, es la capa que interacta con la fuente de datos (base de datos). Su diseo est basado en la creacin de una clase por cada tabla en la base de datos. Dentro de cada clase se deber definir un mtodo por cada consulta o procedimiento almacenado relacionado con la tabla en cuestin. Para una mayor organizacin, estas clases sern agrupadas en un mismo espacio de nombres.

2 de 6

Programacion Visual II

Acceso a base de datos.

FillDataRecord: Este mtodo ser definido en cada una de las clases de la capa DAL. Crea una instancia de un objeto de negocio; en este caso un objeto Noticia. En cada campo de esta instancia se introduce el valor correspondiente obtenido utilizando la interfaz IDataRecord. Al final devuelve el objeto de negocio. El cdigo de este mtodo simplemente copia los datos del lector en los campos privados del objeto de negocio haciendo uso de los mtodos Get* apropiados de IDataRecord. Estos mtodos Get* reciben como parmetro el ndice en base cero de la columna del IDataRecord. Para hacer ms fcil la comprensin y el mantenimiento del cdigo usaremos el mtodo GetOrdinal para traducir el nombre de la columna de la tabla en su correspondiente ndice.
private static Noticia FillDataRecord(IDataRecord myDataRecord) { Noticia minoticia = new Noticia(); minoticia._Id_Noticia = myDataRecord.GetInt32(myDataRecord.GetOrdinal("Id_Noticia")); minoticia._Ttulo = myDataRecord.GetString(myDataRecord.GetOrdinal("Ttulo")); minoticia._Resumen = myDataRecord.GetString(myDataRecord.GetOrdinal("Resumen")); minoticia._Cuerpo = myDataRecord.GetString(myDataRecord.GetOrdinal("Cuerpo")); minoticia._Fecha = myDataRecord.GetDateTime(myDataRecord.GetOrdinal("Fecha")); minoticia._Imagen = myDataRecord.GetString(myDataRecord.GetOrdinal("Imagen")); return minoticia; }

Dentro de los mtodos Get* se utilizar: GetInt32 para enteros, GetString para cadenas de caracteres y GetDateTime para objetos del tipo DateTime. Cuando las propiedades son columnas que no admiten valores nulos en la base de datos no es necesario comprobar en este mtodo si los valores son nulos o no.

CAPA DE LGICA DE NEGOCIO (BLL Business Logic Layer)


La capa de lgica de negocio o BLL (Business Logic Layer) es donde se comprueban las reglas de negocio y donde se manipulan los datos devueltos por la capa de acceso a datos antes de enviarlos a la capa de presentacin.

3 de 6

Programacion Visual II

Acceso a base de datos.

Estar formada por los objetos de negocio (BO, business object) y las clases encargadas de trabajar con dichos objetos (clases BLL), aunque stos pueden ser considerados como una entidad independiente. Cada clase BLL contiene los mismos mtodos que su clase anloga en la capa inferior (clase DAL). Estos mtodos realizarn funciones de validacin y de filtrado de datos antes de llamar a sus mtodos parejos en la capa de acceso a datos. Para una mayor organizacin estas clases sern agrupadas en un mismo espacio de nombres.

Implementacin de las clases de la capa BLL. Para poder vincular las diferentes clases BLL de la capa de lgica de negocio con un objeto ObjectDataSource, se debe aadir el siguiente atributo antes de la declaracin de la clase.
[DataObjectAttribute] public class BLLNoticia { }

El atributo DataObjectAttribute se utiliza para identificar si un objeto es adecuado para que lo utilice un objeto ObjectDataSource y se encuentra dentro del espacio de nombres System.ComponentModel. Ademas permite describir el tipo de operacin que realiza un mtodo de una clase marcada con el atributo DataObjectAttribute y si es el mtodo de datos predeterminado se har uso de la clase DataObjectMethodAttribute. En el siguiente ejemplo, el mtodo Delete se marca como mtodo predeterminado (true) para la operacin de datos Delete. La definicin de estos mtodos deber seguir una estructura anloga a la siguiente:
[DataObjectMethodAttribute9(DataObjectMethodType.Delete, true)] publi static bool Delete(Noticia miNoticia) { return DALNoticia.Delete(miNoticia._Id_Noticia); }

El mtodo Delete recibe como parmetro un objeto de negocio de tipo Noticia y llama al mtodo Delete de la capa de acceso a datos pasndole como parmetro el identificador de dicho objeto.

4 de 6

Programacion Visual II

Acceso a base de datos.

Devuelve un booleano indicando si se ha realizado satisfactoriamente o no la operacin. Como se observa, ste ser el mtodo de datos predeterminado para la operacin Delete que expondr el objeto de datos.

CAPA DE PRESENTACIN
La capa de presentacin es la ms elevada de las que componen la estructura de 3 capas de la aplicacin. Bajo ella subyacen la de lgica de negocio y la de acceso a datos. Constituye la parte visible de cara al usuario ya que ser la parte con la cual se ver obligado a interactuar. La capa de presentacin se compondr de varias pginas Web (.aspx), algunas de ellas formadas a su vez por diferentes controles de usuario Web (.ascx).

Arquitectura del portal de noticias.

5 de 6

Programacion Visual II

Acceso a base de datos.

Un ejemplo de la capa de presentacin del portal Web seria la siguiente:

6 de 6

Вам также может понравиться