Summary
In the past few years, we have witnessed the beginning of an exciting new era in the history of computing. Wireless, handheld computing and communication devices, or mobile information devices (MIDs), have taken the role that desktop computers had earlier as the forefront of computing technology. As a result of this transition, computing and communication devices are becoming more and more mobile, personal, and ubiquitous. The number of mobile information devices has already surpassed the number of conventional personal computers, and this trend is likely to continue and strengthen in the future. The vast majority of people in the world will probably never use a traditional desktop computer. However, it is very likely that a very large percentage of them will eventually be using some kind of a mobile information device.
At the same time, the rapid emergence of the Internet is playing an increasingly visible role in the development and evolution of mobile information devices. People have become dependent on the information that is available on the Internet, and they will also want access to that information from mobile information devices. This will place much more emphasis on the ability to customize and personalize mobile information devices according to the needs of the individual users. Unlike in the past, when wireless devices typically came from the factory with a hard-coded feature set, the devices will become much more dependent on dynamically downloaded software. Consequently, there is a need for technologies that open up the mobile information devices for third-party software development, and make it possible to extend and customize the features of mobile information devices for Internet access and Internet-based services in a dynamic, secure fashion.
As discussed in this book, we believe that the Java™ programming language is ideally suited to become the standard application development language for wireless devices. After all, Java technology provides an unsurpassed combination of benefits for device manufacturers, wireless network operators, content providers, and individual application developers. These benefits include the dynamic delivery of interactive content, security, cross-platform compatibility, enhanced user experience, and the power of a modern object-oriented programming language with a very large established developer base.
In this book, we have summarized the recent advances in creating a portable, secure, small-footprint Java application development environment for small, connected devices. The initial work in this area started in early 1998 at Sun Microsystems Laboratories (Sun Labs) with the creation of a small, new Java execution engine, the K Virtual Machine (KVM). This work led to a number of collaborative research and development efforts with major consumer device manufacturers and other companies. Eventually, a number of standardization efforts were started to harmonize the key features and libraries across a wide variety of possible target devices.
This book has presented the overall architecture of Java™ 2 Platform, Micro Edition (J2ME™), focusing specifically on two key J2ME standards: Connected, Limited Device Configuration (CLDC) version 1.1 and Mobile Information Device Profile (MIDP) version 2.0. Connected, Limited Device Configuration is intended to serve as a generic, "lowest common denominator" platform or building block that targets all kinds of small, connected devices that have at least 192 kilobytes of memory available for the Java environment and applications. Mobile Information Device Profile builds on top of CLDC and adds valuable application programming interfaces for a specific category of devices: wireless, mobile, two-way communication devices such as cellular telephones and two-way pagers.
A key characteristic of the CLDC and MIDP standards is the incremental and complementary nature of the platforms that they define. A central goal in creating the CLDC and MIDP standards was to avoid any conflicts with existing wireless application technologies, such as i-Mode or Wireless Application Protocol (WAP), so that they complement the existing technologies rather than compete with them. In general, the application development environments defined by CLDC and MIDP can be added flexibly on top of the existing software and hardware solutions regardless of the target architecture or specific networking technology. Typically, the changes required to the existing system software stack are very small. This means that device manufacturers and network operators can continue taking advantage of their investments in the existing software, hardware, and networking infrastructure.
Both CLDC and MIDP standards were developed using Java Community Process (JCP), a process that encourages active and open collaboration among industry participants who share the same interests in developing new APIs for the Java platform. More than 60 companies participated directly in the CLDC and MIDP standardization efforts, and more than a thousand companies and individuals participated in these efforts indirectly by sending us feedback and comments on the various versions of the CLDCSpecification and MIDPSpecification. In that sense, these standards represent a truly collaborative effort among the key players in the wireless communication and device industry. They also reflect how much general interest there is in the mobile information device area today.
Both the CLDC and MIDP standards have been received extremely well by the device manufacturers, network operators, content providers, and individual application developers. As of early 2003, more than 70 million Java Powered™ devices have already been shipped, and the number is likely to grow rapidly to hundreds of millions of devices in the next few years. Development tools for the Java 2 Platform, Micro Edition are also readily available from major tool vendors such as Borland and Metrowerks.
In summary, we believe that the transition to Internet-enabled, wireless, mobile information devices will fundamentally alter the landscape of computing and communication devices and services. This book has presented the J2ME CLDC 1.1 and MIDP 2.0 standards that define powerful, portable, secure, small-footprint application development environments in order to bring Java technology to mobile information devices. We hope that this book, for its part, encourages people to use these technologies and continue the work in this exciting new area.
|