Docstoc

cnam

Document Sample
cnam Powered By Docstoc
					Intégration des Systèmes Temps Réels :
               2008-2009
      Alexis Bailly & Jean-Paul Sin




Jini JavaSpaceS



                                         AB-JPS
         SOMMAIRE
            1- Introduction générale

            2- Introduction à Jini

            3- Principe d‟utilisation du service

            4-Le modèle de programmation

            5- Jini et Sécurité

            6- Fort et faiblesse de Jini

            7- Introduction à JavaSpaces

            8- Bluetooth et Jini

            9- Définition

            10- Installation de Starter kit -- démonstration

            11- Concurrences de Jini

            12- Cahier des charges

            13- Bibliographie

            Lexique




Page 2
         1- Introduction générale

             On évoque souvent un futur où chacun disposerait de plusieurs
            appareils communiquant, insérés dans son habillement par exemple, ou
            bien dans le réseau d’appareils ménagers à son domicile.
            Mais avec quel langage, selon quel protocole fera-t-on communiquer ces
            appareils ?
            Sun répond à cette question avec le langage Jini qui représenterait, dans le
             domaine des communications entre appareils divers, une innovation peut-
             être plus importante que celle apportée par Java au monde des
             ordinateurs.
            Jini va permettre à diverses sortes d’appareils - téléphones mobiles,
             imprimantes laser, thermostats, PC, automobiles - de communiquer et
            partager de l’information.




                 Introduction à Jini                            (JPS)
Page 3
         2- Introduction à jini

          2.1- Qu’est ce qu’un Jini
            Jini est une architecture de fédération d’objets répartis en java
            sur un système réparti.

            • Une Fédération est définie comme un ensemble de services associés
            pour réaliser une tâche.

          2.2- Objectifs de Jini: « Plug & Play »
                         (Plug and Work – Plug and paticipate)



            • Permettre aux utilisateurs de partager des ressources sur un réseau.
            • Faciliter l ‟accès aux ressources du réseau quelque soit la localisation
            de l ‟utilisateur ou du service.
            • Simplifier le déploiement et la mise en oeuvre d ‟un réseau




Page 4
                Infrastructure de jini : les acteurs
         2.3- L’infrastructure de Jini : les acteurs

             Trois principaux acteurs et un réseau de connexion
            (généralement TCP/IP) :
           1.    Service (imprimantes, un toaster, … ),
           2.    Client (utilisant les services),
           3.    Localisateur de services (service locator/lookup service).
                  • Objectif : permet le centralisation des recherches d‟objets distribués
                 • Ses actions : Broker/Trader/Locator entre Service et Client


                                                    Service
                    Client                          Locator                          Service



                Réseau TCP/IP




Page 5
                    L‟infrastructure de Jini : les couches d‟interaction
         2.4- L’infrastructure de Jini : Les couches d’interaction

            5.1- Infrastructure : Les couches d‟interaction

                     Jini (Jini Services & applications)

                           Remote Method Invocation
                           Java Virtual Machine
                         TCP/IP : operating system
                      Data Link Layer : couche réseau




                Les détails de l‟infrastructure de Jini : jini core
Page 6
          2.5- Les détails de l’infrastructure de Jini

         Le coeur de la technologie de JINI se présente sous 3 formes :

         1.   Les classes JAVA RMI qui permettent à 2 classes localisées dans des
              entités physiques différentes de communiquer et aussi d ‟assurer la
              sécurité de l‟environnement distribué JINI.


         2.   Le protocole de découverte « Discovery Process » et le protocol d‟adhésion
              « Join Process » qui permettent aux services de se faire connaître, de
              découvrir d‟autres services et de créer des Fédérations.


         3.   Le service de recherche « Lookup Service » qui est le recueil des services
              existants.




                   L‟architecture de RMI : Rappel
Page 7
         2.6- L’architecture RMI : rappel
                                                           rmiregistry
                           Naming.                                                               Naming.
                           lookup()                                                              rebind()




                Application                                                                         Application
                  Client                                                                              Server



              Appl_Stub.class                                                                Appl_Stub.class
                                                                Web
                                                               Server


                  Client Program                                                       Server Program

                         Stub                                                            Skeleton
           Remote reference Layer (JRMP:1099)                                Java Remote Method Protocol

                        Transport Layer (Assuré par les packages java.net.Socket et java.net.SocketServer)




Page 8
                  Le principe de discovery-join-lookup de jini (AB)
         2.7.1- Jini : Principe du protocole de découverte
               Comment mettre à disposition un service ?
                • Lors de connexion du périphérique ou du service sur le réseau, cet
                équipement diffuse une « annonce de présence » (presence
                announcement) auprès des recherches de services (lookup service).
                • Le « Lookup service » envoie un objet (registrar) en retour vers le
                service.


                                               Lookup Service
                                                 Port 4160



         Le service provider recherche le
         lookup Service



                                                                                Client
                Service Provider

                   Service Object

                 Service Attributes




                        Join Manager
Page 9
              2.7.2- Principe du processus d’adhésion

               Join manager (adhésion) : Attachement du service.
               Le service transfert une copie des objets service contenant les interfaces et
                  les attributs vers « Lookup Service ».



                                               Lookup Service


                                                Service Object

                                               Service Attributes




                 Service Provider                                              Client

                  Service Object

                 Service Attributes




                       Lookup Process
Page 10
          2.7.3- Principe du processus de recherche de service
             Lookup process:
               • Le client souhaite utiliser le service, fait une demande auprès du «lookup service»,
                     une copie de service est alors transférée.
               • Le « Lookup service » envoie un objet (registrar) en retour vers le client.
               • Le Service demandé est copié dans la JVM du client




                                                    Lookup Service


                                                      Service Object

                                                    Service Attributes




              Service Provider                                                                 Client


                                                                                           Service Object




                   Utilisation du service de jini
Page 11
          2.7.4- Principe du processus de recherche de service
             Utilisation du service :
               Le client invoke le service via le proxy.




                                         Lookup Service


                                           Service Object

                                          Service Attributes




              Service Provider                                     Client


                                                               Service Object




                   Principe d‟utilisation du service
Page 12
          3- Principe d’utilisation du service

             Interaction entre client et service :
               Le client invoque le service de plusieurs manières :
                   En local : le service est télécharge sur le client.
                   A distance sur le fournisseur de service.
                   En mode proxy :
                        une partie en local et une partie à distance.
                        Toutes les demandes de services sont relayées par le mandataire
                         vers le service distant (En mode transparent ).




                    Structure du pseudo-code client (JPS)
Page 13
          3.1- Structure du pseudo-code du client

             Pseudo-code
              1. Prepare for discovery : Préparation à la découverte
              2. Discover a Lookup Service : Découverte du service
              3. Prepare a template for Lookup search : Prépare le modèle pour
                 rechercher le service
              4. Lookup a service : Rechercher le service
              5. Call the service : Appel de service




                   Structure de code du client (exemple)
Page 14
          3.2- Structure de code du client            (exemple)

          // Prepare for discovery (1- préparation à la découverte)
          lookup = new LookupLocator(« jini://www.all_about_files.com »);
          // Discover a lookup service (2- découverte du service)
          registrar = lookup.getRegistrar();
          // Prepare a template for Lookup search (3- prepare le modèle)
          Class[] classes = new Class[] {objetapartager.class};
          ServiceTemplate template = new ServiceTemplate(null,classes,null);
          // Lookup a service (4- Rechercher le service)
          classifier = (objetapartager) registrar.lookup(template);
          // Call the service (5- appel du service)
          MIMEType type;
          type = classifier.getMIMEType(« file1.txt »);
          System.out.println(« type is »+type.toString());


                  Structure de code du serveur
Page 15
          3.3- Structure de code du Serveur

             Le Serveur doit ressembler au pseudo-code :
              1.   Prepare for discovery : prépare la découverte
              2.   Discover a Lookup Service : découverte de la table de service
              3.   Creating Information about a service : constituer l’information
                   concernant ce service
              4.   Export a service : exporter le service
              5.   Renew leasing periodically : renouveler le bail




                   Structure de code du serveur
Page 16
          3.3.1- Structure de code du Serveur                     (exemple)
          // Prepare for discovery (1- préparer la découverte)
          // Discover a lookup service (2- découverte de la table de service)
          discover = new LookupDiscovery(LookupDiscovery.ALL_GROUPS);
          discover.addDiscoveryListener(this);
               public class TestUnicastFileClassifier {
                   public static void main(String argv[]) {
                             new TestUnicastFileClassifier();
                   }
               public TestUnicastFileClassifier() {
                   LookupLocator lookup = null;
                   ServiceRegistrar registrar = null;
                   FileClassifier classifier = null;
                   // Prepare for discovery
                   lookup = new LookupLocator("jini://www.all_about_files.com");


                       Structure de code du serveur (exemple suite)
Page 17
          3.3.2- Structure de code du Serveur                                     (exemple suite)
          // Discover a lookup service
                 // This uses the synchronous unicast protocol
                 registrar = lookup.getRegistrar();
                 // Prepare a template for lookup search (3- constituer l‟information concernant ce service)
                 Class[] classes = new Class[] {FileClassifier.class};
                 ServiceTemplate template = new ServiceTemplate(null, classes, null);
                 // Export Lookup a service (4- exporter la table de service)
                 classifier = (FileClassifier) registrar.lookup(template);
                 // Call the service (5- appel du service)
                 MIMEType type;
                 type = classifier.getMIMEType("file1.txt");
                 System.out.println("Type is " + type.toString());
                    }
                 } // TestUnicastFileClassifier


          • Accessibilité à l ‟objet « Lease » par la méthode « getLease() » de l ‟objet « ServiceRegistration
                ». (options : Lease.ANY et Lease.FOREVER)
                 ServiceRegistration reg = resgistrar.register();
                 Lease lease = reg.getLease();


                        Le modèle de programmation Jini                                        (AB)
Page 18
           4- Le modèle de programmation Jini


          Jini propose trois parties de modèle de programmation :
              1.Le bail (leasing). Elle gère la durée de vie des objets distribués
              2.Les transactions. Elle assure un degré d‟atomicité des opérations
                entre le client et les services.
              3.Les événements distribués. Elle permet d‟envoyer la notification des
                événements à travers le réseau.


          A noter que les services initiaux discovery, join, lookup sont construits sur ce
            modèle.




                     Le bail
Page 19
           4.1- Le bail « leasing »
          Un bail (lease) présente les caractéristiques suivantes, essentielles pour la
          compréhension du modèle :
          - Un bail est une période durant laquelle le fournisseur du bail garantit au
          demandeur l‟accès à une certaine ressource. La durée peut en être définie par
          le fournisseur ou négociée par les deux parties.
          - Pendant la durée du bail, celui-ci peut être annulé par le demandeur. Les
          ressources en jeu sont alors libérées.
          - Un demandeur peut demander la reconduction du bail, pour une durée qui
          peut différer de la durée précédente.
          - Un bail peut expirer. S‟il n‟est pas renouvelé, les ressources impliquées sont
          libérées.




                      Les transactions
Page 20
          4.2- Les transactions

             Une transaction est une ensemble d ’opérations groupées
              Elles réussissent ou échouent ensemble ( ACID )
              Pour un observateur extérieure , elles constituent une unique
              opération.
             Les transactions sont une partie nécessaire de beaucoup
              d‟opérations distribuées.
              Fréquemment , deux ou plusieurs objets peuvent avoir besoin de
              synchroniser leurs changements d ‟état .
             Tous les participants dans une transaction communique avec le «
              transaction manager »
             Les transactions sont gérées par un bail.
             JINI fourni une « transaction manager » qui s ‟appelle
              « mahalo »




Page 21           Les évènements distribués
          4.3- Les événements distribués
              Problèmes des événements distribués sur le réseaux


             Le réseau n ‟est pas fiable à 100% (possibilité de perte d‟informations)
             Le temps de réponse pourrait être excessivement long
             Les notifications d‟événements n‟arrivent pas forcément à destination.
             L‟ordre chronologique des événements n‟est pas forcément conservé.
             L‟objet ayant manifesté son intérêt pour un événement n‟est pas
              nécessairement celui à qui la notification doit être envoyée.




Page 22           Event agent
          4.4- Event Agent
              Ce modèle de programmation permet d’introduire la notion
              d’agent capable d’ajouter des fonctionnalités. Les principaux
              types d’agents sont les suivants :

             L‟agent de relais (store-and-forward agent). Le but de cet objet est d‟agir au nom du
              générateur d‟événement et de prendre en charge l‟envoi des notifications aux écouteurs
              enregistrés selon des modalités prédéfinies (envoi régulier de notifications jusqu‟à
              acquittement, par exemple).
             Le filtre de notification (notification filter). Cet objet peut être local soit au générateur, soit à
              l‟écouteur d‟événement, et génère un fil (thread) chargé de s‟occuper d‟une notification lors
              de sa réception.
             La boîte à notification (notification mailbox). Cet objet stocke les notifications pour le compte
              d‟un autre objet, jusqu‟à ce que cet objet lui demande la distribution de son " courrier ". Ce
              dispositif permet à un objet de ne recevoir de notifications d‟événements que lorsqu‟il le
              souhaite, sans que celles-ci se perdent.




Page 23             Jini et Sécurité                                    (jps)
          5- Jini et Sécurité

             • La sécurité de JINI est basé sur la sécurité du
              JDK 1.5 (code vérification, sandboxing, code signing, secure
              channel, etc…)
             • « Security Manager » permet de garantir ou
              d’interdire l’accès à une ressource. Il permet
              aussi de controler les autorisations (ACL):
                    Par authentification.
                    Par domaine ou sous-domaine.
                    Par service.
              grant {
                   permission java.security.AllPermission "", "";
              };



Page 24            Forts et faiblesses de Jini
          6- Forts et faiblesses de jini
             Tolérance aux pannes du nommage
              • Partition de réseau
                  • Certains entités s‟ en rendent compte, d‟ autres non
              • Arrêt brutal d’ un serveur de nom / Reprise
              • Arrêt brutal d’ un service / Reprise

             Solutions apportées par Jini
              • Emission régulière de message « I’m alive »
                  • Mode multicast
              • Redondance du service de nommage
                  • La cohérence forte n‟est pas nécessaire




                  Motivation de Jini : Plug-and-participate
Page 25
          6.1- Motivation de Jini : Plug-and-Participate
             Support pour le développement d’applications distribuées

              • Spontanées

                 • les fournisseurs de service apparaissent et disparaissent
                 de l‟environnement réseau

              • Tolérantes aux pannes
                 • L‟environnement réseau peut subir des pannes transitoires
                 pouvant former des partitions de réseaux

              • Peer To Peer (P2P)

                 • Tout noeud est client, serveur, et indexeur
             Cible

              • Simplification des interfaces et de la connexion entre ordinateurs
              nomades, enfouis, …
              • PC, PDA, téléphone mobile, TV, STB, Console de Jeux, Digital
              Camera, HiFi, Imprimantes, Fax, Alarmes, GPS, Domotique, …

Page 26           Introduction à JavaSpaces                      (AB)
          7- Introduction à JavaSpaces

             3.1- Qu’est ce qu’un JavaSpaces
              Une spécification pour le développement des services fournissant une
              persistance distribuée et un mécanisme d‟échange d‟objet basé sur
              JINI. C‟est un modèle simple d‟application distribuée basée sur le
              langage LINDA (university of Yale milieu 1980). Service JINI.

             Espace Distribué avec Persistance
               – Données
                  Entry : Objet Java sérialisé
                 Opérations
                   • Lecture : read, take
                   • Ecriture : write
                   • Evènement : notify, writeEvent
                   • Lecture conditionnelle sur la valeur des entrées
                   • Sérialisation transactionnelle des opérations




Page 27
                  JavaSpace : les opérations
          7.1- JavaSpaces : les opérations

             L'écriture :
              Une application dépose (write) des données (appelé entry qui sont des objets
              Java sérialisé) dans un espace (appelé JavaSpace) partagé et distribué.


             La lecture :
                  Une autre application peut lire (read) ces données ou les retirer




Page 28
                   JavaSpaces : les opérations
          7.2- JavaSpaces : Les opérations

              Take :
               Une application récupère (take) des entry qui peut être restreints aux entrées
               vérifiant des critères simples.
              Notify :
               L'apparition d'une entrée peut être notifiée (notify).
          Remarque :
               Les opérations sont bloquantes jusqu'à l'apparition d'un lecteur ou d'un écrivain
               ou jusqu„à une date limite (lease).
          Différences
               • Différences avec les bases de données
                   BD : pas d'interrogation générale
                   BD objet : pas de transparence de la Persistance
               • Différence avec LINDA
                   Utilisation d'objets Java (héritage, méthodes, ...) au lieu des tuples “plats”
               de LINDA.




Page 29
                    JavaSpaces : l‟architecture
          7.3- JavaSpaces : l’architecture




                                Program, Devices, Other Services
          Network Services

                                 JavaSpaces           Services

                                  Leasing, Events, Transactions
          Jini
                                       Discovery, Lookup
                                Remote Method Invocation

                                           Java
          Java Platform
                               X86 (windows), Sparc(Solaris),
                                       PPC(mac OS)



Page 30
                     Concurrence de Jini
          7.4- JavaSpaces : Blitz

             Blitz fournit un ensemble de service
                  Un serveur http sur le port 8080
                  Un service d‟enregistrement « registration services »
                  Un outil de diagnostique « dasboard »(mémoire, transaction et
                   compteur)

             Les règles qui régissent les objets JavaSpaces :
                  Les données persistantes doivent être déclarées publique
                  Une interface doit être déclarée
                  L‟utilisation des mots clefs pour les opérations dans le
                   javaSpaces (read,write, take)




Page 31
                  Bluetooth et Jini : l‟architecture                       (JPS)
          8.1- Bluetooth et Jini : l’architecture
               Bluetooth et Jini
                      Limitation du bluetooth – Fréquence radio de la class 3 : 2,4 Ghz(puissance
                       1mw débits 1 Mbytes/s) dont la portée est limitée à 10 mètres sans
                       interférence.
                            Pour rechercher un service, le client crée un « service template »
                            ServiceTemplate(ServiceID serviceID,java.lang.Class[] serviceTypes, Entry[]
                             attrSetTemplates)
                              1.     ServiceID: un UUID unique identifiant le service
                              2.     Class[]: un tableau d’objets qui définit le type du « service provider »
                              3.     Entry[]: un objet qui reprérente l’attribut du service
                               Le client peut communiquer avec le « service provider »




                  Lookup Service                                                 Bluetooth Network


                                                                             Bridge
                  TCP/IP network           Surrogate                                             Client
                                                                             Proxy
                                                                                                  Jini Profile
                  Service Provider




                   Bluetooth et Jini : la pile de protocole
Page 32
          8.2- Bluetooth et Jini : la pile de protocole
              La pile de protocole pour le «Jini Service Lookup »
                   Le client bluetooth permet au mandataire Jini (Proxy) d’effectuer « Jini
                    Service Lookup »
                   La description de la requête est mise dans un fichier XML et transmise au
                    service provider via le service « OBEX-FTP profile ».




                                          Application
                                    (Jini Service Lookup)
                                  OBEX                   Jini
                               RFCOMM                 SDP
                                   LMP                   L2CAP

                                            BaseLand


                  Jini et J2ME : Application HTTP                                 (AB)
Page 33
          8.3- Jini et J2ME : Application HTTP
                  Application HTTP




                                      J2ME Proxy   Looks up Service
                                                                                Jini Lookup
                        http            Servlet
                                                                              Service (Reggie)



                                        Invoke

          J2ME Client
                                                              Registers and
                                                              Uploads Proxy

                                  Application
                                 Service Finder




Page 34
          9- Définition

             Jini/JavaSpace permettent aux développeurs de créer des services centrés sur
              les réseau. Qu‟ils soient implémentés dans le matériel ou en logiciel afin qu‟il
              soit adaptables aux changements. La technologie Jini peut être utilisée pour
              développer des réseaux adaptatives qui permette à ces composants d‟évoluer
              suivant l‟exigence de l‟environnement informatique.
              En utilisant des objets mobiles sur le réseau, l‟architecture jini rend chaque
              service adaptable aux changements. Elle spécifie la manière dont les clients et
              les services doivent se retrouver et fonctionner ensemble afin d‟accomplir une
              tâche.


             JavaSpace : une spécification pour le développement des services fournissant
              une persistance distribuée et un mécanisme d‟échange d‟objet pour du code
              écrit en langage Java. Les outils basés sur JavaSpaces autorisent l‟écriture de
              systèmes mémorisant l‟état, et ainsi que des systèmes utilisant le flux de
              données afin d‟implémenter des algorithmes distribués, et laisser le ser service
              javaSpace de s‟occuper de la persistance distribuée.




                  Installation et Démonstration
Page 35
          10.1-Installation : Starter Kit

             Installation du « starter kit Jini v2.1 »
                Disponible sur le site de java.net :
                           https://starterkit.dev.java.net/downloads/index.html


                   Exemple d‟une installation sous windows :




Page 36
                 Installation : Starter Kit
          10.2-Installation : Starter Kit
           Installation suite :
                  Choix de la jvm




           Installation des composants :




Page 37
                     Installation : Starter Kit
          10.3-Installation : Starter Kit
           Installation suite :
                  Vérification de l’install


           Et lancement du « browser de
                  service ».




Page 38
                     Installation : Starter Kit
          10.4-Installation : Starter Kit
              Tout le package et les documentations jini sont donc installés dans le répertoire par
               défaut.
              « Bugs fixed » indique qu’il faut copier le fichier « jsk-policy.jar » du répertoire de
               jini vers le répertoire lib/ext du jdk ou jre de la machine.
              Notre jvm dispose de tous les services de base installés :
                           Lookup Service (reggie)
                           Transaction Manager Service (mahalo)
                           Lease Renewal Service (norm)
                           Event Mailbox Service (mercury)
                           Lookup Discovery Service (fiddler)
                           JavaSpaces(TM) Service (outrigger)


               Ainsi que des fichiers d’exemples et des batchs en ligne de commande prêt à être
               utilisé. Un exemple du « Hello World » dans différentes utilisations est proposées :
                           Utilisation avec ou sans sécurité.
                           Service « Activable » ou « non-activable ».
                           Utilisation d‟un service en mode JERI ou JRMP.
                           Utilisation du SSL ou non
                           Etc…




Page 39
                  Installation : Starter Kit
          10.5-Installation : Starter Kit
              Utilisation de l’exemple « HelloWorld » et en 4 parties :


                1.     Lancement du serveur http sur le port 80:
                      C:\ <jiniDir>\source\src\com\sun\jini\example\hello > scripts\httpd.bat
                      Le serveur http se lance :




Page 40
                     Installation : Starter Kit
          10.6-Installation : Starter Kit
              Utilisation de l’exemple « HelloWorld » et en 4 parties :


                     Lancement de la registry :
                           C:\ <jiniDir>\source\src\com\sun\jini\example\hello > scripts\jrmp-reggie.bat
                           La registry se lance :




Page 41
                  Installation : Starter Kit
          10.7-Installation : Starter Kit
              Utilisation de l’exemple « HelloWorld » et en 4 parties :


                     Lancement du service :
                           C:\ <jiniDir>\source\src\com\sun\jini\example\hello > scripts\jrmp-server.bat
                           Le serveur se lance :




Page 42
                  Installation : Starter Kit
          10.8-Installation : Starter Kit
              Utilisation de l’exemple « HelloWorld » et en 4 parties :


                     Lancement du client :
                           C:\ <jiniDir>\source\src\com\sun\jini\example\hello > scripts\client.bat
                           Le client invoke la methode « HelloWorld » sans se soucié du protocole :




Page 43
                  Installation : Eclipse et Netbeans
          10.11-Installation : Eclipse et Netbeans
              Pourquoi ne pas utiliser un IDE : exemple « eclipse » ou « NetBeans ».
                    Cherches sur internet ont aboutie au plugins incaX à l’adresse :
                       http://www.incax.com/downloads.aspx
                                                     (Version d‟évaluation de 30 jours).


                Le plugin permet de mettre en route les services « jini », de créer et déployer ses
                     propres service.


                Il dispose, également, d’un browser de service et d’un environnement
                      d’administration (possibilité de déclencher les services à distance par
                      introspection).


                    Installation standard sous « eclipse » du plugins télécharger.
                    Puis relancer « eclipse ». Le plugin est installé :




Page 44
                  Demonstration JavaSpaces
              10.12-Démonstration : JavaSpaces
               X
                    Client 1
                                Write




                                              take
                                                                Client 2




                               Javaspaces 1
                                                             write




                                read
                                                     Javaspaces 2


                               Client 3
                               « Attend
                               »


Page 45
                    Concurrents de Jini                              (JPS)
              11- Concurrents de Jini
               Salutation
                     Salutation se présente comme un standard universel de
                      connexion sur les réseaux. Il est développé par plus de 30
                      fabricants et éditeurs (Adobe, AOL, Brother, Canon, Cisco,
                      Epson, Fuji, Hitachi, HP, IBM, Sun, Toshiba, Xerox etc…)


              UPnP : Universal Plug and Play (Microsoft)
                     Indépendance vis-à-vis des médias et des périphériques :
                      UPnP peut être utilisé sur plusieurs supports dont le
                      courants porteurs en ligne, l'Ethernet, l'IrDA, les
                      radiofréquences (Wi-Fi, Bluetooth), FireWire
                     SSPD : « Simple Service Discovery protocole » basé sur le
                      protocole HTTP




                    Cahier des charges
Page 46
              12- Cahier des charges
              Motivation
                Le système d‟assistance pour l‟inscription du cnam via bluetooth
                Après la détection du périphérique, un midlet sera téléchargé sur le
                 mobile de l‟auditeur
                Ce midlet devra guider l‟auditeur dans son parcours d‟inscription suivant
                 son profile en utilisant les concepts de Jini/javaSpaces
                Ce midlet devra enregistrer son parcours. Une interface sera fournit
                 pour utiliser les services JESS.


              Questions ?




Page 47
                      Bibliographie
          13-Bibliographie


             http://www.labo-sun.com/resource-fr-articles-1181-1-java-reseau-jini.htm#h1n1
             http://www.sun.com/jini
             http://www.kedwards.com/jini
             http://www.jini.org
             http://www.artima.com/jini
             http://www.theserverside.com/tt/articles/article.tss?l=UsingJavaSpaces  JavaSpaces
             http://www.tik.ee.ethz.ch/~beutel/projects/sada/2002ss_sa_vincent_bt_jini.pdf --> Jini bluetooth




                    Lexique
Page 48
          Lexique
             Système réparti : La conception et la réalisation des systèmes et applications répartis s'appuient sur un
              ensemble de principes de base régissant la communication, la gestion de l'information, le partage de
              ressources, la tolérance aux fautes.
             RRL : Remote Reference Layer
             JRMP : Java Remote Method Protocol
             SDP : Service Discovery protocol
             MIDP : Mobile Information Device Profile
             L2CAP : Logical Link Control and Adaptation Protocol : prend en charge le multiplexage de
              protocole de haut niveau, la segmentation et le réassemblage de paquets ainsi que la transmission de la
              qualité des informations de service.
             LMP : Link Manager Protocol : protocol d’échange de messages permettant de négocier la création de
              ces liaisons ainsi que la définition de leurs paramètres
             protocole RFCOMM : émule les paramètres de la ligne série câblée ainsi que le statut d'un port série RS-
              232.
             RMI : Remote Method Invocation : une API Java permettant de manipuler des objets distants
             Cohérence forte : si a tout instant (i.e. en tout point d'observation) toutes les copies de données sont
              identiques
             Surrogate : émissaire
             Proxy : un mandataire
             OBEX : Object Exchange
             Propriétés ACID : Atomicité, Cohérence, Isolation, Durabilité




                    Fin
Page 49

				
DOCUMENT INFO