I.1.2.c Liens de communication :
Bien que les technologies des réseaux sans-fil
numériques, que ce soit en téléphonie cellulaire ou dans
les réseaux informatiques de type « WiFi », aient connu
d'importantes améliorations au cours des dernières années,
leur bande passante et leur latence sont grandement variables selon
l'emplacement et le fournisseur de services, et ne sont
généralement pas encore à la hauteur de celles des
réseaux câblés (e.g. réseaux locaux de type
Ethernet, liens de communication à fibre optique). À plusieurs
endroits dans le monde (dont au Canada) le coût de transfert de
données par téléphonie cellulaire est encore prohibitif,
restreignant ainsi le
13
transfert de fichiers volumineux. De plus, la couverture des
réseaux sans-fil est sporadique et de portée limitée,
surtout en dehors des centres urbains. Des déconnexions intermittentes
sont à prévoir lors de l'utilisation, surtout lorsqu'on se
déplace. Les applications mobiles doivent donc être conçues
en fonction de ces limites, en contrôlant adéquatement le volume
de données qui transitent par le réseau sans-fil, en
prévoyant le délai (latence) possible sur le réseau lors
de ces transferts, et en offrant des modes de fonctionnement
connecté/déconnecté (au lieu d'utiliser des connexions
persistantes telles que l'on retrouve dans les applications client-serveur en
contexte sédentaire) afin de tenir compte de la nature asynchrone des
communications.
I.1.2.d Interopérabilité entre systèmes
:
Les appareils mobiles disponibles sur le marché sont
très variés, autant du point de vue matériel que logiciel.
Plusieurs types de dispositifs existent : les téléphones mobiles,
les smartphones, les assistants numériques personnels (PDA),
les « Tablet PC », les ordinateurs portatifs, etc. Dans une
même famille de dispositifs, les caractéristiques peuvent
différer d'un fabricant et d'un modèle à un autre. Dans le
monde mobile, il existe plusieurs architectures de processeurs (ARM, MIPS,
PowerPC, etc.), plusieurs systèmes d'exploitation (Windows CE, Linux,
PalmOS, Symbian, etc.), Ainsi que plusieurs langages et environnements de
programmation (C/C++, Java ME, Microsoft .NET Compact Framework, etc.). Cela
contraste fortement avec les environnements de bureau où une bonne
partie du parc informatique comporte des caractéristiques très
semblables (e.g. architecture PC x86, système d'exploitation Windows).
Il est impossible de supposer qu'un parc d'appareils mobiles soit
homogène lorsqu'on fait le développement d'applications
destinées à ces environnements. L'adoption de solutions
interopérables, autant du point de vue des logiciels clients que des
protocoles de communications, est donc essentielle.
14
I.1.3. Architecture logicielle des plateformes
mobiles
Les contraintes des environnements informatiques mobiles ont
amené le développement d'architectures adaptées à
la conception de systèmes logiciels pour ces environnements. De
manière simplifiée, on peut énoncer quatre grandes
catégories d'architectures :
|