1. Introducción
El PDF de este documento está disponible |AQUÍ|.
Los ejemplos de este documento están disponibles |AQUÍ|.
Queremos escribir una aplicación .NET que permita a un usuario realizar simulaciones del cálculo de la nómina de las cuidadoras infantiles de la asociación «Maison de la petite enfance» de un municipio. Nos centraremos tanto en la organización del código DotNet de la aplicación como en el código en sí.
La aplicación final, que llamaremos [SimuPaie], tendrá la siguiente estructura de tres capas:
![]() |
- la capa [1-dao] (dao=Data Access Object) se encargará del acceso a los datos. Estos se almacenarán en una base de datos.
- La capa [2-métier] se encargará del aspecto funcional de la aplicación, el cálculo de las nóminas.
- La capa [3-ui] (ui = Interfaz de usuario) se encargará de la presentación de los datos al usuario y de la ejecución de sus consultas. Denominamos [Application] al conjunto de módulos que garantizan esta función. Es el interlocutor del usuario.
- Las tres capas serán independientes gracias al uso de interfaces .NET
- La integración de las diferentes capas se llevará a cabo mediante Spring IoC
El procesamiento de una solicitud de un cliente se lleva a cabo siguiendo los siguientes pasos:
- el cliente realiza una solicitud a la aplicación.
- La aplicación procesa esta solicitud. Para ello, puede necesitar la ayuda de la capa [métier], que a su vez puede necesitar la capa [dao] si es necesario intercambiar datos con la base de datos. La aplicación recibe una respuesta de la capa [métier].
- En función de esta, envía la vista (= la respuesta) adecuada al cliente.
La interfaz que se muestra al usuario puede adoptar diversas formas:
- una aplicación de consola: en este caso, la vista es una secuencia de líneas de texto.
- una aplicación gráfica de Windows: en este caso, la vista es una ventana de Windows
- una aplicación web: en este caso, la vista es una página HTML
- ...
Escribiremos diferentes versiones de esta aplicación:
- una version ASPNET que contiene un único formulario y está construida con una arquitectura de una sola capa.
- una version idéntica a la anterior pero con extensiones Ajax
- una version ASP.NET basada en una arquitectura de tres capas, en la que la capa de acceso a datos se implementa con el marco NHibernate. Seguirá teniendo el único formulario de la version 1.
- un version 4 ASP.NET multivista y de una sola página con la arquitectura de tres capas del version 3.
- la parte del servidor de una aplicación cliente/servidor en la que el servidor se implementa mediante un servicio web basado en la arquitectura en capas de la version 3.
- La parte cliente de la aplicación cliente/servidor anterior, implementada mediante una capa ASP.NET.
- una version 7 ASP.NET multivista y multipágina con la arquitectura de tres capas de la version 3.
- una version 8 ASP.NET multivista y multipágina cliente del servicio web de la version 5.
- una version 9 ASP.NET con múltiples vistas ypáginas con la arquitectura de tres capas de la version 3, donde la capa de acceso a datos está implementada mediante clases de Spring que facilitan el uso del marco NHibernate.
- una version 10 implementada en FLEX y cliente del servicio web de la version 5.
Requisitos previos
En una escala [débutant-intermédiaire-avancé], este documento se encuentra en la parte [intermédiaire]. Su comprensión requiere varios requisitos previos que se pueden encontrar en algunos de los documentos que he escrito:
- Programación ASP.NET [Desarrollo web con ASP.NET 1.1 (2004)];
- Lenguaje C# 2008: [Aprender C# versión 3.0 con .NET Framework 3.5 (2008)]: clases, interfaces, herencia, polimorfismo
- [Spring IoC], disponible en URL y [Spring IoC para .NET (2005)]. Presenta los fundamentos de la inversión de control (Inversion of Control) o la inyección de dependencias (Dependency Injection) del marco Spring.Net [http://www.springframework.net].
- [Creación de una aplicación web de tres capas con Spring.NET y VB.NET (2005)], disponibles en URL [Création d'une application web à trois couches avec Spring.NET et VB.NET]. Este curso presenta una aplicación simplificada de compra de productos en la web. Su arquitectura de tres capas implementa el modelo MVC.
En ocasiones se incluyen recomendaciones de lectura al inicio de los párrafos de este documento. Estas hacen referencia a los documentos anteriores.
Herramientas
Las herramientas utilizadas en este caso práctico están disponibles gratuitamente en la web. Son las siguientes:
- Visual C# 2008, Visual Web Developer Express 2008, SQL Server Express 2005, disponibles en URL [http://www.microsoft.com/express/downloads/].
- Spring IoC para la instanciación de los servicios necesarios para la aplicación, disponible en URL [http://www.springframework.net/]; véase también [3]
- NHibernate para la capa de acceso a datos de SGBD [http://sourceforge.net/projects/nhibernate/]
- NUnit: [http://www.nunit.org] para las pruebas unitarias.
