Précédent Index Suivant

Introduction

La programmation distribuée permet de construire des applications fonctionnant sur plusieurs machines reliées ensemble sur un réseau et communicant entr elles pour accomplir une tâche. Le modèle sous-jacent est celui de la programmation parallèle à mémoire distribué. Les programmes programmes locaux ou distants communiquent via un médium qui correspond à un protocole réseau. Le plus connu et le plus utilisé d'entre eux est IP (Internet protocol) et ses surcouches TCP et UDP. À partir de ces communications de bas niveau de nombreux services sont bâtis sur le modèle client-serveur où un serveur attend des requêtes de différents clients, les traite et envoie les réponses à ces demandes. On peut citer le protocole HTTP permettant la communication entre navigateur et serveur WEB. La répartition des tâches entre clients et serveurs correspond à différentes architectures logicielles. Un des buts principaux de la programmation distribuée est d'avoir une répartition adéquate selon l'application développée.

Le langage Objective CAML offre, via sa bibliothèque Unix, différentes possibilités de communication entre programmes. Les prises de communications (sockets en anglais) permettent la communication selon le protocole TCP/IP et UDP/IP. Cette partie de la bibliothèque Unix est portée sous Windows. La possibilité de dupliquer des processus <<lourds>> (Unix.fork) ou de créer des processus légers (Thread.create) permet de réaliser des serveurs acceptant plusieurs requêtes en même temps. À partir de ces couches de bas niveau, il est aisé de construire des clients-serveurs universels paramétrés par une fonction de traitement. Enfin un point important pour la création de nouveaux services est la définition d'un protocole propre à l'application.


Précédent Index Suivant