|
Emerging wireless technologies are opening up a brand new market for new styles of applications and services targeted at consumers and enterprises. Java technology provides a comprehensive foundation that allows next-generation devices to offer new capabilities such as enhanced interactivity, rich user interface, off-line processing, local data storage, and networking. By utilizing these new capabilities, developers and enterprises can create new exciting services in the wireless market. This article provides an overview of the benefits provided by Java technology in the wireless world, and how this solution overcomes the challenges presented by the variety of mobile phones and PDA solutions, evolving network technologies, and the requirements for easy to use, secure applications. The Java Platform Java 2 Platform, Micro Edition (J2ME) is part of the Java 2 platform. While Java 2 Standard Edition (J2SE) targets desktop systems, and Java 2 Enterprise Edition (J2EE) targets the server backend applications, J2ME is a collection of APIs focusing on consumer and embedded devices, ranging from TV set-top boxes, telematics systems, residential gateways, to mobile phones and PDAs. Within each edition of the Java 2 platform, there are different Java Virtual Machine1 (JVM) implementations that are optimized for the type of systems they are targeted at. For example, the K Virtual Machine (KVM) is a JVM optimized for resource constrained devices, such as mobile phones and PDAs.
The following characteristics are shared among the three Java editions:
The J2ME Application Cycle Contrary to the web browser model, which requires continuous connectivity and offers a limited user interface and security experiences, J2ME allows applications to be dynamically downloaded to a mobile device in a secure fashion. J2ME applications can be posted on a Web server, allowing end users to initiate the download of an application they select through a micro browser or other application locator interface. Wireless operators, content providers, and ISVs can also push a set of J2ME applications and manage them remotely. The Java provisioning model puts the responsibility of checking the compatibility of the applications (such as version of the J2ME specification used, memory available on the handset) on the handset itself, allowing the end user to ignore the intricacies associated with typical desktop systems. Once a J2ME application is deployed on a mobile device, it stays there until the user decides to upgrade or remove it. The application can be operated in disconnected mode (such as standalone game, data entry application) and store data locally, providing a level of convenience that is not available on current browser-based solutions. Because the application resides locally, the user doesn't experience any latency issues, and the application can offer a user interface (drop-down menus, check boxes, animated icons) that is only matched by native C applications. The level of convenience is increased because the user can control when the application initiates a data exchange over the wireless network. This allows for big cost savings on circuit0switched networks, where wireless users are billed per minute, and allows a more efficient exchange of data, since many applications can use a store and forward mechanism to minimize network latency.
Additionally, J2ME applications can leverage any wireless network infrastructure, taking advantage of a WAP network stack on current circuit-switched networks (GSM, CDMA, TDMA). The same applications are ready to be used on packet-based networks, allowing the use of standard Internet protocols, such as HTTPS over SSL (data encryption), IMAP (email), LDAP (directories), between the J2ME enabled client application and the backend infrastructure. J2ME Benefits on Wireless Devices Let's look at how Java technology fits in the wireless service evolution. Originally, analog technology was sufficient to handle voice services, but the quality of the calls was sketchy and multiple radio networks competed with one another. Today we take advantage of the second generation of networks and services (2G networks), which use digital networks and web browser technologies. This provides access to data services, but markup languages present some limitations. Markup languages are a step in the right direction, but browser-based applications don't work when out of coverage-require air time for even simple operations (such as entering appointments in browser-based calendar) - offer a limited user interface paradigm (character-based, static black and white images, cumbersome navigation interface). When Java technology is added to this environment, it brings additional benefits that translate into an enhanced user experience. Instead of plain text applications and latency associated to a browser-based interface, the user is presented with rich animated graphics, a fast interaction, the capability to use an application off-line, and maybe most interestingly, the capability to dynamically download new applications to the device. For application developers, this means that you can use your favorite programming language and your favorite development tools, rather than learning a new programming environment. There are over 2.5 million developers who have already developed applications using the Java programming language, primarily on the server side. Once these developers become familiar with the small set of J2ME APIs, it becomes relatively easy to develop small client modules that can exchange data with server applications over the wireless network. The challenges that remain the same for Java, WAP, or native APIs is that small screens and limited input interfaces require developers to put some effort into the development of the application user interface. In other worlds, small devices force developers to abandon bad or lazy programming techniques. What Type of Applications Does J2ME Enable? Many people expect to see new type of applications developed with J2ME. You can argue that the application categories would remain the same, except for a few exceptions such as location services and data applications that integrate with telephony functionality. The outcome is likely to be applications that are context sensitive (immediacy, location, personal or professional use) and are migrating from a character-based interface (browser-based applications) to a graphical environment, providing developers and end users with an unmatched level of flexibility. Just think about the evolution from DOS or mainframe applications to Windows, MacOS, or Solaris graphical environment. We still use processors, spreadsheets, accounting applications like in the good old days, but because the new generation of applications take advantage of a richer graphical environment, the applications are better and easier to use. Therefore, expect to see J2ME developers targeting the same categories of applications they focused on with WAP, but this time with the user experience compelling enough for ISVs and system integrators to be able to charge for them. As far as adoption of J2ME, the prognostics are rather good. Evans Data recently conducted a survey2 among 500 wireless application developers, concluding that more developers will use Java and J2ME to develop wireless applications (30%) than native C APIs (Palm OS, PocketPC, EPOC) or even WAP. The market that J2ME will penetrate the fastest is the Japanese market, with Nikkei Market Access3 forecasting a penetration rate of 40% this year. NTT DoCoMo, who started shipping J2ME enabled I-mode phones at the end of January, has already sold 1 million units, and they expect the number to increase to 3 million by the end of September. The two other major Japanese wireless operators (KDDI and J-Phone) will join DoCoMo in the deployment of J2ME enabled handsets by the end of the summer. Obviously, forecasts can be misleading, as the experience with WAP, Bluetooth and 3G has shown. Therefore, what really matters is the number of handset manufacturers that are planning to make available J2ME enabled phones and PDAs this year, as well as the number of wireless operators that are endorsing the technology and putting in place a network infrastructure that will allow ISVs, content providers and corporations to deploy J2ME applications and services over their network. The benefits of Java technology as provided by J2ME in the wireless arena are many and varied. From its Write Once Run Anywhere flexibility, to its robust security features, to its support for off-line processing and local data storage, to its leverage of any wireless infrastructure, to its fine-tuned control of data exchange, J2ME is a natural platform for wireless application development. The numbers bear this out -- the ranks of J2ME developers are growing fast. 1 As used in this document, the terms "Java virtual machine" or "JVM" mean a virtual machine for the Java platform.
2 Wireless Developer Survey, Vol. 1 Winter
2000/Spring 2001.
3 Java Cellular Phones Blossom in Japan; Production
to Reach 20M in 2001. March 12, 2001.
Back To Top | ||||||||||
|
| ||||||||||||