L'architecture à trois niveaux, qui sépare les applications en trois niveaux de calcul logiques et physiques, est l'architecture logicielle prédominante pour les applications client-serveur traditionnelles.
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.
L'architecture à trois niveaux offre un avantage essentiel du fait que, comme chaque niveau fonctionne 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'incidence 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.
IBM Cloud Pak for Applications
Le niveau Présentation est l'interface utilisateur et la couche de communication de l'application, où l'utilisateur final interagit avec l'application. Sa principale fonction est d'afficher des informations à l'attention de l'utilisateur et d'en collecter de ce dernier. Ce niveau de niveau supérieur peut s'exécuter sur un navigateur Web, en tant qu'application pour ordinateur de bureau, ou interface graphique utilisateur, par exemple. Les niveaux Présentation Web sont généralement développés à l'aide de HTML, CSS et JavaScript. Les applications pour ordinateur de bureau peuvent être écrites dans divers langages selon la plateforme.
Le niveau 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 dans le niveau de données - à l'aide d'une logique métier, un ensemble spécifique de règles métier. Le niveau Application peut également ajouter, supprimer ou modifier des données dans le niveau Données.
Le niveau Application est généralement développé à l'aide de Python, Java, Perl, PHP ou Ruby, et communique avec le niveau Données à l'aide d'appels API.
Le niveau Données, parfois appelé niveau Base de données, niveau Accès aux données ou Système dorsal, est l'endroit où les informations traitées par l'application sont stockées et gérées. Il peut s'agir d'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 Application. Le niveau de Présentation et le niveau de Données ne peuvent pas communiquer directement entre eux.
Dans les discussions sur l'architecture à trois niveaux, la couche souvent utilisée de manière interchangeable - et à tort – pour le niveau, comme dans la « couche de présentation » ou la « couche de logique métier »
Ce n'est pas la même chose. Une « couche » fait référence à une division fonctionnelle du logiciel, mais un « niveau » se rapporte à une division fonctionnelle du logiciel qui fonctionne sur une infrastructure distincte 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.
IBM Cloud Paks
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 de serveur distincts - par exemple, un serveur Web, un serveur d'applications, un serveur de base de données - qui correspond le mieux à ses exigences fonctionnelles. Et chaque niveau fonctionne sur au moins un serveur matériel ou virtuel dédié, de sorte que les services de chaque niveau peuvent être personnalisés et optimisés sans impact sur les autres niveaux.
Autres avantages (par rapport à une architecture à un ou deux niveaux) :
Dans le développement Web, les niveaux ont des noms différents mais remplissent des fonctions similaires :
Si l'architecture à trois niveaux est sans conteste l'architecture d'application multiniveau la plus largement adoptée, il en existe d'autres que vous pouvez rencontrer dans votre travail ou vos recherches.
L'architecture à deux niveaux est l'architecture client-serveur d'originale, composée d'un niveau Présentation et d'un niveau Données, la logique applicative se trouvant dans le niveau Présentation, le niveau Données ou les deux. Dans une architecture à deux niveaux, le niveau 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 simple application de gestion des contacts, où les utilisateurs peuvent saisir et récupérer des données de contact, est un exemple d'application à deux niveaux.
L'architecture N-tier - également appelée architecture multiniveau - fait référence à toute architecture d'application à plusieurs niveaux. Mais les applications comportant 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 à exploiter. Par conséquent, l'architecture n-tiers et l'architecture multiniveau sont généralement synonymes d'architecture à trois niveaux.
IBM Cloud propose des produits et des services pour vous aider à moderniser vos anciennes applications à trois niveaux lors de votre transition vers le cloud.
Faire le premier pas :
Commencez dès aujourd'hui avec un
Migrez plus rapidement vers le cloud avec les solutions IBM Cloud Pak qui s'exécutent sur les logiciels Red Hat OpenShift, des solutions intégrées, ouvertes et conteneurisées certifiées par IBM.
IBM Cloud for VMware Solutions est conçu pour vous aider à déplacer vos applications VMware depuis un emplacement sur site vers IBM Cloud.
Modernisez les applications avec une stratégie et une technologie cloud innovantes.