Qu’est-ce que l’architecture à trois niveaux?,
L’architecture à trois niveaux est une architecture d’application logicielle bien établie qui organise les applications en trois niveaux informatiques logiques et physiques: le niveau de présentation, ou interface utilisateur; le niveau d’application, où les données sont traitées; et le niveau de données, où les données associées à l’application sont stockées et gérées.
Le principal avantage de l’architecture à trois niveaux est que chaque niveau s’exécutant sur sa propre infrastructure, chaque niveau peut être développé simultanément par une équipe de développement distincte et peut être mis à jour ou mis à l’échelle selon les besoins sans avoir d’impact sur les autres niveaux.,
Pendant des décennies, l’architecture à trois niveaux a été l’architecture dominante pour les applications client-serveur. Aujourd’hui, la plupart des applications à trois niveaux sont des cibles pour la modernisation, en utilisant des technologies natives du cloud telles que les conteneurs et les microservices, et pour la migration vers le cloud.
Les trois niveaux de détails
couche de Présentation
La couche de présentation est l’interface utilisateur et la couche de communication de l’application, où l’utilisateur interagit avec l’application. Son but principal est d’afficher des informations et recueillir des informations de l’utilisateur., Ce niveau supérieur peut s’exécuter sur un navigateur Web, en tant qu’application de bureau, ou une interface utilisateur graphique (GUI), par exemple. Les niveaux de présentation Web sont généralement développés en HTML, CSS et JavaScript. Les applications de bureau peuvent être écrites dans une variété de langues en fonction de la plate-forme.
Niveau d’application
Le niveau d’application, également appelé niveau logique ou niveau intermédiaire, est le cœur de l’application., Dans ce niveau, les informations collectées dans le niveau présentation sont traitées-parfois par rapport à d’autres informations du niveau données – à l’aide de la logique métier, un ensemble spécifique de règles métier. Le niveau d’application peut également ajouter, supprimer ou modifier des données dans le niveau de données.
Le niveau d’application est généralement développé en Python, Java, Perl, PHP ou Ruby, et communique avec le niveau de données à l’aide d’appels API.
Niveau de données
Le niveau de données, parfois appelé niveau de base de données, niveau d’accès aux données ou back-end, est l’endroit où les informations traitées par l’application sont stockées et gérées., Cela peut être un système de gestion de base de données relationnelle tel que PostgreSQL, MySQL, MariaDB, Oracle, DB2, Informix ou Microsoft SQL Server, ou dans un serveur de base de données NoSQL tel que Cassandra, CouchDB ou MongoDB.
Dans une application à trois niveaux, toutes les communications passent par le niveau de l’application. Le niveau de présentation et le niveau de données ne peuvent pas communiquer directement entre eux.
Tier vs. layer
Dans les discussions sur l’architecture à trois niveaux, layer est souvent utilisé de manière interchangeable-et à tort – pour tier, comme dans ‘presentation layer’ ou ‘business logic layer.,’
Ils ne sont pas les mêmes. Une « couche » fait référence à une division fonctionnelle du logiciel, mais un « niveau » se réfère à une division fonctionnelle du logiciel qui s’exécute sur l’infrastructure à l’écart des autres divisions. L’application Contacts sur votre téléphone, par exemple, est une application à trois couches, mais une application à un seul niveau, car les trois couches s’exécutent sur votre téléphone.
La différence est importante, car les couches ne peuvent pas offrir les mêmes avantages que les niveaux.,
Avantages de l’architecture à trois niveaux
Encore une fois, le principal avantage de l’architecture à trois niveaux est sa séparation logique et physique des fonctionnalités. Chaque niveau peut s’exécuter sur un système d’exploitation et une plate – forme serveur distincts – par exemple, serveur Web, serveur d’applications, serveur de base de données-qui correspondent le mieux à ses exigences fonctionnelles. Et chaque niveau s’exécute sur au moins un serveur dédié matériel ou serveur virtuel, de sorte que les services de chaque niveau peuvent être personnalisés et optimisés sans impact sur les autres niveaux.,
D’autres avantages (par rapport à une architecture à un ou deux niveaux) incluent:
- Développement plus rapide: Chaque niveau pouvant être développé simultanément par différentes équipes, une organisation peut commercialiser l’application plus rapidement et les programmeurs peuvent utiliser les langages et outils les plus récents et les meilleurs pour chaque niveau.
- Évolutivité améliorée: N’importe quel niveau peut être mis à l’échelle indépendamment des autres selon les besoins.
- Amélioration de la fiabilité: Une panne dans un niveau est moins susceptible d’affecter la disponibilité ou les performances des autres niveaux.,
- Sécurité améliorée: Étant donné que le niveau de présentation et le niveau de données ne peuvent pas communiquer directement, un niveau d’application bien conçu peut fonctionner comme une sorte de pare-feu interne, empêchant les injections SQL et autres exploits malveillants.
Application à trois niveaux dans le développement web
Dans le développement Web, les niveaux ont des noms différents mais remplissent des fonctions similaires:
- Le serveur Web est le niveau de présentation et fournit l’interface utilisateur., C’est généralement une page web ou d’un site web, comme un site de commerce électronique où l’utilisateur ajoute des produits à votre panier, ajoute des détails de paiement ou crée un compte. Le contenu peut être statique ou dynamique, et est généralement développé en utilisant HTML, CSS et Javascript .
- Le serveur d’applications correspond au niveau intermédiaire, abritant la logique métier utilisée pour traiter les entrées utilisateur. Pour continuer l’exemple de commerce électronique, il s’agit du niveau qui interroge la base de données d’inventaire pour renvoyer la disponibilité du produit ou ajoute des détails au profil d’un client., Cette couche est souvent développée en Python, Ruby ou PHP et exécute un framework tel que e Django, Rails, Symphony ou ASP.NET, par exemple.
- Le serveur de base de données est le niveau de données ou de backend d’une application Web. Il fonctionne sur des logiciels de gestion de base de données, tels que MySQL, Oracle, DB2 ou PostgreSQL, par exemple.
Autres architectures multi-niveaux
Alors que l’architecture à trois niveaux est facilement l’architecture d’application multi-niveaux la plus largement adoptée, il y en a d’autres que vous pourriez rencontrer dans votre travail ou votre recherche.,
Architecture à deux niveaux
L’architecture à deux niveaux est l’architecture client-serveur d’origine, composée d’un niveau de présentation et d’un niveau de données; la logique métier réside dans le niveau de présentation, le niveau de données ou les deux. Dans une architecture à deux niveaux, le niveau de présentation – et par conséquent l’utilisateur final-a un accès direct au niveau de données, et la logique métier est souvent limitée. Une application simple de gestion des contacts, où les utilisateurs peuvent entrer et récupérer des données de contact, est un exemple d’application à deux niveaux.,
Architecture N-tier
L’architecture N-tier – également appelée ou architecture multi-tier – fait référence à toute architecture d’application comportant plus d’un niveau. Mais les applications avec plus de trois couches sont rares, car les couches supplémentaires offrent peu d’avantages et peuvent rendre l’application plus lente, plus difficile à gérer et plus coûteuse à exécuter. Par conséquent, l’architecture à n niveaux et l’architecture à plusieurs niveaux sont généralement synonymes d’architecture à trois niveaux.,
Architecture à trois niveaux et IBM Cloud
IBM Cloud propose des produits et services pour vous aider à moderniser vos applications à trois niveaux héritées lors de votre passage au cloud.
Faites le premier pas:
- Que vous ayez besoin d’assistance en matière de stratégie, de processus ou de capacités, ou que vous souhaitiez une assistance complète, découvrez comment IBM peut vous aider dans la modernisation des applications.
- Commencez à utiliser un middleware conteneurisé qui peut s’exécuter dans n’importe quel cloud—le tout fourni dans IBM Cloud Paks.
- Migrez facilement les charges de travail VMware existantes vers le cloud public à l’aide des solutions IBM Cloud for VMware.,
- Planifiez et exécutez vos stratégies de modernisation des applications dans le cadre de votre transformation numérique en cours avec l’aide des services de modernisation des applications d’IBM.
Commencez dès aujourd’hui avec un compte IBM Cloud.