23
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

Déploiement dapplications Java ME Master MATIS – Management and Technology of Information Systems Master en Technologie des Systèmes dInformation Hikari

Embed Size (px)

Citation preview

Page 1: Déploiement dapplications Java ME Master MATIS – Management and Technology of Information Systems Master en Technologie des Systèmes dInformation Hikari

Déploiement d’applications Java ME

Master MATIS – Management and Technology of Information SystemsMaster en Technologie des Systèmes d’Information

Hikari WATANABE & Dejan MUNJIN, Juin 2007

Département des Systèmes d’InformationCentre Universitaire d’Informatique

Faculté des Sciences Économiques et SocialesUniversité de Genève

Institut d’Informatique et Mathématiques Appliquées

Université Joseph Fourier de Grenoble

Directeur de recherche : Pr. Dimitri KONSTANTAS

Page 2: Déploiement dapplications Java ME Master MATIS – Management and Technology of Information Systems Master en Technologie des Systèmes dInformation Hikari

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

Page 3: Déploiement dapplications Java ME Master MATIS – Management and Technology of Information Systems Master en Technologie des Systèmes dInformation Hikari

Notre Approche

3

Serveur web

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

Ma position

GPRS

Liste des radarsBluetooth

Page 4: Déploiement dapplications Java ME Master MATIS – Management and Technology of Information Systems Master en Technologie des Systèmes dInformation Hikari

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 Community Process »4

Page 5: Déploiement dapplications Java ME Master MATIS – Management and Technology of Information Systems Master en Technologie des Systèmes dInformation Hikari

Déploiement OTA

Le seul protocole d’installation spécifié: « Over The Air »

1. Recherche d’applications

2. Lecture de JAD

RessourcesOK

3. Lecture de JAR

4. Code de réponse

InstallationOK

POST 900 OKServeur web

5

Page 6: Déploiement dapplications Java ME Master MATIS – Management and Technology of Information Systems Master en Technologie des Systèmes dInformation Hikari

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

Page 7: Déploiement dapplications Java ME Master MATIS – Management and Technology of Information Systems Master en Technologie des Systèmes dInformation Hikari

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

Page 8: Déploiement dapplications Java ME Master MATIS – Management and Technology of Information Systems Master en Technologie des Systèmes dInformation Hikari

Installation de FoxyTest

8

Page 9: Déploiement dapplications Java ME Master MATIS – Management and Technology of Information Systems Master en Technologie des Systèmes dInformation Hikari

Déroulement de l’application de test

9

Page 10: Déploiement dapplications Java ME Master MATIS – Management and Technology of Information Systems Master en Technologie des Systèmes dInformation Hikari

FoxyTest - Transfert du rapport

10

Page 11: Déploiement dapplications Java ME Master MATIS – Management and Technology of Information Systems Master en Technologie des Systèmes dInformation Hikari

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

Page 12: Déploiement dapplications Java ME Master MATIS – Management and Technology of Information Systems Master en Technologie des Systèmes dInformation Hikari

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

Page 13: Déploiement dapplications Java ME Master MATIS – Management and Technology of Information Systems Master en Technologie des Systèmes dInformation Hikari

Librairie GPS - Approche

13

integrated

GPS

bluetooth

GPS

import ch.foxytag.bluetooth.GPS;

GPS gps = new GPS();

gps.connect();

import ch.foxytag.integrated.GPS;

GPS gps = new GPS();

gps.connect();

foxytag

FoxyTag

Page 14: Déploiement dapplications Java ME Master MATIS – Management and Technology of Information Systems Master en Technologie des Systèmes dInformation Hikari

Librairie GPS - Utilisation

14

integrated

GPS

bluetooth

GPS

import ch.foxytag.bluetooth.GPS;

GPS gps = new GPS();

gps.connect();

import ch.foxytag.integrated.GPS;

GPS gps = new GPS();

gps.connect();

foxytag

FoxyTag

« import » « import »

{ xor }

Page 15: Déploiement dapplications Java ME Master MATIS – Management and Technology of Information Systems Master en Technologie des Systèmes dInformation Hikari

Librairie GPS pour Java ME

Classe GPS intégrée dans chaque paquetage

GPSvoid connect()

void connect(Display d)

String[] getData()

void locationUpdated()

void stateChanged()

void addGPSListener(GPSListener listener)

void removeGPSListener(GPSListener listener)

void notifyGPSListener()

15

GPS

bluetooth

integrated

GPS

GPS

GPS

Page 16: Déploiement dapplications Java ME Master MATIS – Management and Technology of Information Systems Master en Technologie des Systèmes dInformation Hikari

Librairie GPS pour Java ME

Spécificités d’un GPS Bluetooth

GPS Bluetooth

GPSBluetoothvoid connect(String url)

void setUrl(String url)

boolean isConnected()

boolean isFresh()

boolean isStop()

void run()

void stop()

16

GPSBluetooth

bluetooth

GPS

Page 17: Déploiement dapplications Java ME Master MATIS – Management and Technology of Information Systems Master en Technologie des Systèmes dInformation Hikari

Librairie GPS pour Java ME

Spécificités d’un GPS intégré

GPS Intégré

GPSIntegratedvoid start()

void providerStateChanged()

17

integrated

GPSIntegrated

GPS

Page 18: Déploiement dapplications Java ME Master MATIS – Management and Technology of Information Systems Master en Technologie des Systèmes dInformation Hikari

• 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é

18

Statistique de la librairie

Page 19: Déploiement dapplications Java ME Master MATIS – Management and Technology of Information Systems Master en Technologie des Systèmes dInformation Hikari

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

Page 20: Déploiement dapplications Java ME Master MATIS – Management and Technology of Information Systems Master en Technologie des Systèmes dInformation Hikari

Plateforme collaborative

1. Indication des téléphones mobiles à disposition 2. Évaluation des projets téléchargés3. Catégories favorites

20

Page 21: Déploiement dapplications Java ME Master MATIS – Management and Technology of Information Systems Master en Technologie des Systèmes dInformation Hikari

Plateforme collaborative

4. Téléphones mobiles nécessaire pour une version5. Résultats des tests (rapport) et notation6. Liste des meilleures testeurs

21

Page 22: Déploiement dapplications Java ME Master MATIS – Management and Technology of Information Systems Master en Technologie des Systèmes dInformation Hikari

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

Page 23: Déploiement dapplications Java ME Master MATIS – Management and Technology of Information Systems Master en Technologie des Systèmes dInformation Hikari

Questions

?23