Ajout des cours 2 et 3
This commit is contained in:
parent
2da4d8d019
commit
d907c63d7c
|
@ -14,8 +14,6 @@ Les différentes "versions" de Java :
|
|||
|
||||
- JEE : Entreprise
|
||||
|
||||
|
||||
|
||||
Rapide rappel sur l'UML :
|
||||
|
||||
| NomClasse | Nom de l'objet |
|
||||
|
@ -53,3 +51,77 @@ RMI a une structure en couches
|
|||
| Stub | | Skell |
|
||||
|
||||
À chaque appel à un objet distant, stub intercepte l'appel, et le communique au skell qui interroge l'objet, puis retransmet le résultat au stub qui le communique à l'appli.
|
||||
|
||||
---
|
||||
|
||||
*21/11/17 - Cours 2*
|
||||
|
||||
Rappels sur RMI : Stub / Skel, RMIResgistry... Répétition du schéma de la sctructure au tableau.
|
||||
|
||||
## Modèle de programmation
|
||||
|
||||
D'abord l'interface : pour que le client connaisse l'alias + ce que fait l'objet
|
||||
|
||||
Puis la classe qui implémente l'interface
|
||||
|
||||
---
|
||||
|
||||
*09/02/17 - Cours 3*
|
||||
|
||||
## Conclusion
|
||||
|
||||
RMI : client/serveur en java. C'est un peu vieux mais ça permet de comprendre comment ça fonctionne.
|
||||
Les autres architectures qu'on va voir ensuite sont globalement basées sur la même philosophie.
|
||||
|
||||
Se concentrer sur la communication plus que sur le traitement.
|
||||
|
||||
|
||||
|
||||
# CORBA
|
||||
|
||||
Même philosophie que RMI
|
||||
|
||||
Architecture d'objets distribués (voir pdf) => architecture globale.
|
||||
|
||||
Le principe de fonctionnement est celui de RMI : client /serveur - appelant / appelé .
|
||||
L'objectif est de pouvoir assurer cette communication, comme pour RMI
|
||||
|
||||
## Architecture
|
||||
|
||||
- Notion de client et de serveur
|
||||
|
||||
- Couche TCP IP
|
||||
|
||||
Chacun fait ce qu'il veut avec les objets. L'idée est que chaque demande se fasse dans un langage générique.
|
||||
|
||||
On implémente un BUS logiciel (ORB) dans lequel on fait passer les demandes. Dedans on a un traducteur qui traduit la demande en un format générique et la véhicule au serveur, qui retraduit. Les adaptateurs qui font la traduction sont les OA
|
||||
|
||||
### IDL
|
||||
|
||||
Il y a toujours besoin d'une interface qui permet de savoir tout ce qu'on peut implémenter. Ici c'est IDL : un fichier texte dans un langage particulier qui implémente l'interface. Ce fichier est partagé par le client et le serveur.
|
||||
À partir de IDL, il y a une projection pour implémenter l'interface, chacun à sa façon selon s'il s'agit du client ou du serveur. À l'issue de cette projection, IDL se décompose en 6 fichiers.
|
||||
|
||||
On doit définir un module pour chaque "élément" (à préciser), on peut pas en envoyer seuls.
|
||||
|
||||
```ini
|
||||
Module {
|
||||
Interface {
|
||||
Attributs : type nom options;
|
||||
Méthodes : type retour, statut, nom, paramètres type de passage (in ou out ou inout en entré en sortie ou les deux)
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Tout modification au niveau de l'objet implique une régénération complète : on évite donc !
|
||||
|
||||
### Suite
|
||||
|
||||
On a aussi un daemon (daemon ORB = orb ), qui a le même fonctionnement qu'ailleurs : en tache de fond, il orchestre les communications.
|
||||
|
||||
Ordre de démarrage :
|
||||
|
||||
- orbd
|
||||
|
||||
- serveur
|
||||
|
||||
- client
|
||||
|
|
Loading…
Reference in a new issue