SYNTHESE


I - Les notions du P2P
II - Le projet JXTA
III - La vision de Microsoft avec .NET My Services


I - Les notions du P2P

    Internet est composé d'immenses ressources qui sont potentiellement utilisables mais souvent mal exploitées. Ces ressources sont de trois types: bande-passante, espace de stockage et capacité de traitement. C'est parce que le modèle client-serveur classique ne parvient pas à tirer le maxiumum des ressources du réseau que le modèle P2P est né.

Principe

    Le peer-to-peer ("égal à égal", ou point à point) est un modèle d'architecture de système d'information dont le principal objectif est d'optimiser au maximum l'utilisation d'au moins un des trois types de ressources existantes par rapport à son équivalent en modèle client-serveur.

    Le principe est de connecter directement deux machines du réseau dès lors qu'elles on des informations communes qui les intéressent. Autrement dit cette connexion permet une relation d'égal à égal entre les deux postes. Il n'est donc plus nécessaire de passer par un serveur central pour dialoguer avec une machine distante.

Les modèles existants

    Il existe deux modèles d'architecture P2P : le modèle centralisé et décentralisé. On se propose ici d'étudier ces modèles comparativement à celui du client-serveur qui leur est souvent opposé.


Bilan


II - Le projet JXTA

    Le projet JXTA est l'initiative lancée par Sun pour étudier les possibilités du modèle d'application P2P. Depuis Avril 2001, une première mouture de leur plate-forme de développement a été placée dans le domaine de l'OpenSource. Cette plate-forme a pour but de faciliter l'interopérabilité entre applications, d'être indépendante du hardware et software utilisé et enfin de pouvoir être intégrée dans n'importe quel type d'équipement pouvant être relié à d'autres.

    Pour cela, elle définit uniquement un ensemble de 6 protocoles d'échange et des messages au format XML (ce format pouvant être considéré comme universel). Elle réalise également une abstraction des canaux de communication. Ainsi, elle ne tient compte que de la qualité de service offerte par le lien sans se préoccuper du protocole de transport réellement utilisé.

Les protocoles

    Les 6 protocoles sont:     Ces 6 protocoles ne sont pas systématiquement disponibles sur toutes les plate-formes. Seuls sont présents ceux pouvant ou voulant être supportés par l'équipement.
    Le seul protocole à implémenter obligatoirement est le Peer Discovery Protocol car c'est lui qui permet de s'annoncer et de trouver les autres noeuds. Par contre, un protocole tel que le peer endpoint protocol ne sera implémenter que par des machines capables d'assurer un certain débit de transit donc, ayant des connexions conséquentes.

Les annonces

    Il existe également tout un ensemble d'annonces qui permettent de faire connaître l'existence d'une ressource:     Ces annonces ne sont pas limitées en nombre. On peut en définir autant que l'on veut car elles sont écrites en XML. Cependant, celles-ci sont supposées être compréhensibles pour tous les noeuds. Ensuite, celles qui seront définies en plus ne seront pas standards donc, ce sera à l'application de les comprendre.
    Ces annonces sont ensuite gardées en mémoire pour servir de base aux differents protocoles pour savoir à qui adresser une reqûete ou répondre à une requête concernant une ressource. De cette manière, on assure une vision plus ou moins globale des ressources P2P disponibles sur le réseau. De plus, cette vision est constamment réactualisée et dupliquée ce qui permet une grande resistance aux pannes.

Les pipes

    Ce sont les canaux de communications utilisés par les noeuds pour échanger des informations. JXTA permet d'abstraire le type de protocole de transport utilisé. La plate-forme ne tient compte que de la qualité de service offerte par le lien physique. Pour cela, les pipes sont définis par défaut comme étant uni-directionnel et asynchrone.
Il existe deux types de pipes:     Ainsi, on voit que les pipes ne sont pas représentables par des liaisons physiques dans tous les cas. Il faut plutôt les voir comme des canaux ayant un certain débit, une certaine qualité de service et des ressources attachées à ses extrémités. Ces ressources peuvent être attachées ou détachées dynamiquement. Ainsi, on peut imaginer un téléchargement de plusieurs fichiers par le biais d'un pipe qui une fois le premier fichier téléchargé, le détache et attache le deuxième fichier et ainsi de suite sans casser le lien.

La sécurité

    En ce qui concerne la sécurite, JXTA se contente pour l'instant de fournir un ensemble de bibliothèques permettant d'implémenter les différentes solutions envisageables (clé publique, clé secrèe, Kerberos...) en fonction des différents cas possibles.
    Sun s'appuie ici sur l'expérience acquise au cours du développement du langage Java pour laisser le plus de liberté possible aux programmeurs. Ensuite, par l'observation des solutions les plus communément adoptées, de nouvelles fonctions viendront faciliter le développement pour les programmeurs.
Ainsi, il est prévu dans la prochaine version, une forme de système de sécurité "tout en un".

Problèmes rencontrés:
A venir:


    Ainsi, grâce à une description universelle des ressources et a un ensemble de protocoles d'échange n'imposant rien quant à la manière de les implémenter, Sun Microsystems a réussi à respecter ses objectifs. Cependant, le revers de la médaille vient du fait que le développeur doit assurer une grosse part du travail. En effet, il sait uniquement ce qu'il peut attendre de ses voisins mais peu de facilités lui sont fournies pour programmer rapidement son application (du moins dans cette première version).

III - La vision de Microsoft avec .NET My Services

    .NET My Services est la plate-forme de développement P2P offerte par Microsoft. Les objectifs de Microsoft sont très différents de ceux de Sun.     En effet, Microsoft a centré sa vision autour du bien-être de l'utilisateur plutôt que sur les possibilités de développement pour le programmeur. Ainsi, l'accent n'a pas été porté sur les possibilités d'offrir des applications totalement nouvelles mais plutôt sur les possibilités d'intégrer de nouvelles fonctions à des applications déjà existantes. En particulier, Microsoft veut permettre une meilleure gestion des informations.

A l'initiative de .NET

    .NET a pour premier objectif d'accroître l'interopérabilité entre applications afin d'assurer une meilleure gestion des informations. On voudrait, par exemple, que la réservation sur un vol à partir d'un système de réservation en ligne puisse communiquer avec l'agenda de la personne qui réserve.

    Ainsi, on veut aussi répondre au problème de redondance des saisies ( saisie du password, d'informations personnelles telles que l'adresse, porte-monnaie électronique) et au problème des mises à jour trop lourdes (en changeant d'adresse e-mail, on doit mettre à jour tous les sites sur lesquels on avait saisi l'ancienne adresse...).

    On aimerait aussi donner tout pouvoir de contrôle à l'utilisateur sur ses données, ses informations personnelles.

Qu'est-ce que .NET My Services?

    C'est une architecture centrée utilisateur. On essaye de s'orienter sur le confort de l'utilisateur et de lui donner le maximum de contrôle en ce qui concerne ses informations personnelles.

    .Net My services est implémenté sous forme d'un ensemble de services gérant les problèmes d'interopérabilité et à vocations diverses (abonnement à des alertes signalant des évènements spéciaux (.NET alerts), gestion des informations du porte-monnaie électronique (.NET Wallet) etc...). Pour permettre cette interopérabilité, .NET utilise les standards XML (formatage des données) et SOAP (appel de procédures à distance). Le transfert des informations est réalisé via HTTP.

Sécurité : Principe

    Le chargement des informations sur lesquelles on veut exercer un contrôle est centralisé dans la "digital safe deposit box". L'utilisateur peut ensuite déterminer les droits d'accès qu'il accorde à des utilisateurs, des groupes d'utilisateurs, des services ou des sociétés, sur les différents éléments de la boîte.

    L'utilisateur peut à tout moment révoquer les droits d'accès accordés (cas d'abus ou autres...).

    L'utilisateur peut donner une date d'expiration aux droits d'accès accordés.

Sécurité : .NET Passport

    .Net My services utilise une version avancée du service d'authentification de .NET Passport. Le service .NET Passport est déjà utilisé (165 millions de .NET Passport déjà en existence). Il est présent dans Windows XP et son utilisation est soumise à l'approbation de Microsoft.

Comment fonctionne .NET Passport?

    L'utilisateur place dans son .NET Passport des informations personnelles dont des informations de signature et des informations concernant le porte-monnaie électronique. Les sites qui veulent participer au service .NET Passport doivent être affiliés au réseau auprès de Microsoft (serveurs centraux). Ils proposent ainsi des services tel que l'unique login, la gestion du porte-monnaie électronique, le contrôle parental. L'utilisateur peut, de cette manière, saisir les informations une fois pour toute et éviter de subir des saisies répétives. L'utilisateur peut, de même, filtrer les informations transmises.

    .NET Passport facilite la tâche de l'utilisateur (en limitant la redondance des saisies et en personnalisant la tâche) et offre des services en ligne plus sécurisés.




Page d'accueil - Haut de la page