Vous êtes sur la page 1sur 28

ITESI EXT. PURISIMA DESARROLLO DE APLICACIN EN AMBIENTE DISTRIBUIDO DOCENTE: ISC. MARTHA MELINA RODRIGUEZ VAZQUEZ.

PROGRAMACION EN CAPAS PASO A PASO.


I.- Introduccin En este tutorial se mostrara como implementar una aplicacin usando la arquitectura NCapas con el motor de base de datos SQL Server. Ademas se explicara los metodos
ExecuteScalar, ExecuteNonQuery. Ac dejo los enlaces de los anteriores tutoriales.

II.- Metodos ExecuteNonQuery y ExecuteScalar


ExecuteNonQuery: Ejecuta una instruccin de Transact-SQL en la conexin y devuelve el nmero de filas afectadas. ExecuteScalar: Ejecuta la consulta y devuelve la primera columna de la primera fila del conjunto de resultados devuelto por la consulta. Las dems columnas o filas no se tienen en cuenta.

III.-Programar en Capas La programacin en capas propone dividir los elementos que compone una aplicacin segn las funciones que realice, es decir, por ejemplo si tenemos que conectar a una base de datos juntaremos todos los objetos que tengan afinidad y los agruparemos en una biblioteca de clase llamada Capa de Datos. Se trata de tres capas como mnimo para poder implementar una aplicacin y as decir que una aplicacin se encuentran en Capas, tenemos:
La capa de presentacin: Es la capa que se encarga de modelar los elementos de tal manera que pueda interactuar con el usuario. La capa de datos: Es la capa que se encarga de proveer de informacion conectada a una base de datos y mantenerla de manera adecuada durante todo el procedo de una aplicacion. La capa logica: Es la capa encargada de realizar toda la parte funcional de la aplicacion, es decir, servira como un puente entre la capa de presentacion y las demas capas.

ITESI EXT. PURISIMA DESARROLLO DE APLICACIN EN AMBIENTE DISTRIBUIDO DOCENTE: ISC. MARTHA MELINA RODRIGUEZ VAZQUEZ.

Cuando se habla de programacion en N-Capas nos referimos a la capa Entidad que generaria lacuarta capa llamada N-Capas de la programacion, si nos referimos al hecho que la aplicacion proviene de un analisis, entonces debemos remontarnos al Diagrama de Clases de Analisis que propone una clase llamada la clase Entidad en donde expone las entidades que participan directamente en un proceso de la aplicacion. Veamos un diagrama de clases de analisis como se muestra en la siguiente imagen.

Si se analiza el diagrama notamos que existen 3 clases, la primera es la clase interfaz llamadaRequerimiento Horario y Horario Consultorio estas seran implementadas dentro de la Capa Interfaz o Capa Presentacion, la clase control llamada Programar Horario que nosotros la implementaremos dentro de la Capa Logica o Capa de Negocio y finalmente la clase entidad Horario y Consultorio que son las entidades que participan en el proceso, estas se implementara en la capa entidad.

ITESI EXT. PURISIMA DESARROLLO DE APLICACIN EN AMBIENTE DISTRIBUIDO DOCENTE: ISC. MARTHA MELINA RODRIGUEZ VAZQUEZ.
Estas entidades mostradas en el diagrama representaran una entidad de tabla en un motor de base de datos, mientras que la interfaz se podra implementar en cualquier lenguaje de programacion de soporte orientada a objetos como Visual Net 2012( C#) o NetBeans(Java) Entonces, la implementacion de n-capas se vera de la forma como lo muestra la siguiente imagen.

Donde la Capa de Presentacion interactua tanto con el usuario como con la capa logica y esta a su vez interactua con la Capa de Datos y la Capa Entidad. La capa de presentacion solicitara las funciones o procedimientos a la capa logica, esta capa invocara las funciones de acceso a datos de la capa datos, pasando los valores por la capa entidad. Aqui se genera un problema sobre quien tendra la responsabilidad de tener la logica de los procesos si se necesita tener acceso a muchas entidades, para esto se hace uso de un patron llamado DAO que permite manejar la conexion al origen de datos para obtener y almacenar informacion dentro de las mismas, es decir, podremos realizar consultar, insertar, actualizar o eliminar usando una clase llamada DAO. Los beneficios del uso del patron DAO son. Sirve para separar el acceso a datos de la logica de negocio. Algo altamente recomendable en sistemas medianos o grandes, o que manejen logica de negocio compleja. Encapsula la fuente de datos. Esto es especialmente beneficioso en sistemas con acceso a multiples entradas. Centraliza todos los accesos a datos en una capa independiente, dependiendo de como se llama la entidad podria llamarse DAOCliente en conde se podra implementar funciones para dicha entidad. Cuando se trabaja con DAO los datos se encuentran desconectado de la fuente de origen, y es alli justamente donde entra la clase que por medio de objetos obtiene los valores de la entidad tanto como para consultar o aplicar cualquier funcion de mantenimiento sobre ella. Entonces cuando usted ejecuta una aplicacion en N-Capas, se apertura la conexion a la base de datos, se ejecuta la instruccion SQL por medio de funciones, si es una operacion de lectura, se vuelca el contenido hacia una estructura de datos de .NET, como las colecciones, y se cierra la conexion.

III.- Caso a Desarrollar Implemente una solucion que permita administrar los datos de los pasajeros usando la Arquitectura N-Capas.

ITESI EXT. PURISIMA DESARROLLO DE APLICACIN EN AMBIENTE DISTRIBUIDO DOCENTE: ISC. MARTHA MELINA RODRIGUEZ VAZQUEZ.

Tener en cuenta:
Cree una solucion Agrege 3 proyectos de biblioteca de clases Agregue 1 proyecto de windows. Implemente 4 Capas: Capa Datos, Capa Entidad, Capa Negocios y Capa Presentacion.

Implemente una aplicacion dentro de la capa de presentacion para poder listar a los pasajeros como se muestra en la siguientes imagenes.

Software a Utilizar
Microsoft Visual Studio 2012. ( RECOMENDABLE PARA EVITAR PROBLEMAS CON LAS IMAGENES QUE SE MUESTRA EN ESTE TUTORIAL) SQL Server 2008 Video explicacion funcionamiento de interfaz mantenimiento informacion pasajeros. Ver video.

IV.-

Desarrollo

de

la

Aplicacion

Se recomienda POR FAVOR leer DETENIDAMENTE y CON CALMA cada paso de la solucion de la aplicacion.
PARTE I: SQL SERVER -CREANDO PROCEDIMIENTOS ALMACENADOS

Paso 01 : Creando los procedimientos almacenados en la base de datos AGENCIA. Aca dejo el enlace del Script de la base de datos AGENCIA descargar.
Ingrese a SQL Server

ITESI EXT. PURISIMA DESARROLLO DE APLICACIN EN AMBIENTE DISTRIBUIDO DOCENTE: ISC. MARTHA MELINA RODRIGUEZ VAZQUEZ.

Debe crear una nueva hoja de consultas (New Query )

Una vez creado la hoja de consultas debe verificar que este usando la base de datos AGENCIA.

A continuacion se muestra el codigo del procedimiento sp_ListadoPasajeros. Recuerde que el procedimiento lo debe ejecutar con

Codigo del procedimiento sp_Ultimocodigopasajero

ITESI EXT. PURISIMA DESARROLLO DE APLICACIN EN AMBIENTE DISTRIBUIDO DOCENTE: ISC. MARTHA MELINA RODRIGUEZ VAZQUEZ.

Codigo del procedimiento sp_ListaPais.

Codigo del procedimiento sp_Nuevopasajero.

Codigo del procedimiento sp_Actualizarpasajero.

ITESI EXT. PURISIMA DESARROLLO DE APLICACIN EN AMBIENTE DISTRIBUIDO DOCENTE: ISC. MARTHA MELINA RODRIGUEZ VAZQUEZ.

Codigo del procedimiento sp_Eliminarpasajero.

PARTE II: VISUAL STUDIO 2012- CREANDO CAPAS Paso 02 : Creando Capa de Datos Creando Solucion en blanco: Archivo>Nuevo Proyecto. Seleccione Otros tipos de proyectos>Soluciones de Visual Studio y asigne el nombre Sistema de control de Agencia NCapas. En la ubicacion del archivo seleccione una carpeta con el boton Examinar es aqui donde almacenara el proyecto completo.

ITESI EXT. PURISIMA DESARROLLO DE APLICACIN EN AMBIENTE DISTRIBUIDO DOCENTE: ISC. MARTHA MELINA RODRIGUEZ VAZQUEZ.

A la solucion anterior agrege un nuevo proyecto. Archivo > Agregar > Nuevo Proyecto

Seleccione Visual C# > Biblioteca de Clase y asignele el nombre de CapaDatos como lo muestra la siguiente figura.

Paso 03 : Creando Capa de Entidades Nuevamente seleccione Arvhivo> Agregar > Nuevo Proyecto, seleccionamos Visual C# > Biblioteca de Clases y asignele el nombre CapaEntidad como se muestra en la imagen.

ITESI EXT. PURISIMA DESARROLLO DE APLICACIN EN AMBIENTE DISTRIBUIDO DOCENTE: ISC. MARTHA MELINA RODRIGUEZ VAZQUEZ.

Paso 04 : Creando Capa de Negocios Nuevamente seleccione Arvhivo> Agregar > Nuevo Proyecto, seleccionamos Visual C# > Biblioteca de Clases y asignele el nombre CapaNegocios como se muestra en la imagen.

Paso 05 : Creando Capa de Presentacion Nuevamente seleccione Arvhivo> Agregar > Nuevo Proyecto, seleccionamos Visual C# > Aplicacion de Windows de Forms y asignele el nombre CapaPresentacion como se muestra en la imagen.

ITESI EXT. PURISIMA DESARROLLO DE APLICACIN EN AMBIENTE DISTRIBUIDO DOCENTE: ISC. MARTHA MELINA RODRIGUEZ VAZQUEZ.

Paso 06 : Estableciendo proyecto de inicio En vista que la capa de datos fue la primera en crearse, es actualmente la que tiene el proyecto de inicio, es decir, al ejecutarse la aplicacion se iniciara con la capa de datos y ese no es el trabajo de dicha capa, debemos modificar el proyecto de inicio; usted lo puede reconocer porque todo proyecto de inicio aparece en negrita, como lo muestra la figura.

Para cambiar el proyecto de inicio presione clic derecho sobre CapaPresentacion y seleccione Establecer como proyecto de inicio.

ITESI EXT. PURISIMA DESARROLLO DE APLICACIN EN AMBIENTE DISTRIBUIDO DOCENTE: ISC. MARTHA MELINA RODRIGUEZ VAZQUEZ.

Luego de hacer el paso anterior el que debe mostrarse en negrita debe ser el proyecto CapaPresentacion, lo cual indica que es el proyecto de inicio.

PARTE III: ARCHIVO DE CONFIGURACION APP-.CONFIG En este archivo se define la cadena de conexion, que sera utilizada posteriormente por la clase Conexion.cls Paso 06 : Archivo de configuracion de aplicaciones - app.config En el Visual Studio Net 2010, este archivo se debe agregar al proyectoCapaPresentacion, lo debe agregar como se muestra en la imagen.

ITESI EXT. PURISIMA DESARROLLO DE APLICACIN EN AMBIENTE DISTRIBUIDO DOCENTE: ISC. MARTHA MELINA RODRIGUEZ VAZQUEZ.

En el caso del Visual Studio Net 2012, no es necesario agregarlo ya se encuentra en los proyectos Aplicacion Windows Forms.

Configure el app.config de la Capa de Presentacion con el siguiente codigo.

Nota: Si estuviera utilizando el visual studio 2010, el archivo App.Config deberia ser como se muestra en la siguiente imagen

Antes de implementar las clases que comprenderan los elementos de las capas debe implementar las capas creadas en la capa de datos, capa entidad y la capa de negocios quedando el explorador de soluciones como se muestra a continuacion.

ITESI EXT. PURISIMA DESARROLLO DE APLICACIN EN AMBIENTE DISTRIBUIDO DOCENTE: ISC. MARTHA MELINA RODRIGUEZ VAZQUEZ.

PARTE IV: IMPLEMENTANDO LAS CAPAS Paso 07 : Agregando e Implementando Clase cePasajero en CapaEntidad Agregue la clase cePasajero a la capa entidad, esta tendra la mision de especificar todos los elementos que componen la clase pasajero.

Primero agregue los atributos de la clase cePasajero

ITESI EXT. PURISIMA DESARROLLO DE APLICACIN EN AMBIENTE DISTRIBUIDO DOCENTE: ISC. MARTHA MELINA RODRIGUEZ VAZQUEZ.

Luego debemos generar las propiedades para cada atributo, debe seleccionar el atributo dar clic derecho elegir Refactorizar>Encapsular campo. Esto lo debe hacer por cada uno de los atributos. Como muestra en la figura.

Debe dar clic en el boton Aceptar

ITESI EXT. PURISIMA DESARROLLO DE APLICACIN EN AMBIENTE DISTRIBUIDO DOCENTE: ISC. MARTHA MELINA RODRIGUEZ VAZQUEZ.

Debe dar clic en el boton Aplicar

Al finalizar los pasos anteriores para cada atributo la clase debe quedar como se muestra.

ITESI EXT. PURISIMA DESARROLLO DE APLICACIN EN AMBIENTE DISTRIBUIDO DOCENTE: ISC. MARTHA MELINA RODRIGUEZ VAZQUEZ.

Paso 08 : Implementando CapaDatos Agregue a la capa de datos la referencia al namespace System.Configuration.

Al seleccionar la opcion Agregar referencia, se muestra el formulario de Administrador de referencias. Muestro la pantalla en la version Visual Studio 2012

En la version Visual Studio 2010, la ventana de Administrador de referencias tiene el siguiente aspecto.

ITESI EXT. PURISIMA DESARROLLO DE APLICACIN EN AMBIENTE DISTRIBUIDO DOCENTE: ISC. MARTHA MELINA RODRIGUEZ VAZQUEZ.

Luego de seleccionar System.Configuration, debe dar clic en el boton Aceptar, quedando la Capa Datos como se muestra en la siguiente imagen.

A la Capa Datos agregue la referencia de la Capa Entidad, para lograrlo presione clic derecho sobre la CapaDatos> Agregar Referencia >Solucion>Proyecto >Active el check de la CapaEntidad , tal como se muestra en la figura.

ITESI EXT. PURISIMA DESARROLLO DE APLICACIN EN AMBIENTE DISTRIBUIDO DOCENTE: ISC. MARTHA MELINA RODRIGUEZ VAZQUEZ.

En Visual Studio 2010, la ventana de agregar referencias tiene el siguiente aspecto.

Finalmente la referencia debe quedar asi.

ITESI EXT. PURISIMA DESARROLLO DE APLICACIN EN AMBIENTE DISTRIBUIDO DOCENTE: ISC. MARTHA MELINA RODRIGUEZ VAZQUEZ.

Agregue dos clases a la CapaDatos: la primera llamada Conexion que tendra la mision de realizar las transacciones necesarias para la conexion a la base de datos AGENCIA y la segunda llamada PasajeroDAO que tendra como mision almacenar los metodos propios de la administracion de los registros para pasajeros. Codigo de Clase Conexion

ITESI EXT. PURISIMA DESARROLLO DE APLICACIN EN AMBIENTE DISTRIBUIDO DOCENTE: ISC. MARTHA MELINA RODRIGUEZ VAZQUEZ.
Codigo de Clase PasajeroDAO

ITESI EXT. PURISIMA DESARROLLO DE APLICACIN EN AMBIENTE DISTRIBUIDO DOCENTE: ISC. MARTHA MELINA RODRIGUEZ VAZQUEZ.

En el metodo Ultimocodigogenerado, se apertura la conexion (cn.open()) porque

ITESI EXT. PURISIMA DESARROLLO DE APLICACIN EN AMBIENTE DISTRIBUIDO DOCENTE: ISC. MARTHA MELINA RODRIGUEZ VAZQUEZ.
el metodo ExecuteScalar que permite recuperar un solo valor(String) requiere una conexion activa. Paso 09 : Implementando CapaNegocio Agregue la referencia a CapaDatos y CapaEntidad en la CapaNegocio como lo muestra la imagen.

Agregue una clase a la Capa de Negocio y asignele el nombre de PasajeroCN y coloque el siguiente codigo.

ITESI EXT. PURISIMA DESARROLLO DE APLICACIN EN AMBIENTE DISTRIBUIDO DOCENTE: ISC. MARTHA MELINA RODRIGUEZ VAZQUEZ.

El codigo de la clase PasajeroCN es el siguiente

ITESI EXT. PURISIMA DESARROLLO DE APLICACIN EN AMBIENTE DISTRIBUIDO DOCENTE: ISC. MARTHA MELINA RODRIGUEZ VAZQUEZ.

Paso 10 : Implementando CapaPresentacion Agregue a la Capa de Presentacion la referencia a la Capa de Negocios y la Capa Entidad como lo muestra la imagen.

Agregue los elementos necesarios al Windows Forms como muestra la imagen.

ITESI EXT. PURISIMA DESARROLLO DE APLICACIN EN AMBIENTE DISTRIBUIDO DOCENTE: ISC. MARTHA MELINA RODRIGUEZ VAZQUEZ.

A continuacion el codigo del Windows Forms

ITESI EXT. PURISIMA DESARROLLO DE APLICACIN EN AMBIENTE DISTRIBUIDO DOCENTE: ISC. MARTHA MELINA RODRIGUEZ VAZQUEZ.

ITESI EXT. PURISIMA DESARROLLO DE APLICACIN EN AMBIENTE DISTRIBUIDO DOCENTE: ISC. MARTHA MELINA RODRIGUEZ VAZQUEZ.

ITESI EXT. PURISIMA DESARROLLO DE APLICACIN EN AMBIENTE DISTRIBUIDO DOCENTE: ISC. MARTHA MELINA RODRIGUEZ VAZQUEZ.

Vous aimerez peut-être aussi