|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 5516 (0x158c)
Types: TextFile
Notes: R1k Text-file segment
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦cdad1c6f9⟧
└─⟦this⟧
*******************************************************************************
*** PROJET LSI : UN GESTIONNAIRE DE REQUETES SUR DES OBJETS ( ORB ) ***
*** ***
*** Pierrel Franck et Luxembourg Anne ***
*******************************************************************************
Ce qui est implemente :
----------------------
- un ORB,
- un client que l'on peut instancier plusieurs fois car c'est un generique,
- un serveur que l'on peut instancier plusieurs fois car c'est egalement
un generique,
- un paquetage competence_heure pour donner l'heure ou donner le service
utilisable.
Le client peut faire une demande de service aupres de l'ORB qui lui
ira chercher cette competence aupres d'un serveur.
L'ORB communique avec les clients et les serveurs.
Ce qui n'est pas implemente :
----------------------------
- un observateur,
- un filtre.
Comment utiliser et lancer nos programmes :
------------------------------------------
- Lancer en premier l'ORB qui se trouve dans le fichier "Lancement_orb",
si cette procedure n'est pas lancee au debut, les tests seront un echec.
- Ceci etant fait, on peut soit lancer un client (ou plusieurs), soit lancer
un ou plusieurs serveurs, sachant que :
* un client une fois lance s'enregistrera automatiquement aupres de
l'ORB, l'ORB lui repondra en lui donnant son numero d'identificateur
unique. Lorsque le client aura recu ce numero (qui est en fait
l'accuse de reception de son enregistrement), il va envoyer automa-
tiquement une demande de service (ce service est l'heure dans notre
cas). Si l'ORB ne connait pas de serveur pouvant donner ce service,
il renvoi une reponse au client pour lui dire qu'il ne peut satis-
faire sa demande. Lorsque le client obtient cette reponse, il se
tue.
Si le service est disponible, l'ORB envoie un message de demande
de service au serveur trouve et celui-ci lui renvoi la reponse
a ce service puis fait une demande de "unregistration" aupres de
l'ORB.L'ORB achemine la reponse jusqu'au client, puis le client se
tue une fois sa demande satisfaite.
Pour lancer un client il faut lancer la procedure "Lancement_client".
* un serveur une fois lance s'enregistre automatiquement aupres de
l'ORB, l'ORB lui repondra en lui donnant son numero d'identificateur
unique. Lorsque le serveur a obtenu ce numero, il envoi automatique-
ment sa competence a l'ORB, puis attend l'accuse de reception de
l'enregistrement de son service. Ceci etant fait, il se met en
attente de reception d'un message venant de l'ORB.
Lorsque le serveur a donne un service, il fait automatiquement une
demande de "unregistration" aupres de l'ORB. L'ORB va en tenir compte
et "enlever" ce serveur de sa liste, puis va lui renvoyer un accuse
reception. Le serveur va se tuer des qu'il aura recu cet accuse
reception.
Pour lancer un serveur, il faut lancer la procedure "Lancement_serveur".
NB : Il s'agit donc de "one time" clients et "one time" seveurs.
Lorsque l'orb est lance, il est en attente de reception d'un message. Si
deux serveurs sont lances l'un apres l'autre (dans notre cas ils ont les meme
competences), l'ORB va connaitre deux serveurs pouvant satisfaire a une
demande d'heure. Si un client est lance, l'ORB demandera le service au dernier
serveur qui s'est enregistre. Lorsque ce serveur a donner son service, il se tue,
le client va egalement se tuer lorsqu'il aura obtenu sa demande, et l'ORB aura
tenu compte du fait que le serveur n'existe plus. En effet, si un autre client
est active, l'ORB ira bien demander le service au serveur restant.
POUR UN BON DEROULEMENT DES OPERATIONS, IL EST NECESSAIRE DE :
Attendre que l'emission et la reception de l'ORB soient ouvertes avant de lancer
un serveur ou un client.
Quand un client est lance, attendre qu'il se soit enregistre, qu'il ait eu
sa reponse d'enregistrement, qu'il envoit sa demande de service. Lorsque ceci
est fait, et qu'il affiche "en attente de reception d'un message", on peut lancer
d'autres clients ou serveurs.
Quand un serveur est lance, attendre qu'il s'enregistre, qu'il ait eu sa
reponse d'enregistrement, qu'il envoit sa competence, qu'il ait eu son
accuse de reception de l'enregistrement de sa competence. Lorsque ceci est
fait, et qu'il affiche "en attente de reception d'un message", on peut lancer
d'autres clients ou serveurs.
***** Pour plus d'informations veuillez vous referer au rapport qui sera ******
disponible au plus tard le premier Avril .
Merci et a bientot.
***************************************************************************************