Institut de la Francophonie pour l’Informatique École Nationale Supérieure des Télécommunications de Bretagne MÉMOIRE DE FIN D’ÉTUDES MASTER D’INFORMATIQUE Architecture des systèmes de déploiement pour les équipements mobiles TRINH Anh-Tuan Responsable de stage : Fabien DAGNAT Ce stage a été réalisé au sein du Département informatique de l’École Nationale Supérieure des Télécommunications de Bretagne GET - ENST Bretagne Brest, 20 août 2007 TIEU LUAN MOI download : skknchat@gmail.com Remerciements Je tiens à remercier tout particulièrement Fabien DAGNAT pour m’avoir encadré pendant ces six mois. Je remercie de son contact chaleureux, ses conseils et encouragements, son soutien permanent et la liberté de recherche qu’il a bien voulu me laisser. Mes plus sincères remerciements vont également à tous les professeurs et les personnels de l’Institut de la Francophonie pour l’Informatique (IFI) pour m’avoir donné des cours de très bonne qualité et pour leur soutien tout au long de mes études à l’IFI. Un grand merci aux thésards et aux autres stagiaires à l’ENST Bretagne pour une ambiance de travail particulièrement favorable.
Je remercie chaleureusement mes camarades de la promotion XI pour leur amitié sans faille et je leur souhaite bonne chance pour la soutenance. Merci enfin à mes parents et mes amis pour leur soutien et leur encouragement à tout instant. i TIEU LUAN MOI download : skknchat@gmail.com Résumé Avec le progrès de l’informatique mobile et de la technologie des terminaux, les jeux sur mobile sont aussi variés et animés. Ce sont donc des applications complexes que les utilisateurs ont besoin d’utiliser dans des contextes d’exécutions variés.
Par conséquent, les applications de jeu doivent s’adapter aux différentes capacités des terminaux. De plus, il est nécessaire de disposer d’une plate-forme de déploiement pour gérer automatiquement les applications qui prend en compte toutes les activités du cycle de vie de logiciel : l’installation, la mise à jours, l’activation/désactivation et la désinstallation. Dans cette mémoire, on propose un modèle pour la gestion des jeux multi-joueurs sur mobiles qui s’adapte aux contextes d’utilisation et de déploiement. Il se compose des trois serveurs.
Le serveur de jeu qui s’occupe des sessions de jeu et des comptes des utilisateurs. Le serveur de stockage permet de stocker et approvisionner les applications mobiles compatibles avec les terminaux en tenant compte de leurs spécificités. Le noyau de ce modèle est le serveur de gestion des dispositifs qui permet d’exploiter les équipements, accéder et contrôler les ressources sur mobiles afin de s’occuper bien toutes les activités du déploiement des applications. Le noyau du modèle repose sur l’OMA DM, c’est un protocole qui permet aux serveurs de gérer des terminaux mobiles en échangeant les messages en forme SyncML.
Ces messages transportent les commandes du serveur aux terminaux afin d’agir sur les objets gérés du dis- positifs. Ces objets sont représentés par une structure arborescente hiérarchique appelé l’arbre de gestion du dispositif. Les nœuds de l’arbre peuvent décrire l’information de configuration ainsi que les applications. Le déploiement des applications basé sur le protocole OMA DM est effectué par les interactions sur les nœuds de l’arbre.
Une réalisation du serveur de gestion des dispositifs est effectué pour démontrer la fai- sabilité du modèle proposé. Elle se base sur le framework open source Funabol qui est une implémentation de protocole OMA DM. Mots-clés : gestion des dispositifs, déploiement composants, jeu multi-joueur, OMA DM, GASP. ii TIEU LUAN MOI download : skknchat@gmail.com Table des matières Introduction 1 I État de l’art 5 1 Projet JEMTU 6 1.1 Plate-forme GASP .1 Architecture du GASP .2 Interfaces de communication : GASPClient et GASPServer .3 Services proposées par GASP .4 Optimisation des communications : protocole MooDS .2 Plate-forme Client Provisionning - JSR 124.
11 2 Architecture de Service Mobile 12 2.1 But de conception .3 Composants JSRs de la plate-forme. 16 iii TIEU LUAN MOI download : skknchat@gmail.com 3 Standard de gestion de dispositif 17 3.1 Spécification de SyncML .2 Framework de SyncML .3 Paquet, message et commandes de SyncML .4 Formation de données de SyncML .2 Le protocole OMA Device Management .1 Modèle de données .2 Protocole et mécanisme .3 Gestion des applications avec OMA DM. 30 4 Technologie pour le déploiement à base de composants 31 4.1 Composant de PushRegistry .2 Cycle de vie et Activation de Midlet .4 Enregistrement de Poussé .2 Le Modèle OSGi .1 Architecture multi-couche .0 avec le modèle composant LIBlets .2 Dépendance du LIBlet .3 Découvert de MIDlet dans le profile MIDP 3. 43 II Approche des Modèles étudiés pour le déploiement 44 5 Modèle Proposé 45 5.2 Composants du système .1 Serveur de jeu .2 Portail de Stockage.
46 iv TIEU LUAN MOI download : skknchat@gmail.3 Serveur de gestion de dispositif .3 Contextes de déploiement .1 Demande de déploiement X sur le mobile M .2 Gestion de dispositif .3 Recherche d’une application indisponible. 49 6 Réalisation du Serveur DM 51 6.2 Séquence d’exécution de processus d’opération .3 JSPs et EJBs .4 Base de données du Serveur DM .5 Statut d’opération de gestion .6 Implémentation des opérations. 58 7 Réalisation de l’activation du MIDlet 60 7.1 Enregistrement de PushRegistry d’une MIDlet .2 Découverte et Activation d’une MIDlet .3 PushRegistry avec le déploiement à base de composant. 64 Conclusion et perspectives 65 Bibliographie 68 A Prototype de gestion des dispositifs 69 v TIEU LUAN MOI download : skknchat@gmail.com Table des figures 1 Fragmentation des APIs.
2 2 Les objectifs de la gestion des dispositifs .1 Architecture du GASP .2 Architecture du serveur SUN d’approvisionnement .1 Simplification des APIs .2 Spécification de MSA .3 Composants JSRs de MSA .5 Cartographie Technologique de MSA .1 Représentation du paquet SyncML .2 Protocole du SyncML .3 Framework du SyncML .4 L’arbre de gestion de dispositif .5 Packages du protocole OMA DM .6 La description de dispositif .7 Le protocole de gestion d’application du framework OMA DM .8 La description d’objet de gestion d’application (Nokia série 60) .1 Elements typiques de PushRegistry .2 Cycle de vie et Activation de Midlet .3 Diagramme de séquence d’activation sur le réseau .5 Architecture multi-couche .6 Cycle de vie d’un bundle .7 Contenu d’un bundle .8 Registre de services. 38 vi TIEU LUAN MOI download : skknchat@gmail.9 Modèle d’application du profil MIDP 2.10 Dépendance basée le Hash du LIBlet .11 Dépendance basée le certificate du LIBlet .12 Attribute de Dépendance .13 Découverte le MIDlet .1 Modèle proposé du système de jeu multi joueur .2 Diagramme de séquence de déploiement d’application sur la mobile .3 Diagramme de séquence de gestion de dispositif .4 Diagramme de séquence de recherche d’une application indisponible .5 Diagramme de séquence de téléchargement d’une application .1 Le framework Funambol .2 Simplification des APIs .3 Base de données du Serveur DM .4 Diagrame d’état d’une session .5 Les opérations atomiques de Funambol OMA DM .6 Arborescente de gestion des applications .7 États de deploiement de l’application .1 Processus d’activation d’une MIDlet .2 Sous-MIDlets pour le déploiement à base de composants. 63 vii TIEU LUAN MOI download : skknchat@gmail.com Introduction De nos jours, les téléphones mobiles sont utilisés massivement dans la vie quotidienne. Leurs services sont aussi variés et animés, surtout les jeux sur mobile.
Une des tendances très intéressantes est le jeu multi-joueurs. Du point de vue informatique, ce sont des applications complexes distribuées qui imposent l’utilisation de techniques modernes. Ce stage se déroule dans l’équipe CAMA 1 du département informatique de l’ENST Bretagne 2 à Brest. Notre projet est appelé JEMTU 3 [?], c’est un projet de coopération entre des écoles du GET 4 , qui a pour objectif de développer des recherches dans le domaine des jeux multi-joueurs sur mobile.
Ce stage concerne plus précisément la partie du projet JEMTU sur l’adaptation et le déploiement sur les téléphones mobiles. C’est un domaine difficile du fait de l’hétérogénéité des terminaux et la capacité limitée des mobiles. Problématique La technologie Java pour l’industrie sans-fil est répandue. Le nombre de dispositifs compa- tible avec Java représente plus de la moitié du marché des mobiles.
Cependant, elle provoque de nouveaux défis, il est difficile de réaliser des applications pour mobiles en raison de l’hétéro- généité des équipements matériel et logiciel. Les différences de caractéristiques, fonctionnalités, standard de fabrication, etc. rendent le développement complexe et donc coûteux. La figure 1 représente le modèle de développement sur les mobiles, elle illustre la fragmen- tation d’APIs pour réaliser des applications.
Ce modèle est assez complexe et inconsistant. Il n’intègre pas bien l’évolution ; et son architecture n’est pas bien structurée. Une nouvelle ini- tiative est donc nécessaire pour s’adapter non seulement à toutes les caractéristiques actuelles mais aussi aux développements futurs. De plus, le nombre de dispositifs ne cesse d’augmenter et ils intègrent beaucoup de services et d’applications.
Comme la figure 2, chaque utilisateur peut posséder plus d’un équipement, 1 Équipe Composants pour Architectures Mobiles Adaptables 2 École Nationale Supérieure des Télécommunications de Bretagne 3 JEux sur Mobiles : Technologies et Usages 4 Groupe des École des Télécommunications 1 TIEU LUAN MOI download : skknchat@gmail. 1 – Fragmentation des APIs il veut les mêmes applications et les mêmes données dans des environnements différents (par exemple : son calendrier, son courrier, etc.) sans répéter des actions semblables d’installation sur tous ses terminaux. Du côté des fournisseurs, ils veulent aussi offrir facilement de plus en plus des nouveaux services, applications etc aux terminaux sur le réseau mobile avec n’im- porte quel transport. On a donc besoin d’un système de déploiement automatique (recouvrant l’installation, la mise à jour, l’activation et la désinstallation) des outils sur mobiles.
La figure 2 démontre le système que on désire. Dans ce système, l’information de configuration et les composants de chaque équipement sont bien gérées par un protocole de gestion de dispositifs. 2 – Les objectifs de la gestion des dispositifs Un autre problème, la taille d’application et le nombre de fonctionnalités sont de plus en plus grands et on a besoin des nouvelles techniques pour les construire et déployer. Une des solutions est le développement à base de composants, c’est-à-dire, les applications sont divisées TIEU LUAN MOI download : skknchat@gmail.com 3 en petites parties qui s’occupent de fonctionnalités identifiées, et un mécanisme permettant aux applications d’appeler ces parties afin d’adapter leurs opérations.
Chaque partie est considérée comme un composant qui peut être déployée dynamiquement et utilisé par une ou plusieurs applications. Motivation et objectifs du stage Un des objectifs principaux du projet JEMTU est de mener des recherches sur un système de déploiement qui est spécifié et compatible avec les jeux multi-joueurs sur mobiles. Ce stage a pour but d’étudier les technologies existantes qui s’adaptent bien au développement et au déploiement pour les jeux multi-joueurs afin de mener bien au projet. Actuellement, il y a une plate-forme disponible pour construire des jeux multi-joueurs, c’est le plate-forme GASP [24], mais elle semble ne pas gérer l’hétérogénéité des dispositifs.
En plus, un stage précédent [25] sur le sujet de déploiement a conduit à la réalisation d’une plate-forme Client Provisionning [13] qui permet de stocker et de délivrer les applications mobiles. Mais il manque le contrôle du déploiement sur le dispositif. A partir des problématiques et de l’état actuel du projet, mon stage se compose de trois études principales : – Les plate-formes qui s’adapte bien à l’hétérogénéité des dispositifs. – La gestion des dispositifs.
– Les mécanismes qui soutiennent le déploiement à base de composants. Plan du document Ce rapport est divisé en deux parties. La première partie est l’état de l’art qui présente l’étude des modèles pour le développement et le déploiement sur mobiles qui peuvent résoudre les problèmes posés. La deuxième partie propose un modèle pour le système de gestion de jeu mobile et réalise des démonstrations de ces solutions.
La première partie se compose de quatre chapitres : Le Chapitre 1 présente le travail déjà réalisé dans la carde du projet JEMTU, à savoir la plate-forme de jeu mobile avec multi-joueurs GASP, et le modèle de déploiement Client Provisioning pour les applications mobiles.