How do you extend Java-based Web services applications onto wireless devices? If you are Sun Microsystems Inc., you develop a standard for handheld developers, call it Java 2 Micro Edition and watch as device makers race to adopt it.
Sun’s Java 2 Micro Edition (J2ME) is version of Java for wireless handhelds and enables such devices to run Java-based applications wirelessly.
Although the standard itself is not new, the rapid development of Java-enabled handheld devices is evident around the world and also closer to home with recent announcements made by Waterloo, Ont.-based Research In Motion Limited and Mississauga, Ont.-based Bell Mobility of their respective choices to use Sun’s J2ME platform to deliver wireless Java services to wireless clients.
According to Adel Bazerghi, director of product development for Bell Mobility, Java is the first choice of the majority of developers and is widely proven and recognized as an industry standard.
“Really with Java what you get is access to the Internet,” Bazerghi said. “Java allows you to have a very active, rich experience on the handset. That really makes it a logical choice for Bell Mobility to choose Java.”
Bell Mobility said that with J2ME-enabled handsets, its customers will be able to access enterprise applications, view and share rich text images and video clips and mobile workers will be able to access corporate services and presentations across Mobility’s next-generation (1X) wireless network.
This was all part of the picture Sun had in mind when developing the technology two years ago. According to Eric Chu, group manager for Sun’s industry marketing software group, one of the reasons Sun headed in the wireless direction was a direct result of the wireless industry requests.
“[The industry] decided that Java had the right attributes to enable them to take these wireless devices to the next level,” Chu said. “From the offering perspective, operators do not buy one device from one company. In the embedded space, there is still a lot of different operating systems and different hardware, so they needed something that would go across different platforms. J2ME is not a technology that is trying to get into the market. It is already established. No other technology runs over different classes of PDAs and different handsets across different networks.”
Today, Chu continued, more than 13 device manufactures, including Motorola Inc., Nokia Corp., Sony Corp. and Samsung Electronics Co. Ltd. all have Java-enabled wireless devices shipping globally.
“We are taking a systems approach in how we enable mobility with a wide variety of devices, while having a common platform now that the devices are there and the networks are there,” Chu said. “The key is having a common platform and not forcing IT to go out and buy only one device.” He added that Microsoft is also trying to get into the mobile space but said Microsoft lacks the support of device manufacturers.
“They don’t want to be with a no value-add hardware supplier,” Chu said.
However, Microsoft is singing a different tune. According to Michael Flynn, senior product manager for developer tools for Microsoft Canada in Toronto, both Hewlett-Packard Co. and Compaq Corp. have turned to Microsoft for support of their mobile offerings. In response to this request Microsoft has developed the .Net Compact Framework, a subset of the .Net framework running on PCs and notebooks today, which is designed to run on resource-constrained devices and is CPU- and operating system-agnostic. Flynn said that the .Net Compact Framework is set to be released on Microsoft’s upcoming smart phone – a combination of a cellular phone and Pocket PC device – early next year.
“The idea here (with the .Net Compact Framework) is to provide an environment for a developer to treat the devices and embedded devices…the same way they do programming applications for the desktop or notebook,” Flynn said. “The need of the consumers is for rich functionality. That is clearly seen through the fact that Compaq has sold over two million iPaq’s. We don’t even see J2ME on those devices today. We see Windows CE. That is definitely where the industry for devices is going.”
When Research In Motion began its quest for a mobile data platform three years ago, the company focused on what it would take to get a broader adoption of its software developer kits (SDKs). David Yach, RIM’s vice-president of software, said the company’s decision to deploy J2ME was in order to expand the number of third-party developers creating applications that would run on RIM’s BlackBerry platform.
“At the time we embarked on this…certainly .Net was not an option,” Yach said. “When Sun came out with J2ME…the core was familiar to developers and it opened up a huge developer community for us. The other thing that Java gives us is that it enables a level of security in terms of what applications can and cannot do. If you allow people to do C and C++ applications, there is a concern by network operators that an erred application could do damage to their wireless network.”
Chu addressed security concerns and explained that Java has focused security attention on containing application code arriving on the device. Java depends largely on a “sandbox” method to secure devices against viruses and other malicious code. Downloaded programs run in a quarantined area from which access to other software on a device is restricted.
“The first line of defence is trust no one,” Chu said. “The second line is ensuring a secure pipe between the device and the back end, which is where Secure Socket Layer (SSL) comes in. SSL is not a part of Java, but Java can take advantage of it. The third thing is authentication on a secure pipe. Once you have a secure connection, you can just enter your user name and password. It is simple and it leverages Internet standards.”
Bell Mobility expects to deliver wireless Java services in early 2003. RIM’s Java-enabled BlackBerry 5810 is available now and Yach said all RIM devices going forward will also be Java-enabled.