Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parLéopold Lacombe Modifié depuis plus de 10 années
1
Jini et Applications Réparties: Le Projet Nœud de Calcul (PNC)
2
Plan Présentation et organisation du projet Concepts généraux de JINI Architecture du projet Démonstration Lexemple Hello World
3
Présentation de léquipe Julie Cardon Julien Cuvillier Louis Demers Geoffrey Devred Jean-Sébastien Landry Romain Lecompte Jean-François Montreuil Stéphane Nicolas
4
Présentation du projet Débuté en Janvier 2002 sur linitiative de Stéphane Nicolas Développé sous Licence GPL Entièrement programmé en Java Utilisation des API Jini et JavaSpace Le but est de concevoir un système distribué, dynamique, généraliste et maintenable pour la répartition de tâches de calcul sur plusieurs ordinateurs
5
Organisation du travail dans un projet libre CVS Liste de diffusion Documentation Peu de réunions Accessible à tous Pas de réelles contraintes de productivité
6
Organisation du travail dans un projet libre (suite…) Chacun peut trouver sa place: programmation, documentation, analyse, site WEB … La connaissance des technologies utilisées nest pas un pré requis Pas de réelle planification …... Mais des progrès visibles quotidiennement !
7
Notre implication dans le projet Rédaction de documents sur les bases des technologies utilisées Analyse et programmation Moyenne de 20/25 heures par semaine
8
Intérêt de simpliquer dans un tel projet Nouvelles connaissances en informatique CV Travailler dans une équipe motivée Adaptation à un nouveau style de collaboration
9
Concepts généraux de JINI Applications réparties : les bases Serveurs : acteurs qui fournissent des services Clients : acteurs qui ont besoin de certains services Proxy (ou Stub) : décrit la façon dont le service doit être utilisé par le client
10
Concepts généraux de JINI Concepts clés Fédération : ensemble dacteurs communiquant par un réseau Les acteurs sont « plug & play » et autonomes La communication entre clients et serveurs repose sur le téléchargement dynamique de proxys (basé sur RMI)
11
Remote Method Invocation Comment ça marche ? JVM B JVM A Objet Client Objet Serveur RMI registry 2 - Le client demande à la registry un serveur. 1 - Le serveur s'enregistre auprès de la registry. 3 - Le client appelle des méthodes du serveur.
12
Remote Method Invocation Rôle des Stubs Stub JVM A Objet Serveur RMI registry Bind codebase Stub Côté serveur Lookup JVM B Objet Client RMI registry Stub Côté client
13
Concepts généraux de JINI Le service de recherche (REGGIE) Acteur central de toute fédération JINI Chargé de recenser lensemble des acteurs dune fédération Fournit laccès à tous les services enregistrés Accessible à toute la fédération par le protocole DISCOVERY Utilise des protocoles de publication de services (JOIN), et de recherche de services (LOOKUP)
14
Concepts généraux de JINI Comment ça marche : DISCOVERY
15
Concepts généraux de JINI Comment ça marche : JOIN
16
Concepts généraux de JINI Comment ça marche : Envoi du proxy
17
Concepts généraux de JINI Comment ça marche : Communication
18
Concepts généraux de JINI Les services de base REGGIE JavaSpace : Permet de faire transiter des objets entre les acteurs dune fédération sous forme dEntry tout en gérant leur durée de vie Mahalo (TransactionManager) : Gère les transactions pour les accès au JavaSpace
19
Concepts généraux de JINI Les service de base : JavaSpace
20
Pourquoi avoir choisi JINI ? Robuste : Self-Healing Dynamique : Plug & Play Généraliste : Encapsulation des objets Fiable : Échanges sécurisés par JavaSpace et TransactionManager
21
Architecture du projet Les différents composants Les services JINI répartis sur deux machines Un site Web : mise à disposition des proxys
22
Architecture du projet Les différents composants Une communauté de workers : exécution des tâches et retour des résultats
23
Architecture du projet Les différents composants Un master : dépôt des tâches, collecte des résultats partiels et construction du résultat final
24
Architecture du projet Les différents composants Un controler : surveillance et administration distante
25
Architecture du projet Les différents composants
26
Architecture du projet Répartition des calculs Le Master et les workers présents dans la fédération utilise la REGGIE pour trouver les services de JavaSpace et TransactionManager Le Master génère des tâches de calcul et les dépose dans le JavaSpace Les tâches sont récupérées par les workers, exécutées, puis les résultats sont replacés dans le JavaSpace Les résultats sont récupérés par le Master
27
Architecture du projet Répartition des calculs
28
Architecture du projet La surveillance de lactivité Les workers senregistrent en tant que services auprès de la REGGIE Le Controler interroge la REGGIE pour connaître les workers et le JavaSpace présents Linterface graphique du Controler permet de suivre lactivité des workers et de les administrer ainsi que de connaître le contenu du JavaSpace
29
Architecture du projet La surveillance de lactivité
30
Démonstration du projet Création du répertoire mkdir atelier cd atelier Récupération dune copie du projet sur le CVS cvs –d:pserver:cvs@s-java.ift.ulaval.ca:/usr/local/cvs login cvs –d:pserver:cvs@s-java.ift.ulaval.ca:/usr/local/cvs co pnc
31
Démonstration du projet Compilation du projet cd pnc ant deploy Démarrage du Master cd deploy./startFractalMaster Démarrage du Controler./startControler
32
Lexemple HelloWorld: Récupérer les sources http://bitos33.free.fr/atelier tar xvfz atelier19-04.tgz cd jini sh compile.sh sh service.sh Dans un autre console : sh client.sh
33
Lexemple HelloWorld: Linterface du Serveur Le Service ne propose quune seule fonctionnalité : afficher un message
34
Lexemple HelloWorld: Le Proxy du Serveur Serializable : transféré par le réseau Constructeur vide Propre à la sérialisation Implémente linterface précédente
35
Lexemple HelloWorld: Serveur: Les attributs nécessaires
36
Lexemple HelloWorld: Serveur: Découverte des REGGIE On recherche les reggies du groupe « atelier » sur la machine « kaya.ift.ulaval.ca » On ajoute un écouteur de découverte de nouvelle REGGIE: pour chaque REGGIE, on conserve sa trace et on sy enregistre
37
Lexemple HelloWorld: Serveur: Lenregistrement du Service On enregistre notre service auprès de la REGGIE pour un certain temps (LEASE_TIME) On récupère lidentifiant de notre service une fois enregistré (attribué par la REGGIE)
38
Lexemple HelloWorld: Client: Les attributs nécessaires
39
Lexemple HelloWorld: Client: Découverte des REGGIE On recherche les reggies du groupe « atelier » sur la machine « kaya.ift.ulaval.ca » On ajoute un écouteur de découverte REGGIE: pour chacune delle, on y recherche notre service
40
Lexemple HelloWorld: Client: Recherche dun service On définit le type de service à rechercher On cherche le service dans la REGGIE
41
Lexemple HelloWorld: Client: Utilisation du service On caste lobjet trouvé dans la REGGIE avec linterface du Serveur et on appelle sa méthode partagée
42
Conclusion Un projet intéressant tant sur le plan technique que sur le plan organisationnel Le monde du logiciel libre est en pleine expansion et toute contribution est toujours la bienvenue. Contribuez!
43
MERCI DE VOTRE ATTENTION Le site du projet : http://s-java.ift.ulaval.ca/~pnchttp://s-java.ift.ulaval.ca/~pnc Inscription à la Mailing List du projet : http://s-java.ift.ulaval.ca/mailman/listinfo/gnu Le site de GNU : http://www.gnu.orghttp://www.gnu.org Le site de JAVA : http://java.sun.comhttp://java.sun.com Le site de JINI : http://wwws.sun.com/software/jini/http://wwws.sun.com/software/jini/ Livre de référence : Core JINI de W.Keith Edwards
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.