Cours 5: Communication par objets repartis Flashcards

1
Q

Definir l’appel de methode a distance.

A

• Modele objet: references aux objets, interfaces, methodes, exceptions, ramasse-miettes.
• Proxy: se presente comme un objet local, ses methodes serialisent les arguments, transmettent la requete au module de communication et retournent la reponse recue.
• Repartiteur: recoit les requetes dans le serveur et les
communique au squelette correspondant.
• Squelette: recoit les requetes pour un type d’objet, deserialise les arguments, appelle la methode correspondante de l’objet reference et serialise la reponse a retourner.
• Module de communication: envoi de requete client (type, numero de requete, reference a un objet, numero de methode, arguments), la requete recue par le serveur est envoyee au repartiteur et la reponse est retournee.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Definir le module des references reseau.

A

• Table des objets importes (pour chaque objet distant utilise, adresse reseau et adresse du proxy local correspondant),
• Table des objets exportes (pour chaque objet utilise a
l’exterieur, liste des clients, adresse reseau et adresse locale).
• Lorsqu’une reference reseau est recue, son proxy ou objet local est trouve ou un nouveau proxy est cree et une entree ajoutee dans la table.
• Lorsqu’un objet reseau local est passe en argument, son adresse reseau le remplace et il doit se trouver dans la table des objets exportes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Definir les services pour l’appel de methodes distantes.

A

• Service de nom: permet d’obtenir une reference objet reseau a partir d’un identificateur/nom.
• Contextes d’execution: le serveur peut creer un fil d’execution pour chaque requete.
• Activation des objets: le serveur peut etre demarre
automatiquement lorsqu’une requete pour un objet apparaıt (message augmentation de salaire pour le budget qui est stocke sur disque dans un fichier de chiffrier).
• Stockage des objets persistents.
• Service de localisation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Definir Java RMI et son fonctionnement.

A

• Ne fonctionne que de Java a Java.
• S’applique a tout type qui implante l’interface Remote.
• Les methodes doivent accepter l’exception RemoteException.
• Les arguments seront envoyes et la valeur retournee sert de reponse.
• Ces arguments doivent etre des types primitifs, des objets reseau, ou des objets qui implantent l’interface Serializable (le graphe complet d’objets rejoints par un argument peut etre transmis).
• Le type des objets serialises contient une reference a la classe. La classe peut etre telechargee au besoin par le recepteur.
• Le type des objets reseau contient une reference a leur classe proxy (stub) qui peut etre telechargee au besoin.
• Le RMIregistry maintient une table (nom, reference reseau) pour obtenir une reference a un objet desire qui se trouve sur un ordinateur donne. Un nom a la forme:
//hostname:port/objectName.
• rmic peut etre utilise pour creer les proxy a partir du code des classes compilees. Le repartiteur est generique et fourni en librairie.
• Les appels distants peuvent etre servis par des fils d’execution differents, surtout s’il viennent de clients (connexions) differents.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Que sont les conteneur EJB?

A

• Logiciels comme JBoss (Red Hat), WebSphere (IBM),
NetWeaver (SAP), WebLogic (Oracle), Geronimo (Apache), GlassFish (Sun).
• Recoit les requetes d’objets/clients locaux ou distants (RMI, RMI-IIOP, Web Services, JMS) qui fournissent l’interface usager.
• Les requetes sont validees et dirigees vers les objets de session qui sont references ou crees au besoin (Business logic).
• Les objets entites sont accedes par les objets de session et leur etat est gere et mis a jour dans la base de donnees selon ce qui a ete specifie dans les annotations (Persistence).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Quels sont les roles selon EJB?

A

• Bean provider: fournisseur des composantes de l’application.
• Application assembler: concepteur de l’application qui
assemble les composantes pour obtenir les fonctions desirees.
• Deployer: responsable du d´eploiement de l’application dans un environnement adequat.
• Service provider: specialiste des systemes repartis qui s’assure du niveau de service desire.
• Persistence provider: specialiste des bases de donnees.
• Container provider: specialiste de l’environnement d’execution des composantes Java.
• System administrator: administrateur du systeme informatique qui s’assure que le systeme fonctionne selon ce qui a ete concu.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Definir le remoting en C#.

A
  • Fonctionne entre tous les langages supportes par le CLR: C#, C++, VB…
  • Utilise la reflexivite pour generer le code client et serveur dynamiquement.
  • Choix d’encodage binaire ou XML.
  • Choix de canal TCP ou HTTP.
  • Les objets qui heritent de MarshalByRef sont passes par reference a travers le reseau, les autres sont passes par valeur et doivent supporter l’interface ISerializable.
  • Un objet deja cree peut etre exporte ou on peut enregistrer un type et l’objet est cree au moment de la requete selon un de deux modes (Singleton, Single call).
  • Les references aux objets peuvent avoir une date d’expiration pour eviter d’avoir a verifier pour les references inutilisees; passe cette expiration elles n’existent plus.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly