WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Analyse d'intégration des technologies web services dans un système distribué pour l'authentification et le suivi permanent des étudiants.


par Daniel Kavale
Université Révérend Kim - Licence en Conception des systèmes d'information et Gestion des Bases des données 2020
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

I.5. Type d'architecture de systèmes distribués

La recherche de classification n'est pas une tâche facile, car les systèmes distribués sont complexes et variés. Nous proposons dans cette partie une classification à trois niveaux qui reflète la structuration en couche. Au premier niveau, on repartie les systèmes distribués en considérant leurs caractéristiques matérielles (couche matérielle). Au second niveau, les systèmes distribués sont vus dans l'angle des systèmes d'exploitation qui les supportent. Quant au troisième niveau, il s'agit d'étudier les diverses approches de structuration (architecture logiciel) des applications distribuées en terme de composants (ou processus) et répartition des rôles.

? Architecture matérielle :

D'un point de vu abstrait, un ordinateur se compose de deux types d'entités essentielles : les mémoires et les processeurs. On peut envisager un système distribué physique comme une collection des mémoires et des processeurs interconnectés de telle sorte à pouvoir communiquer.

? Architecture logicielle : les systèmes d'exploitation

Il existe une relation étroite entre les applications distribuées et les systèmes d'exploitation. Dans un premier lieu, la mise en oeuvre des applications distribuées dépend des systèmes d'exploitation qui gèrent les différentes

plateformes matériels (c'est-à-dire les services qu'ils offrent). Dans le second lieu, les systèmes d'exploitation eux-mêmes peuvent être distribués.

? Architecture des applications distribuées

Naturellement, les applications reparties ont plus d'indépendance vis-à-vis de plateformes physiques et peuvent de ce fait être organisées d'une multitude des façons. L'Architecture client/serveur et se variantes constitue actuellement le modèle le plus utilisé dans l'organisation des applications distribuées. Cependant, d'autres modèles existent et leurs utilisations augmente du jour au jour ; c'est le cas du modèle poste à poste (processus pairs) et ses variantes. Il n'est pas rare dans les applications distribuées que plusieurs modèles soient combinés à la fois pour tirer profit des avantages des uns et atténuer les inconvénients des autres.

I.6. Communication dans un système distribué

Maintenant que nous connaissons les différentes structures des

systèmes distribués, nous abordons les différents mécanismes de communication

qui le régit.

Les technologies les plus utilisées aujourd'hui sont les suivants :

? Les sockets

? Les communications synchrones : RPC (Remote Procedure Call) ou

« message passing » des micronoyaux

? Le Java RMI (Remote Method Invocation)

? Les bus à objet distribués CORBA

Les sockets et le RPC ne permette pas de gérer directement les différences de modèle de mémoire qui peuvent exister entre deux machines différentes.

Les RMI sont spécifiques au langage JAVA. Cela impose l'utilisation d'un seul langage(Java) sur l'ensemble des hôtes qui désirent utiliser ce procédé. CORBA est indépendant du langage utilisé et des machines d'exécution. Il peut donc faire cohabiter des systèmes parfaitement hétérogènes. Le « message passing » impose d'implanter le même système d'exploitation sur les machines qui utilisent cette technologie.

I.6.1. Le Socket

Un socket est défini comme l'extrémité d'une voie de communication dans une paire de processus. Ce lien comporte donc obligatoirement deux sockets.

Un socket est construit par la concaténation d'une adresse IP et d'un numéro de port.

8

Les sockets sont utilisés dans bons nombre d'applications structurées en « client/serveur ». L'établissement d'une connexion entre deux processus se fait de la manière suivante :

? Le serveur crée un socket et se positionne en écoute de demande de connexion

? Un client fait une demande de connexion (création d'un socket local)

? Le serveur accepte la connexion

? Le client et le serveur sont connectés par le tube ainsi créé et peuvent lire ou écrire dans le socket respectif. A partir de cet instant, chaque processus (ou thread) peut être producteur ou consommateur de données.

Dans le cas où deux machines communiquent mais possèdent des processeurs dont le modèle mémoire n'est pas le même, il faut prévoir de convertir les données.

Une solution élégante est d'utiliser la couche XDR (« Extended Data Représentation »). Cette technique permet de travailler en environnement hétérogènes mais n'est pas simple à mettre en oeuvre.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Il faudrait pour le bonheur des états que les philosophes fussent roi ou que les rois fussent philosophes"   Platon