La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Jini et Applications Réparties: Le Projet Nœud de Calcul (PNC)

Présentations similaires


Présentation au sujet: "Jini et Applications Réparties: Le Projet Nœud de Calcul (PNC)"— Transcription de la présentation:

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 login 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 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 : Inscription à la Mailing List du projet : Le site de GNU : Le site de JAVA : Le site de JINI : Livre de référence : Core JINI de W.Keith Edwards


Télécharger ppt "Jini et Applications Réparties: Le Projet Nœud de Calcul (PNC)"

Présentations similaires


Annonces Google