IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Etude de cas avec ASP.NET 2.0, C#, Spring.NET et NHibernate


précédentsommairesuivant

II. Introduction

Nous souhaitons écrire une application .NET permettant à un utilisateur de faire des simulations de calcul de la paie des assistantes maternelles de l'association " Maison de la petite enfance " d'une commune. Nous nous intéresserons autant à l'organisation du code DotNet de l'application qu'au code lui-même.

L'application finale, que nous appellerons [SimuPaie] aura la structure à trois couches suivante :

Image non disponible
  • la couche [1-dao] (dao=Data Access Object) s'occupera de l'accès aux données. Celles-ci seront placées dans une base de données.
  • la couche [2-métier] s'occupera de l'aspect métier de l'application, le calcul de la paie.
  • la couche [3-ui] (ui=User Interface) s'occupera de la présentation des données à l'utilisateur et de l'exécution de ses requêtes. Nous appelons [Application] l'ensemble des modules assurant cette fonction. Elle est l'interlocuteur de l'utilisateur.
  • les trois couches seront rendues indépendantes grâce à l'utilisation d'interfaces .NET
  • l'intégration des différentes couches sera réalisée par Spring IoC

Le traitement d'une demande d'un client se déroule selon les étapes suivantes :

  • le client fait une demande à l'application.
  • l'application traite cette demande. Pour ce faire, elle peut avoir besoin de l'aide de la couche [métier] qui elle-même peut avoir besoin de la couche [dao] si des données doivent être échangées avec la base de données. L'application reçoit une réponse de la couche [métier].
  • selon celle-ci, elle envoie la vue (= la réponse) appropriée au client.

L'interface présentée à l'utilisateur peut avoir diverses formes :

  • une application console : dans ce cas, la vue est une suite de lignes de texte.
  • une application graphique windows : dans ce cas, la vue est une fenêtre windows
  • une application web : dans ce cas, la vue est une page HTML

Nous écrirons différentes versions de cette application :

  • une version ASPNET comportant un unique formulaire et construite avec une architecture à une couche.
  • une version identique à la précédente mais avec des extensions Ajax
  • une version ASP.NET s'appuyant sur une architecture à trois couches où la couche d'accès aux données est implémentée avec le framework NHibernate. Elle aura toujours l'unique formulaire de la version 1.
  • une version 4 ASP.NET multivues et monopage avec l'architecture trois couches de la version 3.
  • la partie serveur d'une application client / serveur où le serveur est implémenté par un service web s'appuyant sur l'architecture en couches de la version 3.
  • la partie client de l'application client / serveur précédente, implémentée par une couche ASP.NET.
  • une version 7 ASP.NET multivues et multipages avec l'architecture trois couches de la version 3.
  • une version 8 ASP.NET multivues et multipages cliente du service web de la version 5.
  • une version 9 ASP.NET multivues et multipages avec l'architecture trois couches de la version 3 où la couche d'accès aux données est implémentée par des classes de Spring qui facilitent l'utilisation du framework NHibernate.
  • une version 10 implémentée en FLEX et cliente du service web de la version 5.

Prérequis

Dans une échelle [débutant-intermédiaire-avancé], ce document est dans la partie [intermédiaire]. Sa compréhension nécessite divers prérequis qu'on pourra trouver dans certains des documents que j'ai écrits :

  • Programmation ASP.NET [http://tahe.developpez.com/dotnet/aspnet/vol1] et [http://tahe.developpez.com/dotnet/aspnet/vol2]
  • Langage C# 2008 : [http://tahe.developpez.com/dotnet/csharp/] : classes, interfaces, héritage, polymorphisme
  • [Spring IoC], disponible à l'url [http://tahe.developpez.com/dotnet/springioc]. Présente les bases de l'inversion de contrôle (Inversion of Control) ou injection de dépendances (Dependency Injection) du framework Spring.Net [http://www.springframework.net].
  • [Construction d'une application web à trois couches avec Spring et VB.NET - Parties 1 et 2], disponibles aux url [http://tahe.developpez.com/dotnet/web3tier-part1] et [http://tahe.developpez.com/dotnet/web3tier-part2]. Ces deux articles présentent une application simplifiée d'achats de produits sur le web. Son architecture 3 couches implémente le modèle MVC.

Des conseils de lecture sont parfois donnés au début des paragraphes de ce document. Ils référencent les documents précédents.

Outils

Les outils utilisés dans cette étude de cas sont librement disponibles sur le web. Ce sont les suivants :

  • Visual C# 2008, Visual Web Developer Express 2008, SQL Server Express 2005 disponibles à l'url [http://www.microsoft.com/express/downloads/].
  • Spring IoC pour l'instanciation des services nécessaires à l'application, disponible à l'url [http://www.springframework.net/] - voir également [3]
  • NHibernate pour la couche d'accès aux données du SGBD [http://sourceforge.net/projects/nhibernate/]
  • NUnit : [http://www.nunit.org] pour les tests unitaires.

précédentsommairesuivant

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2011 Serge Tahé. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.