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

Dimension: px
Commencer à balayer dès la page:

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

Transcription

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

2 1. J2ME et l informatique des terminaux mobiles Les applications embarquées Typologie des applications J2ME et les systèmes embarqués Tour d horizon de la technologie J2ME Les machines virtuelles Les configurations Les profils Les packages optionnels La pile JSR 185 JTWI (Java Technology for the Wireless Industry) Les autres API Java pour terminaux embarqués La configuration CLDC Les limitations de CLDC Support de la virgule flottante Internationalisation des applications Support des propriétés d environnement Limitations diverses La sécurité dans CLDC Prévérification des fichiers de classe Le modèle de sécurité Sandbox Les classes de CLDC Les classes héritées de J2SE Les classes spécifiques de CLDC Le profil MIDP Le MIDlet Cycle de vie d un MIDlet L accès aux attributs du fichier *.jar L interface utilisateur Les principes de l interface utilisateur MIDP Les classes d affichage La classe Display La classe Displayable La classe Screen La classe Canvas L interface utilisateur de haut niveau L interface Choice La classe List La classe Item La classe Form La classe ChoiceGroup La classe TextField La classe DateField La classe Gauge La classe ImageItem La classe StringItem La classe TextBox La classe Alert La classe Ticker

3 La gestion des évènements La classe Command L interface commandlistener L interface ItemStateListener Le stockage persistant des données Le package RMS Le Record Store La classe RecordStore L interface RecordComparator L interface RecordFilter L interface RecordEnumeration L interface RecordListener J2ME en pratique Les outils L environnement de développement J2ME Wireless Toolkit Le terminal mobile cible Le terminal mobile Sony Ericsson t L outil de transfert de l application L application CurrencyConverter Le client J2ME Le serveur PHP Le Web service Conclusion

4 Avant-propos L objectif de ce dossier est de présenter la technologie Java 2 Micro Edition (J2ME). Cette technologie, proposée par Sun Microsystem, permet de développer des applications pour les terminaux embarqués en utilisant le langage Java. Les trois premières parties de la présente étude fournissent les notions théoriques nécessaires à une compréhension approffondie de la technologie J2ME. La dernière partie, quant à elle, présente un prototype réalisé au cours de cette étude. Un cd rom ainsi que trois documents contenant des exemples pratiques sont annexés. Le cd rom contient tous les fichiers et logiciels nécessaires pour mettre en œuvre les différents exemples pratiques

5 Cette première partie débute par une présentation du panorama des applications pour terminaux embarqués. Vous trouverez ensuite une description de la technologie J2ME et de la place qu elle occupe dans le paysage de la mobilité. 1. J2ME et l informatique des terminaux mobiles 1.1. Les applications embarquées Un système embarqué (embedded system), est un système informatique autonome interagissant en temps réel avec le monde physique de manière généralement invisible. Il est constitué de un ou plusieurs processeurs accompagnés de logiciels [DEL02]. Initialement réservés aux grands domaines technologiques classiques comme le spatial, le nucléaire ou l aéronautique, les systèmes embarqués apparaissent désormais massivement à l échelle de l individu et envahissent tous les domaines de sa vie privée et professionnelle : téléphones mobiles, assistants personnels, cartes à puces, appareils multimédias, automobiles, domotique, surveillance médicale, Le marché des systèmes embarqués est en pleine explosion, puisqu il représentait 40 milliards d euros en 2002 et que sa croissance est d environ 20% par année (Durlacher Research). Les secteurs les plus porteurs sont le transport, le multimédia, la téléphonie, la monétique, la transitique (logistique limitée aux liaisons internes d une entreprise) et la banque. Les téléphones mobiles et assistants personnels contribuent de manière non négligeable à la croissance du marché des terminaux embarqués. Selon un rapport publié par la société d'étude britannique Canalys, le marché mondial des terminaux mobiles (téléphones mobiles, PDA, Smartphones ) affiche une croissance de 41 % pour le premier trimestre 2004 (par rapport au premier trimestre 2003) [JNE04]. Le tableau présenté ci-dessous illustre ce phénomène de croissance (source Canalys). Le marché mondial des terminaux mobiles au 1er trimestre 2004 Constructeur Ventes (en millions d'unités) Part de marché Evolution des ventes (par rapport au premier trimestre 2003) Nokia 1,67 28,2 % +85 % PalmOne 0,99 16,8 % -9 % HP 0,57 9,7 % +29 % RIM 0,37 6,4 % +301 % Fijutsu 0,36 6,1 % +507 % Motorola 0,31 5,3 % % Sony Ericsson 0,26 4,4 % +19 % Sony 0,20 3,4 % -45 % Dell 0,16 2,7 % -3 % Siemens 0,08 1,5 % +470 % Autres 0,90 15,5 % +10 % Total 5, % +41 % - 5 -

6 Typologie des applications Il est intéressant d établir une typologie des applications destinées aux systèmes embarqués en fonction des différentes architectures [DEL02] (cf Gartner Model): Les applications locales qui peuvent s exécuter sur des terminaux sans couverture réseau. Ce sont, par exemple, les jeux autonomes, les calculatrices, les mémo pad, Les applications fonctionnant en réseau peer-to-peer qui sont des applications réseau terminal à terminal sans serveur. Ce sont, par exemple, les applications de chat en direct, les jeux en réseau, Les applications client-serveur (client léger) qui sont des applications très légères dans lesquelles le terminal côté client a une logique applicative limitée. Ce sont, par exemple, les applications qui mettent en forme du contenu fourni par une application serveur. Les applications client-serveur intelligentes (client lourd) qui sont les applications dans lesquelles le terminal côté client a plus de logique applicative et de traitement local. Le tableau ci-dessous présente les types de clients par catégorie d application. Catégorie d application Micronavigateur (navigateur WAP) J2ME Application locale Non Oui Réseau peer-to-peer Non Oui Application client-serveur (client léger) Application client-serveur (client lourd) [DEL02] Oui Non Oui Oui Notons que l on peut également classer les applications par domaine : loisirs, applications métier, applications PIM (Personal Information Manager), application réseau, utilitaires, Le domaine des loisirs comprend les jeux autonomes et en réseau. Les principales applications métier concernent le commerce électronique, la banque, le CRM (Customer Relationship Management) ainsi que la gestion des ressources. Les applications PIM comprennent les planificateurs, les répertoires d adresses Les applications de connectivité comprennent les clients de messagerie, les gestionnaires de SMS, Le domaine des utilitaires comprend les calculatrices, les memos pad, - 6 -

7 1.2. J2ME et les systèmes embarqués En 1998, Sun Microsystems Laboratories lance le projet de recherche Spotless dont le but est d adapter le langage Java pour des systèmes limités en ressource et de réaliser une machine virtuelle de petite taille assurant la portabilité. En Juin 1999, Sun présente la nouvelle plate-forme Java 2 Micro Edition (J2ME). Les travaux de standardisation des composants du J2ME débutent en Octobre 1999 [WJS04]. J2ME fait partie de la plate-forme Java 2. Ci-dessous vous trouverez une illustration qui situe la technologie J2ME au sein de la plate-forme Java 2. [JSU04] Comme l illustre l image ci-dessus, la technologie J2SE cible les ordinateurs standards de bureau, la technologie J2EE est destinée aux serveurs et la technologie J2ME est spécialement conçue pour le développement d applications sur des terminaux mobiles. Sun Microsystems cible donc le marché avec une suite de technologies fondées sur Java qui simplifient le déploiement pour les fabricants de terminaux, les fournisseurs de services et les développeurs d applications des produits client et embarqués. J2ME s adresse particulièrement aux terminaux embarqués, comme les téléphones cellulaires, les assistants personnels (PDA), les décodeurs TV numérique, les consoles de jeux, les terminaux de paiement, les systèmes embarqués dans les véhicules, Ces terminaux sont soumis à certaines contraintes : Interface utilisateur limitée (clavier, écran tactile) Affichage limité (taille, couleur) Peu de mémoire Connectivité limitée Alimentation (batterie) - 7 -

8 Encombrement et poids faibles Résistance aux chocs La présente étude se concentrera plus particulièrement sur les terminaux de type téléphone cellulaire. Ces terminaux spécialisés, aux fonctionnalités limitées, sont généralement dotés de processeurs 32 bits et d une connectivité réseau Tour d horizon de la technologie J2ME J2ME offre un certain nombre d avantages dans le domaine du développement d applications embarquées. Le premier d entre eux est la mise à disposition d outils performants (J2ME Wireless Toolkit) et faciles à utiliser garantissant un développement rapide des applications. Ces outils permettent par exemple de minimiser l utilisation du terminal dans le cycle de développement en mettant à la disposition du développeur un émulateur de terminal. L émulateur reproduit fidèlement le comportement d un terminal, y compris ses performances et son aspect physique. Notons qu il est primordial que l émulateur reproduise les mêmes performances qu un vrai terminal afin de développer des applications parfaitement adaptées aux performances réelles du terminal et non pas à celle de l ordinateur de bureau effectuant l émulation. Les outils proposés permettent également un déploiement aisé des applications grâce au mécanisme de packaging. Ces outils seront présentés dans la dernière partie de ce dossier (cf 4). Un autre avantage considérable de la technologie J2ME est qu elle permet de développer des applications adaptées aux capacités des terminaux en réutilisant des sous-ensembles d API existantes et en proposant des éléments optionnels. J2ME est une technologie basée sur une architecture modulaire. Les briques de base de la technologie J2ME sont la configuration, le profil et les packages optionnels [DSU04]. Une configuration est une machine virtuelle ainsi qu un ensemble minimal de classes de base et d API. Elle spécifie un environnement d exécution généralisé pour les terminaux embarqués et agit comme plate-forme Java sur le terminal. Un profil est une spécification des API Java définie par l industrie, utilisée par les fabricants et les développeurs à destination de terminaux spécifiques. Un package optionnel est, comme son nom l indique, un package qui peut ne pas être implémenté sur un terminal particulier. Les machines virtuelles J2ME et les spécifications d API de plate-formes spécifiques sont développées en sollicitant les besoins d entrée par l initiative du JCP (Java Community Process) de façon à s assurer que les spécifications répondent aux besoins spécifiques d une famille ou d une catégorie de terminaux clients. Une fois une JSR (Java Specification Request) acceptée par l initiative JCP, la JSR, qui peut être proposée par Sun Microsystems ou par une autre société, crée une machine virtuelle Java et une implémentation de référence API pour la plate-forme J2ME cible

9 Ci-dessous quelques exemples de JSR [DSU04]: JSR 30 pour CLDC (Connected Limited Device Configuration) JSR 36 pour CDC (Connected Device Configuration) JSR 37 pour MIDP (Mobile Information Device Profile) JSR 46 pour Foundation profile JSR 62 pour Personal profile JSR 66 pour RMI Profile La technologie J2ME bénéficie des avantages liés aux autres technologies de la plate-forme Java 2, à savoir : Write Once Run Anywhere (Ecrire Une fois et Exécuter Partout) : en effet, la machine virtuelle Java permet la portabilité des applications. Par exemple, un développeur n aura pas besoin d écrire et de maintenir différentes versions d une même application pour qu elle puisse s exécuter sur un Nokia Communicator (EPOC Operating System), sur un Compaq ipaq (Pocket PC Operating System) ou sur un PDA utilisant Linux comme système d exploitation. Sécurité : J2ME repose sur le modèle de sécurité Sandbox. Lorsqu une application est exécutée elle ne peut accéder aux ressources système en dehors de la Sandbox ce qui limite les problèmes de virus. J2ME bénéficie également de solutions de sécurité pour les transactions électroniques comme SSL. Une riche interface graphique : J2ME comporte des API riches et adaptées à chaque catégorie de terminaux mobiles Les machines virtuelles La machine virtuelle Java (JVM) se trouve au centre de la technologie Java. Elle permet aux applications écrites dans le langage de programmation Java d être portables sur différents environnements matériels et systèmes d exploitation. La machine virtuelle se situe entre l application et la plate-forme utilisée, convertissant le bytecode de l application en code machine approprié au matériel et système d exploitation utilisé. La machine virtuelle assume également des tâches relatives à la gestion de la mémoire du système. Deux machines virtuelles sont proposées par J2ME, la KVM associée à la configuration CLDC et la CVM associée à la configuration CDC [DSU04][DEL02]. KVM (Kilo Virtual Machine) est une implémentation runtime extrêmement légère de la machine virtuelle Java qui peut être utilisée dans les terminaux disposant de peu de mémoire, comme les téléphones cellulaires, les pagers bidirectionnels et les PDA. Cette machine virtuelle fonctionne avec des processeurs 16 et 32 bits et un total de mémoire d environ 100 Ko. CVM (Convergence Virtual Machine) est une machine virtuelle Java 2 conçue pour les terminaux ayant besoin de l ensemble des - 9 -

10 fonctionnalités de la JVM mais avec des capacités plus réduites. CVM est conçue pour répondre aux besoins du marché émergent des terminaux embarqués de prochaine génération. Les terminaux utilisant CVM sont généralement des terminaux compacts. D autres machines virtuelles pour l embarqué sont proposées par différents constructeurs comme la J9 (développée par IBM) associée à la configuration CDC, la Monty (développée par Sun), la MicrochaiVM (développée par HP) et la JBED (développée par la société suisse Esmertec) qui sont associées à la configuration CLDC. Ci-dessous vous trouverez un aperçu de l offre en machines virtuelles embarquées [MVE02]. Editeur Apogee Esmertec Hewlett Packard IBM Software Group Insignia Kada Systems NewMonics One Eighty Software Sun Microsystems Tao Machine virtuelle Portage optimisé des JVM de Sun JBED Chai VM Microchai VM J9 Technologie Spécification OS Processeurs JIT + interpréteur, optimiseur Compilateur FastBCC (bytecode to native) AOT, JIT, adaptatif AOT, JIT, adaptatif AOT, JIT, adaptatif PJava, CDC, CLDC CLDC/MIDP Core, CLDC/MIDP Core, CLDC/MIDP, CDC/FP Jeode adaptatif Personal Java Jeode EVM adaptatif CDC/FP Mobile Foundation Mobile ROI Perc adaptatif JIT + interpréteur AOT, JIT, adaptatif CLDC/MIDP CLDC/MIDP J2SE, J2ME/CDC LynxOS, VxWorks PalmOS, PocketPC, Linux, Nucleus, JBED Rtos Windows CE, PocketPC, QNX Linux, PalmOS, PocketPC Linux, PalmOS, PocketPC, QNX, Ose VxWorks, Nucleus, Windows CE, Linux Linux, VxWorks, NT4 Nucleus, itron, PocketPC PalmOS, PocketPC, Wind, Linux VxWorks, VxWorks AE, Nucleus, Ose, Linux Origin - J propriétaire PJava, JavaCard Origin PowerPC, x86, Arm 7/9 StrongArm, Xscale, PXA 210/250, PowerPC, ColdFire, 68k SA1100, SH3/4, x86 x86, 68k, PowerPC, StrongArm, SH4, Mips Arm, Mips, SH3/4, PowerPC x86, Mips, PowerPC Arm, Omap Arm, TI, Mips, SH3/4 PowerPC, x86, Microcontrôleurs 8 bits H8, 8051, 68xx et 16 bits Monty adaptatif CLDC/MIDP Arm, Jazelle Intent JTE JIT sans interpréteur CLDC/MIDP PocketPC, VxWorks, SymbianOS Arm, Omap, Risc

11 Les configurations Comme nous l avons cité précédemment, J2ME est une technologie basée sur une architecture modulaire. La configuration occupe une place importante dans cette architecture. Elle détermine une plate-forme minimale pour une catégorie de terminaux ayant des caractéristiques analogues en mémoire totale et en capacité de traitement. La configuration détermine une adjonction minimale ou «le plus petit dénominateur commun» à la technologie Java. Toutes les fonctionnalités inclues dans une configuration doivent être généralement applicables à une grande variété d appareils. La technologie J2ME est constituée de deux configurations, CLDC (Connected Limited Device Configuration), pour les terminaux légers à connexion limitée, et CDC (Connected Device Configuration), pour les terminaux légers connectés. CLDC JSR 30 est disponible comme implémentation de référence de CLDC. Cette configuration 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, comme le profil spécifié par l implémentation de référence MIDP. Les terminaux concernés sont dotés d interfaces utilisateur simplifiées, de processeurs 16 ou 32 bits, d une capacité mémoire disponible pour la plate-forme Java de 128 Ko à 512 Ko et de connexions réseau intermittentes à faible bande passante. CDC JSR 36 est fondée sur la spécification de machine virtuelle classique qui définit un environnement runtime complet. Cette configuration est destinée aux terminaux disposant de ressources plus conséquentes, à savoir : une interface utilisateur très diversifiée, une capacité mémoire disponible pour la plate-forme Java dépassant en tout cas les 512 Ko, un processeur 32 bits et une connexion réseau permanente avec une large bande passante. Notons qu il existe une version révisée de CLDC 1.0 (JSR 30) : la version 1.1 de CLDC (JSR 139). Cette version révisée de CLDC inclut des nouvelles caractéristiques comme le support des nombres à virgule et l emploi de références faibles. CLDC 1.1 est «rétro-compatible» avec la version CLDC 1.0. Une version révisée de CDC est en cours de développement et sera bientôt disponible: CDC 1.1 (JSR 218). [DEL02][DSU04][WJS04][JSU04] Les profils Le profil est également une pièce fondamentale de l architecture modulaire de la technologie J2ME. C est une couche située au dessus de la configuration qui correspond à une spécification d API Java définie par l industrie et utilisée par les fabricants et les développeurs pour des terminaux spécifiques. La machine virtuelle et les API de base spécifiées par une configuration ne suffisent pas pour construire une application complète. Le profil ajoute des API plus spécifiques

12 pour la gestion du cycle de vie d une application, l interface graphique et le stockage permanent. Il existe deux familles de profils : ceux qui dépendent de la configuration CLDC et ceux qui dépendent de la configuration CDC. Ci-dessous vous trouverez une brève description des principaux profils existant dans J2ME. MIDP est un profil qui nécessite l implémentation de référence CLDC et qui fournit des classes pour l écriture d applications qui tournent sur des terminaux mobiles comme les téléphones cellulaires et les pagers bidirectionnels. Le profil MIDP fournit une plate-forme standard pour les petits terminaux mobiles aux ressources limitées. Ce profil est destiné aux terminaux répondant aux caractéristiques suivantes : Ko de mémoire totale (ROM + RAM) disponible pour le runtime Java et ses bibliothèques ; - puissance et batterie limitée ; - connectivité à certains type de réseaux sans fil à faible bande passante ; - interfaces utilisateur à différents niveaux de sophistication. Il existe à l heure actuelle deux versions de MIDP : MIDP 1.0 (JSR 37) et MIDP 2.0 (JSR 118). MIDP 2.0 correspond à une version révisée de la spécification MIDP 1.0 qui inclut des nouvelles caractéristiques comme une interface graphique évoluée, des fonctionnalités pour les jeux et le multimédia ainsi que des possibilités étendues en matière de connectivité et de sécurité. Notons également que MIDP 2.0 est «rétro compatible» avec MIDP 1.0. PDAP JSR 75 est un profil associé à la configuration CLDC qui fournit des API d interface utilisateur et de stockage de données pour les petits terminaux Handheld aux ressources limitées comme les PDA. Les terminaux visés ont les caractéristiques suivantes : - pas moins de 512 Ko et pas plus de 16 Mo de mémoire totale (ROM + RAM) disponible pour le runtime Java et les bibliothèques ; - puissance et batterie limitées ; - interface utilisateur de différents degrés de sophistication, terminaux disposant d un affichage d une résolution supérieure à pixels, d un dispositif de pointage et d une entrée pour caractères. Foundation Profile JSR 46 est un profil associé à la configuration CDC qui est destiné aux terminaux ayant besoin d un support pour une plate-forme Java avec un réseau riche mais qui ne nécessitent pas d interface utilisateur. Il 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). Les terminaux visés ont les caractéristiques suivantes : Ko de ROM (sans compter les besoins mémoire des applications);

13 - 512 Ko de RAM (sans compter les besoins mémoire des applications); - connectivité à certains types de réseaux ; - aucune interface graphique (à moins que les fonctionnalités d interface graphique soient fournies par un profil additionnel). Personal Profile JSR 62 est un profil associé à la configuration CDC qui est destiné aux terminaux nécessitant un haut niveau de connectivité Internet et une fidélité Web. Ce profil est conçu pour pour être compatible avec la spécification de l environnement d application PersonalJava. Les caractéristiques des terminaux visés sont les suivantes : - un minimum de 2.5 Mo de ROM (sans compter les besoins mémoire des applications); - un minimum de 1 Mo de RAM (sans compter les besoins mémoire des applications); - connectivité robuste à certains types de réseaux ; - interface graphique avec un haut degré de fidélité Web et la possibilité d exécuter des applets ; - support de l implémentation complète de J2ME Foundation Profile et de J2ME CDC. [DEL02][DSU04][WJS04][JSU04] Les packages optionnels Le package optionnel est également un élément clé de l architecture modulaire de la technologie J2ME. Un package optionnel fournit des fonctionnalités qui ne devraient pas être associées à une configuration ou à un profil particulier. Bluetooth API JSR 82 est un exemple de package optionnel qui fournit une API standard pour les connexions réseau sans fil Bluetooth. Ce package optionnel pourrait être implémenté avec n importe quelle combinaison de configurations et de profils. Ci-dessous vous trouverez une description des principaux packages optionnels existant dans J2ME. BTAPI JSR 82 (Bluetooth API) fournit une API standard pour l intégration des terminaux mobiles dans un environnement Bluetooth. Cette spécification inclut le support des protocoles Bluetooth suivants : RFCOMM, OBEX et Service Discovery Protocol. D autres protocoles seront ajoutés dans des versions futures de ce package optionnel. Les terminaux visés par cette spécification ont les caractéristiques suivantes : - un minimum de 512 Ko de mémoire totale (ROM + RAM) - connexion réseau Bluetooth

14 WMA JSR 120 (Wireless Messaging API) fournit une API standard pour accéder aux fonctionnalités de communication d un terminal mobile. Les technologies concernées sont les suivantes : - SMS (Short Message Service) - USSD (Unstructured Supplementary Service Data) - CBS (Cell Broadcast Service) Notons qu il existe une spécification plus récente, WMA 2.0 JSR 205, qui définit une interface pour l envoi et la réception de MMS. PIM JSR 75 (Personal Information Management) est un package optionnel offrant la possibilité d accéder aux données natives résidant dans les terminaux mobiles comme les PDA ou les téléphones mobiles. Ce package permet par exemple d accéder aux données contenues dans l agenda ou le répertoire d adresses d un PDA. MMAPI JSR 135 (Mobile Media API) définit une interface pour les fonctionnalités multimédia des terminaux mobiles compatibles J2ME. Ci-dessous vous trouverez une illustration clarifiant l architecture décrite précédemment suivie d un tableau regroupant l ensemble des JSR (configurations, profils et packages optionnels) concernant J2ME [DSU04]:

15 Configurations JSR 30 CLDC 1.0 Connected, Limited Device Configuration JSR 139 CLDC 1.1 Connected, Limited Device Configuration 1.1 JSR 36 CDC Connected Device Configuration JSR 218 CDC 1.1 Connected Device Configuration 1.1 Profils JSR 37 MIDP 1.0 Mobile Information Device Profile JSR 118 MIDP 2.0 Mobile Information Device Profile 2.0 JSR 75 PDAP PDA Profile JSR 46 FP Foundation Profile JSR 219 FP 1.1 Foundation Profile 1.1 JSR 129 PBP Personal Basis Profile JSR 217 PBP 1.1 Personal Basis Profile 1.1 JSR 62 PP Personal Profile JSR 215 PP 1.1 Personal Profile 1.1 JSR 195 IMP Information Module Profile JSR 228 IMP-NG Information Module Profile - Next Generation Packages optionnels JSR 75 PIM PDA Optional Packages for the J2ME Platform JSR 82 BTAPI Java APIs for Bluetooth JSR 120 WMA Wireless Messaging API JSR 205 WMA 2.0 Wireless Messaging API 2.0 JSR 135 MMAPI Mobile Media API JSR 164 JAIN SIMPLE Presence JSR 165 JAIN SIMPLE Instant Messaging JSR 172 J2ME Web Services JSR 177 SATSA Security and Trust Services API for J2ME JSR 179 Location API for J2ME JSR 180 SIP SIP API for J2ME JSR 184 3D Mobile 3D Graphics API for J2ME JSR 186 JAIN Presence JSR 187 JAIN Instant Messaging JSR 190 Event Tracking API for J2ME JSR 209 Advanced Graphics and User Interface Optional Package for J2ME Platform JSR 211 CHAPI Content Handling API JSR 213 Micro WSCI Framework for J2ME JSR 214 Micro BPSS for J2ME Devices JSR 226 Scalable 2D Vector Graphics API JSR 229 Payment API JSR 230 Data Sync API JSR 232 Mobile Operational Management JSR 234 Advanced Multimedia Supplements JSR 238 Mobile Internationalization API JSR 239 Java Bindings for OpenGL ES JSR 246 Device Management API

16 La pile JSR 185 JTWI (Java Technology for the Wireless Industry) Un terminal mobile compatible J2ME implémente une pile logicielle consistant généralement en une configuration, un profil et des packages optionnels. La première génération de téléphones mobiles compatibles J2ME implémente généralement la pile logicielle suivante : Beaucoup de fabricants de téléphones mobiles proposent leurs propres API pour offrir des fonctionnalités étendues (généralement développées par l intermédiaire de JCP). Il en résulte un phénomène de fragmentation. Un développeur MIDP désire savoir quelles API optionnelles sont disponibles pour des terminaux particuliers. Il est possible de découvrir la présence d API au runtime, mais cette technique ajoute de la complexité au code. Il est également possible de distribuer plusieurs versions d une application mais ceci dérogerait au principe fondamental des plate-formes Java, à savoir «write once and run everywhere». Le phénomène de fragmentation peut donc engendrer des problèmes de portabilité. D autres problèmes peuvent également limiter la portabilité d une application. En effet, certains constructeurs fixent des limites pour la taille d une application. Il peut arriver qu une application MIDP 1.0 développée en respectant strictement les spécifications ne soit pas exécutable sur un terminal (MIDP 1.0 / CLDC 1.0). Le constructeur du terminal en question a pu fixer une limite pour la taille du fichier *.jar mais également une taille limite pour le heap (espace mémoire pour l exécution de l application). Le problème le plus délicat interférant sur la portabilité d une application réside cependant dans l utilisation des threads. La spécification MIDP 1.0 inclut la classe java.lang.thread mais ne donne aucune indications sur le nombre de threads supportés par une implémentation. Si une application comporte un nombre importants de threads, elle risque de ne pas pouvoir s exécuter correctement sur certains terminaux. Pour résoudre ces problèmes, une spécification particulière issue des travaux de la JSR 185 et nommée Java Technology for the Wireless Industry (JTWI) a été développée. Cette spécification impose aux périphériques qui la respectent de mettre en œuvre CLDC 1.0 ou 1.1, MIDP 2.0 et WMA. Le support de MMAPI est optionnel. La pile JSR 185 offre donc une vision claire au développeur des API disponibles pour un terminal mobile compatible JTWI

17 La spécification JSR 185 fournit tous les détails nécessaires pour garantir qu une application sera exécutable sur tous les terminaux implémentant cette pile logicielle. Vous trouverez plus de détails sur la pile JSR 185 en consultant l adresse suivante : [DSU04][WJS04][JSU04] Les autres API Java pour terminaux embarqués Ces autres API Java ne font pas directement partie de J2ME mais il est tout de même intéressant de les citer. Certaines sont destinées au contrôle du téléphone, d autres concernent la télévision numérique ou encore les cartes de crédit. Java Phone API est une extension verticale de la plate-forme PersonalJava. Cette API fournit un accès aux fonctionnalités spécifiques des terminaux de téléphonie client. Elle permet notamment de contrôler le téléphone, d envoyer des messages à base de datagrammes, d obtenir des informations du carnet d adresse et du calendrier. Java TV API est une extension verticale de la plate-forme PersonalJava destinée à la création d applications interactives pour la télévision numérique. Cette API permet la mise en œuvre de transactions de commerce électronique, de publicité interactive ou encore d applications de banque à domicile. Java Card est destinée au développement pour cartes intelligentes. Une carte intelligente est une carte de crédit dotée d un circuit intégré (CI). Le CI contient un microprocesseur et de la mémoire permettant à la carte de stocker et traiter des informations. Java Card donne au développeur la possibilité de standardiser une plate-forme de carte commune. Cela signifie, par exemple, qu un opérateur de téléphonie sans fil GSM (Global System for Mobile communications) peut facilement développer de nouveaux services susceptibles d être téléchargés de manière sélective sur la carte intelligente résidant dans le téléphone. Connexion Jini est une technologie permettant aux services de fonctionner dynamiquement et simplement avec d autres services. Dans une communauté Jini, le services disposent d un code de découverte et de recherche dont ils ont besoin pour fournir immédiatement les services aux autres membres de la communauté. Quand un nouveau service est mis à disposition sur le réseau, il n est pas nécessaire d éditer des fichiers de configuration, d arrêter et de redémarrer des serveurs ou de configurer des passerelles. De plus, les communautés Jini supportent les infrastructures redondantes ce qui assure une disponibilité des services même en cas de pannes de serveurs ou de problèmes liés au réseau

18 JES (Java Embedded Server) est destiné aux périphériques de terminaison à large bande comme un modem DSL par exemple. Cette technologie permet de transformer le périphérique en passerelle résidentielle. Une passerelle résidentielle est un boîtier situé chez l utilisateur lui permettant de se connecter à Internet et d accéder à différents services. Les technologies JES et Connexion Jini sont liées. En effet, Connexion Jini supporte des communautés de services spontanément crées et JES est un framework permettant de générer les services délivrés à Jini. [DEL02][WJS04][JSU04]

19 Dans cette deuxième partie, vous trouverez une étude détaillée de la configuration CLDC. 2. La configuration CLDC Le rôle de CLDC (Connected Limited Device Configuration) est de définir une plate-forme Java standard adaptées aux terminaux légers dotés de peu de ressources. CLDC répond à la nécessité de faire tourner des applications sur une grande variété de petits terminaux, allant des terminaux de communication sans fil, comme les téléphones cellulaires et les pagers bidirectionnels, jusqu aux organiseurs personnels, aux terminaux de points de vente et aux équipements domestiques. CLDC est le plus petit commun dénominateur de la technologie Java applicable à une grande variété de terminaux mobiles. Il garantit la portabilité et l interopérabilité du code au niveau des profils entre les différents types de terminaux mobiles compatibles CLDC. La configuration CLDC ne définit que les bases communes à l ensemble des terminaux : entrées-sorties, réseau, sécurité, internationalisation. En ce qui concerne les fonctionnalités de plus haut niveau, c est au profil spécifique du terminal de les prendre en charge : gestion du cycle de vie de l application, interface utilisateur, gestion des évènements Les limitations de CLDC La configuration CLDC est sujette à un certain nombre de limitations dont il faut tenir compte lors de la conception et du développement d une application Support de la virgule flottante CLDC ne supporte pas les nombres à virgule flottante float ou double. Lors du développement d une application, il est donc impossible d utiliser les types de données float et double. Cette limitation n est cependant pas catastrophique puisqu il existe un package, MathFP, permettant de simuler les calculs en virgule flottante. Ce package est disponible à l adresse suivante : [DEL02][WJS04][JSU04] Internationalisation des applications CLDC ne supporte que de manière limitée l internationalisation, qui consiste à traduire les caractères UNICODE depuis et vers une séquence d octets, d une part, et vers la localisation, d autre part

20 La conversion des caractères UNICODE est correctement assurée par l utilisation des classes java.io.inputstreamreader et java.io.outputstreamwriter. Cependant, les fonctionnalités de localisation ne sont pas spécifiées par CLDC. Pour être distribuée dans le monde entier, une application doit être internationalisée et localisée. Une application est dite internationalisée si elle gère plusieurs encodages de caractères. Une application est dite localisée si elle met en forme et interprète les dates, heures, zones horaires et monnaies selon les règles locales de l utilisateur, ou, pour être plus précis, selon les règles de sa langue et de son pays. Dans J2SE, la réalisation d applications internationalisée et localisée est facilitée grâce aux classes java.util.calendar, java.util.locale, java.text.format et java.io.reader. Dans J2ME CLDC, les choses se compliquent car ces classes ne sont pas toutes présentes. CLDC comprend les classes de J2SE suivantes : java.io.datainputstream java.io.dataoutputstream java.io.inputstreamreader java.io.outputstreamwriter java.io.reader java.io.writer java.util.calendar java.util.date java.util.timezone Les classes InputStreamReader et OutputStreamWriter assurent la conversion entre un flux d octets et un flux de caractères UNICODE. Cette conversion est effectuée en fonction du système d encodage de caractères utilisé sur le terminal. Les classes Calendar, Date et TimeZone sont des sous-ensembles des classes J2SE de même nom. Elles permettent d intégrer le support de la zone horaire locale de l utilisateur. CLDC ne fournit rien de plus pour la localisation. C est le rôle des profils d ajouter éventuellement des nouvelles fonctionnalités. Par exemple, le profil MIDP prévoit l implémentation d une propriété système microedition.locale, qui retourne la locale du terminal au format langue-pays. Il est important de réaliser que la principale contrainte lorsque l on développe une application pour terminal mobile est l espace mémoire (espace de stockage et espace d exécution). La première mesure à prendre consiste donc à ne pas fournir qu un seul fichier *.jar (JavaArchive) complet, qui prendrait en charge toutes les situations, mais plutôt à créer un fichier *.jar pour chaque cas. L utilisateur téléchargera et installera la version de l application pour son propre cas. Si ce téléchargement est réalisé depuis un serveur Web via un servlet, par exemple, ce dernier pourra même utiliser les en-têtes HTTP pour identifier la locale utilisée et retourner le fichier *.jar approprié. [DEL02][JSU04][API]

Java, développement d'applications mobiles (J2ME) Java et les applications mobiles. Formation ITIN / Université de Cergy-Pontoise 10/11/2006

Java, développement d'applications mobiles (J2ME) Java et les applications mobiles. Formation ITIN / Université de Cergy-Pontoise 10/11/2006 Formation ITIN / Université de Cergy-Pontoise Java, développement d'applications mobiles (J2ME) Java et les applications mobiles Pourquoi utiliser Java? Langage répandu dans les entreprises Développement

Plus en détail

Programme de cette formation Java me Java Micro Edition Travaux pratiques Développement MIDP Travaux pratiques Les interfaces utilisateurs avec JME

Programme de cette formation Java me Java Micro Edition Travaux pratiques Développement MIDP Travaux pratiques Les interfaces utilisateurs avec JME Java ME Plan Programme de cette formation Java me Java Micro Edition - Utilisations de la plateforme JME. L'architecture et les composantes essentielles (machines virtuelles, configurations, profils et

Plus en détail

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

Java ME : une présentation. Jean-Marc Farinone Java ME : une présentation Jean-Marc Farinone 1 But de l exposé Comprendre, définir, situer les termes : Java ME, J2ME, CDC, CLDC, Configuration, Profiles, MIDP (1.0, 2.0), DoJa, MIDlet, jad, etc. Donner

Plus en détail

Middleware pour Software Radio

Middleware pour Software Radio Middleware pour Software Radio 1 Middleware pour Software Radio systèmes d'exploitation spécifiques aux fournisseurs d équippement standards : Symbian Windows Pocket PC 2 Middleware pour Software Radio

Plus en détail

NFA022 : Programmation des smart-phones et tablettes tactiles

NFA022 : Programmation des smart-phones et tablettes tactiles NFA022 : Programmation des smart-phones et tablettes tactiles Jean-Ferdy Susini! Maître de Conférences - CNAM! Département Informatique Paris, 09/06/2014 Objectifs:! Structure du certificat CP48 Former

Plus en détail

Tic Tac Toe. J2ME Bluetooth. Projet LO52. Rapport de projet Béatrice Frey et Cyril Crassin Printemps 2005

Tic Tac Toe. J2ME Bluetooth. Projet LO52. Rapport de projet Béatrice Frey et Cyril Crassin Printemps 2005 Rapport de projet LO52 Béatrice Frey et Cyril Crassin Printemps 2005 Projet LO52 Tic Tac Toe J2ME Bluetooth Université de Technologie de Belfort-Montbéliard GI04 Sommaire Introduction...2 1. La plateforme

Plus en détail

Présentation de la plate-forme J2ME / Java ME

Présentation de la plate-forme J2ME / Java ME Présentation de la plate-forme J2ME / Java ME J2ME est la plate-forme Java pour développer des applications sur des appareils mobiles tels que des PDA, des téléphones cellulaires, des terminaux de points

Plus en détail

J2ME. Développement «Hello World» is back. Formation ITIN 19/03/2007

J2ME. Développement «Hello World» is back. Formation ITIN 19/03/2007 J2ME Développement «Hello World» is back Cycle de création d une MIDlet (1) Conception (2) Réalisation / Écriture du code (3) Compilation (4) Pré vérification (5) Construction du package (6) Test (7) Déploiement

Plus en détail

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

Java ME : une présentation. Jean-Marc Farinone Java ME : une présentation Jean-Marc Farinone 1 But de l exposé Comprendre, définir, situer les termes : Java ME, J2ME, CDC, CLDC, Configuration, Profiles, MIDP (1.0, 2.0), DoJa, MIDlet, jad, etc. Donner

Plus en détail

Manuel d installation de l application Dimona New via SMS

Manuel d installation de l application Dimona New via SMS Manuel d installation de l application Dimona New via SMS Manuel d installation de l application Dimona New via SMS Grâce aux informations contenues dans ce manuel, vous pouvez configurer votre GSM de

Plus en détail

La technologie Java Card TM

La technologie Java Card TM Présentation interne au CESTI La technologie Java Card TM sauveron@labri.u-bordeaux.fr http://dept-info.labri.u-bordeaux.fr/~sauveron 8 novembre 2002 Plan Qu est ce que Java Card? Historique Les avantages

Plus en détail

Machine virtuelle Java pour Palm TX

Machine virtuelle Java pour Palm TX Machine virtuelle Java pour Palm TX Sommaire 1. Présentation de la machine virtuelle d IBM...1 2. Installation sur le Palm TX...2 2.1. Téléchargement...2 2.2. Installation...2 2.3. Application de test...2

Plus en détail

Programmation sur PDA Techniques & Concepts. Paul Guyot - ECE - Systèmes Embarqués (25/11/02)

Programmation sur PDA Techniques & Concepts. Paul Guyot - ECE - Systèmes Embarqués (25/11/02) Programmation sur PDA Techniques & Concepts Paul Guyot - ECE - Systèmes Embarqués (25/11/02) 1 Introduction 2 Introduction (1) De la particularités des PDA Echelle, économie d énergie, données À la particularité

Plus en détail

J2ME. Développement «Hello World» is back. Formation ITIN / Université de Cergy-Pontoise 10/11/2006

J2ME. Développement «Hello World» is back. Formation ITIN / Université de Cergy-Pontoise 10/11/2006 J2ME Développement «Hello World» is back Formation ITIN / Université de Cergy-Pontoise Cycle de création d une MIDlet (1) Conception (2) Réalisation / Écriture du code (3) Compilation (4) Pré vérification

Plus en détail

Ma première Application Mobile Java ME

Ma première Application Mobile Java ME Groupe Entreprenant et Innovateur «Atipax Inti» France Tutoriel 3 Ma première Application Mobile Java ME Cours Programmation Mobile Coach Arón HERRERA PONTE E-mail teaching@atipaxinti.com - 2011 - SOMMAIRE

Plus en détail

d applications embarquées en environnement Java Card TM

d applications embarquées en environnement Java Card TM Mémoire de DEA sous la direction de Serge Chaumette Sécurité et vérification d applications embarquées en environnement Java Card TM sauveron@labri.u-bordeaux.fr http://dept-info.labri.u-bordeaux.fr/~sauveron

Plus en détail

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation

Plus en détail

Livre blanc de J2ME. La mobilité pour tous avec J2ME... Net Innovations. L architecte des e-solutions de nouvel âge. Présentation.

Livre blanc de J2ME. La mobilité pour tous avec J2ME... Net Innovations. L architecte des e-solutions de nouvel âge. Présentation. 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

Plus en détail

Vulgarisation Java EE Java EE, c est quoi?

Vulgarisation Java EE Java EE, c est quoi? Paris, le 1 Février 2012 Vulgarisation Java EE Java EE, c est quoi? Sommaire Qu est ce que Java? Types d applications Java Environnements Java Versions de Java Java EE, c est quoi finalement? Standards

Plus en détail

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet TP Composants Java ME - Java EE Vous allez, dans ce TP, construire une architecture client serveur, plus précisément MIDlet cliente, servlet serveur. Pour cela, on va d'abord installer la partie serveur

Plus en détail

Applica'ons mobiles. Par'e 1. Introduc'on JavaME

Applica'ons mobiles. Par'e 1. Introduc'on JavaME Applica'ons mobiles Par'e 1 Introduc'on JavaME Contexte : systèmes mobiles et embarqués Téléphone mobile Assistant Personnel Livre électronique Appareil photo Console de jeu Terminal de paiement Cartes

Plus en détail

3. Java 2 Micro Edition (J2ME) Développement d'applications mobiles

3. Java 2 Micro Edition (J2ME) Développement d'applications mobiles JDBC - Servlet - JSP IvMad - 2011 47 3. Java 2 Micro Edition (J2ME) Développement d'applications mobiles JDBC - Servlet - JSP IvMad - 2011 48 J2ME - Java 2 Micro Edition J2ME définit deux grandes familles

Plus en détail

Processeur JAP. Le langage JAVA

Processeur JAP. Le langage JAVA Processeur JAP Ce document présente les dernières nouveautés concernant le processeur JAVA de la société AED. Il commence par un rappel sur les caractéristiques du processeur actuel, puis présente les

Plus en détail

MultiMédia Mobile Rémi Cozot

MultiMédia Mobile Rémi Cozot 1 MultiMédia Mobile Rémi Cozot cozot@irisa.fr Plan du Cours 1. Introduction : le marché du multimédia sur mobile Offre multimédia sur mobiles évolution du marché multimédia mobile Les acteurs : Studio,

Plus en détail

Institut National Des Télécommunications d Evry

Institut National Des Télécommunications d Evry Institut National Des Télécommunications d Evry Option ASR Année scolaire : 2004/2005 Rapport du projet de fin d études : Adaptation multi-réseaux pour applications Mobiles Réalisé par : Anis Damak Yosra

Plus en détail

PRESENTATION DE JAVA. Qu est-ce que java? Les caractéristiques du langage java Les outils Les API Références. Software Associates International

PRESENTATION DE JAVA. Qu est-ce que java? Les caractéristiques du langage java Les outils Les API Références. Software Associates International PRESENTATION DE JAVA Qu est-ce que java? Les caractéristiques du langage java Les outils Les API Références 1 Qu est-ce que java? Un langage de programmation orienté objets Une architecture de Virtual

Plus en détail

Cours sur J2ME. Net Innovations

Cours sur J2ME. Net Innovations Cours sur J2ME Net Innovations Avril 2006 SOMMAIRE Présentation générale du marché Présentation des contraintes de développement L API J2ME Préambule 2001 Bruno Delb crée Net Innovations 2001 Conviction

Plus en détail

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

Plate formes mobiles. Utilisation. Contexte 9/29/2010 IFC 2. Deux utilisations assez distinctes : Plate formes mobiles IFC 2 Markus Jaton Utilisation Deux utilisations assez distinctes : Téléphones évolués (Nokia, Motorola) Smartphones (Apple,, Windows) La téléphonie est en stagnation, alors que les

Plus en détail

Wireless Application Protocol Principes et Architecture

Wireless Application Protocol Principes et Architecture Wireless Application Protocol Principes et Architecture EFORT http://www.efort.com 1 Introduction L accès aux applications Internet par un terminal mobile requiert une attention particulière car il existe

Plus en détail

La carte à puce. Jean-Philippe Babau

La carte à puce. Jean-Philippe Babau La carte à puce Jean-Philippe Babau Département Informatique INSA Lyon Certains éléments de cette présentation sont issus de documents Gemplus Research Group 1 Introduction Carte à puce de plus en plus

Plus en détail

La carte à puce multi-applicative

La carte à puce multi-applicative Les nouveaux enjeux de la Carte à puce Sécurisation des technologies multi-applicatives embarquées pour l utilisation élargie de la carte à puce La carte à puce multi-applicative et sa sécurité sauveron@labri.fr

Plus en détail

Programmation Android I. Introduction. Cours Android - F. Michel 1 / 57

Programmation Android I. Introduction. Cours Android - F. Michel 1 / 57 Programmation Android I. Introduction 1 / 57 Plan 1 Introduction 2 La plate-forme Android 3 Programmation Android 4 Hello World 2 / 57 Introduction Application mobile wikipédia Caractéristiques Cible :

Plus en détail

Déploiement d applications Java ME

Déploiement d applications Java ME Déploiement d applications Java ME Master MATIS Management and Technology of Information Systems Master en Technologie des Systèmes d Information Hikari WATANABE & Dejan MUNJIN, Juin 2007 Département des

Plus en détail

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web PROGRAMMATION PUBLIC Professionnels informatiques qui souhaitent développer des applications et «applets» Java DUREE 4 jours 28 heures OBJECTIF Créer divers «applets» à intégrer dans un site Web dynamique,

Plus en détail

Le Langage Java et le Monde des Objets

Le Langage Java et le Monde des Objets . p.1 Le Langage Java et le Monde des Objets Les principes de la modélisation Orientée Objet. Qu est-ce qu une classe?. Les types de base. Utiliser les classes. Les tentacules de Java. . p.2 Bibliographie

Plus en détail

Introduction au langage Java

Introduction au langage Java Introduction au langage Java 1 / 24 1 Vue générale La technologie Java Le langage Java La machine virtuelle Java Résumé Plan 2 Hello World Prérequis Premier programme : 3 étapes Résumé 3 HelloWorld en

Plus en détail

Les architectures N-tiers

Les architectures N-tiers Les architectures N-tiers 1 SOMMAIRE DU COURS XML ET LES ARCHITECTURES N-TIER Introduction aux architectures N-tier Serveurs d applications Déploiement d applications J2EE Tiers applicatif : servlets Tiers

Plus en détail

Chap. III : Le système d exploitation

Chap. III : Le système d exploitation UMR 7030 - Université Paris 13 - Institut Galilée Cours Architecture et Système Le système d exploitation (ou O.S. de l anglais Operating System ) d un ordinateur est le programme qui permet d accéder

Plus en détail

Système d exploitation

Système d exploitation Chapitre 2 Système d exploitation 2.1 Définition et rôle Un ordinateur serait bien difficile à utiliser sans interface entre le matériel et l utilisateur. Une machine peut exécuter des programmes, mais

Plus en détail

Démarrer. Agenda. Constats et enjeux Terminaux Mobiles Architecture Étude de cas

Démarrer. Agenda. Constats et enjeux Terminaux Mobiles Architecture Étude de cas Démarrer La Mobilité David Hernie Division Mobilité Entreprises EZOS s.a. Juin 2006 Nouveau Contacts Agenda Constats et enjeux Terminaux Mobiles Architecture Étude de cas 1 Problématique Renouvellement

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Java pour le Web. Cours Java - F. Michel

Java pour le Web. Cours Java - F. Michel Java pour le Web Cours Java - F. Michel Introduction à JEE 6 (ex J2EE) Historique Qu'est-ce que JEE JEE : Java Entreprise Edition (ex J2EE) 1. Une technologie outils liés au langage Java + des spécifications

Plus en détail

Tsoft et Groupe Eyrolles, 2005, ISBN : 2-212-11623-3

Tsoft et Groupe Eyrolles, 2005, ISBN : 2-212-11623-3 Tsoft et Groupe Eyrolles, 2005, ISBN : 2-212-11623-3 Configuration requise ForestPrep DomainPrep Installation interactive 5 Installation sans surveillance Module 5 : Installation d Exchange Server 2003

Plus en détail

1 sur 16 03/12/2011 20:30

1 sur 16 03/12/2011 20:30 1 sur 16 03/12/2011 20:30 v 0.80 Copyright (C) 2003-2007 Jean-Michel DOUDOUX Le but de ce plug-in est de permettre le développement d'applications J2ME reposant sur MIDP en utilisant un Wireless Toolkit.

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations

Plus en détail

Windows 2008 server -Introduction-

Windows 2008 server -Introduction- Windows 2008 server -Introduction- Rappel sur les systèmes d exploitation Un système d exploitation (Operating System) est un ensemble de programmes responsables de la liaison entre les ressources matérielles

Plus en détail

Au cœur de l e-business. IBM 4690 Operating System Version 2 Release 3

Au cœur de l e-business. IBM 4690 Operating System Version 2 Release 3 Au cœur de l e-business IBM 4690 Operating System Version 2 Release 3 Généralités Nouveautés de la R3 Support de la gamme IBM SurePOS 700 avec technologie USB Disponibilité d un navigateur Web Java pour

Plus en détail

Un environnement de développement pour des composants logiciels 3D pour mobiles. Mémoire d ingénieur C.N.A.M Philippe Galtier.

Un environnement de développement pour des composants logiciels 3D pour mobiles. Mémoire d ingénieur C.N.A.M Philippe Galtier. Un environnement de développement pour des composants logiciels 3D pour mobiles Mémoire d ingénieur C.N.A.M Philippe Galtier Novembre 2008 Plan Les JavaBeans La bibliothèque Java 3D Java Micro Edition

Plus en détail

Développement J2EE. avec Eclipse. et WSAD. Karim Djaafar. Olivier Salvatori. avec la contribution de. Groupe Eyrolles, 2003, ISBN 2-212-11285-8

Développement J2EE. avec Eclipse. et WSAD. Karim Djaafar. Olivier Salvatori. avec la contribution de. Groupe Eyrolles, 2003, ISBN 2-212-11285-8 Développement J2EE avec Eclipse et WSAD Karim Djaafar avec la contribution de Olivier Salvatori Groupe Eyrolles, 2003, ISBN 2-212-11285-8 La plate-forme de développement Eclipse CHAPITRE 5 147 Les vues

Plus en détail

Introduction à UNIX et Windows

Introduction à UNIX et Windows 1/39 à UNIX et Windows Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F-93017 Bobigny

Plus en détail

Introduction. 1. Pourquoi utiliser un outil multiplateforme pour la programmation mobile?

Introduction. 1. Pourquoi utiliser un outil multiplateforme pour la programmation mobile? Introduction 1. Pourquoi utiliser un outil multiplateforme pour la programmation mobile? Depuis la sortie de l iphone, les smartphones sont devenus des ordinateurs à part entière. Et même si avant leur

Plus en détail

Notice d Installation et d utilisation d une liaison Bluetooth avec un PDA ipaq.

Notice d Installation et d utilisation d une liaison Bluetooth avec un PDA ipaq. Constructeur Français Notice d Installation et d utilisation d une liaison Bluetooth avec un PDA ipaq..1 Installation de l environnement d exécution du PPC... 2 Caractéristiques pour PDA :... 2 Installation

Plus en détail

Structure en couches des systèmes informatiques

Structure en couches des systèmes informatiques Structure en couches des systèmes informatiques Vue simplifiée d un système informatique Ce que le simple utilisateur perçoit «à première vue» d un système informatique : Le boîtier (tour, desktop ou portable)

Plus en détail

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 7 : RMI

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 7 : RMI iut ORSAY DUT Informatique Département Informatique 2008 / 2009 Travaux Pratiques n o 7 : RMI Nom(s) : Groupe : Date : Objectifs : savoir créer des applications client-serveur mettant en jeu des machines

Plus en détail

Architecture technique des PGI

Architecture technique des PGI Architecture technique des PGI Description du thème Propriétés Description Intitulé long Formation concernée Matière Présentation Notions Transversalité Pré-requis Outils Mots-clés Durée Auteur(es) Version

Plus en détail

as Architecture des Systèmes d Information

as Architecture des Systèmes d Information Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes

Plus en détail

Annexe : La Programmation Informatique

Annexe : La Programmation Informatique GLOSSAIRE Table des matières La Programmation...2 Les langages de programmation...2 Java...2 La programmation orientée objet...2 Classe et Objet...3 API et Bibliothèque Logicielle...3 Environnement de

Plus en détail

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 42

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 42 Java et Objet Amélie Lambert 2014-2015 Amélie Lambert 2014-2015 1 / 42 Chapitre 8 Développement d applications Web Amélie Lambert 2014-2015 2 / 42 Plan du cours Typologie des applications Web Architecture

Plus en détail

Encadré par : Michel SIMATIC

Encadré par : Michel SIMATIC Réalisé Par : Nizar BEN AYADA Ahmed GHZAIEL Encadré par : Michel SIMATIC I. PRESENTATION DU PROJET II. PRESENTATION DU MIDDLEWARE GASP 1- PRESENTATION GENERALE : 2- NECESSITE DES INTERGICIELS DANS LE MONDE

Plus en détail

PPOOGL. Florent de Dinechin. Java pour les nuls

PPOOGL. Florent de Dinechin. Java pour les nuls PPOOGL Florent de Dinechin Java pour les nuls Java en 30 minutes Introduction Grands principes Pour en finir avec l organisation Types de base et objets Le reste est dans le manuel PPOOGL 1 Introduction

Plus en détail

Programmation d'applications sur PDA

Programmation d'applications sur PDA Programmation d'applications sur PDA l'exemple de Waba Paul Guyot - ECE - Systèmes Embarqués (14/12/01) 1 Introduction 2 Introduction Généralisation des PDAs Utilisation spécifique des PDAs Projet originel

Plus en détail

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

SugarCubes. Jean-Ferdinand Susini Maître de Conférences, CNAM Chaire systèmes enfouis et embarqués. Paris, le 9 janvier, 2009 SugarCubes Jean-Ferdinand Susini Maître de Conférences, CNAM Chaire systèmes enfouis et embarqués Paris, le 9 janvier, 2009 Plan 2 Les SugarCubes au dessus de J2ME Quelques résultats expérimentaux Les

Plus en détail

Projet de Veille Technologique

Projet de Veille Technologique Projet de Veille Technologique Programmation carte à puce - JavaCard Ing. MZOUGHI Ines (i.mzoughi@gmail.com) Dr. MAHMOUDI Ramzi (mahmoudr@esiee.fr) TEST Sommaire Programmation JavaCard Les prérequis...

Plus en détail

Objectifs. Maîtriser. Pratiquer

Objectifs. Maîtriser. Pratiquer 1 Bases de Données Objectifs Maîtriser les concepts d un SGBD relationnel Les modèles de représentations de données Les modèles de représentations de données La conception d une base de données Pratiquer

Plus en détail

LES OUTILS DE LA MOBILITE

LES OUTILS DE LA MOBILITE L évolution du marché des assistants personnels, ainsi que la baisse des prix, permettent désormais à un plus grand nombre d entreprises de s équiper avec des outils technologiques performants. Avec l

Plus en détail

Cours 3 : The Dalvik VM Specification. Damien MASSON d.masson@esiee.fr

Cours 3 : The Dalvik VM Specification. Damien MASSON d.masson@esiee.fr Androïd Cours 3 : The Dalvik VM Specification Damien MASSON d.masson@esiee.fr http://igm.univ-mlv.fr/~masson/teaching/android/ 1 er mars 2011 Buts du cours et Références Buts : Pourquoi Google n a pas

Plus en détail

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

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme 1 2 c est quoi? Technologie développée par SUN Microsystems lancée en 1995 Dans un des premiers papiers* sur le langage JAVA, SUN le décrit

Plus en détail

Éléments de programmation et introduction à Java

Éléments de programmation et introduction à Java Éléments de programmation et introduction à Java Jean-Baptiste Vioix (jean-baptiste.vioix@iut-dijon.u-bourgogne.fr) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-20 Les différents langages informatiques

Plus en détail

1 Le vocabulaire de l informatique

1 Le vocabulaire de l informatique 1 Le vocabulaire de l informatique I Les systèmes informatiques Les ordinateurs sont omniprésents dans notre environnement quotidien. Conçus pour traiter de manière générale des informations, ils ne se

Plus en détail

IP67 IP20. Automates Ouverts Flexibles Compacts. SPEEDWAY Coupleurs de bus terrain. programmables. Contrôleurs de bus de terrain.

IP67 IP20. Automates Ouverts Flexibles Compacts. SPEEDWAY Coupleurs de bus terrain. programmables. Contrôleurs de bus de terrain. Automates WAGO Automates Ouverts Flexibles Compacts Les automates WAGO, programmables selon la norme CEI 61131-3, sont adaptés à de nombreuses tâches d automatisme, et offrent tous les avantages d un API

Plus en détail

Joomla : un système de gestion de contenu

Joomla : un système de gestion de contenu CHAPITRE 2 Joomla : un système de gestion de contenu Si SGC est l abréviation française pour système de gestion de contenu, l abréviation CMS de l anglais Content Management System est le terme le plus

Plus en détail

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation C. Apprendre à développer des programmes simples dans le langage C Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités

Plus en détail

Android, introduction

Android, introduction Android, introduction Sébastien Jean IUT de Valence Département Informatique v1.1, 7 novembre 2012 Android en bref Android est un système d exploitation développé depuis 2003, apparu officiellement en

Plus en détail

Partie 2.2: Servlet et Tomcat

Partie 2.2: Servlet et Tomcat Partie 2.2: Servlet et Tomcat 1 Plan du cours Servlets Présentation Exemple 2 Plan du cours Tomcat Des servlets à Tomcat: pourquoi Tomcat? Architecture Tomcat Installation et configuration de Tomcat Configuration

Plus en détail

Plan. Le multimédia embarqué: Généralités (1/2) Les systèmes embarqués. Systèmes embarqués. Android. Programmer sous Android

Plan. Le multimédia embarqué: Généralités (1/2) Les systèmes embarqués. Systèmes embarqués. Android. Programmer sous Android Le multimédia embarqué: Laurent Bonnet Fabien Devos Manuel Garnier Pierre Viau SFFS -2 décembre 2008 Encadrant : Marie-Jo Pedrono Systèmes embarqués Généralités Plan L embarquémultimédia Les smartphones

Plus en détail

Les formations. Développeur Logiciel. ENI Ecole Informatique

Les formations. Développeur Logiciel. ENI Ecole Informatique page 1/8 Titre professionnel : Inscrit au RNCP de Niveau III (Bac + 2) (J.O. du 19/02/13) 24 semaines + 8 semaines de stage (uniquement en formation continue) Développer une application orientée objet

Plus en détail

NFS Maestro 8.0. Nouvelles fonctionnalités

NFS Maestro 8.0. Nouvelles fonctionnalités NFS Maestro 8.0 Nouvelles fonctionnalités Copyright Hummingbird 2002 Page 1 of 10 Sommaire Sommaire... 2 Généralités... 3 Conformité à la section 508 de la Rehabilitation Act des Etats-Unis... 3 Certification

Plus en détail

VMware ESX/ESXi. 1. Les composants d ESX. VMware ESX4 est le cœur de l infrastructure vsphere 4.

VMware ESX/ESXi. 1. Les composants d ESX. VMware ESX4 est le cœur de l infrastructure vsphere 4. VMware ESX/ESXi 1. Les composants d ESX VMware ESX4 est le cœur de l infrastructure vsphere 4. C est un hyperviseur, c est à dire une couche de virtualisation qui permet de faire tourner plusieurs systèmes

Plus en détail

Guide Nokia 9300. Guide utilisateur ENTREPRISES. www.sfr.fr rubrique Entreprises

Guide Nokia 9300. Guide utilisateur ENTREPRISES. www.sfr.fr rubrique Entreprises Guide Nokia 9300 Guide utilisateur ENTREPRISES www.sfr.fr rubrique Entreprises Table des matières Prise en main 2 Démarrage Touches 3 Touches et navigation Appels vocaux 4/5 Effectuer et répondre à un

Plus en détail

Introduction à JAVA. Philippe Roose (IUT Bayonne) Olivier Dedieu (INRIA)

Introduction à JAVA. Philippe Roose (IUT Bayonne) Olivier Dedieu (INRIA) Introduction à JAVA Philippe Roose (IUT Bayonne) Olivier Dedieu (INRIA) Mais JAVA c est quoi? Langage OO Exécuté dans une Machine Virtuelle Possède un ensemble complet d API (réseau, graphique, sécurité,

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 38 NFP111 Systèmes et Applications Réparties Cours 11 - Les Enterprise Java Beans (Introduction aux Enterprise Claude Duvallet Université du Havre UFR Sciences

Plus en détail

Environnement informatique

Environnement informatique Environnement informatique 1.L'ordinateur personnel Un ordinateur est une machine faite de matériel et de logiciel. D'un côté, le matériel (hardware) est constitué par la partie de la machine que l'on

Plus en détail

Exceed 8.0. Nouvelles fonctionnalités

Exceed 8.0. Nouvelles fonctionnalités Exceed 8.0 Nouvelles fonctionnalités Copyright Hummingbird 2002 Page 1 of 9 Sommaire Sommaire... 2 Généralités... 3 Conformité à la section 508 de la Rehabilitation Act des Etats-Unis... 3 Certification

Plus en détail

Introduction. La famille Windows Server 2008

Introduction. La famille Windows Server 2008 Introduction «Pour améliorer il faut changer ; pour obtenir la perfection, il faut changer souvent» Winston Churchill. Le changement est inévitable, constant et indispensable. Que vous soyez ou non de

Plus en détail

QUELQUES CONCEPTS INTRODUCTIFS

QUELQUES CONCEPTS INTRODUCTIFS ESIEE Unité d'informatique IN101 Albin Morelle (et Denis Bureau) QUELQUES CONCEPTS INTRODUCTIFS 1- ARCHITECTURE ET FONCTIONNEMENT D UN ORDINATEUR Processeur Mémoire centrale Clavier Unité d échange BUS

Plus en détail

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige. : JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL

Plus en détail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types

Plus en détail

Programmation Orientée Objet avec JAVA

Programmation Orientée Objet avec JAVA Programmation Orientée Objet avec JAVA Présenté par Abdoul Aziz Ciss Docteur en Cryptologie, Consultant ITSec Dept GIT EPT Email: aaciss@ept.sn Web : www.alekciss.com Tel: 77 451 92 95 Plan 1. Introduction

Plus en détail

Remote Method Invocation (RMI)

Remote Method Invocation (RMI) Remote Method Invocation (RMI) TP Réseau Université Paul Sabatier Master Informatique 1 ère Année Année 2006/2007 Plan Objectifs et Inconvénients de RMI Fonctionnement Définitions Architecture et principe

Plus en détail

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

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki Institut Supérieur de Gestion Cours pour 3 ème LFIG Java Enterprise Edition Introduction Bayoudhi Chaouki 1 Java EE - Objectifs Faciliter le développement de nouvelles applications à base de composants

Plus en détail

! " # $ % & OPN Day Paris 14 mars 2006

!  # $ % & OPN Day Paris 14 mars 2006 '! " # $ % & L information en entreprise X2/an 40% 70% X5 Quelques chiffres! "# $ % &' )# $ * +*!% &' ' (! La voie de la Collaboration Solutions différentiées Plateforme intégrée Email & Calendrier Portails

Plus en détail

Sécurité informatique

Sécurité informatique Sécurité informatique Université Kasdi Merbah Ouargla Département Mathématique et informatique Les packages crypto en C/C++ et en Java Master informatique industrielle Mai 2013 Master informatique industrielle

Plus en détail

Java VM et Bluetooth. Lanteri Isabelle Cnam 2008-2009

Java VM et Bluetooth. Lanteri Isabelle Cnam 2008-2009 Java VM et Bluetooth Lanteri Isabelle Cnam 2008-2009 Objectifs Visualiser sur un téléphone portable à l'aide de la technologie Bluetooth et de JMX (Java Management Extension) l'état des machines virtuelles

Plus en détail

CA Server Automation. Vue d ensemble. Avantages. agility made possible

CA Server Automation. Vue d ensemble. Avantages. agility made possible FICHE PRODUIT : CA Server Automation CA Server Automation agility made possible La solution intégrée CA Server Automation permet d automatiser le provisioning, la correction et la configuration des composants

Plus en détail

JAVA Première approche

JAVA Première approche Année 2008-2009 JAVA Première approche Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed.fr 1 Qu'est ce que Java? C'est le nom d'une technologie mise au point

Plus en détail

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

Perspectives pour l entreprise. Desktop Cloud. JC Devos IBM IT Architect jdevos@fr.ibm.com. 2010 IBM Corporation Perspectives pour l entreprise Desktop Cloud JC Devos IBM IT Architect jdevos@fr.ibm.com Principe technique Disposer d un poste de travail virtuel accessible par la plupart des terminaux disponibles Ce

Plus en détail

Initiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr

Initiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr Initiation à JAVA et à la programmation objet raphael.bolze@ens-lyon.fr O b j e c t i f s Découvrir un langage de programmation objet. Découvrir l'environnement java Découvrir les concepts de la programmation

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

Introduction Windows Mobile

Introduction Windows Mobile Introduction Windows Mobile 2 Introduction Windows Mobile 14/01/09 Sommaire 1 Général... 3 1.1 Le système d exploitation Windows Mobile... 3 1.2 Les Smartphones et les Personal Digital Assistants... 3

Plus en détail