web-dev-qa-db-fra.com

Expliquez les différents niveaux de l'architecture à 2 niveaux et à 3 niveaux?

Je ne suis pas en mesure de comprendre quels éléments sont appelés comme premier niveau, deuxième niveau et troisième niveau et où ils résident. Peuvent-ils résider sur la même machine ou sur une machine différente. Quel niveau réside sur quelle machine? Comment identifier une application particulière en tant qu'application à 2 niveaux ou application à 3 niveaux. Veuillez expliquer avec un exemple

37
Shailesh Jaiswal

Wikipedia l'explique mieux que moi

Tiré de l'article - Le haut est le 1er niveau: alt text

43
Dan McGrath

Tout d'abord, nous devons faire une distinction entre les couches et les niveaux. Les couches sont le moyen de décomposer logiquement le code en composants et les niveaux sont les nœuds physiques sur lesquels placer les composants. Cette question l'explique mieux: Quelle est la différence entre "Layers" et "Tiers"?

Une architecture à deux couches n'est généralement qu'une couche de présentation et une couche de stockage de données. Ceux-ci peuvent être sur 1 niveau (1 machine) ou 2 niveaux (2 machines) pour obtenir de meilleures performances en répartissant la charge de travail.

Une architecture à trois couches place généralement quelque chose entre les couches de présentation et de stockage de données telles qu'une couche de logique métier ou une couche de service. Encore une fois, vous pouvez mettre cela en 1,2 ou 3 niveaux selon le montant d'argent dont vous disposez pour le matériel et la charge que vous attendez.

Le fait de placer plusieurs machines dans un niveau contribuera à la robustesse du système en fournissant une redondance.

Voici un bon exemple d'une architecture en couches:

alt text
(source: Microsoft.com )

Une bonne référence pour tout cela peut être trouvée ici sur MSDN: http://msdn.Microsoft.com/en-us/library/ms978678.aspx

38
LeWoody

Voici une aide pour la différence 2Tier et 3Tier, veuillez vous référer ci-dessous.

RÉPONDRE:
1. 2Tier est une architecture client-serveur et 3Tier est une architecture client, serveur et base de données.
2. 3Tier a une étape intermédiaire pour communiquer le client au serveur, où comme dans le client 2Tier obtenir directement la communication avec le serveur.
3. 3Tier est comme un MVC, mais ayant des différences de topologies
4. 3Tier est un moyen linéaire dans le sens où le flux de demande est Client >>> Couche intermédiaire (application SErver) >>> Serveur de base de données et la réponse est inverse.
Alors que dans 2Tier c'est une vue triangulaire >> Contrôleur >> Modèle
5. 3Tier est comme un site Web tandis que le navigateur Web est une application client (couche intermédiaire) et que le code de langage ASP/PHP est une application serveur.

9

Les niveaux ne sont rien d'autre que la séparation des préoccupations et en général la couche de présentation (les formulaires ou les pages visibles par l'utilisateur) est séparée du niveau de données (la classe ou le fichier interagit avec la base de données). Cette séparation est effectuée afin d'améliorer la maintenabilité, l'évolutivité, la réutilisation, la flexibilité et les performances.

Une bonne explication avec le code de démonstration de l'architecture à 3 et 4 niveaux peut être lue sur http://www.dotnetfunda.com/articles/article71.aspx

3
raja1

L'explication générale est fournie dans le lien de Dan.


Pour des questions spécifiques, posez-les:

Ils peuvent résider sur la même machine, même dans le même processus (JVM pour Java). C'est une distinction logique (que font-ils?), Pas physique (où ils sont?).

2
KLE