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 al usuario simular los cálculos de nóminas para los cuidadores infantiles de la asociación «Maison de la petite enfance» en un municipio. Nos centraremos tanto en la organización del código .NET de la aplicación como en el código en sí.
La aplicación final, a la que llamaremos [SimuPaie], tendrá la siguiente estructura de tres capas:
![]() |
- La capa [1-DAO] (DAO = Objeto de Acceso a Datos) se encargará del acceso a los datos. Los datos se almacenarán en una base de datos.
- La capa [2-business] se encargará de la lógica de negocio de la aplicación, es decir, el cálculo de 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 las solicitudes del usuario. Nos referimos al conjunto de módulos que realizan esta función como [Aplicación]. Sirve como interfaz de usuario.
- Las tres capas se independizarán mediante el uso de interfaces .NET
- La integración de las diferentes capas se gestionará mediante Spring IoC
El procesamiento de una solicitud del cliente sigue estos 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 [de negocio], 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 [de negocio].
- En función de esta respuesta, envía la vista adecuada (= la respuesta) al cliente.
La interfaz que se presenta al usuario puede adoptar diversas formas:
- una aplicación de consola: en este caso, la vista es una serie de líneas de texto.
- una aplicación GUI 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 versión ASP.NET que contiene un único formulario y está construida con una arquitectura de una sola capa.
- una versión idéntica a la anterior, pero con extensiones Ajax
- una versión ASP.NET basada en una arquitectura de tres capas, en la que la capa de acceso a datos se implementa utilizando el marco NHibernate. Seguirá contando con el único formulario de la versión 1.
- una versión 4 de ASP.NET con múltiples vistas, una aplicación de página única con la arquitectura de tres capas de la versión 3.
- El lado del servidor de una aplicación cliente/servidor en la que el servidor se implementa como un servicio web basado en la arquitectura en capas de la versión 3.
- El lado del cliente de la aplicación cliente/servidor anterior, implementado mediante una capa ASP.NET.
- Una versión 7 de ASP.NET de múltiples vistas y múltiples páginas con la arquitectura de tres capas de la versión 3.
- Una versión cliente ASP.NET 8 de múltiples vistas y múltiples páginas del servicio web de la versión 5.
- Una versión de ASP.NET 9 con múltiples vistas y páginas, con la arquitectura de tres capas de la versión 3, en la que la capa de acceso a datos se implementa utilizando clases Spring que facilitan el uso del marco NHibernate.
- Una versión 10 implementada en FLEX y que actúa como cliente del servicio web de la versión 5.
Requisitos previos
En una escala de [principiante-intermedio-avanzado], este documento se clasifica en la categoría [intermedio]. Para comprenderlo se requieren 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];
- C# 2008: [Aprender C# versión 3.0 con .NET Framework 3.5]: clases, interfaces, herencia, polimorfismo
- [Spring IoC], disponible en [Spring IoC para .NET]. Abarca los fundamentos de la inversión de control (IoC) o la inyección de dependencias (DI) en el marco Spring.NET [http://www.springframework.net].
- [Creación de una aplicación web de tres capas con Spring y VB.NET], disponible en la URL [Creación de una aplicación web de tres capas con Spring.NET y VB.NET]. Este curso presenta una aplicación web simplificada para la compra de productos. Su arquitectura de tres capas implementa el patrón MVC.
En ocasiones, al principio de los párrafos de este documento se incluyen recomendaciones de lectura. Estas hacen referencia a los documentos anteriores.
Herramientas
Las herramientas utilizadas en este estudio de caso están disponibles gratuitamente en la web. Son las siguientes:
- Visual C# 2008, Visual Web Developer Express 2008 y SQL Server Express 2005, disponibles en la URL [http://www.microsoft.com/express/downloads/].
- Spring IoC para instanciar los servicios requeridos por la aplicación, disponible en [http://www.springframework.net/]; véase también [3]
- NHibernate para la capa de acceso a datos del SGBD [http://sourceforge.net/projects/nhibernate/]
- NUnit: [http://www.nunit.org] para pruebas unitarias.
