Académique Documents
Professionnel Documents
Culture Documents
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.
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
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.
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.
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.
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.
ITESI EXT. PURISIMA DESARROLLO DE APLICACIN EN AMBIENTE DISTRIBUIDO DOCENTE: ISC. MARTHA MELINA RODRIGUEZ VAZQUEZ.
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.
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.
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.
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.
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.
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.
ITESI EXT. PURISIMA DESARROLLO DE APLICACIN EN AMBIENTE DISTRIBUIDO DOCENTE: ISC. MARTHA MELINA RODRIGUEZ VAZQUEZ.