CDC: Java Platform Technology for Connected Devices
Total Page:16
File Type:pdf, Size:1020Kb
CDC: JAVA™ PLATFORM TECHNOLOGY FOR CONNECTED DEVICES Java™ Platform, Micro Edition White Paper June 2005 2 Table of Contents Sun Microsystems, Inc. Table of Contents Introduction . 3 Enterprise Mobility . 4 Connected Devices in Transition . 5 Connected Devices Today . 5 What Users Want . 5 What Developers Want . 6 What Service Providers Want . 6 What Enterprises Want . 6 Java Technology Leads the Way . 7 From Java Specification Requests… . 7 …to Reference Implementations . 8 …to Technology Compatibility Kits . 8 Java Platform, Micro Edition Technologies . 9 Configurations . 9 CDC . 10 CLDC . 10 Profiles . 11 Optional Packages . 11 A CDC Java Runtime Environment . 12 CDC Technical Overview . 13 CDC Class Library . 13 CDC HotSpot™ Implementation . 13 CDC API Overview . 13 Application Models . 15 Standalone Applications . 16 Managed Applications: Applets . 16 Managed Applications: Xlets . 17 CLDC Compatibility . 18 GUI Options and Tradeoffs . 19 AWT . 19 Lightweight Components . 20 Alternate GUI Interfaces . 20 AGUI Optional Package . 20 Security . 21 Developer Tool Support . 22 3 Introduction Sun Microsystems, Inc. Chapter 1 Introduction From a developer’s perspective, the APIs for desktop PCs and enterprise systems have been a daunting combination of complexity and confusion. Over the last 10 years, Java™ technology has helped simplify and tame this world for the benefit of everyone. Developers have benefited by seeing their skills become applicable to more systems. Users have benefited from consistent interfaces across different platforms. And systems vendors have benefited by reducing and focusing their R&D investments while attracting more developers. For desktop and enterprise systems, “Write Once, Run Anywhere”™ has been a success. But if the complexities of the desktop and enterprise world seem, well, complex, then the connected device world is even scarier. Embedded CPUs vary far more than their cousins in the desktop and enterprise world. Software platforms based on Linux have tremendous architectural benefits, but they don’t have stable binary interfaces that promote ease of deployment. User experience models for connected devices vary greatly because their purposes vary more than desktop PCs. Connectivity mechanisms vary with wireless technologies such as cellular and Bluetooth, and attached technologies like USB and Firewire. At the same time, the sheer number of products and the rate of innovation dictates lower volumes, which reduces budgets for system software. Figure 1 describes the variety of connected devices available today. To provide a software platform for any one of these device categories would be difficult, but to provide a network-deployable software platform that spans the wide range of CPUs, operating systems, and GUI user experience models is very demanding. mobile personal field service mobile devices automation telematics fixed general purpose purpose industrial VOIP automation office set-top equipment boxes stationary Figure 1: CDC Target Device Categories 4 Introduction Sun Microsystems, Inc. Developers, device vendors, and service providers all need a stable and flexible software platform. Complex device matrices represent support nightmares and impede software deployment. Java technology can provide the same benefits for the connected device world as it has for the desktop and enterprise worlds. The central question is how to handle the variety and change within this world. The Connected Device Configuration (CDC) offers a solution: a standards-based framework for supporting a wide variety of connected devices with Java technology. CDC is based on proven Java technology and is well-equipped to handle the heterogeneous world of embedded processors, operating systems, and GUIs. This white paper describes CDC’s problem domain and gives a technical overview of its features and capabilities. Enterprise Mobility Connected devices such as PDAs and smart phones have evolved over the last decade from experimental devices to the use- ful tools they are today. At the core of this evolution is the relationship between the device and the mobile user. Successful product designers have learned to balance the form-factor requirements of size and battery life with intuitive, user-interface mechanisms, while providing software that meets the personal needs of mobile users: scheduling, addresses, and other personal reference information. The emerging generation of connected devices adds network connectivity to this mix. At Sun, we believe that this addition will spark a new kind of relationship between mobile users and the agile enterprise. While first-generation connected devices provided mobile users with information tailored to their personal needs, connected devices allow them to plug into enterprise applications and Web services to extend the reach of business logic. With this new relationship come new challenges for software developers to quickly create mobile applications for a variety of connected devices. As we will see, CDC provides a framework for building and deploying mobile applications that easily integrate with enterprise systems. 5 Connected Devices in Transition Sun Microsystems, Inc. Chapter 2 Connected Devices in Transition CDC spans the needs of many different products, applications, and users. To understand this strategy, it helps to see the problems CDC was designed to address. Connected Devices Today In recent years, we have seen the following trends in product designs for connected devices: • Form factors. These have remained relatively constant. Hand-held devices such as PDAs and mobile phones are limited by the physical dimensions of.