Le J2Me : Java for Mobile Application

Accueil

Durant la troisième année de formation au sein de l'école ingénieurs2000 à l'Université de Marne-la-Vallée, chaque étudiant réalise un exposé sur un sujet libre lié au domaine de l'informatique ou du réseau.

Dans cetter optique nous présenterons ici le J2Me ou "Java for Mobile Application".

J2ME est la plate-forme java pour développer des applications sur des appareils mobiles tel que des PDA, des téléphones cellulaires, des terminaux de points de vente, des systèmes de navigations pour voiture, ...

.

Historique

Initialement; Sun proposait plusieurs types de plate forme permettant d"executer du code Java sur des systèmes à faibles capacités. Le principe reposait sur 3 plateformes :

  • Personal Java pour les systèmes comportant plus de 2Mo de mémoire vive
  • Embedded Java pour les systèmes plus limités
  • la JavaCard comme outil dédié.
  • vec le développement des technologies Java, ainsi que de l'activité sur mobile (PDA, téléphone...), Sun décide dans les années 2000 de réunir en seuil terme les techonologies pour les appareils mobiles. Seule la JavaCard reste à part de par sa nature proprietaire (d'un point de vue matériel) à Sun.

    Fonctionnement

    Une plate-forme J2ME est composée d'une KVM (Kilobyte Virtual Machine), une machine virtuelle capable d'exécuter une application Java d'une « configuration », une API donnant accès aux fonctions de base du système d'un « profile », une API donnant accès aux fonctions spécifiques de la plate forme.

    Compte tenu de la variété d'outils sur lesquels peuvent fonctionner des programmes concus pour le J2me, Sun a proposé une architecture modulaire. Cette architecture est définie par deux ensembles : les profiles et les configurations.

    Les configurations définissent les caractéristiques de bases d'un type de matériel, tandis que les profils permettent d'intégrer des packages distincts intégrant des technologies différentes (bluetooth, type de connexion...).

    Si ce système ne permet pas un programme conçu pour un type de logiciel donné de fonctionner sur un autre type, elle permet d'adapter le développement pour des sous ensembles de matériel.

    Les configurations sont principalement définies par les JSR 030 & JSR 036 (voir les parties dédiées à ce sujet)

    Les principaux profils sont, quant à eux, définis par les JSR 37 & 118.

    La figure ci dessous représente la hiérarchie dans l'architecture