Académique Documents
Professionnel Documents
Culture Documents
Chapitre I :
Systèmes
Séquentiel : composé une seule entité.
Centralisé : composé de plusieurs entité communicantes.
Distribué : s’exécute sur un ensemble de machine sans mémoire partagée ↔ un système
logiciel composé de plusieurs entités s’exécutent indépendamment et en parallèle sur un
ensemble d’ordi connecté au réseaux.
Répartie : quand une machine tombe en panne, le système nous empêche de travailler
Programmes
Parallèle : exécutent des taches simultanément, en même temps sur des processeurs
différent ↔ synchroniser des processus entre eux à travers d’une mémoire partager.
Concurrent : plusieurs processus qui ne partage pas la même zone mémoire ↔ décomposé
en taches pouvaient être exécutées sur un ordre quelconque.
Processus VS Thread
Processus : est un programme au cours d’exécution qui possède son propre espace
mémoire
Thread : une unité d’exécution qui peut effectuer des taches en parallèles avec d’autre
threads ↔ processus léger
Extends thread :
Avantage : chaque thread a ses propres données qui lui sont propre
Inconvénient : pas d’héritage d’une autre class
Implements runnable :
Avantage :
Héritage reste possible
On peut implémenter au tant d’interfaces que l’on souhaite
Inconvénient : les attributs de la class sont partagés pour tous les threads
Synchronisation
Synchronisation des blocs : utiliser synchronized en indiquant l’objet auquel il faut limiter
l’accès.
LES CLASS
TCP :
1. utilise la class Serversocket elle écoute le réseau et attends une connexion.
2. IL n’y a pas de méthode d’envoie et de réception.
3. Pour communiquer il utilise les class de flux ils sont obligatoire.
4. Socket contient :
getInputStream : réception une instance de flux d’octet entrant.
GetOutputStream : Envoyer une instance de flux d’octet sortant.
UDP :
1. Utilise la classe DatagramSocket contient les methodes :
Envoyer (send).
Recevoir (Receve).
2. Les données sont enpaquetées dans l’objet DatagramPacket.
RPC VS RMI
RPC : est un mécanisme qui permet d’appeler une procédure sur un ordi distant.
RMI : est l’implémentation de RPC en java.
Intérêt :
- Structuration simple du code.
- Abstraction du réseau.
- Facilité des maj.
Limite :
- Permet de transporter qu’un jeu limité de type de data simple.
- N’est pas idéal pour le passage et le retour d’objet java.
- Mécanisme de bas niveau.
Résumé de module Programmation distribué 2020/2021
Problèmes :
- Traitement de défaillances.
- Problème de sécurité.
Evaluation :
- CORBA, JAVA RMI, SOAP.
Dévloppement :
Serveur :
- Définir une interface qui contient les méthodes qui peuvent être
appeler à distant.
- Ecrire une class qui implémente l’interface.
- Ecrire une class qui instancie l’objet puis l’enregistrer en lui
affectant un nom dans le registre de mon RMI.
Client :
- Obtenir une référence sur l’objet distant à partir de son nom.
- Appeler la méthode à partir de la référence.
Résumé de module Programmation distribué 2020/2021
Exemple TCP :
package Server;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
package Client;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.util.Scanner;
}
Résumé de module Programmation distribué 2020/2021
Exemple UDP :
package serveur;
import java.net.*;
import java.io.*;
import java.util.*;
package client;
import java.net.*;
import java.io.*;
import java.util.*;
public class Client {
System.out.println(ch);
// e.close();
}
}