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

Slides:



Advertisements
Présentations similaires
ATELIER 1 ATELIER 1 Module 3 TICE et développement professionnel
Advertisements

ACCUEIL DES NOUVEAUX UTILISATEURS DES RÉSEAUX INFORMATIQUES
Introduction aux environnements répartis
Première expérience d’utilisation des Web Services dans SmartTools Didier Parigot Projet OASIS INRIA Sophia www-sop.inria.fr/oasis/SmartTools Journée.
Le"cartable électronique"®
A propos de java Sun, fin 1995 C++ nettoyé semi-interprété
Plan de l’enseignement
ESSI AM Dery Merci à Rémi Vankeisbelck, Michel Riveill etc
ESSI AM Dery Merci à Rémi Vankeisbelck, Michel Riveill etc
UV Libre : Bureau Des Elèves encadré par Nicolas Malandain - ASI3 – UV Libre BDE –
Serveur jeu Le serveur fait partie d'un logiciel de jeu en ligne multi joueur en architecture client serveur. Il répond à des demandes.
Exposé de Système - Informatique et Réseau
Le File Transfer Protocol
Programmation Objet en JAVA Cours 9 : Réseau R. M
Laboratoire d ’Interaction Collaborative, Téléformation, Téléactivités
METADYNE... L’architecture clients-serveurs d’un hypermédia adaptatif
Bienvenue à la démonstration de Cisco WebExTM Meeting Center
BERNARDIN Benoît Université de Franche-Comté – Année 2008/2009
GTCB Kahila Boulbaba BTS IRIS Session Sommaire Description du projet Présentation Moyen mis en œuvre Interaction entre les éléments Répartition.
Le Téléphone Russe Le Téléphone Russe. Le Téléphone Russe Le Téléphone Russe.
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
Etude des Technologies du Web services
Architecture de grille générique, multi-
XML-Family Web Services Description Language W.S.D.L.
Module 1 : Préparation de l'administration d'un serveur
WIKI.
Java Remote Method Invocation (RMI)
Archimède : dépôt institutionnel de la Bibliothèque de lUniversité Laval Par Rida Benjelloun Chef de la section recherche.
Lycée Louis Vincent Séance 1
UTILISATION DE LOGMEIN Prise de contrôle à distance
.Net Remoting.
Soutenance Orale, TER 2002 Equipe TENEBRION / J.P. Arcangeli
Le SMS à votre service Comment utiliser facilement la puissance du SMS … Robert MASSE (KLUGHER.COM)
Cours 12 Contenu du cours : RMI : a quoi ca sert Comment ca marche
RPC / MOM : Comparaison.
Module 8 : Maintenance des logiciels à l'aide des services SUS
Module 2 : Préparation de l'analyse des performances du serveur
Conception, création et animation d’une classe virtuelle
Séminaire Service Interoperability on Context Level in Ubiquitous Computing Environments Davide Bazzi IIUF Etude de larticle: Service Interoperability.
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
Projet métier du travail
Mise en oeuvre et exploitation
Présentation de CORBA et de IIOP
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Elabore par BELKADHI ABIR BEN HASSEN SALMA CHEBBI MARWA
Greta des monts du cantal
Expose sur « logiciel teamviewer »
Présente Conception d’un petit site Web. 2 4-nov-03© Préambule Cette présentation fait suite à celle intitulée « Imaginer, concevoir, mettre.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Présentation Finale Spirit 07 / 03 / 2011 Groupe Vert 1 Equipe Verte.
Présentation ESTRABOX
En route vers le déploiement . . .
L’enseignement de spécialité SLAM
Java RMI: Remote Method Invocation
Centralisation des sites web d’ELTA & Mise en place d’un serveur NAS
Logiciel de surveillance de réseaux informatique
Système de surveillance de réseau
Analyse Orientée Objet Cahier de Laboratoire. Sujet : Il s'agit de concevoir un outil de gestion pour une PME qui commercialise des stations météorologiques.
Web Services 17/01/2009.
ACCUEIL DES NOUVEAUX UTILISATEURS DES RÉSEAUX INFORMATIQUES.
Génie Logiciel 59 Nous testons les logiciels pour vous ! Bénazet Sébastien.
Fabrice Lemoine Site Web des STI Le site Web des STI change.
Victor Victor Sabourin Marie Sévilla Fraysse Pauline They
Développement et maintenance sur le projet RefPack
MINI‐PROJET DE GROUPE REALISE DANS LE CADRE DU COURS DE GEN
ANNEHEIM Geoffrey21/03/ Protocole de communication Socket TCP/IP Afin que MyCrawler fonctionne de façon optimale, une configuration de deux machines.
Remote Method Invocation
Victor Sabourin Marie Sévilla Fraysse Pauline They Mathieu Vayssières
Java Remote Method Invocation
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
Transcription de la présentation:

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

Plan Présentation et organisation du projet Concepts généraux de JINI Architecture du projet Démonstration Lexemple Hello World

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

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

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é

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 !

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

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

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

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)

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.

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

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)

Concepts généraux de JINI Comment ça marche : DISCOVERY

Concepts généraux de JINI Comment ça marche : JOIN

Concepts généraux de JINI Comment ça marche : Envoi du proxy

Concepts généraux de JINI Comment ça marche : Communication

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

Concepts généraux de JINI Les service de base : JavaSpace

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

Architecture du projet Les différents composants Les services JINI répartis sur deux machines Un site Web : mise à disposition des proxys

Architecture du projet Les différents composants Une communauté de workers : exécution des tâches et retour des résultats

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

Architecture du projet Les différents composants Un controler : surveillance et administration distante

Architecture du projet Les différents composants

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

Architecture du projet Répartition des calculs

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

Architecture du projet La surveillance de lactivité

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

Démonstration du projet Compilation du projet cd pnc ant deploy Démarrage du Master cd deploy./startFractalMaster Démarrage du Controler./startControler

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

Lexemple HelloWorld: Linterface du Serveur Le Service ne propose quune seule fonctionnalité : afficher un message

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

Lexemple HelloWorld: Serveur: Les attributs nécessaires

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

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)

Lexemple HelloWorld: Client: Les attributs nécessaires

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

Lexemple HelloWorld: Client: Recherche dun service On définit le type de service à rechercher On cherche le service dans la REGGIE

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

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!

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