![]() |
Conception d'un service vidéo pour terminaux portables de type smartphone( Télécharger le fichier original )par Rodrigue Monjouo Mounjouopou Ecole Supérieure Multinationale de Télécommunication - Licence Professionnelle / Ingénieur des Travaux de Télécomunication 2009 |
VI.1.3. Démarrage de la synchronisationUne fois que nous avons instancié le SyncManager, nous pouvons démarrer la synchronisation par la méthode sync en passant le SyncSource en paramètre. La synchronisation sera lancée avec le mode de synchronisation stocké dans le SourceConfig . En JavaME, nous exécuterons la synchronisation dans un thread séparément. L'implémentation minimale de la méthode run est la suivante : import com.funambol.syncml.protocol. SyncML; import com.funambol. syncml. spds. SyncManager; import com.funambol. syncml. spds. SyncSource; import com.funambol. syncml. spds. SyncConfig; import com.funambol. syncml. spds. SourceConfig import com.funambol. storage.NamedObjectStore; import com.funambol.util.Log; public void run() { SyncConfig conf = new SyncConfig(); conf.syncUrl = " http://2sisyncml.com"; conf.username = "user"; conf.password = "pass"; SourceConfig sc = ClientStore.loadMySourceConfig(); MySyncSource myss = new MySyncSource(sc); SyncManager sm = new SyncManager(conf); sm.sync(sc); ClientStore. saveMySourceConfig(); } Dans ce thread MySyncSource représente l'implémentation de notre SyncSource. VI.2. Connecter le serveur à une base de données MySQL Pour mener à bien cette tâche, il suffit de suivre les étapes suivantes : Installer la version bundle du serveur de synchronisation disponible en téléchargement à l'adresse http://funambol.com/opensource/download.php?file_id=funambol-6.5.14.exe. Le répertoire d'installation sera nommé FUNAMBOL_HOME. Par défaut ce sera C:/Programme files/Funambol/ sous Windows. - créer sur le serveur MySQL une base de données nommée funambol et un utilisateur - lancer le script sql install_funambol-ds-server_schema.sql pour créer les tables du DS server - lancer le script sql install_funambol-foundation_schema.sql - Arrêter le serveur lorsqu'il tourne - Modifier les fichiers <FUNAMBOL_HOME>\tools\tomcat\conf\Catalina\localhost\funambol.xml et <FUNAMBOL_HOME>\tools\tomcat\conf\Catalina\localhost\webdemo.xml : Spécifier les valeurs correctes pour les attributs de l'élément ressource ; c'est-à-dire : <Resource name="jdbc/fnblds" auth="Container" type="j avax.sql.DataSource" username="funambol" password="funambol" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/funambol" /> · Copier dans le répertoire <FUNAMBOL_HOME>\tools\tomcat\common\lib le MySQL JDBC (c'est-à-dire mysql-connector-java-5. * . *-bin.jar)) VI.3 Sécurité de la plateformeVI.3.1. Service de sauvegarde L'utilisation de SyncMl et du serveur Funambol sont un gage de sécurité car ils gèrent de nativement la sécurité des transactions. Dans la phase d'authentification, le serveur envoie au client un message contenant la balise <Chal> qui représente une demande d'authentification (Challenge en anglais) pour les informations auxquelles le client tente d'accéder. Le client doit alors répondre et donner le login et mot de passe dans une balise <Cred> (Credential en anglais). SyncML peut utiliser l'accès authentifié par le hachage md5. Le client et le serveur échangent leurs identifiants durant la phase d'authentification, retournant un code d'erreur si le processus s'arrête quelque part. La balise <Cred> est utilisée dans le <SyncHdr> pour fixer le type d'authentification qui sera utilisé dans la phase d'authentification. (Il y a le hachage md5, mais aussi l'encodage base64 et d'autres... Il faut donc que le serveur informe le client du type d'authentification utilisée). Au niveau du serveur, la résolution des conflits de synchronisation (modification d'une même donnée à la fois sur le client et le serveur) revient à la charge du Sync Engine (moteur de synchronisation) et s'effectue en s'appuyant sur les ancres. |
|