image image image
Introduction au développement en couche
Le déclin de l'informatique au Qc
Devenir un développeur Freelance
Introduction au développement en couche En entreprise, les logiciels les plus fréquemment développés sont des interfaces utilisateurs permettant la gestion d'un ensemble de données tel que les données clients d'une entreprise. Ils veulent pouvoir ajouter, supprimer et modifier les informations de leurs clients. Une base de données permet de stocker leur information.
  Plus ...
Le déclin de l'informatique au Qc Les années 1990 ont connu une fulgurante explosion dans tous les domaines se rapportant à l'informatique et aux nouvelles technologies. Dans ces années, on pouvait voir une quantité phénoménale d'étudiants en informatique qui cherchait à faire fortune dans un domaine en plein essor. La diversité des emplois et le nombre de postes disponibles étaient en constante augmentation.

Plus ...
Devenir un développeur Freelance Avez-vous déjà rêvé d'être un développeur web indépendant; Freelance ? Que vous travailliez pour quelqu'un ou que vous développez pour le plaisir, il y a quelques trucs et conseils que vous pouvez utiliser pour vous faciliter la vie en tant que développeur web indépendant même si vous ne le faites qu'à temps partiel.

Plus ...
Mardi Mars 16 , 2010
TEXT_SIZE
   

Programmation

Introduction au développement en couche (N-Tier)

En entreprise, les logiciels les plus fréquemment développés sont des interfaces utilisateurs permettant la gestion d'un ensemble de données tel que les données clients d'une entreprise. Ils veulent pouvoir ajouter, supprimer et modifier les informations de leurs clients. Une base de données permet de stocker leur information.

Lors de la démocratisation de l'informatique, dans les premiers programmes de gestion, l'interface utilisateur lisait, modifiait la base de données et enregistrait celle-ci. Très vite, avec l'évolution de ces logiciels, les développeurs ont très vite aperçu les limites de cette technique.

C'est alors que le besoin de travailler sur des couches est apparu en programmation fonctionnelle. Donc, par exemple, pour afficher la liste des clients :
  • La couche présentation (Presentation Layer) : une WinForm affichait la liste qui elle faisait appel à :
  • La couche métier (Business Layer) : une fonction ChargeListe située dans une classe Client sélectionnait les clients qui elle faisait appel à :
  • La couche d'accès aux données (Data Access Layer) : une fonction lisait la base de données.
Cela a par la suite été formalisé en programmation-objet.

** Il arrive parfois qu'on entende parler d'architecture distribuée, cette approche vient du fait que chaque couche est sur un ordinateur différent et peut-être même dans des lieux différents.


Architecture n-tiers

Dans une architecture n-tier, si on fait abstraction de tout, on peut résumer ceci par : Chaque couche est le client d'une couche et le serveur d'une autre. Le cas le plus fréquent de ce type d'architecture est le modèle Client/Serveur qui est en 2-tiers.
  • Tier « Client » – contiens l'interface utilisateur, adresse des requêtes au serveur.
  • Tier « Serveur » - contiens la base de données. Reçois les requêtes, renvoi des données.

 
Dans les modèles 3-tiers et plus, il existe des composants intermédiaires qu'on appelle middleware.
 

Un exemple typique d'un système 3-tier est le suivant :

  • Tier de présentation – contiens l'interface utilisateur. Utilisation des différents types de clients léger (Web, ASP, JSP ...) ou lourd (Swing, WinForm ...).
  • Tier métier - contiens la logique des traitements.
  • Tier d'accès à la base de données – Les programmes du deuxième tier font appel à ce dernier pour consulter ou mettre à jour les données relatives à l'entreprise.
Sur le même schéma, on peut ajouter des couches supplémentaires et obtenir une architecture 4, 5, …, n-tier.
 

Un exemple d'architecture à 5 couches :

  • Couche présentation : Contient tous les composants graphiques du module composant l'interface homme-machine (fenêtres, contrôle utilisateur…) avec le code propre à l'affichage de leur représentation et de leur contenu. Cette couche ne peut référencer que les couches « Référence » et « Application ». ** Mettre le moins de code possible dans cette couche.
  • Couche application : Contient tous les contrôleurs de cas d'utilisation du module. Cette couche assure le lien entre les composants graphiques et les composants métier. Cette couche ne peut référencer que les couches « Métier », « Persistance » et « Référence ».
  • Couche métier : Contient tous les composants métier dont le module. Ces composants métier ont en charge la gestion du cycle de vie des objets métier géré par le module. Cette couche ne peut référencer que les couches « Référence » et « Persistance ».
  • Couche référence: Cette couche contient les objets de données pures qui transitent entre toutes les autres couches. Ces objets sont aussi parfois nommés DataValues ou DataObjects.
  • Couche persistance : Contient les composants assurant le « mapping » entre les objets définis dans la couche Métier et les composants de stockage définis dans la base de données. Cette couche ne peut référencer que les couches « Référence » et la base de données. Concrètement, il s'agit de la seule couche ayant un lien avec la base de données.


Architecture 3 tiers:

L'architecture 3-tier vise à séparer trois couches logicielles au sein d'une même application, à modéliser et à présenter cette application comme un empilement de trois couches dont le rôle est clairement défini :
  • La présentation des données : correspondant à l'affichage, la restitution sur le poste de travail, le dialogue avec l'utilisateur.
  • Le traitement métier : correspondant à la mise en œuvre de l'ensemble des règles de gestion et de la logique applicative, c’est à ce niveau que se trouvent toutes les règles de gestion, et toute l’intelligence de la démarche.
  • L'accès aux données : correspondant aux données qui sont destinées à être conservées.

Relation entre les couches

Les services d'une couche sont mis à disposition de la couche supérieure. On s'abstient alors lorsqu'on programme, qu'une couche invoque les services d'une couche plus basse que la couche immédiatement inférieure ou plus haute que la couche immédiatement supérieure (chaque niveau ne communique qu'avec ses voisins immédiats). Voir les flèches sur le schéma suivant :
 

 

Astuces : Mettre en place une solution N-Tier sous Visual Studio

Pour mettre en place une application N-tiers en .NET, voici comment débuter le tout avec Visual Studio :
  • Créer une solution vierge qui s'occupera de contenir les différentes couches de ton application.
  • Créer un projet Web ou Windows que tu peux appeler UI (User Interface) par exemple dans cette solution. Ce premier projet de ta solution représente la couche « Présentation ».
  • Créer d'autres projets de type "Bibliothèque de classes". Soit un projet pour ta couche « Métier (Businesse Logic Layer) », un projet pour la couche « d'accès aux données (Data Access Layer) » et ainsi de suite.
Commentaires (0)Add Comment

Ecrivez un commentaire
Réduire l'éditeur | Agrandir l'éditeur

busy

Réseaux sociaux

Add this page to Blinklist Add this page to Del.icoi.us Add this page to Digg Add this page to Facebook Add this page to Furl Add this page to Google Add this page to Ma.Gnolia Add this page to Newsvine Add this page to Reddit Add this page to StumbleUpon Add this page to Technorati Add this page to Yahoo

Connexion

Publicités

Services offerts

image

Développement Web

Que ce soit pour faire la conception d'un site Web ou pour la refonte d'un site existant, nous avons la solution.

La création et la conception Web sont au cœur de nos activités. Chaque concept et création sont différents, et chaque client est unique. Rien n’est laissé au hasard pour faire de votre création multimédia un outil unique de promotion.

image

Développement Windows

Quel que soit votre projet, nous pouvons le réaliser pour vous !

Grâce à notre expertise en programmation, nous sommes en mesure de concevoir une variété d’applications qui pourront vous permettre d’augmenter votre clientèle, de la fidéliser ou encore de réduire vos coûts d’opération ! Nos critères élevés de contrôle de qualité ainsi que la grande expertise de nos programmeurs et de nos chargés de projets contribuent au succès des mandats qui nous sont confiés.

image

Base de données

...
image

Autres

Quel que soit vos projets ou vos idées, contactez nous!

Grâce à notre expérience et notre expertise en informatique, nous serons en mesure d'évaluer vos projets et nous pourrons trouver une solution à vos problèmes. Que ce soit de la programmation ou de la base de données ou bien tout autres problèmes informatiques, contactez nous, nous serons là pour vous.