Skip to content

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, 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. Estos se almacenarán en una base de datos.
  • La capa [2-métier] se encargará del aspecto de negocio de la aplicación: el cálculo de la nómina.
  • La capa [3-ui] (ui = Interfaz de usuario) se encargará de presentar los datos al usuario y de ejecutar sus consultas. Denominamos [Application] al conjunto de módulos que cumplen esta función. Es el punto de contacto con el 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:

  1. el cliente envía una solicitud a la aplicación.
  1. La aplicación procesa esta solicitud. Para ello, puede necesitar la ayuda de la capa [métier], la cual a su vez puede requerir la capa [dao] si es necesario intercambiar datos con la base de datos. La aplicación recibe una respuesta de la capa [métier].
  2. De acuerdo con esta, envía la vista (= la respuesta) adecuada al cliente.

La interfaz que se le presenta al usuario puede adoptar diversas formas:

  1. una aplicación de consola: en este caso, la vista es una secuencia de líneas de texto.
  2. una aplicación gráfica de Windows: en este caso, la vista es una ventana de Windows
  3. una aplicación web: en este caso, la vista es una página HTML
  4. ...

Escribiremos diferentes versiones de esta aplicación:

  1. una versión ASPNET que incluye un único formulario y está construida con una arquitectura de una sola capa.
  2. una versión idéntica a la anterior, pero con extensiones de Ajax
  3. una versión 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á contando con el único formulario de la versión 1.
  4. una versión 4 ASP.NET con múltiples vistas y una sola página, con la arquitectura de tres capas de la versión 3.
  5. la parte del servidor de una aplicación cliente/servidor, en la que el servidor está implementado mediante un servicio web basado en la arquitectura en capas de la versión 3.
  6. la parte de cliente de la aplicación cliente/servidor anterior, implementada mediante una capa ASP.NET.
  7. una versión 7 ASP.NET con múltiples vistas y múltiples páginas, basada en la arquitectura de tres capas de la versión 3.
  8. una versión 8 ASP.NET con múltiples vistas y páginas, que actúa como cliente del servicio web de la versión 5.
  9. una versión 9 ASP.NET con múltiples vistas y páginas, que utiliza la arquitectura de tres capas de la versión 3, donde la capa de acceso a datos está implementada mediante clases de Spring que facilitan el uso del marco NHibernate.
  10. una versión 10 implementada en FLEX y cliente del servicio web de la versión 5.

Requisitos previos


En una escala [débutant-intermédiaire-avancé], este documento se encuentra en la sección [intermédiaire]. Para comprenderlo se requieren varios requisitos previos que se pueden encontrar en algunos de los documentos que he escrito:

  1. Programación ASP.NET [Desarrollo web con ASP.NET 1.1 (2004)];
  2. Lenguaje C# 2008: [Aprendizaje del lenguaje C# versión 3.0 con el Framework .NET 3.5 (2008)]: clases, interfaces, herencia, polimorfismo
  3. [Spring IoC], disponible en URL y [Spring IoC para .NET (2005)]. Presenta los conceptos básicos 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].
  4. [Creación de una aplicación web de tres capas con Spring.NET y VB.NET (2005)], disponibles en URL y [Création d'une application web à trois couches avec Spring.NET et VB.NET]. Este curso presenta una aplicación simplificada para la compra de productos en la web. Su arquitectura de tres capas implementa el modelo MVC.

En ocasiones, al inicio 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 caso de estudio 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.