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]

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

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

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

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

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

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

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

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

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

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

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

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

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

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), MIDlet, jad, etc. Donner des

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

APPLICATIONS JAVA. 3. Java 2 Micro Edition (J2ME) Développement d'applications mobiles Mobile Information Device Profile (MIDP) J2ME - MIDlet

APPLICATIONS JAVA. 3. Java 2 Micro Edition (J2ME) Développement d'applications mobiles Mobile Information Device Profile (MIDP) J2ME - MIDlet APPLICATIONS JAVA J2ME - MIDlet Java 2 Micro Edition - MIDlet IvMad - 2011, 2012 2 3. Java 2 Micro Edition (J2ME) Développement d'applications mobiles Mobile Information Device Profile (MIDP) Java 2 Micro

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

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

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

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

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

! " # $ % & 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

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

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

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

Une tasse de café fumante est

Une tasse de café fumante est INFORMATIQUE La technologie Java est prête à embarquer Java est une technologie de programmation puissante et fiable. Elle est omniprésente sur Internet, dans la téléphonie mobile et sur la plupart des

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

Administration de systèmes

Administration de systèmes Administration de systèmes Windows NT.2000.XP.2003 Copyright IDEC 2002-2004. Reproduction interdite. Sommaire... 2 Eléments logiques et physiques du réseau... 5 Annuaire et domaine... 6 Les utilisateurs

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

Environnements de développement

Environnements de développement 4 Environnements de développement Au sommaire de ce chapitre UU Mettre en place un environnement de développement UU Environnement de production Contrairement au développement web de bureau, dans lequel

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

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

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

É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

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

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

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

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

MMSCam. Travail de diplôme 2003. Pilotage à distance d un téléphone MMS. Département d électricité et d informatique. Auteur : Jeanmonod David MMSCam Pilotage à distance d un téléphone MMS Auteur : Jeanmonod David Répondant externe : Cecchin Gianpaolo Prof. Responsable : Robert Stephan Sujet proposé par : Swisscom Mobile Travail de diplôme 2003

Plus en détail

INITIATION AU LANGAGE JAVA

INITIATION AU LANGAGE JAVA INITIATION AU LANGAGE JAVA I. Présentation 1.1 Historique : Au début des années 90, Sun travaillait sur un projet visant à concevoir des logiciels simples et performants exécutés dans des PDA (Personnal

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

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

Les tablettes. Présentation tablettes Descriptif Fournisseurs Caractéristiques Comparatifs Conseils Perspectives Démonstration

Les tablettes. Présentation tablettes Descriptif Fournisseurs Caractéristiques Comparatifs Conseils Perspectives Démonstration Les Tablettes Les tablettes Présentation tablettes Descriptif Fournisseurs Caractéristiques Comparatifs Conseils Perspectives Démonstration Les tablettes Description: Appareil mobile positionné entre smartphone

Plus en détail

Guide de l utilisateur pour Firefox 4 Mobile. Contact us: press@mozilla.com

Guide de l utilisateur pour Firefox 4 Mobile. Contact us: press@mozilla.com Guide de l utilisateur pour Firefox 4 Contact us: press@mozilla.com Sommaire À propos de Mozilla 1 Lancez-vous! 2 Tapez Moins, Surfez Plus! 3 Emportez votre Firefox partout avec vous 5 Personnalisez votre

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

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

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

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

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

EA D S INNOVA TION W ORKS. Mobilité et sécurité. Nicolas RUFF nicolas.ruff [à] eads.net Mobilité et sécurité Nicolas RUFF nicolas.ruff [à] eads.net Plan Introduction Attaques : pourquoi, comment Moyens technologiques Conclusion Introduction Mobilité : la nouvelle frontière Explosion du marché

Plus en détail

IBM Lotus Instant Messaging and Web Conferencing 6.5.1

IBM Lotus Instant Messaging and Web Conferencing 6.5.1 Un accès instantané et à tout moment aux personnes et aux informations IBM Lotus Instant Messaging and Web Conferencing 6.5.1 Optimise le travail collaboratif et l interaction humaine en proposant de nouveaux

Plus en détail

Installation de NetBeans 5.5 + Packs

Installation de NetBeans 5.5 + Packs Sommaire Installation de NetBeans 5.5 + Packs 1. Installation du JDK... 2 2. Installation de NetBeans 5.5... 2 3. Installation de NetBeans Mobility Pack... 2 4. A propos de J2ME Wireless Toolkit (optionnel)...

Plus en détail

Application Java pour terminal mobile utilisant le protocole Bluetooth

Application Java pour terminal mobile utilisant le protocole Bluetooth Application Java pour terminal mobile utilisant le protocole Bluetooth Travail de diplôme réalisé en vue de l obtention du diplôme HES par : David Cautillo Conseiller au travail de diplôme : M. Peter Daehne,

Plus en détail

Linux embarqué: une alternative à Windows CE?

Linux embarqué: une alternative à Windows CE? embarqué: une alternative à Windows CE? : une alternative à Windows CE Présentation Mangrove Systems Distribution embarqué Perspective WinCe / Questions Mangrove systems Créé en 2001 Soutien Soutien Ministère

Plus en détail

Rapport de certification

Rapport de certification Rapport de certification Évaluation EAL 2+ du produit de Préparé par : Le Centre de la sécurité des télécommunications, à titre d organisme de certification dans le cadre du Schéma canadien d évaluation

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

Institut de la Francophonie pour l Informatique École Nationale Supérieure des Télécommunications de Bretagne

Institut de la Francophonie pour l Informatique École Nationale Supérieure des Télécommunications de Bretagne Institut de la Francophonie pour l Informatique École Nationale Supérieure des Télécommunications de Bretagne MÉMOIRE DE FIN D ÉTUDES MASTER D INFORMATIQUE Architecture des systèmes de déploiement pour

Plus en détail

OSGi et la téléphonie mobile Séminaire INTech Jeudi 2 février. André Bottaro Ingénieur R&D France Telecom Meylan

OSGi et la téléphonie mobile Séminaire INTech Jeudi 2 février. André Bottaro Ingénieur R&D France Telecom Meylan OSGi et la téléphonie mobile Séminaire INTech Jeudi 2 février André Bottaro Ingénieur R&D France Telecom Meylan Plan Marché des téléphones mobiles Chiffres Téléchargements Java Les difficultés techniques

Plus en détail

Windows 7 - Installation du client

Windows 7 - Installation du client Windows 7 - Installation du client 1 - Présentation Windows 7 est un système d exploitation client basé sur le noyau NT 6.1, disponible en six versions, commercialisé depuis octobre 2009. Résumé des fonctionnalités

Plus en détail

Data Station Plus. La solution complète de gestion de données. > Convertisseur de multiples

Data Station Plus. La solution complète de gestion de données. > Convertisseur de multiples Data Station Plus La solution complète de gestion de données Convertisseur de multiples protocoles permettant une intégration système complet E nregistreur de données de process compatible avec les applications

Plus en détail

RN2-Programmation Orientée Objet - JAVA CH 1 Introduction à la POO et Java

RN2-Programmation Orientée Objet - JAVA CH 1 Introduction à la POO et Java RN2-Programmation Orientée Objet - JAVA CH 1 à la POO et Java Licence Professionnelle 2006 Agnès Guerraz INRIA Rhône-Alpes agnes.guerraz@inria.fr LP UPMF, Grenoble Septembre 2006 Ce cours reprend en grande

Plus en détail

Manuel de l utilisateur

Manuel de l utilisateur 1 Laplink Software, Inc. Manuel de l utilisateur Service clientèle/support technique : Web : http://www.laplink.com/fr/support E-mail : CustomerService@laplink.fr Tel (USA) : +1 (425) 952-6001 Fax (USA)

Plus en détail

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

Environnements de développement (intégrés) Environnements de développement (intégrés) Introduction aux EDI, la plateforme Eclipse Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure

Plus en détail

Java - la plateforme

Java - la plateforme Java - la plateforme Java la plateforme Java? VM GC JIT Java Aujourd'hui 3 environnements d'exécutions différents Java ME (Micro Edition) pour PDA, téléphone Android (Java SE moins certain paquetages)

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail

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

GenDbg : un débogueur générique. Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion GenDbg : un débogueur générique Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion 2008 Qui sommes nous? Centre d électronique de l Armement (CELAR) Maîtrise et protection

Plus en détail

Bases Java - Eclipse / Netbeans

Bases Java - Eclipse / Netbeans Institut Galilée PDJ Année 2014-2015 Master 1 Environnements Java T.P. 1 Bases Java - Eclipse / Netbeans Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement

Plus en détail

Aastra MD Evolution» Évoluer à vos côtés

Aastra MD Evolution» Évoluer à vos côtés Aastra MD Evolution» Évoluer à vos côtés Évoluer grâce à la communication En faire plus avec moins de moyens est un défi récurrent pour les petites entreprises. Vous devez pour cela améliorer constamment

Plus en détail

objectif : plan : Java, CORBA et RMI A. Le Grand,1997 1 JAVA, CORBA et RMI

objectif : plan : Java, CORBA et RMI A. Le Grand,1997 1 JAVA, CORBA et RMI JAVA, CORBA et RMI objectif : développer des applications client/serveur incluant des objets répartis Java / CORBA : client/serveur hétérogènes Java / RMI : client/serveur homogènes plan : l architecture

Plus en détail

Cours CCNA 1. Exercices

Cours CCNA 1. Exercices Cours CCNA 1 TD3 Exercices Exercice 1 Enumérez les sept étapes du processus consistant à convertir les communications de l utilisateur en données. 1. L utilisateur entre les données via une interface matérielle.

Plus en détail

la solution vidéo numérique qui offre une surveillance simple et puissante t: +44 (0)1202 723535 e: sales@tdsi.co.uk w: www.tdsi.co.

la solution vidéo numérique qui offre une surveillance simple et puissante t: +44 (0)1202 723535 e: sales@tdsi.co.uk w: www.tdsi.co. la solution vidéo numérique qui offre une surveillance simple et puissante t: +44 (0)1202 723535 e: sales@tdsi.co.uk w: www.tdsi.co.uk Sommaire 3 Qu est-ce que VUgarde? 4 Modules du système 5 Capacités

Plus en détail

ES Enterprise Solutions

ES Enterprise Solutions Strategic Media Technologies ES Enterprise Solutions Plateforme centralisée de collaboration en ligne www.dalim.com accès total au contenu indépendamment du lieu et fuseau horaire. N importe quand et n

Plus en détail

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

NFP 121. Java et les Threads. Présentation : Thierry Escalarasse Mai 2007 NFP 121 Java et les Threads Présentation : Thierry Escalarasse Mai 2007 Plan du cour Présentation de la notion de Threads La classe Thread L interface Runnable Les états d un thread La Synchronisation

Plus en détail

JACi400. Une suite logicielle complète pour la modernisation de vos applications System i

JACi400. Une suite logicielle complète pour la modernisation de vos applications System i Une suite logicielle complète pour la modernisation de vos applications System i JACi400 Conversion JACi400 Déploiement SystemObjects Europe 7 Rue Traversière 94573 Rungis Cedex France Tel: +33 (0) 1 41

Plus en détail

VMWare Infrastructure 3

VMWare Infrastructure 3 Ingénieurs 2000 Filière Informatique et réseaux Université de Marne-la-Vallée VMWare Infrastructure 3 Exposé système et nouvelles technologies réseau. Christophe KELLER Sommaire Sommaire... 2 Introduction...

Plus en détail

MITEL UNIFIED COMMUNICATOR ADVANCED

MITEL UNIFIED COMMUNICATOR ADVANCED MITEL UNIFIED COMMUNICATOR ADVANCED À propos d UC Advanced Mitel Unified Communicator (UC) Advanced est un produit de communication logiciel intégré avec les fonctions de gestion d'appels avancées de Mitel

Plus en détail

WINDOWS Remote Desktop & Application publishing facile!

WINDOWS Remote Desktop & Application publishing facile! Secure Cloud & Solutions Accès BOYD CLOUD acces informatiques & BYOD sécurisé MYRIAD-Connect facilite votre travail en tous lieux et à tous moments comme si vous étiez au bureau. Conçu pour vous simplifier

Plus en détail

SGDN. Projet: JAVASEC

SGDN. Projet: JAVASEC SGDN Projet: JAVASEC Type : rapport d étude Rapport d étude sur le langage Java Référence : JAVASEC_NTE_001 Nb pages : 227 Date : 14 octobre 2009 TABLE DES MATIÈRES 1 Introduction 8 1.1 Objet du document................................

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

Offres de stages Adeneo Embedded

Offres de stages Adeneo Embedded Offres de stages Adeneo Embedded Postes: Stages de fin d etude Société: Adeneo Embedded. Postes ouverts sur: Ecully (69), France Massy (91), France Type: Stages de 4 à 6 mois pour 1 à 2 étudiants Aperçu

Plus en détail

Surveillance Haute Performance

Surveillance Haute Performance Surveillance Haute Performance Prenez les commandes Pourquoi avez-vous besoin d Obelisk? Comment Obelisk fonctionne-t-il? Réduisez votre charge de travail administratif, améliorez vos niveaux de service

Plus en détail

SOA et Services Web. 23 octobre 2011. Evolution des Systèmes d Information

SOA et Services Web. 23 octobre 2011. Evolution des Systèmes d Information SOA et Services Web 23 octobre 2011 1 Evolution des Systèmes d Information 2 Qu est ce qu une application répartie? Il s agit d une application découpée en plusieurs unités Chaque unité peut être placée

Plus en détail

Java Licence Professionnelle CISII, 2009-2010

Java Licence Professionnelle CISII, 2009-2010 Licence Professionnelle CISII, 2009-2010 Cours 1 : Introduction à Java A. Belaïd abelaid@loria.fr Cours disponible sur le site : http://www.loria.fr/~abelaid puis Teaching 1 Fonctionnement 12 séances :

Plus en détail

Mobile OGSI.NET: Grid Computing on Mobile Devices

Mobile OGSI.NET: Grid Computing on Mobile Devices Mobile OGSI.NET: Grid Computing on Mobile Devices David C.Chu Université de Californie, Berkeley Marty Humphrey Université de Virginie Publié en Novembre 2004 lors de la 5ième conférence IEEE/ACM International

Plus en détail

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

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués International Journal of Engineering Research and Development e-issn: 2278-067X, p-issn: 2278-800X, www.ijerd.com Volume 7, Issue 5 (June 2013), PP.99-103 Solution A La Gestion Des Objets Java Pour Des

Plus en détail

LA RECONNAISSANCE VOCALE INTEGREE

LA RECONNAISSANCE VOCALE INTEGREE Fiche produit LA RECONNAISSANCE VOCALE INTEGREE 360 SpeechMagic SDK Capturer l information médicale grâce à la reconnaissance vocale DÉFI : Comment optimiser la création des comptes rendus et la capture

Plus en détail

Le stockage. 1. Architecture de stockage disponible. a. Stockage local ou centralisé. b. Différences entre les architectures

Le stockage. 1. Architecture de stockage disponible. a. Stockage local ou centralisé. b. Différences entre les architectures Le stockage 1. Architecture de stockage disponible a. Stockage local ou centralisé L architecture de stockage à mettre en place est déterminante pour l évolutivité et la performance de la solution. Cet

Plus en détail

CH.3 SYSTÈMES D'EXPLOITATION

CH.3 SYSTÈMES D'EXPLOITATION CH.3 SYSTÈMES D'EXPLOITATION 3.1 Un historique 3.2 Une vue générale 3.3 Les principaux aspects Info S4 ch3 1 3.1 Un historique Quatre générations. Préhistoire 1944 1950 ENIAC (1944) militaire : 20000 tubes,

Plus en détail

La plate forme VMware vsphere 4 utilise la puissance de la virtualisation pour transformer les infrastructures de Datacenters en Cloud Computing.

La plate forme VMware vsphere 4 utilise la puissance de la virtualisation pour transformer les infrastructures de Datacenters en Cloud Computing. vsphere 4 1. Présentation de vsphere 4 C est le nouveau nom de la plate forme de virtualisation de VMware. La plate forme VMware vsphere 4 utilise la puissance de la virtualisation pour transformer les

Plus en détail

Systèmes d acquisition - Partie "Java"

Systèmes d acquisition - Partie Java Systèmes d acquisition - Partie "Java" S. Reynal Automne 2015 Cette série de trois séances de TP Java a pour objectif de vous initier au développement rigoureux d applications, et en particulier d IHM,

Plus en détail

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7 Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

Plus en détail

FileMaker 8. Installation des pilotes clients ODBC et JDBC pour FileMaker 8

FileMaker 8. Installation des pilotes clients ODBC et JDBC pour FileMaker 8 FileMaker 8 Installation des pilotes clients ODBC et JDBC pour FileMaker 8 2004-2005 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054, Etats-Unis

Plus en détail

Bien choisir son smartphone. avec. Les prix bas, la confiance en plus

Bien choisir son smartphone. avec. Les prix bas, la confiance en plus Bien choisir son smartphone avec Les prix bas, la confiance en plus BIEN CHOISIR SON SMARTPHONE Comment bien choisir un Smartphone? Les systèmes d exploitation et les critères techniques à la loupe pour

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 46 NFP111 Systèmes et Applications Réparties Cours 2 - Les appels de procédure distants (Partie 1) Claude Duvallet Université du Havre UFR Sciences et Techniques

Plus en détail

Tivoli Endpoint Manager Introduction. 2011 IBM Corporation

Tivoli Endpoint Manager Introduction. 2011 IBM Corporation Tivoli Endpoint Manager Introduction Enjeux pour les départements IT Comment gérer : l inventaire la mise à jour la sécurité la conformité Sur des environnements hétérogènes OS : Windows, Mac, UNIX, Linux,

Plus en détail

Un nouveau modèle d'identité NFC compatible avec l'écosystème mobile, et cas d'usage

Un nouveau modèle d'identité NFC compatible avec l'écosystème mobile, et cas d'usage Un nouveau modèle d'identité NFC compatible avec l'écosystème mobile, et cas d'usage Pascal Urien Télécom ParisTech Co-Fondateur de la société EtherTrust 1/28 Agenda L écosystème NFC Un système d identité

Plus en détail

Haka : un langage orienté réseaux et sécurité

Haka : un langage orienté réseaux et sécurité Haka : un langage orienté réseaux et sécurité Kevin Denis, Paul Fariello, Pierre Sylvain Desse et Mehdi Talbi kdenis@arkoon.net pfariello@arkoon.net psdesse@arkoon.net mtalbi@arkoon.net Arkoon Network

Plus en détail

TP2 : Initiation à la Programmation avec Android

TP2 : Initiation à la Programmation avec Android TP2 : Initiation à la Programmation avec Android 1 TP2 : Initiation à la Programmation avec Android Programmation Mobile Objectifs du TP Ce TP est une initiation à Android. Nous allons réaliser les premiers

Plus en détail