44
GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

Embed Size (px)

Citation preview

Page 1: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 1

P2P et OSGi

Présenté par :

Ben Saad MyriamHentati Sonia Fatma

Encadré par :

Mr. Mohamed Romdhani

Page 2: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 2

Peer-To-Peer

Page 3: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 3

Sommaire

Définition

Historique

Architectures

Avantages & Inconvénients

Applications

Page 4: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 4

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.

Définition

Page 5: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 5

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

Historique

Page 6: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 6

Architectures

Centralisée.

P2P

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

Pur P2P

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

Page 7: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 7

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é, …

Architecture centralisée

Page 8: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 8

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.

Page 9: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 9

1

1 UN UTILISATEUR LANCE UNE REQUETE A LARECHERCHE D'UN FICHIER DONNE.

LE SERVEUR CENTRAL TRANSMET LA LISTE DES ORDINATEURS PROPOSANT LE FICHIER DEMANDE.

L'USER TELECHARGE LE FICHIER DIRECTEMENTA PARTIR D'UN ORDINATEUR RENSEIGNE PAR LE SERVEUR.

Index centralisé / Données décentralisées

Page 10: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 10

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.

Index centralisé / Données décentralisées

Page 11: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 11

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.

Page 12: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 12

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.

Page 13: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 13

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.

Page 14: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 14

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, …

Page 15: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 15

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

Page 16: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 16

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

Page 17: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 17

OSGi (Open Services Gateway initiative)

Page 18: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 18

Sommaire

Présentation

Motivations

Architecture Générale

Bundles

Services

Évènements du framework

Sécurité

Frameworks Open Source

Page 19: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 19

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é).

Page 20: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 20

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.

Page 21: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 21

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.

Page 22: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 22

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

Page 23: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 23

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

Page 24: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 24

Architecture Générale

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

Conteneur de composants

bundle

Page 25: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 25

Cycle de vie d’un bundle

Le bundle a été installé correctement.

Toutes les classes que nécessite le bundle sont disponibles, il peut démarrer.

Le bundle est actif.

Retour à l’étatResolved.

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

Le bundle est désinstallé, ilne peut plus changer d’état.

Le bundle s’arrête, il désenregistreses services.

Page 26: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 26

Structure d’un bundle

Ressources

Servicesfournis

Packagesexportés

Activateur +objets métiers quiimplémentent les services

Fichier Manifest

Packagesimportés

Servicesrequis

Page 27: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 27

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

Manifest

Manifest-Version: 1.0Bundle-Name: BundleHelloWorldBundle-SymbolicName: BundleHelloWorldBundle-Version: 1.0.0Bundle-Description: Bundle qui affiche Hello World !Bundle-Vendor: GL5Bundle-Activator: atelier.hello.ActivatorImport-Package: org.osgi.framework

Page 28: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 28

Informations nécessaires au framework :

Manifest

Page 29: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 29

Informations nécessaires au framework :

Manifest

Page 30: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 30

Classe publique

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

BundleActivator.

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

Activator

Page 31: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 31

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.

Activator

Page 32: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 32

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.

BundleContext

Page 33: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 33

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.

Services

Page 34: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 34

Enregistrement d’un service Le framework gére les services enregistrés en utilisant un

objet ServiceRegistration.

Page 35: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 35

Recherche d’un service Le framework gére les références aux services en

utilisant un objet ServiceReference.

Page 36: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 36

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)

Page 37: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 37

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.

Page 38: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 38

É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.

Page 39: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 39

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.

Sécurité

Page 40: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 40

Knopflerfish

Page 41: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 41

OSCAR

Page 42: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 42

Passons à la démonstration

Page 43: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 43

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/

Page 44: GL5 2005-2006 1 P2P et OSGi Présenté par : Ben Saad Myriam Hentati Sonia Fatma Encadré par : Mr. Mohamed Romdhani

GL5 2005-2006 44

Merci de votre attention.