P. 1
Aplicación en 3 capas utilizando ASP

Aplicación en 3 capas utilizando ASP

|Views: 14.982|Likes:
Publicado porJorge Cupi

More info:

Published by: Jorge Cupi on Oct 07, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

05/10/2015

pdf

text

original

Aplicación en 3 capas utilizando ASP.

NET

Jorge Cupi Veliz jorgecupi@hotmail.com

Aplicación de tres capas utilizando ASP.NET

CONTENIDO
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Arquitectura multi capas…………………………………………………………………………………………………… Pag 2 Arquitectura de tres capas………………………………………………………………………………………………… Pag 2 Que contiene cada capa? …………………………………………………………………………………………………. Pag 3 Uso en el desarrollo web…………………………………………………………………………………………………. Pag 4 Como realizar una aplicación en tres capas utilizando Visual Studio 2010? ……………………. Pag 4 Relacionando una base de datos a nuestro proyecto……………………………………………………… Pag 6 Construyendo la capa de acceso a datos………………………………………………………………………… Pag 10 Construyendo la capa de lógica de negocios…………………………………………………………………… Pag 16 Contruyendo la capa de presentación………………………………………………………………………………. Pag 21 Que aprendimos? …………………………………………………………………………………………………………… Pag 30

Noodles Tech Club Jorge Cupi jorgecupi@hotmail.com

Aplicación de tres capas utilizando ASP.NET

Aplicación en 3 capas utilizando ASP.NET
1. Arquitectura multi capas
Primeramente, la arquitectura multicapas, que es también referida como ‘arquitectura n capas’ es una arquitectura cliente servidor en la cual, la presentación, el procesamiento de la aplicación y el manejo de datos son procesos lógicamente separados. La arquitectura n capas más difundida es la arquitectura en tres capas. La arquitectura en n capas provee un modelamiento a los desarrolladores para crear una aplicación flexible y reusable. Al separar una aplicación en capas, los desarrolladores solo tienen que modificar o adicionar una cama específica, en vez de tener que escribir toda la aplicación de nuevo. En una arquitectura a tres capas deberíamos de tener: - Una capa de presentación - Capa de lógica de negocios - Capa de acceso a datos

2. Arquitectura de tres capas
Es una arquitectura cliente servidor en la cual la interfaz de usuario, la lógica de negocios y el acceso a datos están desarrollados y mantenidos como módulos independientes, frecuentemente en plataformas separadas. El modelo de tres capas es una arquitectura de software así como también un patrón de diseño de software. Además de todas las ventajas que conllevan realizar software por módulos, la arquitectura de tres capas está hecha con el propósito de que cualquier de sus tres capas (presentación, lógica y datos) pueda ser actualizada o reemplazada independientemente de acuerdo a como vayan cambiando las necesidades con el avance tecnológico. Por ejemplo, un cambio de sistema operativo solo afectaría a la capa de presentación ya que es esta la que maneja el código para la interfaz con el usuario. Usualmente, la interfaz de usuario corre sobre un ordenador de escritorio y usa una interfaz estándar de gráficos. El proceso lógico consiste en uno o más módulos separados que corren sobre una estación de trabajo o un servidor de aplicaciones. Y finalmente, un servidor de bases de datos es el que contiene los datos almacenados de la aplicación o servicio.

Noodles Tech Club Jorge Cupi jorgecupi@hotmail.com

Aplicación de tres capas utilizando ASP.NET

3. Que contiene cada capa?
3.1. Capa de presentación
Es la capa en el nivel más externo de la aplicación, la capa de presentación despliega información relacionada a ciertos servicios como por ejemplo, mercadeo, compras, contenidos de ventas, etc. Se relaciona mayormente con la capa de lógica de negocios.

3.2.

Capa de lógica de negocios

También conocida como “capa de aplicación”, “capa de negocios”, “capa lógica”, o “capa media”; Es la capa que controla la funcionalidad de la aplicación mediante procesamiento detallado de acuerdo a los requisitos otorgados por la capa de presentación.

3.3.

Capa de acceso a datos

Esta capa consiste de servidores de bases de datos. Aquí la información es almacenada y recibida. Mantiene a los datos de una manera neutral e independiente a la capa de presentación y/o la capa de negocios.

4. Uso en el desarrollo web
En el campo del desarrollo web, el modelo de tres capas es frecuentemente usado al referirnos a páginas web, generalmente aquellas páginas que alberguen cosas tales como comercio electrónico. Las tres capas se repartirían así: Un front-end o contenido desplegado en el navegador Un servidor de aplicaciones que albergue contenido medio de procesamiento y generación, por ejemplo Java EE, ASP.NET, PHP, etc. Una RDBMS o Sistema de manejo de bases de datos relacionales, por sus siglas en inglés, que maneje y provea el acceso a los datos en una base de datos.

5. Como realizar una aplicación en tres capas utilizando Visual Studio 2010?
Utilizaremos 4 proyectos para nuestra aplicación en tres capas: - Un proyecto de tipo Librería de clases para albergar la base de datos mapeada - Un proyecto de tipo Librería de clases para albergar la capa de acceso a datos - Un proyecto de tipo Librería de clases para albergar la capa de lógica de negocios - Un proyecto de tipo ASP.NET Web Application para albergar la capa de aplicación. Que necesitaremos? Como requisitos para realizar este ejemplo, necesitaremos en nuestras maquinas: - Visual Studio 2010 en cualquiera de sus versiones. - SQL Server 2008 en cualquiera de sus versiones. - Una base de datos albergada en nuestro motor de base de datos.
Noodles Tech Club Jorge Cupi jorgecupi@hotmail.com

Aplicación de tres capas utilizando ASP.NET

5.1.

Abrir Visual Studio 2010

Noodles Tech Club Jorge Cupi jorgecupi@hotmail.com

Aplicación de tres capas utilizando ASP.NET

6. Relacionando una base de datos a nuestro proyecto
6.1. Crear un nueva solución - Hacemos click en Archivo - Ira Nuevo - Finalmente click en Proyecto:

6.2.

Creación del proyecto

Primeramente crearemos un proyecto de tipo Librería de Clases que albergara solo el mapeo de la base de datos. No consideraremos a este proyecto como una capa.

El nombre de mi solución va de acuerdo a lo que quiero hacer yo, en este caso, un gestor de deportes. El nombre “Entidades” es el nombre que asignare a mi proyecto que alberga mi archivo ‘.dbml’.

Noodles Tech Club Jorge Cupi jorgecupi@hotmail.com

Aplicación de tres capas utilizando ASP.NET

6.3.

Añadiendo el ítem Linq to SQL Class

Para poder manejar nuestra base de datos de manera más cómoda, mapearemos nuestra base de datos a clases. De esta manera utilizaremos nuestras tablas como si fuesen objetos. Para este objetivo, crearemos una clase Linq To SQL Classes

Un archivo .dbml o “data base markup language” es un archivo de modelamiento que hace eso precisamente, modelar nuestra base de datos y “convertirla” para nosotros, de esta manera podemos referirnos a las tablas que tengamos como objetos y a sus campos como atributos.

Noodles Tech Club Jorge Cupi jorgecupi@hotmail.com

Aplicación de tres capas utilizando ASP.NET

Una vez hayamos hecho click en añadir, veríamos la siguiente ventana:

6.4.

Anadir la base de datos a nuestro archivo .dbml

Hacemos click en “Server Explorer” para poder ver que motores de bases de datos tenemos actualmente corriendo y de ahí extraeremos la base de datos o inclusive, solo las tablas necesarias para el proyecto que llevaremos a cabo. Hacemos click en Conectar a una base de datos. Posteriormente saltara una pantalla que nos pida el nombre de nuestra instancia de SQL Server, además de la base de datos a la cual queremos hacer referencia.

Noodles Tech Club Jorge Cupi jorgecupi@hotmail.com

Aplicación de tres capas utilizando ASP.NET

Una vez hayamos hecho click en Ok, podemos ver que nuestro explorador de servidores, ya contamos con nuestra base de datos:

Finalmente, arrastraremos las tablas que necesitamos, en mí caso arrastrare todas las tablas de mi base de datos al medio de la pantalla:

Para finalizar, presionaremos F6 para construir la solución y poder usar la base de datos.

Noodles Tech Club Jorge Cupi jorgecupi@hotmail.com

Aplicación de tres capas utilizando ASP.NET

7. Construyendo la capa de acceso a datos
Como mencionamos antes, en esta capa es en donde interactuamos con la base datos, para este objetivo crearemos un proyecto de tipo Librería de Clases, como lo hicimos para el proyecto que alberga la base de datos mapeada.

Ok, ya tenemos dos proyectos en nuestra solución, pero como es que estos proyectos se comunican si es que son independientes? La respuesta es haciendo referencias, ahora veremos cómo hacer una referencia desde un proyecto a otro:

7.1.

Haciendo referencia al Proyecto Entidades

Recordemos que la base de datos mapeada está ubicada en el proyecto Entidades, por tanto la haremos una referencia a dicho proyecto de la siguiente manera: Hacemos click derecho en Referencias, y luego click en “Anadir Referencia”:

Noodles Tech Club Jorge Cupi jorgecupi@hotmail.com

Aplicación de tres capas utilizando ASP.NET

A continuación veremos la siguiente pantalla, donde nos indica otros proyectos existentes en la solución, hacemos click en Entidades y luego en Ok, de esta manera ya podemos hacer referencias a nuestra base de datos desde nuestra capa de acceso a datos. También haremos referencia a System.Data.Linq que se encuentra en la pestaña .NET de la ventana de referencias.

7.2.

Creación de una clase Padre

Para poder ahorrar código, crearemos una clase llamada BASEDA, de la cual nuestras clases en la capa de acceso a datos heredaran dos métodos: - Un método que nos permita interactuar con la base de datos llamado GETDC() - Un método que llevara los valores obtenidos de querys que hagamos a una lista para poder manejarlos de manera más cómoda.

Noodles Tech Club Jorge Cupi jorgecupi@hotmail.com

Aplicación de tres capas utilizando ASP.NET

7.3.

Creación de una interfaz

Además de tener una clase padre para todas nuestras clases, crearemos una Interfaz, de manera que podamos mantener nuestro código ordenado. Con la creación de un Interface forzamos a nuestras clases a tener los mismos métodos. Pero por que querríamos algo así? Queremos por ejemplo que cada clase tenga los métodos: - Adicionar - Eliminar - Modificar - DevolverTodo (devolver todos los elementos de una tabla) Para nuestro Interface, añadiremos una nueva clase al proyecto AccesoDatos y lo llamaremos InterfazDA. Veamos el código de nuestro Interface:

Finalmente, ahora si pasaremos a la creación de nuestras clases pertenecientes a la capa de acceso a datos, tendremos una clase por cada tabla en la base de datos, para este ejemplo solo utilizare dos tablas de mi base de datos:

z
Noodles Tech Club Jorge Cupi jorgecupi@hotmail.com

Aplicación de tres capas utilizando ASP.NET

7.4.

Creación de la clase DeportistaDA

Para la creación de esta clase, echaremos un vistazo a cada uno de los métodos que tiene, los métodos se replican para todas las siguientes clases, así que veremos con detalle que hace cada uno. 7.4.1. Referencias Recuerden que es importante hacer referencia al proyecto Entidades ya que es en el en el que nuestra base de datos esta albergada:

Para cada clase tendremos lo siguiente:

En este caso tenemos la clase DeportistaDA, mis otras clases vendrían a ser : <nombre_de_mi_clase>DA Podemos observar que nuestro constructor hereda dos cosas: - Hereda los métodos de la clase BaseDA - Hereda los métodos de la Interfaz IDataAccess Las letras que vemos de color plomo son el nombre de una región de código, si hacemos click en ellas, la región se expandirá se la siguiente manera, mostrándonos así los métodos que albergan, es una manera más elegante de separar código, por ejemplo en esta región tendremos a los métodos heredados de la Interfaz IDataAccess:

Noodles Tech Club Jorge Cupi jorgecupi@hotmail.com

Aplicación de tres capas utilizando ASP.NET

7.4.2. Vistazo al método GetAll()
Este método devuelve todos los registros almacenados en la tabla, en este caso, devuelve a todos los deportistas registrados en la tabla Deportistas. Y como hace esto? Primero crea una objeto DBDDeportesDataContext en el que “recuperara” a la base de datos, mediante este método tenemos acceso a la base de datos, veremos que esta línea de código es repetida en cada acción que revisemos. Posteriormente, utilizando una consulta Linq, rescata a todos los deportistas en una variable de tipo IQueryable que almacena deportistas. Finalmente devuelve el IQueryable ya convertido en una lista gracias al método heredado de la clase padre BaseDA.

7.4.3. Vistazo al método Adicionar
Este método adicionar un nuevo deportista a la tabla deportistas. Como lo hace? Nuevamente crea una instancia de tipo DBDeportes, y como podemos ver, lo que hace es utilizar el método InsertOnSubmit(), que sirve para añadir un registro a una tabla en la base de datos. Pero el método InsertOnSubmit no basta, la base de datos no almacena nada hasta que se llame al método SubmitChanges que es el que se encarga en realidad de llevar a cabo las acciones requeridas sobre la base de datos.

7.4.4. Vistazo al método Eliminar
El método eliminar es muy similar al método Adicionar, solo que esta vez utiliza el método DeleteOnSubmit() para eliminar al deportista en cuestión.

Noodles Tech Club Jorge Cupi jorgecupi@hotmail.com

Aplicación de tres capas utilizando ASP.NET

7.4.5. Vistazo al método Actualizar
Finalmente el método Actualizar, que lo que hace es reemplazar un registro antiguo por otro nuevo, podemos ver esto por los parámetros que se envían al método: - Un nuevoItem (el nuevo deportista) - Un originalItem (el deportista que será reemplazado) El método utilizado en cuestión es el método Attach() que tomar como parámetros un registro antiguo y un registro nuevo, sobrescribe los datos de uno con el otro respectivamente.

7.5.

Creación de la clase PaisDA

De la misma manera, crearemos una clase PaisDA en el proyecto AccesoDatos. Veremos que la creación de la clase PaisDA es MUY similar a la creación de la clase DeportistaDA, es tan similar que lo único que tendremos que hacer es reemplazar la palabra deportista por país:

Noodles Tech Club Jorge Cupi jorgecupi@hotmail.com

Aplicación de tres capas utilizando ASP.NET

Tendremos que hacer lo mismo para todas las tablas que tengamos en la base de datos, o al menos, haremos esto para las tablas en las cuales querramos adicionar, eliminar, y actualizar registros. Si se dan cuenta, en esta capa, no validamos los datos de los deportistas, o paises, las validaciones y otros requerimientos los realizaremos en la capa de negocios o capa logica, que es la que se encarga de estas tareas.

8. Construyendo la capa de logica de negocios
Como vimos, es la capa de acceso a datos la que se encarga de realizar altas, bajas, modificaciones, etc. En esta capa nos encargamos de las validaciones, tareas solicitudes del usuario en la capa de presentación, entre otros. Igual crearemos un proyecto de tipo Librería de clases, al cual llamaremos LogicaNegocio: Además, nombraremos en este proyecto a todas nuestras clases de la siguiente manera: <nombre_de_la_clase>BL

8.1.

Haciendo referencia a Entidades y AccesoDatos

En la capa de lógica de negocio necesitamos hacer referencia a ambos proyectos. Por qué? -

Referencia al proyecto Entidades para poder manejar a nuestras clases (tablas de la base de datos) Referencia al proyecto AccesoDatos por que llamaremos a sus métodos (métodos de adición, eliminación, y otras consultas) desde esta capa.

Noodles Tech Club Jorge Cupi jorgecupi@hotmail.com

Aplicación de tres capas utilizando ASP.NET

8.2.

Creación de una Interfaz

Al igual que en la capa de acceso a datos, utilizaremos una Interfaz en esta capa, todo con el propósito de mantener un código ordenado y más entendible. No es necesario realizar interfaces en una aplicación en tres capas, pero esta vez lo haremos por las razones previamente mencionadas. Crearemos una clase en el proyecto LogicaNegocio, y la denominaremos IBusinessLogic, debajo vemos el código empleado en esta interfaz:

8.3.

Creación de la clase DeportistaBL

Tal como lo hicimos con la clase DeportistaDA, daremos un vistazo a los métodos de esta clase, uno por uno.

8.3.1. Referencias
Recuerden que es importante hacer referencia al proyecto Entidades, así como también al proyecto AccesoDatos:
Noodles Tech Club Jorge Cupi jorgecupi@hotmail.com

Aplicación de tres capas utilizando ASP.NET

Para cada clase tendremos lo siguiente:

En este caso tenemos la clase DeportistaBL, mis otras clases vendrían a ser : <nombre_de_mi_clase>BL Podemos observar que nuestro constructor hereda los métodos de la Interfaz IDataAccess, esto con el propósito de tener los métodos ya vistos (adición, eliminación, actualización y obtener todos los registros).

8.4.2. Vistazo al método GetAll()
Como podemos observar, este método solo se remite a devolver el método GetAll() de una instancia de objeto de tipo DeportistaDA. Quizás no tiene sentido crear una clase solo para llamar al método de otra clase y retornar los valores obtenidos en una nueva lista, pero es que aquí no estamos validando ni especificando algo en particular. Simplemente queremos que nos devuelvan en una lista a todos los registros de la tabla deportista. Veremos luego un método que si valida parámetros y recién llama a la capa de acceso de datos.

Noodles Tech Club Jorge Cupi jorgecupi@hotmail.com

Aplicación de tres capas utilizando ASP.NET

8.4.3. Vistazo al método Adicionar()
Pasa algo similar en el método Adicionar, solo creamos un objeto de tipo DeportistaDA y utilizamos su método Adicionar, enviándole los parámetros recibidos.

Sin embargo, podríamos realizar un par de cambios en este método, o bien, podríamos crear otro método adicionar que verifique que los datos introducidos sean correctos:

Con este nuevo método Adicionar, podemos verificar por ejemplo que el tamaño del campo id_deportista no exceda el limite asignado en nuestra base de datos, también verificamos por ejemplo que el país del que proviene el deportista exista en la base de datos. La capa de lógica de negocios esta para esto, como podemos ver, utilizamos un método más el método NoSeEncuentra() que devuelve un booleano true si el país no se encuentra en la base de datos, y devuelve un false si el país si se encontrara. Si lo notaron, hago referencia al país de nuestro deportista, como si fuera un atributo propio. Recordemos los atributos de Deportista y de País:

Noodles Tech Club Jorge Cupi jorgecupi@hotmail.com

Aplicación de tres capas utilizando ASP.NET

Lo notan? Nuestro deportista no tiene un atributo País como tal, lo que hace nuestro archivo DBDEportes.dbml es hacer un join por detrás, de tal manera que nos ahorramos escribir una consulta parecida a lo siguiente:

Entonces, lo que hacemos con nuestra base de datos mapeada es en realidad tratar a nuestras tablas como: “deportista tiene país” Y no algo así como “deportista tiene un código de país y país tiene un código país, Por tanto buscaremos el país cuyo código de país sea igual al código de país el deportista” Que viene a ser mucho más incómodo y tedioso, esto nos ayuda a preocuparnos más en la lógica que apliquemos en nuestro software y no preocuparnos demasiado por lo que está pasando con la base de datos por detrás. Con este ejemplo, espero quede en claro la funcionalidad de la capa de lógica de negocios. No haremos ni modificaremos los métodos de Eliminar o Actualizar ya que vendrían a ser algo parecido. Solo echaremos un vistazo a los métodos por defecto que tenemos

8.4.4. Vistazo al método Eliminar()
Podemos observar que no tenemos nada escrito en el método Eliminar(), esto por decisión propia, supongamos que mi cliente solo quiere adicionar Países, no eliminarlos, entonces no escribiremos nada en la parte de Eliminación, sin embargo tenemos que crear el método ya que el uso de una Interfaz para estas clases nos obliga a hacerlo para mantener un código uniforme.

8.4.5. Vistazo al método Actualizar()
Finalmente vemos al método Actualizar() que es prácticamente idéntico al método Adicionar:

Noodles Tech Club Jorge Cupi jorgecupi@hotmail.com

Aplicación de tres capas utilizando ASP.NET

9. Creación de la capa de presentación
Finalmente la capa a la que todos queríamos llegar: La capa de presentación. En ella es en donde desplegamos lo que el cliente quiere. - El cliente quiere una lista de todos los países latinoamericanos? - El cliente quiere una lista de todos los deportistas africanos que juegan futbol en Inglaterra? - El cliente quiere añadir un nuevo deporte a la base de datos? - El cliente quiere actualizar la capacidad de todos los stadiums de España? Todo eso y más son desplegados aquí, es la capa más externa y por tanto la capa que muestra los resultados. Comencemos con la creación de esta capa. A diferencia de las otras capas, esta no estará dentro de un proyecto de tipo Librería de Clases, si no la albergaremos dentro de un proyecto de tipo “Aplicación Web de ASP.NET”. A este proyecto le daremos el nombre de “Presentación”

9.1.

Haciendo referencia a Entidades y LogicaNegocio

En la capa de presentación necesitamos hacer referencia a ambos proyectos. Por qué? -

Referencia al proyecto Entidades para poder manejar a nuestras clases (tablas de la base de datos) Referencia al proyecto LogicaNegocio por que llamaremos a sus métodos (métodos de adición, eliminación, y otras consultas) desde esta capa.

Noodles Tech Club Jorge Cupi jorgecupi@hotmail.com

Aplicación de tres capas utilizando ASP.NET

9.2.

Creación de una página web

Utilizaremos la página creada por default en nuestro proyecto, la página Default.aspx:

Hacemos doble click en Default.aspx para desplegar su editor XML y de diseño: Probemos nuestra aplicación ahora, presionemos F5 y veamos que pasa:

Traduciendo el error, nos dice que no podemos iniciar nuestra solución a partir de un proyecto de Librería de Clases, lo cual es cierto. Dado que un nuestros proyectos de librería de clases no tenemos nada que desplegar hacia nuestro cliente, para corregir este problema, la asignamos el título de proyecto iniciador a nuestro proyecto que alberga la capa de presentación.

Noodles Tech Club Jorge Cupi jorgecupi@hotmail.com

Aplicación de tres capas utilizando ASP.NET

9.3.

Convertir la capa de presentación en proyecto inicial.

Hacemos click derecho en nuestro proyecto Presentación y luego click en la opción “Establecer como proyecto inicial”. Con este paso le decimos a nuestra solución que es este el proyecto que tiene que iniciarse una vez que intentemos debuggear o correr la aplicación como tal.

9.4.

Corriendo nuestra aplicación.

Una vez hayamos corregido este problema, presionemos una vez más F5 y veamos la primera corrida de nuestra aplicación:

Noodles Tech Club Jorge Cupi jorgecupi@hotmail.com

Aplicación de tres capas utilizando ASP.NET

Como podemos observar, se está desplegando en nuestro navegador por defecto (Google Chrome en mi caso) el contenido de la página Default.aspx

9.5.

Desplegando datos de la base de datos

Ya estamos llegando al final de este tutorial, finalmente desplegaremos la información almacenada en nuestra base de datos. Como hacemos esto? 9.5.1. Introduciendo elementos en nuestra pagina Primero introduzcamos un botón y una lista de despliegue en nuestra página web Para esto, solo habilitaremos la pestaña de Diseño de nuestra página web y no así la pestaña de código:

Ya tenemos un botón y una lista de despliegue añadidos, hora de darles funcionalidad. Para lo cual crearemos un evento del botón. El evento por defecto de cualquier botón es el evento “Click” que sucede como lo dice su nombre cuando un cliente hace click en el botón en cuestión.

Noodles Tech Club Jorge Cupi jorgecupi@hotmail.com

Aplicación de tres capas utilizando ASP.NET

9.5.2. Crear el evento del botón
Por ultimo nos queda darle funcionalidad a nuestro botón, hagamos doble click en el Botón:

Podemos observar que en pantalla tenemos desplegado el Code Behind de nuestra página ASP.NET y tras haber hecho doble click en el Botón, acabamos de generar el evento “Button1_Click”. Esto quiere decir que se ejecutara el código que escribamos aquí cada vez que hagamos click a nuestro botón.

9.5.3. Dándole funcionalidad al botón
Antes que nada, no olvidemos hacer referencia a los dos proyectos:

Ya que tenemos referenciados a Entidades y LogicaNegocio podemos comenzar a desplegar algo en pantalla. Intentemos mostrar el nombre de todos los jugadores que tenemos registrados en la base de datos:

Noodles Tech Club Jorge Cupi jorgecupi@hotmail.com

Aplicación de tres capas utilizando ASP.NET

Analizando este código: DeportistaBL bl = new DeportistaBL(); Estamos instanciando un objeto de tipo DeportistaBL con el propósito de poder usar los métodos que tiene este en la capa de lógica de negocios List<deportista> ListaDeportistas = bl.GetAll(); Estamos recogiendo a todos los deportistas en una lista llamada ListaDeportistas que alberga elementos de tipo deportista Foreach (deportista D in ListaDeportes) DropdownList1.Items.Add(D.nombre_deportista); Estamos introduciendo el nombre de cada deportista “D” que se encuentre en nuestra lista de deportistas denominada “ListaDeportistas”

-

-

Hagamos correr nuevamente nuestro programa y veamos los resultados:

Podemos observar que ya tenemos una lista desplegable y un botón en nuestra página, presionemos el botón y veamos que pasa:

Noodles Tech Club Jorge Cupi jorgecupi@hotmail.com

Aplicación de tres capas utilizando ASP.NET

9.6.

Guardando información en la base de datos

Ya podemos desplegar datos en nuestra página, pero eso no es todo lo que haremos en nuestras páginas, también vamos a desear adicionar, eliminar o modificar datos. Así que en el siguiente ejemplo veremos cómo funciona la adición de información en nuestra base de datos

9.6.1. Creando la interfaz en la capa de presentación

Dentro de <asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"> Introduciremos el código de acá arriba, mostramos como es la edición de una página ASP.NET en código, ya que en el anterior ejemplo solo vimos la edición desde la pestaña diseño. Podemos identificar la creación de una tabla con dos filas, la primera fila contiene dos columnas, una columna con labels y otra con textboxs En la siguiente fila tenemos un solo botón que es el que accionaremos para grabar en la base de datos la información introducida en la página web. Nuestra página debería de quedar así:

Noodles Tech Club Jorge Cupi jorgecupi@hotmail.com

Aplicación de tres capas utilizando ASP.NET

9.6.2. Dándole funcionalidad a nuestro botón “Adicionar País”

A grandes rasgos, estamos creando un objeto de tipo País , y a este le estamos dando los valores introducidos en la página web. Posteriormente utilizamos el método AdicionarValidado de la clase PaisBL perteneciente a la capa de negocios que lo que hace es verificar ciertos errores como vemos a continuación:

Lo que hace este método es verificar si el código de país no excede los tres caracteres y además verifica que el cliente no introduzca datos erróneos en el campo Continente. Si es que no hay errores, devuelve un mensaje de “Datos introducidos satisfactoriamente” e introduce los datos en la base de datos utilizando la capa de acceso a datos. Si por otro lado, hay errores, devuelve un mensaje conteniendo el error y NO introduce la información en la base de datos.

Noodles Tech Club Jorge Cupi jorgecupi@hotmail.com

Aplicación de tres capas utilizando ASP.NET

9.6.3. Probando nuestro botón de adición de Países:
Veamos los tres casos posibles: El id_pais es muy largo:

-

El nombre del continente está mal escrito:

-

Los datos están introducidos correctamente

Noodles Tech Club Jorge Cupi jorgecupi@hotmail.com

Aplicación de tres capas utilizando ASP.NET

10. Que aprendimos?
Aprendimos la definición de la arquitectura tres capas. Aprendimos a realizar una aplicación en tres capas. Aprendimos a hacer referencias a otros proyectos dentro de una misma solución Aprendimos a mapear una base de datos utilizando el Linq To Sql Classes. Aprendimos a mostrar información de nuestra base de datos en nuestra página web. Aprendimos a adicionar información a nuestra base de datos desde una página web.

Espero les haya gustado mi tutorial. Si tienen dudas, preguntas, criticas, comentarios, etc. No duden en: - escribirme al correo jorgecupi@hotmail.com - O encontrarme en Facebook: http://www.facebook.com/JorgeCupi Muchas gracias =).

Noodles Tech Club Jorge Cupi jorgecupi@hotmail.com

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->