230 likes | 331 Views
Déploiement d’applications Java ME. Master MATIS – Management and Technology of Information Systems Master en Technologie des Systèmes d’Information Hikari WATANABE & Dejan MUNJIN , Juin 2007 Département des Systèmes d’Information Centre Universitaire d’Informatique
E N D
Déploiement d’applications Java ME Master MATIS – Management and Technology of Information Systems Master en Technologie des Systèmes d’Information Hikari WATANABE & Dejan MUNJIN, Juin 2007 Département des Systèmes d’Information Centre Universitaire d’Informatique Faculté des Sciences Économiques et Sociales Université de Genève Institut d’Informatique et Mathématiques Appliquées Université Joseph Fourier de Grenoble Directeur de recherche : Pr. Dimitri KONSTANTAS
Problématique Déployer une application sur grand nombre de téléphones mobiles possédant des caractéristiques différentes, des architectures hétérogènes, et un support variable des API optionnels de Java ME. Comment découvrir les API Java disponibles ? Comment réutiliser les composants Java dans le développement ? Comment améliorer une application avec les prétests ? La durée de vie d’un téléphone sur le marché est courte ce qui implique des efforts de programmation plus importants 2
Notre Approche Ma position GPRS Méthodologie Création d’une suite de tests pour le capacités de téléphones mobiles Validation pour une cas spécifique (libraire GPS de FoxyTag) Plateforme collaborative pour développeurs dans le but d’échanger les informations des tests Bluetooth Liste des radars Serveur web 3
Composants de Java ME Les différents composants de Java ME Les composants logiciels du téléphone mobile Les composants logiciels du téléphone mobile (Source : JSR-185 « Sun Microsystems ») Les spécifications définies dans « Java CommunityProcess » 4
1. Recherche d’applications Déploiement OTA 2. Lecture de JAD Ressources OK 3. Lecture de JAR Le seul protocole d’installation spécifié: « Over The Air » Installation OK 4. Code de réponse Serveur web POST 900 OK 5
Avantages et inconvénients de Java ME Avantages des applications Java ME Sécurité Portabilité du langage Facilité pour un utilisateur d’installer les applications Désavantages des applications Java ME Exploitation des ressources du téléphone inefficiente à cause des API Les API de Bluetooth, Multimédia ne sont pas obligatoires Avec le protocole d’installation OTA le développeur doit connaitre les possibilités de chaque téléphone ciblé par son application 6
Application cliente de test : FoxyTest FoxyTest permet de tester les paramètres suivants en vue de l’utilisation de FoxyTag: Identification de la plateforme Version de la configuration (CLDC) Version du profile (MIDP) Version de l’API Bluetooth, présence et utilisation des classes Bluetooth Version de l’API de localisation, présence et utilisation des classes Location Le test est envoyé vers une base de données 7
Rapports de FoxyTest Statistique des rapports (8000) Téléphones mobiles compatibles JSR 82 par marque (5000) Téléphones mobiles incompatibles JSR 82 par marque (3000) 11
Utilisation des résultats pour le développement d’une Librairie GPS pour Java ME Pourquoi cette librairie ? FoxyTag nécessite une API Bluetooth pour fonctionner Cibler la plateforme réduit la portabilité de Java ME Limites de la librairie GPS pour Java ME La taille d’une application doit rester petite en raison de ressources limitées Introduction du code redondant augmente le risque de « bugs » Avantages de la librairie GPS Diminuer le temps de développement des versions Prévoir et intégrer les petites incompatibilités entre les téléphones dans une librairie 12
bluetooth integrated GPS GPS Librairie GPS - Approche import ch.foxytag.bluetooth.GPS; GPS gps = new GPS(); gps.connect(); foxytag import ch.foxytag.integrated.GPS; GPS gps = new GPS(); gps.connect(); FoxyTag 13
bluetooth integrated GPS GPS Librairie GPS - Utilisation { xor } « import » « import » import ch.foxytag.bluetooth.GPS; GPS gps = new GPS(); gps.connect(); foxytag import ch.foxytag.integrated.GPS; GPS gps = new GPS(); gps.connect(); FoxyTag 14
bluetooth Librairie GPS pour Java ME GPS GPS integrated Classe GPS intégrée dans chaque paquetage GPS GPS 15
Librairie GPS pour Java ME bluetooth GPS GPS Bluetooth GPSBluetooth Spécificités d’un GPS Bluetooth 16
Librairie GPS pour Java ME integrated GPS GPS Intégré GPSIntegrated Spécificités d’un GPS intégré 17
Statistique de la librairie • 5532 lignes de code • La taille de la librairie compilée = 12.417 KO • Utilisée dans le développement des versions de FoxyTag • Intégrée dès la distribution 0.4.2 de FoxyTag • Le code source de FoxyTag reste le même pour les GPS intégrés et les GPS Bluetooth Besoin de prétest • Après le développement et la généralisation de la librairie, il reste le test de l’application • Le test doit porter surtout sur les téléphones avec le GPS intégré
Plateforme collaborative Fonctionnalités de la plateforme de test Permettre aux développeurs d’applications Java ME de tester leurs applications de façon collaborative Favoriser les tests et non les applications Partager des connaissances sur les différences entre téléphones mobiles Proposition de versions d’une application pouvant être testées et évaluées Notation des rapports de la part des développeurs ce qui permet un classement des testeurs 19
Plateforme collaborative Indication des téléphones mobiles à disposition Évaluation des projets téléchargés Catégories favorites 20
Plateforme collaborative Téléphones mobiles nécessaire pour une version Résultats des tests (rapport) et notation 6. Liste des meilleures testeurs 21
Conclusion Déployer de manière efficace des applications mobiles : Les développeurs sont obligés de développer les versions d’une application Java ME. Ils doivent bien connaitre les spécifications Java et les différences entre les téléphones mobiles. Nous avons mis en application une approche composée de trois étapes permettant de développer et déployer une application pour accroitre sa portabilité. L’évolution future de Java sur les téléphones mobiles devrait s’orienter vers « JavaFX ». Il s’agit d’une spécification composée de sous éléments de « Java Standard Edition ». La concentration dans cette évolution est portée sur les interfaces graphiques. Les différences entre les API disponibles ne sont pas, pour l’instant plus approfondies que dans Java ME. 22
Questions ? 23