Software Overview

Sun Java™ Wireless Client Software 2.2

December 2008

 

Sun Java™ Wireless Client Software (SJWC) is a high-performance, Mobile Service Architecture ready platform, based on an optimized implementation of the Connected Limited Device Configuration (CLDC) and Mobile Information Device Profile (MIDP) software stack, which includes support for many Java Specification Requests (JSRs).

Sun Java Wireless Client Software is a flexible, high quality implementation for developers who port MIDP and associated technologies to mobile devices. It is also useful to application developers who want to work with the very latest Java ME technologies, even before these technologies are ported to real devices.

Architecture

Sun Java Wireless Client Software consists of three fundamental layers, as shown in the following diagram.

The Sun Java Wireless Client software is shown in blue. It is made up of three primary pieces:

Applications (MIDlets) run on top of the Sun Java Wireless Client software. When Sun Java Wireless Client Software runs multiple MIDlets, it uses a single OS process. Therefore, a single instance of Java virtual machine can execute several applications simultaneously, providing each of them with a separate runtime environment. All running applications are isolated so that from the application's point of view, it looks as if each application is executed in its own virtual machine.

The JavaCall™ API distills the platform requirements of the entire Sun Java Wireless Client software platform to a single set of functions that must be ported. All porting is done at the same layer, and the JavaCall functions are consistently named and well documented.

Information on porting Sun Java Wireless Client Software is in the Porting Guide.

JSR 239 Java Binding for the OpenGL® ES API is a notable exception. It binds to a standardized API and no additional JavaCall layer is needed. JSR 239 provides a direct binding to the OpenGL ES implementation.

Getting Started

Here is a road map for getting started with a port to your own device. Your actual steps are likely to vary, but this list provides a general idea of where you're going and how to get there.

  1. Begin by building one of the reference implementations of Sun Java Wireless Client software. This acquaints you with the build system, gets the fundamental parts of your tool chain set up, and allows you to begin exploring the structure of the source code. The Build Guide is designed to get you up and running with a reference port in a short amount of time.
  2. Next, get the tools you need to build for your own device. Most often the key to success is a cross-compiler for the processor and operating system that runs your device.
  3. Copy stubs and use the JavaCall porting layer to create the basic infrastructure for building your device.
  4. Fill in the stubbed functions.