Archive for June, 2008

Java/Midlet Environment IBM J9 *with* JSR-75 support (updated)

Monday, June 30th, 2008 at 2:17 pm

This is an updated entry of the original post from November 2006. This article deals with the installation of the Java environment on mobile devices.

I have received a lot of feedback, a few comments as well as supporting requests that are concerned with Java on mobile devices. Recently I also received a comprehensive update from Fred Gnuechtel (IBM) regarding the Java environment on mobile devices. See below.

First of all: IBM J9 is from my point of view the best and most complete Java Runtime for mobile devices. So that’s good news ;)

Palm users have an easy life to install this: They can easily download and install a fully maintained IBM J9 directly from Palm for 5$ or so, including the JSR-75 file I/O framework. are left out of the game and Java is no longer available: http://www.palm.com/us/support/jvm/index.html. Too bad, sorry!

For Windows Mobile users it was more difficult in the past to have a working IBM J9 installation, since it was down to the vendors whether they installed IBM J9 or not, which unfortunately did not happen too often. In the past I provided a small tutorial here on how to get J9 installed from IBM’s open source development environment.

However, according to Fred Gnuechtel from IBM it seems to be not a legitimate way to do things and IBM has removed the most visible J9 sources. I was not aware of this and have removed the tutorial for obvious reasons.

But there are very good news for you still: Handago.com offers now a IBM Java environment for various Windows Mobile phones. Sounds like not too much “tinkering” to get a IBM J9 installation! Super :)
Kudos to IBM and Handago for making J9 available to the end-user now.

Information provided by Fred Gnuechtel (IBM):

I can provide the links, but Handango tends to reorganize their WEB site about once a quarter and then i have to do on a WEB safari to find where they went. So please be aware that you may have to update them from time to time. They also force you down a path of selecting a device and then telling you that J9 is not supported on it. You have to ignore this. Again, this is part of the Hanango WEB sites effort to reduce their support cost and returns. Here is a copy of the note that i send when someone contacts me either from the IBM site or sites like yours…..

IBM’s “Websphere Everyplace Micro Environment” (WEME) conforms to the Java ME specification and is available in both of the JavaME defined configurations. For small volumes business deployments low volumes ( 1- 10’s) and individual copies for personal use, the IBM Java ME virtual machine (WEME) may be purchased from our business partner, Handango for $25 USD per license (device).. All of our Java runtimes that are available from Handango are Java ME certified and we provide solutions for various Java ME profiles and operating systems. These are made available “as is” – no support. (this means you will be on your own using forums on the web). WEME is based on IBM’s J9 Virtual Machine technology.

Our WM5 runtime works just fine on PocketPC 2003, PocketPC 2003 SE and WM6. Our WinCE 5 runtimes will run on WinCE 4.2 but NOT on WinCE 6.

There are actually 2 Java ME configurations and IBM supports both of them. It is important to use the one that supports your application and specific device type.

CLDC+MIDP (for Midlets)
or
CDC+Foundation+Personal ( for Applet/Applications)

Note that we no longer support CDC 1.0, Foundation 1.0 and PPro 1.0. We have moved up to the 1.1 versions.

Also, we do support Smartphone (button navigation – no touch scree) but only with MIDP. Our PPro implementation requires a touch screen.

Our Windows Mobile JVM’s are written to the ARM instruction set and will work on any ARM based processors such at the Intel PXA 2xx, TI OMAP, Freescale and Samsung processors that run WM5/6 or WinCE.

Please note that these runtimes from Handango are provided “As Is” with no warranty or support expressed or implied. Our Business Partners can provide Licenses and support for a fee.

MIDP 2.0 for Windows Mobile 5 Smartphone
(button navigation – no touch screen):
http://www.handango.com/PlatformProductDetail.jsp?siteId=1&osId=855&jid=121FDF13D35AC718E2C9768DDFFC3E5X&platformId=11&N=4294921609&Ntt=websphere&R=203653&productId=203653

MIDP 2.0 for Windows Mobile 5 PDA and Phone Edition devices with QVGA Screen Resolution
(PDA style touch screen device – low or standard resolution screen 320×240):
http://www.handango.com/PlatformProductDetail.jsp?siteId=1&osId=849&jid=121FDF13D35AC718E2C9768DDFFC3E5X&platformId=2&N=4294923386&Ntt=websphere&R=203649&productId=203649

MIDP 2.0 for Windows Mobile 5 PDA device with VGA Screen Resolution
(PDA style device – high resolution touch screen 640×480):
http://www.handango.com/PlatformProductDetail.jsp?siteId=1&osId=807&jid=121FDF13D35AC718E2C9768DDFFC3E5X&platformId=2&N=4294926649&Ntt=websphere&R=203654&productId=203654

Personal Profile 1.1 for Windows Mobile 5 PDA device with Touch Screen
(PDA style device – touch screen) :
http://www.handango.com/PlatformProductDetail.jsp?siteId=1&jid=734756B7A126CXFF4483XD5B5D82CEA4&platformId=2&N=0&productId=204403&merch=more_author_titles&HDGO_ad=mat_204403&HDGO_au=1&HDGO_ae=c

Personal Profile 1.1 for Windows CE 5.x PDA device with Touch Screen ( WinCE 5 Professional – not WinCE Core)
(PDA style device – touch screen):
http://www.handango.com/PlatformProductDetail.jsp?siteId=1&jid=734756B7A126CXFF4483XD5B5D82CEA4&platformId=2&N=0&productId=212765&merch=more_author_titles&HDGO_ad=mat_212765&HDGO_au=1&HDGO_ae=c

When downloading from Handango, you may get a warning that says this is incompatible with your device. Please ignore this warning and click though to complete your transaction.

The file you download is a Windows/x86 Install shield (EXE) that you must run on your PC. It presents you with the License Agreement and then copies the files to your PC. You then have to manually copy the LIB and BIN directories to your device using ActiveSync. Unfortunately, we do not provide a CAB files on some of our runtime packages. This is also something that our Business Partners could provide.

Unfortunately, you are correct about the Palm JVM.

IBM does not have the licensing rights to distribute the PalmOS version of Websphere Everyplace Micro Environment (WEME) the JavaME JVM. The port was done under license by PalmSource who was acquired by Access in Japan. several years ago. I believe that Palm’s license with Access has now run out and that is why Palm has removed the runtime form their WEB site. On top of this, Access has also dropped their agreement with IBM.

Regards, Fred

And some extra information:

A lot of the people that install the CDC-PPro JVM don’t realize they have to create a LNK file to get their application loaded and running. Here is the note I send for that:……….

Here are a couple examples of Windows Mobile shortcut (LNK) files…..

This link will open a console window so you can check for any errors:

255#\path\bin\j9.exe -jcl:ppro11 -cp \path\my-app.jar my-app-main-class

These example links will run without a console window:

255#\path\bin\j9w.exe -jcl:ppro11 -cp \path\my-app.jar my-app-main-class

255#”\my path\bin\j9w.exe” -jcl:ppro11 -cp “\my path\my-app.jar” my-app-main-class

If the JVM files are organized into a path structure of:
\path\bin\jvm-exe-dll-files
\path\lib\jvm-class-library-files
then paths to the jvm class library files are not required in the LNK file.

All LNK files must conform to the following rules….
1 – if any parm includes a space char then the entire parm must be inside double-quote marks
2 – the entire command line must be on 1 single line, multi-line LNK files are not permitted
3 – the entire LNK file must be no more that 255 bytes max, must shorten commands or paths if longer

Regards,
Fred

by markus