J2ME : MIDP 2.0 vs DOJA

Documents pareils
TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet

Machine virtuelle Java pour Palm TX

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN

Manuel d installation de l application Dimona New via SMS

MMSCam. Travail de diplôme Pilotage à distance d un téléphone MMS. Département d électricité et d informatique. Auteur : Jeanmonod David

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

RMI le langage Java XII-1 JMF

Remote Method Invocation (RMI)

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée Virtual Server de Microsoft

SugarCubes. Jean-Ferdinand Susini Maître de Conférences, CNAM Chaire systèmes enfouis et embarqués. Paris, le 9 janvier, 2009

Projet de programmation (IK3) : TP n 1 Correction

Programmer en JAVA. par Tama

Création d un service web avec NetBeans 5.5 et SJAS 9

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server

Java ME : une présentation. Jean-Marc Farinone

Encadré par : Michel SIMATIC

Machine virtuelle W4M- Galaxy : Guide d'installation

Manuel d'installation de GESLAB Client Lourd

EA D S INNOVA TION W ORKS. Mobilité et sécurité. Nicolas RUFF nicolas.ruff [à] eads.net

Déploiement d applications Java ME

as Architecture des Systèmes d Information

J2ME. Développement d applications Java pour terminaux mobiles - 1 -

21 mars Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire.

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

Java et le temps réel

Système Principal (hôte) 2008 Enterprise x64

TP1 : Initiation à Java et Eclipse

Plate formes mobiles. Utilisation. Contexte 9/29/2010 IFC 2. Deux utilisations assez distinctes :

Initiation à JAVA et à la programmation objet.

Interfaces graphiques avec l API Swing

GASP: un intergiciel pour les jeux en réseaux multijoueurs sur téléphones mobiles

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/ Vue générale 2 - Mon premier programme 3 - Types de Programme Java

Présentation. Au programme. Fonctionnement. A l issue de ce module vous devriez...

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting

Quick Start Installation de MDweb version 2.3

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Plan. Java et le temps réel. Bertrand Dupouy ENST. Rappels sur les systèmes temps réel

Programmation Orientée Objet

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

La technologie Java Card TM

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INITIATION AU LANGAGE JAVA

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Plan du cours. Historique du langage Nouveautés de Java 7

Guide de connexion Wi-Fi sur un hotspot ADP Télécom

Threads. Threads. USTL routier 1

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.

TP3. Mail. Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose.

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Les Fondements du langage Java & son évolution actuelle.

DRT TISI. Mémoire. Informatique Mobile d'entreprise. Synchronisation d informations appliquées au dossier médical embarqué

AUVRAY Clément (168187) HOMBERGER Alexandre (186897) GLADE. Langages, outils et méthodes pour la programmation avancée Page 1 sur 12

Mobile Gaming Services Services pour les jeux multijoueurs sur mobiles

Introduction aux Technologies de l Internet

Remote Method Invocation en Java (RMI)

Espace pro. Installation des composants avec Firefox. Pour. Windows XP Vista en 32 et 64 bits Windows 7 en 32 et 64 bits

Applet pour visualiser les variables «automate» notifiées

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1

Programmation Par Objets

MOBILITE. Datasheet version 3.0

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Thierry Déléris. BMC Mainview Data Server Synthèse & Mise en œuvre

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Trixbox: Asterisk packagé. Unité Réseaux du CNRS

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture

Auto-évaluation Programmation en Java

Vulgarisation Java EE Java EE, c est quoi?

arcopole Studio Annexe 7 Architectures Site du programme arcopole :

GUIDE POUR LE PLEXTALK Linio Pocket - LECTEUR DE Podcasts -

NFP 121. Java et les Threads. Présentation : Thierry Escalarasse Mai 2007

SCL LOGICIEL DE CONTROL

Espace Numérique Régional de Santé PACA. Formation Web Conférence

Principe de fonctionnement du lanceur d'application "AdisTlsStartCfgLotus"

contact@nqicorp.com - Web :

La carte à puce. Jean-Philippe Babau

Manuel d'installation

Web Tier : déploiement de servlets

Couche application. La couche application est la plus élevée du modèle de référence.

Perspectives pour l entreprise. Desktop Cloud. JC Devos IBM IT Architect jdevos@fr.ibm.com IBM Corporation

Architecture Orientée Service, JSON et API REST

Programmation Objet Java Correction

Programmation d'applications sur PDA

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués

Environnements de développement (intégrés)

MODULE 2 : L échange et le partage de fichiers numériques

La base de données XML exist. A. Belaïd

MQPerf un outil de diagnostic en mode SaaS des performances optimales du MOM JORAM

Comment utiliser mon compte alumni?

Linux embarqué: une alternative à Windows CE?

Guide de l utilisateur Faronics System Profiler Standard

Kiapel V1.2 DOCUMENTATION TECHNIQUE APERCU DES PRINCIPALES FONCTIONNALITES

Guide d installation de MySQL

Module d anonymisation

Installer et configurer Oracle Forms 11gR2 Windows 7 64 bits

Cahier des charges. driver WIFI pour chipset Ralink RT2571W. sur hardware ARM7

Java DataBaseConnectivity

GenDbg : un débogueur générique. Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion

Cloud public d Ikoula Documentation de prise en main 2.0

Introduction au langage Java

Transcription:

J2ME : MIDP 2.0 vs DOJA KARAGIANNIS Antonios YALIOUA Ouali 27 février 2006 GRETR : MIDP vs DOJA 1

Introduction Systèmes embarqués 2002 : 98% des processeurs sont embarqués OS embarqués Windows CE PalmOS Symbian L alternative Java : J2ME 27 février 2006 GRETR : MIDP vs DOJA 2

Quelques chiffres Millions 1200 1000 800 600 400 200 0 2003 2004 2006 Téléphones J2ME Source : ARC Group 27 février 2006 GRETR : MIDP vs DOJA 3

Plan J2ME : Java 2 Micro Edition MIDP DoJa Récapitulatif Conclusion 27 février 2006 GRETR : MIDP vs DOJA 4

Architecture JAVA 27 février 2006 GRETR : MIDP vs DOJA 5

J2ME Définition Plateforme Java pour machine limitée Processeurs lents Mémoire limitée Petite taille d écran KVM : machine virtuelle adaptée API orientée téléphonie mobile Configurations : CLDC Profils : MIDP, DoJa 27 février 2006 GRETR : MIDP vs DOJA 6

MIDP Mobile Information Device Profile 27 février 2006 GRETR : MIDP vs DOJA 7

Historique 1998 : Projet Spotless 1999 : Présentation de J2ME par Sun, standardisation Consortium 2000 (septembre) Nokia, Motorola, Erickson, Symbian Mobile Information Device Profil Version 1.0 Version 2.0 27 février 2006 GRETR : MIDP vs DOJA 8

MIDlet Contenu d une MIDlet un fichier jad : description des classes Taille Classe principale Adresse des classes un fichier jar : ensemble des classes pré-vérifiées La classe MIDlet 27 février 2006 GRETR : MIDP vs DOJA 9

Cycle de vie Les états d une application Pause : initialisée et en attente Actif : exécute sur le processeur Détruit : fin d exécution, libération des ressources 27 février 2006 GRETR : MIDP vs DOJA 10

Fonctionnalités MIDP 2.0 API pour les jeux et l audio Interface utilisateur Stockage des données Connexion réseau et sécurité 27 février 2006 GRETR : MIDP vs DOJA 11

L interface utilisateur Réduite La classe Display Saisie de texte Liste Ajout d éléments graphiques Barre de progression, image, date Message d erreur 27 février 2006 GRETR : MIDP vs DOJA 12

Interface utilisateur (suite) 27 février 2006 GRETR : MIDP vs DOJA 13

RMS ou le stockage persistent des données Record Management System base de données Partagée entre les MIDlets d un même package Opérations simples Ajout, Suppression Comparaison, énumération, filtres, dernières modifications 27 février 2006 GRETR : MIDP vs DOJA 14

Connexion réseau et sécurité Connexions http & https Socket Datagram Exemples Serveur de temps Serveur SMTP http://developers.sun.com/techtopics/mobility/midp/articles/midp2network/ 27 février 2006 GRETR : MIDP vs DOJA 15

Exemple import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class HelloWorld extends MIDlet implements CommandListener { private Command c; private Display d; private TextBox t = null; public HelloWorld () { d = Display.getDisplay (this); c = new Command ("Sortie", Command.EXIT, 2); t = new TextBox ("HelloWorldMIDlet", "Hello World", 256, 0); t.addcommand (c); t.setcommandlistener (this); } public void startapp() { d.setcurrent (t); } } public void pauseapp() {} public void destroyapp (boolean unconditional) {} public void commandaction (Command mycommand, Displayable mydisplayable) { if (mycommand == c) { destroyapp (false); notifydestroyed (); } } 27 février 2006 GRETR : MIDP vs DOJA 16

Exemple 27 février 2006 GRETR : MIDP vs DOJA 17

DoJa Docomo Java 27 février 2006 GRETR : MIDP vs DOJA 18

DoJa Doja : Pour terminaux i-mode Technologie java basé sur le CLDC Java for i-mode année 1999 par NTT-Docomo 30 millions d abonné c est un Profil 27 février 2006 GRETR : MIDP vs DOJA 19

L environnement applicatif 27 février 2006 GRETR : MIDP vs DOJA 20

Cycle de vie La classe com.nttdocomo.ui.iapplication Gestion du cycle de vie: Iapplication.start() Iapplication.terminate() Iapplication.resume() 27 février 2006 GRETR : MIDP vs DOJA 21

Interface Utilisateur Fonctionnalités de l interface utilisateur Création de composants génériques (Bouton, Label ) Gestion d évènements Gestion de disposition L API de haut niveau Composants Dépendance par rapport aux caractéristiques matérielles concevoir des éléments aux fonctionnalités figées L API de bas niveau Taille de l écran, propriété du téléphone L écran (Panel ou Canvas) 27 février 2006 GRETR : MIDP vs DOJA 22

L API de Haut Niveau L API de Haut Niveau Le Panel : un conteneur de composant com.nttdocomo.ui.component Label ImageLabel Button ListBox TextBox Ticker VisualPresenter 27 février 2006 GRETR : MIDP vs DOJA 23

Exemple de Label import com.nttdocomo.ui.*; public class LabelDemo extends IApplication{ private Label monlabel; private Panel monpanel; public LabelDemo(){ //appel du constructeur de IApplication super(); //initialisation du Panel. monpanel=new Panel(); monpanel.settitle("mon titre de Panel"); try{ //initialisation du Label avec un texte centré. monlabel= new Label("mon label",label.center); //ajout du Label au Panel. monpanel.add(monlabel); } //Génèrée en cas d'alignement spécifié incorect (ex : Label.CENTER). catch (IllegalArgumentException e){ System.out.println(e.getMessage());} } public void start(){ //affichage du Panel. Display.setCurrent(monPanel); } } 27 février 2006 GRETR : MIDP vs DOJA 24

Résultat de l exemple 27 février 2006 GRETR : MIDP vs DOJA 25

L API de Haut Niveau L API de Haut Niveau Label ImageLabel Button ListBox TextBox Ticker VisualPresenter Position des composants LayoutManager ou Méthode setlocation() L API de Bas Niveau Classe Canvas : une zone graphique Paint() à redéfinir 27 février 2006 GRETR : MIDP vs DOJA 26

Gestionnaire d évènements EventListener : un écouteur d évènement enregistré auprès d un générateur d évènement(panel ou MediaPresenter) 5 types d événements ComponentListener SoftKeyListener KeyListener MediaListener TimerListener 27 février 2006 GRETR : MIDP vs DOJA 27

Contrôle des communications Applications autonomes Calculatrice, utilitaires Programmation Client-Serveur http Https HttpConnection 27 février 2006 GRETR : MIDP vs DOJA 28

Gestions des ressources Le SratchPad : Zone de stockage L URL : sratchpad:///0 pos représente un index (en octet) à partir du début de la zone du scrathpad allouée à l application 27 février 2006 GRETR : MIDP vs DOJA 29

Accès à la Plate-forme Matérielle La Classe PhoneSystem Package com.nttdocomo.ui Méthode setattribut() 27 février 2006 GRETR : MIDP vs DOJA 30

Conclusion Aujourd'hui on se retrouve avec deux profil DoJa et MIDP. Quelles sont les différences? Il y en a principalement 3. La première différence porte sur l'api elle-même. i-mode repose sur celles-ci : - com.nttdocomo.io - com.nttdocomo.util - com.nttdocomo.ui - com.nttdocomo.net -javax.microedition.io MIDP repose sur les classes suivantes : javax.microedition.midlet javax.microedition.lcdui javax.microedition.rms javax.microedition.io 27 février 2006 GRETR : MIDP vs DOJA 31

Conclusion - La seconde différence : Une iappli, étend com.nttdocomo.ui.iapplication Un MIDlet, étend javax.microedition.midlet. Une iappli implémente une méthode obligatoire, start() deux méthodes optionnelles, resume() et terminate(). Un MIDlet implémente trois méthodes obligatoires, startapp(), pauseapp() et destroyapp(). - La dernière différence : La limitation de la taille des fichiers.jar. Les iappli : 10Ko Les MIDlets : 50 Ko Dans l'avenir ils devrait fusionner. 27 février 2006 GRETR : MIDP vs DOJA 32

Bibliographie www.electronique.biz http://java.sun.com/ http://www.imode.fr MIDP MOBILE INFORMATION DEVICE PROFILE Juha-Pekka Ruuskanen 27 février 2006 GRETR : MIDP vs DOJA 33

Questions? 27 février 2006 GRETR : MIDP vs DOJA 34