Net Innovations

publicité
Livre blanc de J2ME
La mobilité pour tous avec J2ME ...
Net Innovations
L’architecte des e-solutions de nouvel âge
Présentation
Octobre 2002
SOMMAIRE
Introduction
Le marché
L’architecture
Collaboration
Web
Les fonctionnalités
Contrôle
Messagerie
Connaissances
Généralités
Conclusion
Le marché
„
Téléphones mobiles :
•• Début
Début 2000,
2000, on
on comptait
comptait 400
400 millions
millions de
de terminaux
terminaux mobiles
mobiles dans
dans le
le
monde.
monde.
•• On
On en
en attend
attend 11 milliard
milliard pour
pour fin
fin 2002
2002 (source
(source :: IDC
IDC 2001).
2001).
„
Téléphones J2ME :
•• Nokia
Nokia devrait
devrait distribuer
distribuer 50
50 millions
millions de
de téléphones
téléphones mobiles
mobiles J2ME
J2ME d'ici
d'ici àà
fin
fin 2002,
2002, le
le double
double l'année
l'année suivante
suivante (source
(source :: Nokia).
Nokia).
Le marché
„
Expérience iMode :
•• Utilisé
Utilisé 17,2
17,2 minute
minute par
par jour
jour (autant
(autant que
que la
la navigation
navigation Web)
Web)
•• 63,4
63,4 %
% des
des utilisateurs
utilisateurs ont
ont augmenté
augmenté leur
leur facture
facture de
de communication
communication data
data
après
après l’achat
l’achat d’un
d’un téléphone
téléphone J2ME
J2ME
Le marché
421 millions en 2003
1200
1000
442 millions en 2004
1 100 millions en 2006
(source : ARC Group)
800
2003
2004
2006
600
400
200
0
Téléphones J2ME
Le marché
„
WAP : décevant
„
„
5,5 millions d’utilisateurs en Europe de l’Ouest (fin 2000)
SMS : explosion
„
„
Taux de croissance annuel : 400 %
30 SMS en moyenne par mois par abonné GSM
Le marché
„
iMode :
„
„
„
Leader des services de données mobiles (juin 2001)
40,4 millions d’abonnés utilisateurs de l’iMode
GSM :
„
„
Succès
Européen
Le marché
Les freins au développement
Ergonomie des
terminaux
taille des écrans, clavier numérique, noir et blanc,
stockage local de données, difficulté de
configuration, standard d’utilisation des téléphones
Bande passante et
qualité de service
insuffisants
temps d’établissement de la connexion, risque de
saturation du réseau
Facturation au temps
de communication
facturation au volume de données, à l’acte d’usage ou
forfaitaire (GPRS)
Manque de service et
de contenus de qualité
Tests insuffisants sur les terminaux
Le marché
„
„
„
„
„
Paiement à l’acte de téléchargement
Paiement à la mise à jour / évolution
Paiement par upload de meilleur score (jeux)
Paiement à la période d’utilisation
Paiement à la requête / à l’événement
Les acteurs du marché
Les acteurs du marché
Opérateurs
Constructeurs
Cegetel
Siemens
France Telecom
Nokia
Bouygues
Motorola
BT
3COM
Oracle
DT
HP
Borland
Telecom Italia
Plate-formes, …
Sun
Autres
Fournisseurs / intermédiaires
Service
Portails
Net Innovations
Infusio
Fi System (Ubicco)
Agrégateurs
Cross Systems
Branding
Les acteurs du marché
Les constructeurs
„
„
„
„
„
Ressources techniques
Programmes de certification pour
garantir que l’application
fonctionnera comme prévu sur
leurs terminaux
Annuaire
Assistance
Constructeurs : Casio, Fujitsu,
Hitachi, LG, Matsushita
(Panasonic), Mitsubishi, Motorola,
NEC, Nokia, RIM, Samsung, Sharp,
Siemens, Sony Ericcson, Toshiba
Constructeurs
Siemens
Nokia
Motorola
3COM
HP
Les acteurs du marché
Les opérateurs
„
Deux orientations :
„
„
„
„
„
B2C
B2B (exemple : Nextel)
Outils et de ressources pour développer des
applications
Facturation
Opérateurs :
„
„
„
„
„
„
„
„
„
Etats-Unis : Nextel, Cingular, Sprint PCS
Canada : Telus Mobility
Japon : NTT DoCoMo, KDDI, J-Phone
Grande Bretagne : Vodafone, One 2 One, MMO2
Italie : Omnitel, TIM
Espagne : Telefonica
Hong Kong : Hutchison Telecom, SmarTone,
Hong Kong telecom
Corée : LG Telecom
Taiwan : FarEastone
Opérateurs
Cegetel
France Telecom
Bouygues
BT
DT
Telecom Italia
Les acteurs du marché
Les intermédiaires
„
Portails de logiciels à téléchargements
„
„
„
„
„
„
Dont des logiciels mobiles (CNET, Tucows, ZDNet)
Spécialisés (Micro Java Network)
Certification
Vente (MidletCentral prend une commission de 15
%)
Gestion des partenariats entre les développeurs
et les fournisseurs de plate-forme sans fil
(certification, fonds, marketing)
(WirelessDevelopper.com)
Services liant les développeurs et les opérateurs :
„
„
„
Mformat (loisirs) : présente les applications à
l’opérateur, distribue et récolte les revenus des
applications (coût pour le développeur : 40 % des
revenus d’utilisation)
Qpass (eCommerce) : plate-forme d’accès aux
opérateurs (facturation, traitement de la
transaction, reporting)
B2B : personne pour l’instant ?
Fournisseurs / intermédiaires
Net Innovations
Infusio
Les acteurs du marché
„
Editeurs et constructeurs informatiques :
„
„
Constructeurs terminaux :
„
„
Vodafone, France Telecom, BT, DT, Telecom Italia, etc.
Agences Web :
„
„
Palm, Psion, Nokia, Ericsson, Alcatel, Sagem, Motorola, Siemens,
Samsung, etc.
Opérateurs :
„
„
Oracle, Microsoft, IBM, Sun
Icon Medialab, Frame Fab, Cross Systems, Fi System (Ubicco)
Nombreuses start-ups :
„
Aether, Saraide, Nocom, iobox, Brokat, etc.
Les acteurs du marché
La chaîne de valeur
x%
x%
Contenu à haute
valeur et/ou
propriétaire
x%
x%
x%
$$
x%
x%
Plate-forme
Création
Publication
de contenu
Aggrégateurs
Distributeurs
Opérateur
Terminal
Service géré
Editeurs de jeux
(Electronic Arts, THQ, WWF, Disney)
Portails mobiles
(Yahoo! Mobile)
x%
Net Innovations
Fabricants
Fabricants
Opérateur
Client
Les acteurs du marché
Les objectifs de l’opérateur
„
„
Vendre du temps de communication; des
terminaux et du contenu également
Entretenir sa base de clients :
„
„
„
„
facturation
marketing
Distribuer et vendre au détail
Fidéliser le client
Leur challenge :
Aujourd’hui … faire de l’argent
Demain … créer de nouveaux revenus
Les acteurs du marché
Les terminaux des fabricants
„
„
„
Présence de nombreux fabricants
Existence de nombreux terminaux pour chaque
fabricant
Nécessité de faire les tests sur de nombreux
téléphones
Les acteurs du marché
„
„
Le grand problème : le contrôle de version du
logiciel
De nouveaux terminaux arrivent …
„
„
„
„
Motorola … T720i
Nokia … 7650, 7210, 3510i et 6100
Siemens … C55 et S55
Sony Ericsson … P800
Les acteurs du marché
a388, a820,
Accompli
008/6288, i80s,
i85s, i50sx,
i55sr, i90c,
i95cl, T280i,
T720, T725,
V60i, V66i
6688i, M50, S55,
SL42, Sl45i,
SX45
Les principaux téléphones J2ME
Motorola
Siemens
Samsung
Nokia
SCH-X130, SCHX350, SGHS100, SPH-I300,
SPH-n400, SPHa500
3410, 3510i,
3585, 3590,
3650, 6310i,
6610, 7210,
7650,
Communicator
9290,
Communicator
9210/9210i
La place de J2ME
Utilisateurs finaux
Fournisseurs de service
Acheter des terminaux qui se
synchronisent avec une plus grande
quantité de données
Fournir une connectivité à une plus large
sélection d’applications
Bénéfices pour …
Fabricants de terminaux
Développeurs d’application
Rendre le terminal interopérable avec
une plus grande quantité d’applications,
de services et de technologies réseau
et de transmission
Développer une application qui peut se connecter
à un ensemble de terminaux plus varié de
terminaux et de données en réseau
La place de J2ME
Les enjeux
1.
2.
3.
4.
5.
6.
Créer un marché pour les services de données via
des réseaux sans fil.
Identifier les usages principaux des terminaux
mobiles.
Inventer les applications génératrices de revenus.
Identifier les acteurs clefs dans la chaîne de
valeur.
Identifier les standards de déploiement des
services de données.
Trouver les modèles économiques associés.
La place de J2ME
Pourquoi J2ME ?
1.
2.
3.
4.
5.
6.
7.
8.
9.
Rend intelligent le téléphone (logique, gestion de
la bande passante)
Portabilité
Indépendance de la plate-forme
Téléchargement sécurisé
Standard de fait
Open source
Interactivité
Mode connecté comme déconnecté
Nombreux développeurs Java
La place de J2ME
J2ME en quelques mots
Sécurité
• Pas de pointeurs vers la
mémoire
• Modèle “Sandbox”
Petite taille mémoire
• Tient en peu de ROM
• Format de Bytecode Java
plus petit que le code natif
• Chargement / déchargement
dynamique quand nécessaire
Portable
• Réutilisation de code grâce à
l’orienté objet
• Porté sur de nombreux
systèmes d’exploitation et
processeurs
Dynamique
• Permet le chargement de
nouvelles fonctionnalités
• Sécurisé
La place de J2ME
„
Définition de J2ME
Java adapté aux terminaux à ressources limitées :
„
„
Petit noyau
Extensible avec des “profils de terminaux"
PDAP
MIDP
Personal
Profile
J2ME, CDC
J2ME, CLDC
CVM
KVM
Profils
Définissent les
classes du JDK
et/ou de
l’industrie
Configurations
Définissent la
machine virtuelle
et les classes
noyau
La place de J2ME
Les avantages de J2ME
„
„
„
„
Capacité de téléchargement de logiciel
puis d’exécution en local
Contrôle sur l’interface utilisateur du
terminal
Capacité à sécuriser les transactions
Existence d’une communauté importante
de développeurs Java
La place de J2ME
Pour les utilisateurs de téléphone :
• Amélioration des fonctionnalités de téléphonie
• Personnalisation, “téléphone individuel"
• Interactivité, applications dynamiques
Utilisateurs
de téléphone
Avantages de
J2ME
Opérateurs
Développeurs
d’application
Pour les opérateurs :
• Services pratiques et à haute valeur ajoutée
pour l’utilisateur
• Différenciation des concurrents
• Nouvelles opportunités de business
Pour les développeurs d’application :
• Accès à un grand nombre de terminaux qui sont
proches de l’utilisateur
• Portabilité à travers les terminaux compatibles
Java
• Java est un langage de programmation répandu
La place de J2ME
Les objectifs de J2ME
1
2
3
4
Permettre le déploiement dynamique de
solutions de bout-en-bout
Définir une plate-forme Java standard pour un
ensemble de terminaux petits, à ressources
limitées et connectées
Permettre la diffusion dynamique et sécurisée
de contenu Java interactif sur les petits
terminaux
Permettre le développement de logiciels pour
ces terminaux par des tiers
L’architecture de J2ME
Serveur
Pager
PDA
Station de travail
Communicator
NC
POS
Set-top box,
net TV
Smartphone
Screenphone
PC, laptop
Profile
Téléphone
cellulaire
Profile
Profile
J2EE
(Java 2
Enterprise
Edition)
Profile
TV
Profile
J2SE
(Java 2
Standard
Edition)
Screen
Phone
Profile
Personal
Profile
Car
Profile
Carte
PDA
Profile
Java 2 Micro Edition
MID
Profile
Smart
Card
Profile
Java Language
HotSpot
JVM
KVM
Card VM
L’architecture de J2ME
Les concepts de base de J2ME
Machine virtuelle et ensemble minimal de classes de base et d’API.
Spécifie un environnement d’exécution généralisé pour les terminaux
¾ Configuration
embarqués et agit comme plate-forme Java sur le terminal.
Spécification des API Java définie par l’industrie.
Utilisé par les fabricants et les développeurs à destination des différents
¾ Profil
types de terminaux spécifiques.
Package qui peut ne pas être implémenté sur un terminal
particulier.
¾ Package optionnel
L’architecture de J2ME
Les caractéristiques d’un MIDlet
„
Une application Java peut tirer parti des
propriétés d’un terminal mobile disposant de la
technologie Java :
1
Toujours avec l’utilisateur
5
Réseau sans fil
2
Personnel
6
Stockage persistent sur le terminal
3
Interface utilisateur simple
7
Certifié
4
Traitement local
L’architecture de J2ME
Les principales JSR actuelles
JSR 30 - CLDC (Connected Limited Device Configuration)
JSR 36 - CDC (Connected Device Configuration)
JSR 37 - MIDP (Mobile Information Device Profile)
JSR 46 - Foundation Profile
JSR 62 - Personal Profile
JSR 66 - RMI Profile
L’architecture de J2ME
Les machines virtuelles
„
KVM (Kilo Virtual Machine)
„
„
Implémentation runtime extrêmement légère de la
machine virtuelle Java pouvant être utilisée dans les
terminaux avec peu de mémoire.
Le K signifie Kilobyte, indiquant que cette machine
virtuelle fonctionne avec un total de mémoire de quelque
100 Ko.
L’architecture de J2ME
Les machines virtuelles
„
CVM (Convergence Virtual Machine)
„
„
Machine virtuelle Java 2 conçue pour les terminaux
ayant besoin de l’ensemble des fonctionnalités de la
JVM mais avec des capacités plus réduites.
Les terminaux utilisant CVM sont généralement des
terminaux compacts et connectés, orientés
consommateur.
L’architecture de J2ME
Les configurations
„
CLDC (JSR 30)
„
„
Consiste en la machine virtuelle K (KVM) et un ensemble
de bibliothèques de classes noyau appropriées à
l’utilisation dans un profil de l’industrie.
Les terminaux concernés sont dotés d’interfaces
utilisateur simplifiées, d’au moins 128 Ko de mémoire et
de connexions réseau intermittentes à faible bande
passante.
L’architecture de J2ME
„
CDC (JSR 36)
„
„
Basé sur la spécification de machine virtuelle classique,
qui définit un environnement runtime complet.
Destinée aux terminaux plus gros et qui peuvent se
connecter à Internet ou à d’autres terminaux, comme
les visiophones fonctionnant sur Internet, les
communicateurs et les systèmes de navigation.
L’architecture de J2ME
Les profils
„
MIDP
„
„
„
„
Nécessite l’implémentation de référence CLDC.
Fournit des classes pour l’écriture d’applications
téléchargeables qui tournent sur des terminaux mobiles
comme les téléphones cellulaires et les pagers
bidirectionnels.
Permet le téléchargement de nouveaux services comme
les jeux, les applications de commerce et les services de
personnalisation.
Plate-forme standard pour les petits terminaux
d’information mobiles :
„
„
„
„
512 Ko de mémoire totale (ROM + RAM) disponible pour le runtime
Java et ses bibliothèques ;
puissance et batterie limitées ;
connectivité à réseaux sans fil à bande passante limitée ;
interfaces utilisateur à différents niveaux de sophistication.
L’architecture de J2ME
„
MIDP 2 (ou MIDP NG)
„
„
„
„
„
Sécurité : nouveau modèle de sécurité avec les MIDlets
certifiées et HTTPS
Réseau et push étendu
Livraison d’application
Interface utilisateur améliorée
Nouvelles fonctionnalités pour les jeux et le son
L’architecture de J2ME
„
PDAP (JSR 75)
„
„
Se trouve au niveau supérieur de la spécification CLDC.
Fournit des API d’interface utilisateur et de stockage
de données pour les petits terminaux Handheld aux
ressources limitées aux caractéristiques suivantes :
„
„
„
512 Ko de mémoire au total (ROM + RAM) disponible pour le
runtime Java et les bibliothèques ;
puissance et batterie limitées ;
interfaces utilisateur de différents degrés de sophistication,
disposant d’un affichage d’une résolution supérieure à 20 000
pixels, d’un terminal de pointage et d’une entrée pour caractères.
L’architecture de J2ME
„
Foundation Profile (JSR 46)
„
„
„
Destiné aux terminaux qui ont besoin de support pour
une plate-forme Java avec un réseau riche mais ne
nécessitent pas d’interface utilisateur.
Fournit en outre un profil de base pour d’autres profils,
qui auraient besoin de construire leurs propres
fonctionnalités en ajoutant, par exemple, une GUI
(Graphical User Interface).
Cible les terminaux suivants :
„
„
„
„
1 024 Ko de ROM (sans compter les besoins mémoire des
applications) ;
512 Ko de RAM (sans compter les besoins mémoire des
applications) ;
connectivité à certains types de réseaux ;
aucune GUI.
L’architecture de J2ME
„
Personal Profile (JSR 62)
„
„
„
Repackage l’environnement d’application PersonalJava
pour fournir la spécification J2ME aux terminaux qui
ont besoin d’un haut niveau de connectivité Internet et
d’une fidélité Web.
Conçu pour être compatible avec la spécification de
l’environnement d’application PersonalJava.
Cible les terminaux suivants :
„
„
„
„
2,5 Mo de ROM ;
1 Mo de RAM ;
connectivité robuste à certains types de réseaux ;
GUI avec un haut degré de fidélité Web et la possibilité de faire
tourner des applets.
L’architecture de J2ME
„
RMI (JSR 66)
„
„
Supporte le RMI interapplication sur des connexions
TCP/IP pour des applications écrites en Foundation
Profile.
Interopérable avec l’API J2SE RMI.
MIDP
Les concepts de base
„
L’API de haut niveau
„
„
Objectif : portabilité (aucun accès direct aux
fonctionnalités de terminal natif n’est autorisé)
Elle permet de rendre les applications
exécutables et utilisables sur tous les
terminaux MIDP.
MIDP
„
L’API de bas niveau
„
„
Objectif : fournir un accès aux primitives de
dessin natif, des événements sur les touches du
terminal, des terminaux de saisie natifs, …
Elle permet aux développeurs de choisir le
compromis entre portabilité et fonctionnalités
plus spécifiques.
MIDP
„
RMS
„
„
„
Objectif : stockage persistant de données
Base de données orientée enregistrement léger
Indépendante du terminal
MIDP
„
Connectivité réseau
„
„
„
Obligation d’implémenter le protocole HTTP
Etend le réseau du GCF (Generic Connection
Framework) de CLDC
Le GCF fournit un moyen uniforme et pratique
d'effectuer des entrées / sorties quelque soit
le type de protocole
MIDP 2
La sécurité
„
Modèle de sécurité
„
„
Notion de MIDlets “certifiées” ou
“privilégiées”, selon leur signature
HTTPS/SSL
„
„
Ajout de HTTPS pour établir une transaction
sécurisée de bout en bout (avec SSL, TLS ou
WTLS)
Utilisation possible de SSL/TLS avec des
sockets
MIDP 2
Le push
„
Capacité de push réseau
„
Déclenchement d’un MIDlet lors d’une
connexion entrante
MIDP 2
Livraison d’application
„
OTA (Over The Air) :
„
„
„
Document de pratique recommandée
Notifications d’installation réussie et de
suppression
Retrait du support des cookies
MIDP 2
L’interface utilisateur
„
Améliorations de l’interface
utilisateur
„
„
„
„
Objets personnalisés
Formatage des objets
Transparence d’image
Amélioration des composants existants (jauge,
listes, …)
MIDP 2
Les jeux
„
API de développement de jeux
„
„
„
„
„
Décomposition d’une zone d’affichage en grille
de cellules contrôlables
Moteur de sprites supportant des
transformations (rotation, …)
Gestionnaire de couches
Prise en charge de pressions de touche
simultanées
Mécanisme de tampon hors-écran
MIDP 2
Le son
„
API de son
„
„
„
Génération de tonalité (note, duration, volume)
Sons échantillonés wav mono PCM 8 bits, à 8
KHz (optionnel)
MIDI (optionnel)
PDAP
„
PDAP
„
„
Personal Digital Assistant Profil
Nouveau profil CLDC ciblant les PDA
PDAP
L’interface utilisateur AWT
„
„
Interface utilisateur AWT
Interaction entre AWT et LCDUI
„
„
Interaction au niveau des Frames AWT et du
Displayable LCDUI
Pas de mélange de composants entre les deux
modèles
PDAP
Les APIs PIM
„
Accès aux bases de données natives :
„
„
„
Adresses
Liste « To Do »
Agenda
PDAP
Les connexions port série et système de fichier
„
Port série
„
„
Ouvre une connexion logique par le port série
Le système de fichier
„
Ouvre une connexion sur un simple fichier ou
sur un répertoire
PDAP
PDAlet
„
„
Nouveaux attributs de fichier JAD
Possibilité de spécifier des MIDlets
et des PDAlets dans le même Suite
Conclusion
Les technologies du succès
„
„
„
„
„
„
„
„
„
„
Echange de données : XML
Géolocalisation : GPS (EMEA) ou triangulation
Wireless : Bluetooth, IrDA
Traitement distribué : Web services, XMLRPC
Synchronisation des données : SyncML
Middleware : passerelle JDBC
Messagerie : gateway SMTP, POP, IMAP
Peer to peer : JXME, JXTA
Fonctionne aussi sous Palm OS
WAP : cohabitation possible avec le WAP :
„
„
Appel de J2ME depuis une page WAP ou
Navigateur WAP basé sur J2ME (upgradable)
Conclusion
Questions
Conclusion
A bientôt …
Net Innovations
Bruno Delb
[email protected]
Mob : 06 09 35 26 14
Téléchargement