Ceci est une ancienne révision du document !
Conception de logiciels intranet
Présentation de l'Unité d'Enseignement
Rappels
A l'exécution d'un programme écrit en Java, il faut charger les classes en mémoire pour que leurs méthodes soient disponibles afin d'être exécutées par les objets instanciés dans le programme. Ce chargement n'est pas effectué au chargement du programme mais au moment où on a besoin d'une classe parce qu'un objet de cette classe doit être instancié. Il est réalisé par un chargeur de classes (ClassLoader). La machine virtuelle Java en utilise un par défaut mais il est possible d'en utiliser un autre pour charger une classe à la demande ou à distance, ce qui intéresse les logiciels intranet.
chargement des classes d'un programme Java à son exécution
Cela est rendu possible par des mécanismes dit d'introspection.
Proxy
Le mot anglais proxy se traduit par procuration en français. En informatique, on désigne par le mot proxy un intermédiaire qui agit par procuration. Dans les réseaux informatiques, un proxy peut :
- effectuer des contrôles d'accès ou d'autres opérations comme une journalisation avant de répondre à une requête (on parle alors de proxy-mandataire)
- ou répondre aux requêtes qu'on lui soumet en conservant leur résultat afin de ne pas aller le chercher à nouveau si la même requête lui est soumise (on parle alors de proxy-cache).
On retrouve ces 2 cas de figure en programmation (exemples de proxy) mais il y a en fait toute une famille de proxys.
En utilisant l'introspection, il est même possible de construire le proxy à l'exécution. On parle alors de mandataire dynamique.
explication mandataire dynamique
TCP
TCP pour Transmission Control Protocol est un système de règles qui permet à deux hôtes (ordinateurs) de se connecter et d'échanger des données. Son rôle est d'assurer la livraison fiable et sans erreur des paquets, dans l'ordre où ils ont été envoyés.
Les données sont envoyées et reçues par des logiciels qui s'exécutent sur les hôtes. On appelle ces logiciels des clients et des serveurs.
En Java, la programmation d'application cliente ou serveur avec TCP utilise das classes prédéfinies du paquet java.net : Socket et ServerSocket.
programmation client-serveur en Java
TCP objets java
TCP protocole "maison"
TCP HTTP (GET seulement)
calculette en réseau
écho en réseau
Travail à faire :
Modifier le serveur pour qu'il envoie le texte reçu d'un client à tous les clients connectés (et pas seulement au client émetteur).
Modifier le client pour qu'il soit capable de recevoir des textes même s'il n'a pas soumis de texte au serveur.