Friday, November 27, 2009

Architecture de Java ME

Comme on l'a déjà dit Java Micro Edition est la plateforme Java de Sun adaptée pour les téléphones portables, les PDA mais aussi les systèmes embarquées, boitiers de télévision...
Sur la Figure 1, nous distinguons les deux grandes parties de la plateforme (CDC et CLDC) ainsi que les sous parties de chacunes.





Dans ce livre nous nous intéressons uniquement à la partie concernant les mobiles et les PDAs à savoir celle représentée sur la 4ème colonne de la Figure 1 et qui est composée de KVM, CLDC, MIDP et Optional Packages. Nous détaillerons dans les paragraphes qui suivent la signification et le rôle de chacun d'eux.
KVM
La KiloByte Virtual Machine (KVM) est la machine virtuelle Java fournie, généralement, par Sun ou par d’autres entreprises comme JBed, Esmertec, IBM… Il s'agitt d'une version allégée de la JVM (Java Virtual Machine) standard. D'après les spécifications fournies par Sun, la KVM a été programmée à partir de zéro en ANSI C. Depuis 2007 une version open source de la KVM existe (Phone ME Project). Le succès de Java ME auprès des constructeurs de téléphones portables est dû en grande partie à cette machine virtuelle et plus précisement à la sécurité qu'elle offre vis à vis des applications tièrces qu'un utilisateur pourrait installer sur son téléphone sans endommager ce dernier contrairement à ce qu'on pourrait faire avec des technologies natives comme Symbian OS.
CLDC
La configuration Connected Limited Device Configuration (CLDC) est un sous ensemble de classes du langage Java qui sont nécessaires pour le développeur (java.lang.*, java.util.*), les E/S, la sécurité… CLDC ne gère ni le cycle de vie de la MIDlet ni les interfaces utilisateurs ni les événements utilisateurs ou externes (interruptions…). A l'heure actuelle, il existe 2 configuration avec une compatibilité ascendantes: CLDC 1.0 et CLDC 1.1. Cette dernière version apporte la gestion des flottants.
MIDP
Le profile Mobile Information Device Profile (MIDP) de l’ensemble des APIs qui définissent l’interaction de l’utilisateur avec le téléphone lui-même en passant par la KVM (écran, son, vibreur, mémoire…). La première version MIDP 1.0 a vu le jour en Septembre 2000. A l'heure actuelle, il existe 3 profils avec une compatibilité ascendantes: MIDP 1.0 embarqué sur les vieux téléphones et MIDP 2.0 plus récents (apporte plus d'API: jeux, sécurité...) et MIDP 2.1. On parle aussi de la sortie de MIDP 3.0 en Novembre 2009.




Comme le montre la Figure 2. Certains mobiles contiennent des APIs optionnelles en plus de MIDP. Il s'agit d'implémentation de certaines Java Specification Request (JSR) gérées de façon très formelle par le Java Community Process (JCP) et qui proposent des fonctionnalités avancées comme par exemple:
Wireless Messaging API (WMA 1.1 JSR 120) pour l'envoi de SMS
Multimedia Media API (MMAPI JSR 135) pour le support multimédia
Personal Information Management (PIM JSR 75) pour l'accès aux contacts
...

A noter aussi que certains constructeurs de téléphones portables et certains opérateurs peuvent rajouter des bibliothèques propriétaires au dessus de MIDP.

No comments:

Post a Comment