Architecture Décentralisée
Upcoming SlideShare
Loading in...5
×
 

Architecture Décentralisée

on

  • 1,568 views

 

Statistics

Views

Total Views
1,568
Slideshare-icon Views on SlideShare
1,556
Embed Views
12

Actions

Likes
0
Downloads
22
Comments
0

3 Embeds 12

http://www.slideshare.net 10
http://www.linkedin.com 1
https://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Architecture Décentralisée Architecture Décentralisée Presentation Transcript

    • Architectures des applications de l’Internet du Futur Décentralisées, Partagées, Mobile par tous Didier Parigot www-sop.inria.fr/members/Didier.Parigot Didier. [email_address]
    • Programmable Overlay Network Prototype de recherche 13 000 lignes de Java Avec Baptiste Boussemart (1 an d’ingénieur)
    • Plan
      • Court CV
      • Survol rapide de PON
      • Contexte : Les quatre couches
      • Quelques petites applications de PON
      • Squelette de programmation
      • Architecture de PON
        • Architecture Orientée Service
        • Information publiées dans l’Overlay Network
        • Communication, Protocole de transport
      • Conclusion
    • Mes travaux de recherche
      • Grammaire Attribuée : FNC-2 [1986-2000]
        • Programmation dirigée par la grammaire, [méta-modèle]
        • par Domain Specific Language (DSL)
        • Programmation générative par excellence
      • Fabrique logicielle : SmartTools [2000]
        • Programmation générative
        • Programmation par DSLs, par Aspects
        • Programmation par composants, Architecture Orientée Services (SOA)
      • Programmable Overlay Network : PON [2008]
        • Architecture Orientée Services en Pair à Pair
    • SOA de SmartTools CM C3 C2 C1 Instances de composant SOA Locale ConnectTo OSGi Bundles Passage en Réparti Pair à Pair ? DHT
    • Organisation en P2P d’une application Organisation Décentralisée Client Fournisseur Fournisseur Client Client Client Client Client Client Client Ses services Ses services Client Arrivée d’un Client Départ d’un Fournisseur Ses services Départ d’un Fournisseur Ses services Arrivée d’un
    • Pub/Sub des services en pair à pair Réseaux de recouvrement CHORD Client Fournisseur Fournisseur Fournisseur Client Client Client Client Client Client Client Client Fournisseur Ses services Ses services Ses services SOA P2P
    • PON: les quatre couches OSGi CM C3 Fournisseur Client Bundles Composants OSGi Chord CHORD Navigateur Serveur GWT VirtPipes JXTA
    • Wireless, Ad-hoc Network, Mobile Internet of Things The Future of The Internet Extensible Decentralization Self organization Interoperability Scalability Security Discovery Invocation Composition Planification Orchestration Mobility Topology Fault tolerance Load Balancing Reputation Services Components Protocols Resources Underlay Network Virtual Pipes Overlay Network Pub/Sub Overlay Application SOA WEB
    • Programmable Overlay Network Quelques applications
    • Chat instantané en P2P
      • Les utilisateurs s'inscrivent ( put ) sur un SON et demandent à être en communication avec quelqu'un ( get , connect )
    • Localisation de Services
      • Le prestataire de services publie pour une zone géographique leurs services dans un SON : put()
      • l'utilisateur recherche en fonction de sa position, les services dans sa zone : get() et se connecte à un service
      Utilisateur Prestataire
    • Publication d’information en P2P
      • Publication d’une information (une liste) par un utilisateur Publication, Connexion, Partage, Edition
      Utilisateur Application de type Web 3.0 Eric Didier
    • Underlay Network Virtual Pipes Overlay Network Pub/Sub Overlay Application SOA Squelette de programmation Un DSL ConnectTo() Put() Connect() Get() Send() Receive()
    • La programmation avec PON Ecriture des services Création d’un projet Ecriture d’un projet Génération et lancement
    • Programmable Overlay Network Archictecture
    • Architecture Modulaire de PON Communication Publication/Recherche VirtPipes ST Mod “ local” ST Mod “ PON” CM VP Key Values Storage Services “ Openchord” ST Mod ... Modules VP Mod ... Modules KVS Mod ... Modules
    • Architecture Orientée Services le «  Run-time  » de SmartTools
      • Architecture Orientée Services
        • Composant Orienté Services (publication, recherche)
        • Déclarative à l’aide d’un DSL (CDML)
        • Couplage faible
        • Inversion du contrôle
        • Messages Asynchrones
        • Dynamique (connexion des services)
        • Orchestration
      • Intégration dans OSGi , Eclipse
      • En mode distribué et décentralisé
        • Publication, Recherche, Organisation en P2P.
    • Technologies SOA : OSGi, Spring, SCA WebServices…
      • Passerelle OSGi
      • Bundle = composant
      • POJO (Objets)
      • SOA locale
      • Protocoles de
      • communication
      Internet des Objets The Dynamic Module System for Java™
    • Publication et recherche des services
      • Architecture Orientee Service ; SOA
      Appels synchrones sur des objets
    • Cycle de vie des Bundles: OSGi Gestion : ClassPath Dynamique
    • SOA de SmartTools au-dessus OSGi Gestionnaire de Composants Déclaration des Services Opération de connexion connectTo(C1, C2) Gestion des messages asynchrones Passerelle OSGi
    • Ingénierie dirigée par les modèles Multi paradigmes Auto utilisée
    • Intégration de SmartTools dans Eclipse
    • Programmable Overlay Network Publication et Recherche des Services en Pair à Pair
    • Service-Oriented Architecture + Overlay Network Une ressource = un ensemble de services = un composant P2P apporte une Architecture Décentralisée (intelligente) SOA apporte un Modèle de programmation (d’application)
    • Informations publiées dans Chord
      • Services : à chaque création de composant
      • Nom de l’instance du composant->
        • Description des services du composant
        • ID unique du tuyau virtuel d’entrée du composant
        • ID du tuyau virtuel du gestionnaire de composants
        • Map de services de sorties qui donne pour chacun un ID du tuyaux virtuel de sortie
      • VirtPipes : à chaque JVM
        • ID-VirtPipe -> ID-VirtPipesService
        • ID-VirtPipesService -> liste des adresses IP + port
      clé -> valeur put (clé, valeur) valeur ← get (clé) 0 3 6 9 8 11 1 2
    • Programmable Overlay Network Communication
    • Communication à la JXTA
      • Tuyau Virtuel
      • Identificateur Unique par Tuyau
      • API lectures/écritures non bloquantes (NIO)
      • Publication/Recherche des tuyaux ou des services indépendant
    • Connexion entre A et B (unicast) ST Mod “ local” ST Mod “ PON” CM A CM VirtPipes TCP VirtPipes Chord NIO NIO Chord ST Mod “ local” ST Mod “ PON” A B B A A B PUT GET B
    • Tuyau de communication : unicast
      • Pour chaque composant un tuyau d'entrée (service fourni)
        • Publié dans le SON : nom du composant -> tuyau
      • Connexion connect (A,B) , B à distance
        • Le DS de A recherche dans le SON le tuyau d'entrée de B.
        • Le DS de A crée un proxy associé au tuyau d'entrée de B.
        • Le DS associe les sorties (service requis) de A à ce proxy B.
        • L'opération connect s'effectue aussi dans l'autre sens.
      • Autres informations publiées sur le SON
        • Tuyau de service d'un DS pour effectuer les connexions dans le sens inverse .
    • Connexion entre A et B, B1 (multicast) ST Mod “ local” ST Mod “ PON” CM A CM VirtPipes TCP VirtPipes Chord NIO NIO Chord ST Mod “ local” ST Mod “ PON” GET A.a A.b PUT B B1 A.a A.b A.a A.b
    • Tuyau de communication : Multicast
      • Communication en MultiCast, écriture d'un seul message pour l'envoi d'un message vers une même JVM.
      • Pour chaque service en sortie (écriture) d'un composant, publication d'un tuyau de sortie sur le SON.
      • connect (A,B) et connect (A,B1) , B et B1 sur la même JVM
        • Le DS de B et B1 recherche sur le SON le tuyau de sortie (écriture) de A pour l'associé au service d'entrée (lecture) de B et B1
        • Le DS associe ce tuyau au service d'entrée (lecture) de B et B1
      • Une seule écriture du message pour deux lectures
    • Distribution de PON
      • Distribution sous http://gforge.inria.fr/projects/smarttools/
        • PON (Programmable Overlay Net)
          • Les Bundles/Plugins de base pour PON.
          • Version Plugins ou Bundles
        • Exemples en version Standalone
          • Chat
          • Transport
      • Le site de PON http://www-sop.inria.fr /members/Didier.Parigot/ pon/
        • Informations sur l'installation et utilisation (source plugins/Eclipse)
      • Développement en java
        • Linux, Windows, Mac, Nokia 800
    • Petit logiciel http://www-sop.inria.fr/members/Didier.Parigot/pon/
    • Logiciel modulaire http://www-sop.inria.fr/members/Didier.Parigot/pon/
    • Underlay Network Virtual Pipes Overlay Network Pub/Sub Overlay Application SOA Conclusion Quelques perspectives Web Annuaire intelligent Protocole Serveur de requêtes WorkFlow Alignement
    • Résumé Architecture Décentralisée = Partagée Pour Tous = Mobile Pluridisciplinaire Petit logiciel
    • Programmable Overlay Network FIN www-sop.inria.fr/members/Didier.Parigot
    • Composition Structurelle A A’ g Traitement Donnée B f Transformation Donnée B g’ B’ Traitement g’  g O f Donnée