tags:

views:

53

answers:

1

"MicroEdition-Profile" can have multiple values separated by space in the JAD file, where as "MicroEdtion-Configuration" can have only one value.

According to JTWI specifications,

  1. Minimum requirement for MIDP is 2.0, so this gives us only one option (MIDP 2.0) to put in the JAD file
  2. Minimum requirement for CLDC is 1.0, so this gives us two options to put in the JAD file ie: CLDC1.0 and CLDC2.0

I can create an application which is compatible with CLDC1.0 and 1.1. Why are multiple values allowed for Profile attribute but only one value is allowed for Configuration attribute?

A: 

MicroEdition-Configuration refers to the lowest-level part of the system - the JVM and so on. MicroEdition-Profile gives a list (often of size one) of the additional software environments on top of the configuration (application lifecycle, UI etc.)

For more info see A Survey of Java ME Today (actually from 2007, but a useful overview still):

A configuration, at the bottom of the Java ME organization stack, defines a basic lowest-common-denominator Java runtime environment. This includes the VM and a set of core classes derived primarily from the Java SE platform. Each configuration is geared for a broad family of constrained devices with some type of network connectivity.

And on profiles:

Configurations do not provide classes for managing the application life cycle, for driving the UI, for maintaining and updating persistent data locally in the device, or for accessing securely information that is stored on a network server. Instead, that type of functionality is provided by the profiles or by optional packages. A profile adds domain-specific classes to the core set of classes provided by the configuration, classes that are geared toward specific uses of devices and provide functionality missing from the underlying configuration.

MIDP is the most common profile for mobiles, but there are others: IMP - a kind-of headless version of MIDP (JSR-195); and DSTB for digital TV (JSR-242).

martin clayton