Java 2 Micro Edition
    Introduction


         Cornelius Koo - 2005
What is J2ME
• J2ME is a development and runtime
  environment designed to put Java
  software on consumer electronics and
  embedded devices.
What is Mobile Devices
• Those computing devices that easily
  carried and used while in transport.
What is Wireless Device
• Device capable of communicating or
  networking without wire or cable.
Micro Devices
History
• Before Java was called Java, it was Oak–
  a programming language designed for TV
  set-top boxes and other devices.
• J2ME come at last (1999), after J2SE and
  J2EE, targeting “information appliances”
  ranging from Internet enabled TV set-top
  boxes to cellular phones.
Advantages of Java Technology
• Cross platform: This is very important in
  the diversified mobile device market. In a
  heterogeneous enterprise environment,
  the ability to develop and maintain a single
  client for all devices results in huge
  savings.
Advantages of Java Technology
• Robust: Since Java applications are
  completely managed, the bytecode is
  verified before execution, and memory
  leaks are reclaimed by garbage collectors.
  Even if a Java application does crash, it is
  contained within the virtual machine. It will
  not affect other sensitive applications or
  data on the device.
Advantages of Java Technology
• Secure: The Java runtime provides
  advanced security features through a
  domain-based security manager and
  standard security APIs.
Advantages of Java Technology
• Object oriented: The Java language is a
  well-designed, object-oriented language
  with vast library support. There is a vast
  pool of existing Java developers.
Advantages of Java Technology
• Wide adoption at the back end: It is
  relatively easy to make Java clients work
  with Java application servers and
  messaging servers. Due to the wide
  adoption of Java 2 Enterprise Edition
  (J2EE) on the server side, mobile Java is
  the leading candidate for enterprise
  frontend applications.
Java Family
• Standard Edition (J2SE)
  Designed to run on desktop and workstation
  computers
• Enterprise Edition (J2EE)
  With built-in support for Servlets, JSP, and XML,
  this edition is aimed at server-based applications
• Micro Edition (J2ME)
  Designed for devices with limited memory
  display and processing power
Java Family
J2ME Platform
Configuration
• Configuration defines a Java Platform for a
  broad range of devices.
• Configuration defines the Java language
  features and the core Java libraries of the
  JVM for that particular Configuration
Connected Device Configuration
              (CDC)
• 512 kb (minimum) memory for running
  Java
• 256 kb for runtime memory allocation
• Network connectivity, possibly persistent
  and high bandwidth
Connected, Limited Device
        Configuration (CLDC)
• 128 kb memory for running Java
• 32 kb memory for runtime memory
  allocation
• Restricted user interface
• Low power, typically battery powered
• Network connectivity, typically wireless,
  with low bandwith and intermittent access
Profile
• Profile is an extension to Configuration.
• It provides the libraries for a developer to
  write applications for a particular type of
  device.
Profiles
Profiles Hierarchy
MIDP
• Mobile Information Device Profile defines
  APIs for user interface components, input
  and event handling, persistent storage,
  networking and timers,taking into
  consideration the screen and memory
  limitations of mobile devices.
Compact Virtual Machine (CVM)
• Has approximately the same spec as
  J2SE.
• Supports for Java 2 v1.3 VM features and
  libraries : Security, Weak References,
  Java Native Interface, Remote Method
  Invocation, Java VM Debugging Interface.
Kilobyte Virtual Machine (KVM)
• Requires only 40 and 80 kb of memory
• Only 20-40 kb of dynamic memory (heap)
  required
• Can run on 16-bit processors clocked at
  only 25 MHz
MIDP Architecture
J2ME Executive Committee
Reference
• Core J2ME Technology and MIDP. John
  W. Muchow. Prentice Hall PTR, 2002.
• Enterprise J2ME: Developing Mobile
  Java Applications. Michael Juntao Yuan.
  Prentice Hall PTR, 2003.
• J2ME in A Nutshell. Kim Topley. Oreilly,
  2002.

01 java 2 micro edition

  • 1.
    Java 2 MicroEdition Introduction Cornelius Koo - 2005
  • 2.
    What is J2ME •J2ME is a development and runtime environment designed to put Java software on consumer electronics and embedded devices.
  • 3.
    What is MobileDevices • Those computing devices that easily carried and used while in transport.
  • 4.
    What is WirelessDevice • Device capable of communicating or networking without wire or cable.
  • 5.
  • 6.
    History • Before Javawas called Java, it was Oak– a programming language designed for TV set-top boxes and other devices. • J2ME come at last (1999), after J2SE and J2EE, targeting “information appliances” ranging from Internet enabled TV set-top boxes to cellular phones.
  • 7.
    Advantages of JavaTechnology • Cross platform: This is very important in the diversified mobile device market. In a heterogeneous enterprise environment, the ability to develop and maintain a single client for all devices results in huge savings.
  • 8.
    Advantages of JavaTechnology • Robust: Since Java applications are completely managed, the bytecode is verified before execution, and memory leaks are reclaimed by garbage collectors. Even if a Java application does crash, it is contained within the virtual machine. It will not affect other sensitive applications or data on the device.
  • 9.
    Advantages of JavaTechnology • Secure: The Java runtime provides advanced security features through a domain-based security manager and standard security APIs.
  • 10.
    Advantages of JavaTechnology • Object oriented: The Java language is a well-designed, object-oriented language with vast library support. There is a vast pool of existing Java developers.
  • 11.
    Advantages of JavaTechnology • Wide adoption at the back end: It is relatively easy to make Java clients work with Java application servers and messaging servers. Due to the wide adoption of Java 2 Enterprise Edition (J2EE) on the server side, mobile Java is the leading candidate for enterprise frontend applications.
  • 12.
    Java Family • StandardEdition (J2SE) Designed to run on desktop and workstation computers • Enterprise Edition (J2EE) With built-in support for Servlets, JSP, and XML, this edition is aimed at server-based applications • Micro Edition (J2ME) Designed for devices with limited memory display and processing power
  • 13.
  • 14.
  • 15.
    Configuration • Configuration definesa Java Platform for a broad range of devices. • Configuration defines the Java language features and the core Java libraries of the JVM for that particular Configuration
  • 16.
    Connected Device Configuration (CDC) • 512 kb (minimum) memory for running Java • 256 kb for runtime memory allocation • Network connectivity, possibly persistent and high bandwidth
  • 17.
    Connected, Limited Device Configuration (CLDC) • 128 kb memory for running Java • 32 kb memory for runtime memory allocation • Restricted user interface • Low power, typically battery powered • Network connectivity, typically wireless, with low bandwith and intermittent access
  • 18.
    Profile • Profile isan extension to Configuration. • It provides the libraries for a developer to write applications for a particular type of device.
  • 19.
  • 20.
  • 21.
    MIDP • Mobile InformationDevice Profile defines APIs for user interface components, input and event handling, persistent storage, networking and timers,taking into consideration the screen and memory limitations of mobile devices.
  • 22.
    Compact Virtual Machine(CVM) • Has approximately the same spec as J2SE. • Supports for Java 2 v1.3 VM features and libraries : Security, Weak References, Java Native Interface, Remote Method Invocation, Java VM Debugging Interface.
  • 23.
    Kilobyte Virtual Machine(KVM) • Requires only 40 and 80 kb of memory • Only 20-40 kb of dynamic memory (heap) required • Can run on 16-bit processors clocked at only 25 MHz
  • 24.
  • 25.
  • 26.
    Reference • Core J2METechnology and MIDP. John W. Muchow. Prentice Hall PTR, 2002. • Enterprise J2ME: Developing Mobile Java Applications. Michael Juntao Yuan. Prentice Hall PTR, 2003. • J2ME in A Nutshell. Kim Topley. Oreilly, 2002.