p2p et osgi n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
P2P et OSGi PowerPoint Presentation
Download Presentation
P2P et OSGi

Loading in 2 Seconds...

play fullscreen
1 / 44

P2P et OSGi - PowerPoint PPT Presentation


  • 62 Views
  • Uploaded on

P2P et OSGi. Présenté par : Ben Saad Myriam Hentati Sonia Fatma. Encadré par : Mr. Mohamed Romdhani. Peer-To-Peer. Sommaire. Définition Historique Architectures Avantages & Inconvénients Applications. Définition. Peer-to-peer = d’égal à égal

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'P2P et OSGi' - lilika


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
p2p et osgi

P2P et OSGi

Présenté par :

Ben Saad Myriam

Hentati Sonia Fatma

Encadré par :

Mr. Mohamed Romdhani

GL5 2005-2006

peer to peer

Peer-To-Peer

GL5 2005-2006

sommaire
Sommaire
  • Définition
  • Historique
  • Architectures
  • Avantages & Inconvénients
  • Applications

GL5 2005-2006

d finition
Définition
  • Peer-to-peer = d’égal à égal
    • Tout nœud peut être simple client ou serveur de ses ressources (CPU, fichiers, …)
  • Système d'échange direct de ressources entre machines connectées en réseau.
  • Se distingue fondamentalement de l’architecture client / serveur.

GL5 2005-2006

historique
Historique
  • 1969 : première esquisse d'Internet, Arpanet s’appuie sur le concept du P2P
  • 1979 : premiers échanges de fichiers
  • 1996 : première messagerie instantanée en P2P : ICQ
  • 1999 : le moteur de recherche Gnutella : partage de fichiers sur le web
  • 1999 : Napster : échange de fichiers de musique en ligne
  • 1999 : Seti@home : programme de calcul distribué
  • 2000 : Groove : plate-forme de travail de groupe
  • 2001 : première conférence P2P organisée par l’éditeur O’Reilly

GL5 2005-2006

architectures
Architectures
  • Centralisée.
  • P2P

Index centralisé et données décentralisées.

  • Pur P2P

Index décentralisés et données décentralisées.

GL5 2005-2006

architecture centralis e
Architecture centralisée
  • Modèle client-serveur.
  • 1 seul serveur stable est requis
    • Il sert d’index et de stockage des données.
    • Ce serveur peut être constitué de plusieurs machines stables.
    • Tolérance aux pannes, extensibilité, …

GL5 2005-2006

index centralis donn es d centralis es
Index centralisé / Données décentralisées
  • Principe :
    • Chaque pair annonce à l’index la liste des ressources qu’il sert.
    • Un pair requête l’index pour connaître la liste des pairs qui servent une ressource.
    • Le chargement des données se fait de pair à pair.

GL5 2005-2006

index centralis donn es d centralis es1
Index centralisé / Données décentralisées

LE SERVEUR CENTRAL TRANSMET LA LISTE DES ORDINATEURS PROPOSANT

LE FICHIER DEMANDE.

L'USER TELECHARGE LE FICHIER DIRECTEMENT

A PARTIR D'UN ORDINATEUR RENSEIGNE

PAR LE SERVEUR.

UN UTILISATEUR LANCE UNE REQUETE A LA

RECHERCHE D'UN FICHIER DONNE.

GL5 2005-2006

index centralis donn es d centralis es2
Index centralisé / Données décentralisées
  • Avantage :
      • Efficacité des recherches, facilité d'utilisation.
  • Inconvénients :
      • Complètement tributaire du serveur central.
      • Aucun anonymat n'est garanti.
      • Possibilité pour le serveur central de créer des fichiers clients et des profils d’utilisateurs pour les revendre à des compagnies spécialisées.

GL5 2005-2006

index d centralis donn es d centralis es
Index décentralisé / Données décentralisées
  • Principe :
    • Découverte des pairs qui servent l’index.
    • Les pairs qui servent d’index peuvent s’annoncer.
    • Liaisons établies de proche en proche.
    • Requêtes transférées et relayées.
    • Fichiers transférés directement du demandeur au donneur.
    • Réseau en perpétuelle mutation.

GL5 2005-2006

index d centralis donn es d centralis es1
Index décentralisé / Données décentralisées

LANCEMENT DE LA RECHERCHE

POUR OBTENIR UN FICHIER.

UNE REQUETE EST ENVOYEE AUX ORDINATEURS CONNUS PAR LE LOGICIEL.

SI LE FICHIER NE S'Y TROUVE PAS, CHACUN DE CES ORDINATEURS TRANSMET CETTE MEME REQUETE A SES PAIRS CONNUS ET ACTIFS A CET INSTANT.

L'INITIATEUR DE LA REQUETE RECOIT LA LISTE DES FICHIERS CIBLES AVEC LEURS LOCALISATIONS.

CONNEXION A L'ORDINATEUR EN QUESTION POUR RECUPERER LE FICHIER.

GL5 2005-2006

index d centralis donn es d centralis es2
Index décentralisé / Données décentralisées
  • Avantages :
      • Grande souplesse, grande robustesse.
      • Anonymat (relatif) assuré car il n'y a pas de serveur qui stocke des données sur les utilisateurs.
  • Inconvénients :
      • Anonymat => risques de piratage et d’échange de données illégales.

GL5 2005-2006

le p2p avantages
Échanges plus rapides

• car plus directs.

Optimisation de l’utilisation de la bande passante du réseau

• Équilibrage de la charge du réseau

Maintenance et coûts réduits

• Ressources réparties

Résistance aux pannes

• Réplication des ressources

Extensibilité

• Passage de 100 à 10000 nœuds sans problème

Utilisation des ressources inutilisées

• CPU, Stockage, …

Le P2P : Avantages

GL5 2005-2006

le p2p inconv nients
QoS

• Ligne peu fiable, débit peu élevé…

Sécurité

• Crackers

• Virus

• Confidentialité

• Authentification

Contenu trompeur

• Consistance

• Contradiction

Loi : Wild Wild Web

• Droit d’auteurs

• Contenu immoral

Le P2P : Inconvénients

GL5 2005-2006

applications
Applications
  • Applications distribuées (Alternative au RPC)
  • Répartition de stockage

• Multimédia, …

  • Répartition de puissance de calcul
  • Applications de collaboration
  • Messageries instantanées
  • Partage de fichiers
  • Indexation et moteurs de recherche
  • Jeux en réseau
  • Enchères

GL5 2005-2006

sommaire1
Sommaire
  • Présentation
  • Motivations
  • Architecture Générale
  • Bundles
  • Services
  • Évènements du framework
  • Sécurité
  • Frameworks Open Source

GL5 2005-2006

pr sentation
Présentation
  • Corporation indépendante fondée en Mars 1999 par une quinzaine de sociétés “ membres ” : Sun Microsystems, IBM, Ericsson et autres.
  • Définit une norme pour développer et déployer des télé-services dans un ‘service gateway’ (serveur embarqué).

GL5 2005-2006

pr sentation1
Présentation
  • OSGi permet la gestion de modules Java embarqués sur des équipements tels que :
    • des plateformes de services résidentiels,
    • des téléphones mobiles,
    • des modems ADSL,
    • des équipements de mesure électrique,
    • des applications modulaires comme l'IDE open-source Eclipse.

GL5 2005-2006

pr sentation2
Présentation
  • OSGi repose sur :
    • un modèle de déploiement simple.
    • une gestion du cycle de vie des composants (conteneur de composants).
    • des définitions de services standards.
    • des API pour exécuter et gérer des services sur une passerelle.

GL5 2005-2006

motivations
Motivations
  • Indépendance de la plate-forme
  • Chargement/Déchargement de code dynamique
    • langage Java
  • Déploiement dynamique d’applications
  • Programmation orientée service dynamique

GL5 2005-2006

architecture g n rale
Architecture Générale
  • Un environnement OSGi comprend les entités suivantes :
    • Passerelle OSGi (Service Gateway)
    • Fournisseurs de service (Service Provider)
    • Opérateur de la passerelle (Gateway Operator)
    • Réseaux locaux et périphériques

GL5 2005-2006

architecture g n rale1

Bundle

  • - Unité de livraison et de déploiement sous forme d’une archive jar.
  • Unité fonctionnelle (offre des services).

bundle

Conteneur de composants

Architecture Générale

GL5 2005-2006

cycle de vie d un bundle
Cycle de vie d’un bundle

Le bundle a été installé correctement.

Le bundle démarre,il enregistre ses services,et obtient les services dont

il a besoin.

Toutes les classes que nécessite

le bundle sont disponibles, il peut démarrer.

Retour à l’état

Resolved.

Le bundle est actif.

Le bundle s’arrête, il désenregistre

ses services.

Le bundle est désinstallé, il

ne peut plus changer d’état.

GL5 2005-2006

structure d un bundle

Ressources

Services

fournis

Services

requis

Packages

importés

Packages

exportés

Activateur +

objets métiers qui

implémentent les services

Fichier Manifest

Structure d’un bundle

GL5 2005-2006

manifest
Manifest
  • Fournit des informations descriptives.
  • Essentiel pour le framework.
  • Décrit le déploiement et l’exécution.

Manifest-Version: 1.0

Bundle-Name: BundleHelloWorld

Bundle-SymbolicName: BundleHelloWorld

Bundle-Version: 1.0.0

Bundle-Description: Bundle qui affiche Hello World !

Bundle-Vendor: GL5

Bundle-Activator: atelier.hello.Activator

Import-Package: org.osgi.framework

GL5 2005-2006

manifest1
Manifest
  • Informations nécessaires au framework :

GL5 2005-2006

manifest2
Manifest
  • Informations nécessaires au framework :

GL5 2005-2006

activator
Activator
  • Classe publique

• Implémente les 2 méthodes start() et stop() de

BundleActivator.

• qui reçoivent une référence sur un contexte.

GL5 2005-2006

activator1
Activator
  • start(BundleContext ctxt)
    • recherche et obtient des services requis auprès du contexte et/ou positionne des listeners sur des événements.
    • enregistre les services fournis auprès du contexte.
  • stop(BundleContext ctxt)
    • désenregistre les services fournis.
    • relâche les services requis.

GL5 2005-2006

bundlecontext
BundleContext
  • Interface vers le framework

• Passé lors des invocations de start() et stop() de l’Activator.

  • Permet :

• L’enregistrement de services.

• L’obtention et la libération des services.

• La souscription aux évènements du Framework.

• L’accès aux ressources du bundle.

• L’accès aux propriétés du framework.

• L’installation de nouveaux bundles.

• L’accès à la liste des bundles.

GL5 2005-2006

services
Services
  • Une interface publique et des implémentations.
  • se trouvent dans des packages différents.
  • implémentation normalement non publique.
  • multiples implémentations possibles.
  • « emballés » dans les bundles.
  • Qualifiés par des propriétés.

GL5 2005-2006

enregistrement d un service
Enregistrement d’un service
  • Le framework gére les services enregistrés en utilisant un objet ServiceRegistration.

GL5 2005-2006

recherche d un service
Recherche d’un service
  • Le framework gére les références aux services en utilisant un objet ServiceReference.

GL5 2005-2006

services standards 1
Services standards (1)
  • Log Service
    • Permet de journaliser des traces ou de se mettre en l’écoute de ces traces.
  • Http Service
    • Offre un serveur HTTP sur lequel les autres bundles peuvent enregistrer des ressources ou des servlets.
  • Device Access
    • Permet l’utilisation de périphériques matériels (chargement de drivers, utilisation de matériel plug-and-play).
  • Service Tracker
    • Suit l’évolution d’un service (enregistrement, modification, désenregistrement)

GL5 2005-2006

services standards 2
Services standards (2)
  • Configuration Administration Service
    • Gère la configuration de l’environnement OSGI.
  • Permission Administration Service
    • Gère les droits du bundle.
  • Preferences Service
    • Gère la personnalisation.
  • User Administration Service
    • Définit les droits des utilisateurs.
  • Package Administration Service
    • Autorise l’import et l’export de packages.

GL5 2005-2006

v nements du framework
Évènements du framework
  • Le framework expose différents évènements aux bundles à travers le bundle context :
    • ServiceEvent : signale l’enregistrement, le désenregistrement, et le changement de propriétés pour les objets services.
    • BundleEvent : signale les changements dans le cycle de vie des bundles.
    • FrameworkEvent : signale que le framework a démarré ou rencontré des erreurs.

GL5 2005-2006

s curit
Sécurité
  • Basée sur les permissions du JDK1.2
  • Définit 3 permissions standards :
    • AdminPermission : Autorise l’accès aux fonctions d’administration du framework.
    • ServicePermission : Contrôle l’enregistrement et la récupération de services.
    • PackagePermission : Contrôle l’import et l’export de packages.

GL5 2005-2006

knopflerfish
Knopflerfish

GL5 2005-2006

slide41

OSCAR

GL5 2005-2006

bibliographie
Bibliographie
  • Open Services Gateway initiative : http://www.osgi.org
  • Framework open source :

• Richard Hall, « OSCAR, Open Service Container Architecture », http://oscar-osgi.sourceforge.net/

• Knopflerfish OSGi : http://www.knopflerfish.org/

  • Complément de cours :

• Donsez, Hall, Cervantes, Chomat

•http://www.adele.imag.fr/donsez/cours/osgi.pdf

• Donsez

•http://www.adele.imag.fr/donsez/cours/p2p.pdf

  • Site P2P d’O'Reilly : http://www.openp2p.com/

GL5 2005-2006