Deploying IMPlets based on Mimer SQL and Nokia 12 SDK
You may be well aware of the MIDP (Mobile Information Definition Profile) specification that defines how to program mobile telephones using the Java language. MIDP has been around for quite a few years and has become a widespread standard for programming in this environment.
Recently, a subset of MIDP has been approved, named IMP (Information Module Profile). The main difference between MIDP and IMP is that the MIDP specification includes human user interface features, while IMP doesn’t. IMP does not need a human user interface since its target environment is a standalone device, mainly communicating machine to machine (m2m).
One device that implements IMP is the Nokia 12, which features a persistent storage of 1 MB and a RAM of 256 kb. Another one is the Siemens TC45 that features a persistent storage of 300 kb and a RAM of 128 kb.
Typical usage scenario
A typical usage scenario when deploying IMP devices with Mimer SQL is to use the device to gather or log information retrieved by the device. This information could be scientific measurements of some kind, or perhaps inventory levels. The deployed application will in most cases simply be a question about gathering the information in question and store that information into the database.
The actual software that prepares reports or takes some kind of action based upon the gathered data will only use the information in the database, rather than communicating with the devices themselves.
An IMP device must provide at least 128 kb memory to store the IMP components themselves. This memory might be ROM, flash or any type of memory that retains its contents while the device is turned off. It must also provide at least 32 kb of RAM storage for the Java heap.
The Mimer CLDC solution requires from 40 up to 90 kb for the database library (in the JAR format), depending on how many Mimer client library components are used. This is sorted out automatically when the final application is obfuscated and unused library components are omitted.
During run time, the Mimer CLDC/MIDP component will require about 20 kb of RAM storage. This amount is mostly data structures that are built to communicate with the server.
A minimum IMPlet device will therefore allow the database programmer to spend about 30-80 kb on application code, and 12 kb on runtime RAM usage for the application itself.
To be able to use the Mimer IMP/MIDP client, the device must support TCP client connections. This is not required by the IMP specification, but some devices support that. The Nokia 12 mentioned earlier on supports TCP client connections.
As an example, the attached code has been developed. It does some measurement on a Nokia 12 device and stores the results in the server database. The application simply reads the value of the analog pins and stores these values in the database.
To compile and run the sample, you will need the Sun J2ME Wireless Toolkit and Mimer SQL 9.1 or later. You will also need the Nokia 12 SDK.
Nokia 12 GSM Module.
Siemens Wireless Module TC45.
Last updated: 2009-10-12