SlideShare ist ein Scribd-Unternehmen logo
1 von 40
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 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Mes travaux de recherche ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
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 ,[object Object]
Localisation de Services ,[object Object],[object Object],Utilisateur Prestataire
Publication  d’information en P2P ,[object Object],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 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Technologies SOA :  OSGi, Spring, SCA WebServices… ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Internet des Objets The Dynamic Module System for Java™
Publication et recherche des services ,[object Object],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 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],clé -> valeur put (clé, valeur) valeur ←  get (clé) 0 3 6 9 8 11 1 2
Programmable Overlay Network Communication
Communication à la JXTA ,[object Object],[object Object],[object Object],[object Object]
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 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
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 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Distribution de PON ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
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

Weitere ähnliche Inhalte

Andere mochten auch

Design Thinking Assignment
Design Thinking AssignmentDesign Thinking Assignment
Design Thinking AssignmentSalma ES-Salmani
 
Prfc rhapsody simulation_1.0
Prfc rhapsody simulation_1.0Prfc rhapsody simulation_1.0
Prfc rhapsody simulation_1.0Pascal Roques
 
Timing verification of automotive communication architecture using quantile ...
Timing verification of automotive communication  architecture using quantile ...Timing verification of automotive communication  architecture using quantile ...
Timing verification of automotive communication architecture using quantile ...RealTime-at-Work (RTaW)
 
Developpement mobile vs open source
Developpement mobile vs open sourceDeveloppement mobile vs open source
Developpement mobile vs open sourceKorteby Farouk
 
The Importance of Opposites
The Importance of OppositesThe Importance of Opposites
The Importance of OppositesEdward Willink
 
Model Transformation A Personal Perspective
Model Transformation A Personal PerspectiveModel Transformation A Personal Perspective
Model Transformation A Personal PerspectiveEdward Willink
 
Yet Another Three QVT Languages
Yet Another Three QVT LanguagesYet Another Three QVT Languages
Yet Another Three QVT LanguagesEdward Willink
 
Embedded OCL Integration and Debugging
Embedded OCL Integration and DebuggingEmbedded OCL Integration and Debugging
Embedded OCL Integration and DebuggingEdward Willink
 
OCCIware Contribution to the EU consultation on Cloud Computing Research Inno...
OCCIware Contribution to the EU consultation on Cloud Computing Research Inno...OCCIware Contribution to the EU consultation on Cloud Computing Research Inno...
OCCIware Contribution to the EU consultation on Cloud Computing Research Inno...OCCIware
 
erocci - a scalable model-driven API framework, OW2con'16, Paris.
erocci - a scalable model-driven API framework, OW2con'16, Paris. erocci - a scalable model-driven API framework, OW2con'16, Paris.
erocci - a scalable model-driven API framework, OW2con'16, Paris. OCCIware
 
SysML adoption in France
SysML adoption in FranceSysML adoption in France
SysML adoption in FrancePascal Roques
 
Optimized declarative transformation First Eclipse QVTc results
Optimized declarative transformation First Eclipse QVTc resultsOptimized declarative transformation First Eclipse QVTc results
Optimized declarative transformation First Eclipse QVTc resultsEdward Willink
 
OCCIware, an extensible, standard-based XaaS consumer platform to manage ever...
OCCIware, an extensible, standard-based XaaS consumer platform to manage ever...OCCIware, an extensible, standard-based XaaS consumer platform to manage ever...
OCCIware, an extensible, standard-based XaaS consumer platform to manage ever...OCCIware
 
Be serious with sirius your journey from first experimentation to large deplo...
Be serious with sirius your journey from first experimentation to large deplo...Be serious with sirius your journey from first experimentation to large deplo...
Be serious with sirius your journey from first experimentation to large deplo...Etienne Juliot
 
Local Optimizations in Eclipse QVTc and QVTr using the Micro-Mapping Model of...
Local Optimizations in Eclipse QVTc and QVTr using the Micro-Mapping Model of...Local Optimizations in Eclipse QVTc and QVTr using the Micro-Mapping Model of...
Local Optimizations in Eclipse QVTc and QVTr using the Micro-Mapping Model of...Edward Willink
 

Andere mochten auch (20)

Design Thinking Assignment
Design Thinking AssignmentDesign Thinking Assignment
Design Thinking Assignment
 
Prfc rhapsody simulation_1.0
Prfc rhapsody simulation_1.0Prfc rhapsody simulation_1.0
Prfc rhapsody simulation_1.0
 
Aligning OCL and UML
Aligning OCL and UMLAligning OCL and UML
Aligning OCL and UML
 
Cvl
CvlCvl
Cvl
 
Timing verification of automotive communication architecture using quantile ...
Timing verification of automotive communication  architecture using quantile ...Timing verification of automotive communication  architecture using quantile ...
Timing verification of automotive communication architecture using quantile ...
 
Developpement mobile vs open source
Developpement mobile vs open sourceDeveloppement mobile vs open source
Developpement mobile vs open source
 
The Importance of Opposites
The Importance of OppositesThe Importance of Opposites
The Importance of Opposites
 
Java vs .Net
Java vs .NetJava vs .Net
Java vs .Net
 
Model Transformation A Personal Perspective
Model Transformation A Personal PerspectiveModel Transformation A Personal Perspective
Model Transformation A Personal Perspective
 
Yet Another Three QVT Languages
Yet Another Three QVT LanguagesYet Another Three QVT Languages
Yet Another Three QVT Languages
 
Embedded OCL Integration and Debugging
Embedded OCL Integration and DebuggingEmbedded OCL Integration and Debugging
Embedded OCL Integration and Debugging
 
OCCIware Contribution to the EU consultation on Cloud Computing Research Inno...
OCCIware Contribution to the EU consultation on Cloud Computing Research Inno...OCCIware Contribution to the EU consultation on Cloud Computing Research Inno...
OCCIware Contribution to the EU consultation on Cloud Computing Research Inno...
 
The OCLforUML Profile
The OCLforUML ProfileThe OCLforUML Profile
The OCLforUML Profile
 
erocci - a scalable model-driven API framework, OW2con'16, Paris.
erocci - a scalable model-driven API framework, OW2con'16, Paris. erocci - a scalable model-driven API framework, OW2con'16, Paris.
erocci - a scalable model-driven API framework, OW2con'16, Paris.
 
SysML adoption in France
SysML adoption in FranceSysML adoption in France
SysML adoption in France
 
Optimized declarative transformation First Eclipse QVTc results
Optimized declarative transformation First Eclipse QVTc resultsOptimized declarative transformation First Eclipse QVTc results
Optimized declarative transformation First Eclipse QVTc results
 
OCCIware, an extensible, standard-based XaaS consumer platform to manage ever...
OCCIware, an extensible, standard-based XaaS consumer platform to manage ever...OCCIware, an extensible, standard-based XaaS consumer platform to manage ever...
OCCIware, an extensible, standard-based XaaS consumer platform to manage ever...
 
Be serious with sirius your journey from first experimentation to large deplo...
Be serious with sirius your journey from first experimentation to large deplo...Be serious with sirius your journey from first experimentation to large deplo...
Be serious with sirius your journey from first experimentation to large deplo...
 
OCCIware
OCCIwareOCCIware
OCCIware
 
Local Optimizations in Eclipse QVTc and QVTr using the Micro-Mapping Model of...
Local Optimizations in Eclipse QVTc and QVTr using the Micro-Mapping Model of...Local Optimizations in Eclipse QVTc and QVTr using the Micro-Mapping Model of...
Local Optimizations in Eclipse QVTc and QVTr using the Micro-Mapping Model of...
 

Ähnlich wie Architecture Décentralisée

Chap1 p1-introduction
Chap1 p1-introductionChap1 p1-introduction
Chap1 p1-introductionMoez Re
 
Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...
Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...
Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...Microsoft Décideurs IT
 
Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...
Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...
Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...Microsoft Technet France
 
Cours réseaux informatiques iia2
Cours réseaux informatiques  iia2Cours réseaux informatiques  iia2
Cours réseaux informatiques iia2Amel Morchdi
 
Portails Etat De L'art
Portails  Etat De L'artPortails  Etat De L'art
Portails Etat De L'artTugdual Grall
 
Sécuriser vos accès nomades pour accéder à Exchange et Lync
Sécuriser vos accès nomades pour accéder à Exchange et LyncSécuriser vos accès nomades pour accéder à Exchange et Lync
Sécuriser vos accès nomades pour accéder à Exchange et LyncMicrosoft Technet France
 
De A à Z : Choisir une architecture pour sa solution applicative
De A à Z : Choisir une architecture pour sa solution applicativeDe A à Z : Choisir une architecture pour sa solution applicative
De A à Z : Choisir une architecture pour sa solution applicativeMicrosoft
 
TelCar : Solution de lecture des informations de bord de véhicule
TelCar : Solution de lecture des informations de bord de véhiculeTelCar : Solution de lecture des informations de bord de véhicule
TelCar : Solution de lecture des informations de bord de véhiculeGhassen Chaieb
 
ReMix11 Paris: Windows Azure & développement mobile
ReMix11 Paris: Windows Azure & développement mobileReMix11 Paris: Windows Azure & développement mobile
ReMix11 Paris: Windows Azure & développement mobileThomas Conté
 
Introduction au Bluetouth
Introduction au BluetouthIntroduction au Bluetouth
Introduction au BluetouthKhalid ALLILI
 

Ähnlich wie Architecture Décentralisée (20)

education
educationeducation
education
 
Petals DSB - Current Status
Petals DSB - Current StatusPetals DSB - Current Status
Petals DSB - Current Status
 
Présentation SOA
Présentation SOAPrésentation SOA
Présentation SOA
 
Chap1 p1-introduction
Chap1 p1-introductionChap1 p1-introduction
Chap1 p1-introduction
 
Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...
Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...
Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...
 
Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...
Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...
Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...
 
Etude de la WIFI sur NS2
Etude de la WIFI sur NS2Etude de la WIFI sur NS2
Etude de la WIFI sur NS2
 
Chap7 java net
Chap7 java netChap7 java net
Chap7 java net
 
Cours réseaux informatiques iia2
Cours réseaux informatiques  iia2Cours réseaux informatiques  iia2
Cours réseaux informatiques iia2
 
Portails Etat De L'art
Portails  Etat De L'artPortails  Etat De L'art
Portails Etat De L'art
 
Sécuriser vos accès nomades pour accéder à Exchange et Lync
Sécuriser vos accès nomades pour accéder à Exchange et LyncSécuriser vos accès nomades pour accéder à Exchange et Lync
Sécuriser vos accès nomades pour accéder à Exchange et Lync
 
Web Services
Web ServicesWeb Services
Web Services
 
De A à Z : Choisir une architecture pour sa solution applicative
De A à Z : Choisir une architecture pour sa solution applicativeDe A à Z : Choisir une architecture pour sa solution applicative
De A à Z : Choisir une architecture pour sa solution applicative
 
TelCar : Solution de lecture des informations de bord de véhicule
TelCar : Solution de lecture des informations de bord de véhiculeTelCar : Solution de lecture des informations de bord de véhicule
TelCar : Solution de lecture des informations de bord de véhicule
 
ReMix11 Paris: Windows Azure & développement mobile
ReMix11 Paris: Windows Azure & développement mobileReMix11 Paris: Windows Azure & développement mobile
ReMix11 Paris: Windows Azure & développement mobile
 
8-socket.pdf
8-socket.pdf8-socket.pdf
8-socket.pdf
 
Introduction au Bluetouth
Introduction au BluetouthIntroduction au Bluetouth
Introduction au Bluetouth
 
Alt.net spring.net
Alt.net spring.netAlt.net spring.net
Alt.net spring.net
 
Alt.net spring.net
Alt.net spring.netAlt.net spring.net
Alt.net spring.net
 
Spring.NET
Spring.NETSpring.NET
Spring.NET
 

Architecture Décentralisée

  • 1. 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]
  • 2. Programmable Overlay Network Prototype de recherche 13 000 lignes de Java Avec Baptiste Boussemart (1 an d’ingénieur)
  • 3.
  • 4.
  • 5. SOA de SmartTools CM C3 C2 C1 Instances de composant SOA Locale ConnectTo OSGi Bundles Passage en Réparti Pair à Pair ? DHT
  • 6. 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
  • 7. 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
  • 8. PON: les quatre couches OSGi CM C3 Fournisseur Client Bundles Composants OSGi Chord CHORD Navigateur Serveur GWT VirtPipes JXTA
  • 9. 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
  • 10. Programmable Overlay Network Quelques applications
  • 11.
  • 12.
  • 13.
  • 14. Underlay Network Virtual Pipes Overlay Network Pub/Sub Overlay Application SOA Squelette de programmation Un DSL ConnectTo() Put() Connect() Get() Send() Receive()
  • 15. La programmation avec PON Ecriture des services Création d’un projet Ecriture d’un projet Génération et lancement
  • 17. 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
  • 18.
  • 19.
  • 20.
  • 21. Cycle de vie des Bundles: OSGi Gestion : ClassPath Dynamique
  • 22. 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
  • 23. Ingénierie dirigée par les modèles Multi paradigmes Auto utilisée
  • 25. Programmable Overlay Network Publication et Recherche des Services en Pair à Pair
  • 26. 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)
  • 27.
  • 29.
  • 30. 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
  • 31.
  • 32. 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
  • 33.
  • 34.
  • 37. Underlay Network Virtual Pipes Overlay Network Pub/Sub Overlay Application SOA Conclusion Quelques perspectives Web Annuaire intelligent Protocole Serveur de requêtes WorkFlow Alignement
  • 38. Résumé Architecture Décentralisée = Partagée Pour Tous = Mobile Pluridisciplinaire Petit logiciel
  • 39. Programmable Overlay Network FIN www-sop.inria.fr/members/Didier.Parigot
  • 40. Composition Structurelle A A’ g Traitement Donnée B f Transformation Donnée B g’ B’ Traitement g’  g O f Donnée