Architecture distribuée

Un article de Wikipédia, l'encyclopédie libre.

L'architecture distribuée ou l'informatique distribuée désigne un système d'information ou un réseau pour lequel l'ensemble des ressources disponibles ne se trouvent pas au même endroit ou sur la même machine. Ce concept, dont une version peut être une combinaison de transmissions du type client-serveur, s'oppose à celui d'informatique centralisée.

Internet est un exemple de réseau distribué puisqu'il ne possède aucun nœud central. Les architectures distribuées reposent sur la possibilité d'utiliser des objets qui s'exécutent sur des machines réparties sur le réseau et communiquent par messages au travers du réseau.

Origines[modifier | modifier le code]

Au début de l'informatique, le dialogue entre machines nécessitait une connaissance approfondie des protocoles réseau et parfois même du matériel réseau. La programmation orientée objet a permis le développement des architectures distribuées en fournissant des bibliothèques de haut-niveau pour faire dialoguer des objets répartis sur des machines différentes entre eux, ce qui a considérablement allégé le travail des programmeurs. Les objets distribués sur le réseau communiquent par messages en s'appuyant sur l'une des technologies suivantes :

Avantages[modifier | modifier le code]

Augmentation des ressources[modifier | modifier le code]

Le seul fait de distribuer les traitements sur les ordinateurs d'un réseau augmente les ressources disponibles. En théorie, si le réseau est internet, tous les ordinateurs connectés constituent les ressources potentielles. C'est le sens du slogan de Sun : « The network is the computer » (« Le réseau, c'est l'ordinateur »). Les projets de calcul réparti tirent parti de cette formidable ressource de processeurs que sont les ordinateurs inactifs connectés à internet.

Un célèbre exemple de calcul distribué est SETI@Home issu du projet Search for Extraterrestrial Intelligence, qui met à contribution tous les ordinateurs volontaires d'internet pour détecter une intelligence extra-terrestre. Les ordinateurs effectuent la même tâche (décryptage de signaux spatiaux), chacun sur un coin de ciel différent. Ce projet a fédéré plus de 5 millions de personnes différentes à travers le monde et a crédibilisé le calcul partagé (à défaut d'avoir découvert des extraterrestres pour le moment). Les projets comportant des calculs parallélisables sont de bons candidats pour une architecture distribuée (séquençage de motifs d'ADN).

Répartition des données et des services[modifier | modifier le code]

Une architecture distribuée courante est l'architecture trois tiers à la base de la plupart des applications distribuées de commerce électronique. Cette architecture permet d'interroger et de mettre à jour des sources de données réparties. Les services web permettent de faire appel à différents serveurs pour enrichir une prestation l'achat d'un séjour touristique peut comprendre l'achat d'un billet d'avion, d'un séjour hôtelier et d'une assurance annulation auprès de différents vendeurs par l'intermédiaire de services web, donc d'objets distribués sur les réseaux et dialoguant par des messages.

Modèle pair à pair[modifier | modifier le code]

Le modèle pair à pair (peer-to-peer) est un exemple de réussite des architectures distribuées pour le partage de fichier où chaque ordinateur est à la fois serveur de données et client des autres. Ce modèle peut être appliqué au partage de ressource.

Perspectives[modifier | modifier le code]

L’une des évolutions attendues dans les temps à venir est le remplacement des achats de logiciels informatiques par des locations de ces mêmes logiciels, pour le temps nécessaire à leur utilisation. On peut imaginer, par exemple, qu'il sera possible, à partir d'un logiciel de traitement de texte, de faire appel à différents services de corrections orthographiques disponibles sur Internet, et dont on louera les services selon les besoins.

Voir aussi[modifier | modifier le code]

Articles liés[modifier | modifier le code]

Normes d'architectures distribuées[modifier | modifier le code]

Liens externes[modifier | modifier le code]

Bibliographie[modifier | modifier le code]