Message-oriented middlewareLe terme message-oriented middleware (MOM), intergiciel à messages en français, désigne une famille de logiciels qui permettent l'échange de messages entre les applications présentes sur un réseau informatique. Les MOM font partie des éléments techniques de base des architectures informatiques. Ils permettent une forme de couplage faible entre applications. Transport de messages. Les messages comportent deux parties: l'en-tête technique, utilisée par le MOM et les données qui peuvent être dans n'importe quel format.
Calcul distribuéUn calcul distribué, ou réparti ou encore partagé, est un calcul ou un traitement réparti sur plusieurs microprocesseurs et plus généralement sur plusieurs unités centrales informatiques, et on parle alors d'architecture distribuée ou de système distribué. Le calcul distribué est souvent réalisé sur des clusters de calcul spécialisés, mais peut aussi être réalisé sur des stations informatiques individuelles à plusieurs cœurs. La distribution d'un calcul est un domaine de recherche des sciences mathématiques et informatiques.
Enterprise service busL'enterprise service bus (ESB) est une technique informatique intergicielle. Son but est avant tout de permettre la communication des applications qui n'ont pas été conçues pour fonctionner ensemble (par exemple deux progiciels de gestion intégrés provenant d'éditeurs différents). Roy Schulte de la société Gartner inc, en fait la description suivante : L'ESB peut être considérée comme une nouvelle génération d'intégration d'applications d'entreprise (EAI) construite sur des standards comme XML, Java Message Service (JMS) ou encore les services web.
Service réseauDans le cas d'un réseau informatique, un service réseau est une application exécutée depuis la couche d'application réseau et au-dessus. Il fournit des capacités de stockage, de manipulation, de présentation, de communication ou d'autres services qui sont souvent mises en œuvre en utilisant une architecture client-serveur ou pair à pair basée sur un protocole de communication de la couche « application » du modèle OSI.
Système d'exploitation distribuéUn système d'exploitation distribué est une couche logicielle au dessus d'un ensemble de nœuds de calculs indépendants, communiquant par un système de réseau propre ou général. Chaque nœud comprend dans ce type de système d'exploitation un sous ensemble de l’agrégat global. Chaque nœud comporte son propre noyau servant à contrôler le matériel et les couches basses des communications en réseau. Des logiciels de plus haut niveau sont chargés de coordonner les activités collaboratives de l'ensemble de la grappe et des éléments de chacun de ces nœuds.
Algorithmique répartieUn algorithme réparti (ou distribué) est une suite d'instructions et il est généralement un algorithme parallèle (mais pas toujours, exemple, une communication téléphonique) réparti sur plusieurs sites. Chaque site calcule (i.e. produit de nouveaux résultats) et communique (i.e. échange des données avec d'autres sites). Un algorithme réparti décrit le fonctionnement d'un système informatique composé de plusieurs unités de calcul reliées par un réseau de communication, tels que les routeurs dans Internet.
Programmation concurrenteLa programmation concurrente est un paradigme de programmation tenant compte, dans un programme, de l'existence de plusieurs piles sémantiques qui peuvent être appelées threads, processus ou tâches. Elles sont matérialisées en machine par une pile d'exécution et un ensemble de données privées. La concurrence est indispensable lorsque l'on souhaite écrire des programmes interagissant avec le monde réel (qui est concurrent) ou tirant parti de multiples unités centrales (couplées, comme dans un système multiprocesseurs, ou distribuées, éventuellement en grille ou en grappe).
Environnement d'exécutionUn environnement d'exécution ou runtime est un logiciel responsable de l'exécution des programmes informatiques écrits dans un langage de programmation donné. Un runtime offre des services d'exécution de programmes tels que les entrées-sorties, l'arrêt des processus, l'utilisation des services du système d'exploitation, le traitement des erreurs de calcul, la génération d'événements, l'utilisation de services offerts dans un autre langage de programmation, le débogage, le profilage et le ramasse-miette.
Routagethumb|Exemple de routage dans un réseau. Le routage est le mécanisme par lequel des chemins sont sélectionnés dans un réseau pour acheminer les données d'un expéditeur jusqu'à un ou plusieurs destinataires. Le routage est une tâche exécutée dans de nombreux réseaux, tels que le réseau téléphonique, les réseaux de données électroniques comme Internet, et les réseaux de transports. Sa performance est importante dans les réseaux décentralisés, c'est-à-dire où l'information n'est pas distribuée par une seule source, mais échangée entre des agents indépendants.
Table de hachage distribuéeUne table de hachage distribuée (ou DHT pour Distributed Hash Table), est une technique permettant la mise en place d’une table de hachage dans un système réparti. Une table de hachage est une structure de données de type clé → valeur. Chaque donnée est associée à une clé et est distribuée sur le réseau. Les tables de hachage permettent de répartir le stockage de données sur l’ensemble des nœuds du réseau, chaque nœud étant responsable d’une partie des données.
Architecture orientée servicesL'architecture orientée services ou AOS (calque de l'anglais service-oriented architecture, SOA) est une forme d'architecture de médiation qui est un modèle d'interaction applicative qui met en œuvre des services (composants logiciels) : avec une forte cohérence interne (par l'utilisation d'un format d'échange pivot, le plus souvent XML ou JSON) ; des couplages externes « lâches » (par l'utilisation d'une couche d'interface interopérable, le plus souvent un service web WS-*).
Concurrency controlIn information technology and computer science, especially in the fields of computer programming, operating systems, multiprocessors, and databases, concurrency control ensures that correct results for concurrent operations are generated, while getting those results as quickly as possible. Computer systems, both software and hardware, consist of modules, or components. Each component is designed to operate correctly, i.e., to obey or to meet certain consistency rules.
Passage de messagesLe modèle de passage de messages (message passing en anglais) est un modèle de communication entre ordinateurs ou entre processus à l'intérieur d'un même ordinateur. Il réalise l’envoi de messages simples. Il constitue la couche de base des Middleware Orientés Messages. Au-dessus de cette couche, on trouve d'autres couches de middleware de plus en plus perfectionnées et qui sont : La (message queueing en anglais) qui ajoute la notion de persistance au passage de messages ; Le modèle par abonnement (publish-subscribe en anglais), qui utilise les fonctions du passage de messages ou des files d'attente de message et qui ajoute la notion d’anonymat et d’abonnement.
Couche physiquevignette|Exemple d'interconnexions en niveau de couche physique Dans le domaine des réseaux informatiques, la couche physique est la première couche du modèle OSI (de l'anglais Open Systems Interconnection, « Interconnexion de systèmes ouverts »). La couche physique est chargée de la transmission effective des signaux électriques, radiofréquences ou optiques entre les interlocuteurs. Son service est généralement limité à l'émission et la réception d'un bit ou d'un train de bits continu (notamment pour les supports synchrones comme la fibre optique).
Small-world networkA small-world network is a mathematical graph in which most nodes are not neighbors of one another, but the neighbors of any given node are likely to be neighbors of each other. Due to this, most neighboring nodes can be reached from every other node by a small number of hops or steps. Specifically, a small-world network is defined to be a network where the typical distance L between two randomly chosen nodes (the number of steps required) grows proportionally to the logarithm of the number of nodes N in the network, that is: while the global clustering coefficient is not small.
Table de routageUne table de routage est une structure de données utilisée par un routeur ou un ordinateur en réseau et qui associe des préfixes à des moyens d'acheminer les paquets vers leur destination. C'est un élément central du routage IP. La table de routage contient : les adresses du routeur lui-même ; les adresses des sous-réseaux auxquels le routeur est directement connecté ; les routes statiques, c'est-à-dire configurées explicitement par l'administrateur ; les routes dynamiques, apprises par des protocoles de routage dynamique comme BGP, OSPF, IS-IS, etc.
Réseau informatiquethumb|upright|Connecteurs RJ-45 servant à la connexion des réseaux informatiques via Ethernet. thumb|upright Un réseau informatique ( ou DCN) est un ensemble d'équipements reliés entre eux pour échanger des informations. Par analogie avec un (un réseau est un « petit rets », c'est-à-dire un petit filet), on appelle nœud l'extrémité d'une connexion, qui peut être une intersection de plusieurs connexions ou équipements (un ordinateur, un routeur, un concentrateur, un commutateur).
Concurrency (computer science)In computer science, concurrency is the ability of different parts or units of a program, algorithm, or problem to be executed out-of-order or in partial order, without affecting the outcome. This allows for parallel execution of the concurrent units, which can significantly improve overall speed of the execution in multi-processor and multi-core systems. In more technical terms, concurrency refers to the decomposability of a program, algorithm, or problem into order-independent or partially-ordered components or units of computation.
File d'attente de messageUne file d'attente de message ou simplement file de messages est une technique de programmation utilisée pour la communication interprocessus ou la communication de serveur-à-serveur. Les logiciels fournissant ce type de service font partie des « Message-Oriented Middleware » ou MOM. Les files d'attente de message permettent le fonctionnement des liaisons asynchrones normalisées entre deux serveurs, c'est-à-dire de canaux de communications tels que l'expéditeur et le récepteur du message ne sont pas contraints de s'attendre l'un l'autre, mais poursuivent chacun l'exécution de leurs tâches.
Commutateur réseauUn commutateur réseau, ou switch, est un équipement qui relie plusieurs segments (câbles ou fibres) dans un réseau informatique et de télécommunication et qui permet de créer des circuits virtuels. La commutation est un des deux modes de transport de trame au sein des réseaux informatiques et de communication, l'autre étant le routage. Dans les réseaux locaux (LAN), il s'agit le plus souvent d'un boîtier disposant de plusieurs ports RJ45 (entre 4 et plusieurs centaines), il a donc la même apparence qu'un concentrateur (hub).