Architecture informatique

Restez toujours informé : suivez-nous sur Google (☆)

Introduction

diagramme d'architecture

En informatiquearchitecture est la structure générale inhérente à un système informatique, l'organisation des différents éléments du système (logiciels et/ou matériels et/ou humains et/ou informations) et des relations entre les éléments. Cette structure fait suite à un ensemble de décisions stratégiques prises durant la conception de tout ou partie du système informatique, par l'exercice d'une discipline technique et industrielle du secteur de l'informatique appelée elle aussi l´architecture, et dont le responsable est l´architecte.

La structure d'un système informatique est représentée sous forme de graphiques tels que des organigrammes, des diagrammes de workflow ou des diagrammes entité-relation. Le diagramme peut concerner un logiciel, une pièce de matériel, un réseau informatique, un groupe de machines, un sous-système, voire l'ensemble des dispositifs informatique d'une entreprise ou d'une institution.

Un diagramme d'architecture est une perspective qui dépend du point de vue adopté par son auteur, en fonction des éléments qu'il recherche à mettre en évidence. Le diagramme omet volontairement certains détails pour rendre la perspective plus visible. Il peut y avoir plusieurs diagrammes d'architecture pour un même système, tels que : architecture des informations, architecture métier, architecture applicative et architecture technique.

Étymologie

Architecture est un mot très populaire en informatique. Il a connu un effet de mode dans les années 1980-1990 ou il était alors considéré comme un buzzword. Martin Fowler dans son livre Patterns of enterprise application architecture dit ceci :

« L'industrie du logiciel brille dans la déformation des mots, les étirant dans toutes les directions jusqu'à leur donner une myriade de sens subtilement contradictoires. Le mot architecture est un de ceux qui a le plus souffert de ce phénomène. Je suis tenté de dire que architecture est un de ces mots ronflants utilisé avant tout pour indiquer qu'on est en train de parler de quelque chose d'important. Mais je vais me montrer pragmatique et ne pas laisser mon cynisme nuire à l'intérêt de mon livre :-) »

Les perspectives

En théorie des systèmes, un système est une collection de pièces et un ensemble de principes qui une fois mis ensemble forment une unité. Unité qui peut à son tour être un élément d'une collection. La structure d'un système informatique – représentée sous forme de graphiques – est une perspective, et dépend du point de vue adopté et des éléments que le graphique met en évidence. Il peut par conséquent y avoir plusieurs diagrammes d'architecture pour un même système.

architecture métier est un point de vue tourné sur les politiques, les stratégies et les procédures opérationnelles propres à une organisation et les différents éléments du système informatique en rapport avec eux.

architecture des informations est un point de vue tourné sur l'organisation, le classement et la présentation des informations propres à une organisation en accord avec la manière dont les gens vont interpréter, retrouver ou modifier ces informations.

architecture logicielle est une vue tournée sur l'organisation interne et le découpage en couches et modules du ou des logiciels du système informatique. Les responsabilités de chaque module et la nature et la structure des relations entre modules.

architecture technique est une vue tournée vers les différents éléments matériels et l'infrastructure dans laquelle le système informatique s'inscrit, les liaisons physiques et logiques entre ces éléments et les informations qui y circulent.

architecture matérielle est une vue tournée sur le choix et l'organisation des différents composants électroniques d'un appareil informatique.

Architecture métier

Architecture métier

L'architecture métier décrit les applications informatiques, les principales base de données du système informatique d'une institution ou d'une entreprise, les utilisations faites de ces éléments dans le cadre de l'activité de l'institution et leur alignement à l'organisation générale de l'institution. La vue métier fait ressortir les éléments historiques et en fin de vie, les interfaces avec des éléments appartenant à des tiers, ainsi que les possibilités d'ajouter des nouveaux éléments.

Le diagramme d'architecture métier servira à guider la direction de l'institution dans le choix de création de nouveaux éléments, et aidera les ingénieurs à créer des produits informatiques en ligne avec les activités et l'organisation générale de l'institution. Il permettra également d'informer les collaborateurs de l'institution sur son organisation générale, ses buts, sa stratégie, et les flux d'informations au sein de l'institution.

Architecture des informations

architecture des informations

L'architecture des informations concerne la manière dont les informations sont organisées et agrégées : ordre alphabétique, chronologique, taxinomie. Les manières d'accéder à ces informations, la compréhension qu'ont les lecteurs et comment ils manipulent et s'échangent les informations ainsi que l'organisation de la base de données qui contiendra les informations. L'architecture repose sur trois axes clés:

  1. le contexte: commercial, politique, et culturel qui entoure ces informations.
  2. le type d'informations: le format de données, la quantité, et les éventuelles structures existantes.
  3. les personnes : l'audience, les tâches des lecteurs / rédacteurs. leurs habitudes et leur expérience.

Les sites web contenant de nombreuses informations, tels que les sites de e-commerce, les médias, ou les bases de connaissances ou les encyclopédies en ligne sont les premiers concernés par l'architecture des informations.

Architecture logicielle

architecture logicielle

L'architecture logicielle est une vue tournée sur l'organisation interne et le découpage d'un logiciel en modules. Dans les logiciels les caractéristiques communes concernent les interfaces, c'est-à-dire la connectique qui permet la communication entre les modules, ainsi que les caractéristiques du matériel informatique et du système d'exploitation sur lequel le logiciel s'exécutera et les caractéristiques du réseau informatique qui sera utilisé.

Le diagramme d'architecture logicielle décrit quelle est la nature des différents modules d'un logiciel, quelles sont les responsabilités et les fonctionnalités de chaque module, quelle machine va les exécuter, et quand. Il décrit également la nature des relations entre les modules, est-ce qu'il vont s'échanger des informations, est-ce qu'un module pilote l'autre, lui envoie des informations, ou lui fait des demandes. En ingénierie informatique le diagramme d'architecture donne une première série de réponses sur comment sera le futur logiciel, avant le début du travail de programmation.

Architecture technique

architecture technique

L'architecture technique est une vue tournée sur l'organisation logique de la plateforme informatique, c'est-à-dire les moyens techniques clés qui seront utilisés par tout les logiciels applicatifs. La vue contient le matériel informatique, les logiciels systèmes, les middlewares, ainsi que les réseaux de télécommunication et les relations entre ces différents éléments.

Pour une entreprise ou une institution, le choix de l'architecture technique vise à maximiser les possibilités d'implantation de logiciel du commerce ainsi que de réalisation de logiciels sur mesure. Il vise également à rentabiliser l'utilisation du matériel et des logiciels déja acquis par l'institution.

Pour une entreprise ou une institution qui transforme son architecture technique, le plan d'architecture est accompagné d'un planning et d'un budget des acquisitions, des ventes et des opérations de migration nécessaires pour aligner le système informatique avec le plan.

Architecture matérielle

architecture matérielle

Le mot architecture matérielle est parfois utilisé pour désigner l'architecture du jeu d'instructions d'un processeur. L'architecture matérielle comprends toutes les caractéristiques générales, la conception, le choix et l'organisation des différents dispositifs électroniques des appareils informatiques (ordinateurs personnels, serveurs, assistant personnels, téléphones portables, consoles de jeu,...). L'architecture est fonction du type d'appareil, du client cible, de l'espace d'adressage - qui est fonction du nombre de bits utilisées pour les adresses mémoire, du système d'exploitation et du langage de programmation cible.

L'architecture matérielle est un premier élément de réponse sur comment obtenir le futur ordinateur, recherchant la performance tout en respectant les contraintes de coût, de consommation électrique et de fiabilité. Le choix de l'architecture est inspiré par le marché, en particulier par les logiciels applicatifs existants et pour lesquels l'appareil est destiné. La conception d'une architecture matérielle requiert la connaissance d'une large gamme de technologies concernant les compilateurs, les systèmes d'exploitation, les circuits logiques et l'isolation.

L'architecture du jeu d'instruction est le point de rencontre entre le matériel et le logiciel informatique. Selon son architecture, le jeu d'instruction peut être de type register-memory - chaque instruction peut être effectuée sur le contenu d'une adresse mémoire ou d'un registre - ou du type load-store - toutes les instructions sont effectuées sur des registres sauf les instructions load et store qui copient des informations de et vers une certaine adresse mémoire.

La discipline

L'architecture est une discipline de conception et de résolution théorique d'un problème informatique. Le travail de l'architecte - la personne chargée de créer une architecture - consiste à explorer l'éventail des besoins d'un client ainsi que l'éventail des moyens technologiques à disposition. D'identifier les points clés parmi les besoins du clients et d'y apporter une solution théorique, puis de décrire schématiquement la solution en question sous forme de diagrammes.

Pour un problème donné il existe toujours plusieurs solutions. Une des activités de l'architecte est d'anticiper les qualités, les défauts et les coûts des différentes solutions envisageables, et de proposer celle qui est le mieux adaptée aux besoins du client en fonction des points clés que celui-ci a relevé. Pour ceci l'architecte se base sur le savoir-faire - tel que les styles et patrons, son expérience et les recommandations en rapport avec les différentes solutions envisageables.

L'architecture demande un important travail de communication avec les clients, les ingénieurs, les fournisseurs et les directeurs. Le principal travail de communication est l'écoute des besoins des clients et des recommandations des ingénieurs. Le résultat du travail de l'architecte sont des diagrammes, des plannings, des recommandations et des exemples qui expliquent le quoi, le pourquoi et le comment de la solution.

les styles et patrons

patron modèle-vue-contrôleur

Les patrons d'architecture (anglais pattern) sont des modèles de référence de résolution des problèmes courants d'architecture. Ils sont utilisés comme source d'inspiration dans de nombreux produits informatique. L'héritage d'un patron se reconnait pas le style caractéristique du diagramme d'architecture du produit.

Dans le style à filtres et tubes une série de programmes sont reliés entre eux par des tubes. Le produit de l'exécution d'un programme est transmit par le tube ou il servira de matière première pour le programme suivant, et ainsi de suite. Un programme donné n'a pas besoin d'attendre que le précédent à terminé le travail, et commence dès lors que des informations lui sont envoyés par le tube. Ce style est utilisé dans l'architecture de nombreuses applications de manipulation du son et de la vidéo.

Dans l'architecture de style client-serveur, l'application informatique est décomposée en deux sous-systèmes différents qui résident sur des ordinateurs différents. Les deux sous-systèmes communiquent selon des protocoles réseau normalisés.

Le patron modèle-vue-contrôleur est un modèle souvent utilisé dans l'architecture de l'interface graphique des logiciels. Il est fait de trois composants: le modèle, la vue et le contrôleur. Le contrôleur prends en charge les opérations effectuées par l'utilisateur à la souris et au clavier, les transforme en messages destinés au modèle et à la vue. Le modèle stocke les informations à traiter et envoye des messages à la vue lors de modifications. La vue réceptionne alors les messages et effectue les modifications nécessaires de l'interface graphique.

Dans une architecture en couches, les composants sont regroupés en sous-systèmes placés les uns au dessus des autres. Chaque composant d'un sous-système donné est en relation uniquement avec des composants des sous-systèmes placés immédiatement en dessus ou en dessous.

Dans le style dit architecture trois tiers, les composants sont regroupés en trois couches qui concernent respectivement l'affichage sur l'interface graphique, la logique et le stockage en base de données. Chaque couche peut résider sur un ordinateur différent.

architecture orientée services est souvent considérée comme un patron. Il est basé sur le concept du Enterprise Service Bus (abrégé ESB), une ligne de communication publique à laquelle se connectent à la demande différents logiciels fournisseurs et consommateurs de services.

Cadre de conception informatique (architecture)

Afin de répondre à ces différents besoins de description de la conception informatique, il est apparu vers la fin des années 1980 (cadre Zachman, 1987) qu'il devenait nécessaire de décrire des cadres de conception afin de décrire les concepts selon différentes vues ou différents points de vue.