Java Reference
In-Depth Information
enabling manufacturers to add more interfaces to tap the custom features of the
underlying platform.
Some pundits have accused the Java ME marketplace of “wagging the dog” to some
extent—that is, driving consumer demand for applications for the sake of technology itself.
While this claim is not wholly unwarranted, it's also the nature of a fast-paced market in
which new products are tested on the market, and only those with successful business
cases and clear value to consumers will survive. Java ME accelerates this process by provid-
ing an open standard on which to base the development of new products and services.
Looking Inside the Java ME Platform
The Java ME platform isn't really one platform, but rather a collection of platforms and
libraries that work on a host of mobile devices. Even more confusing, Java ME began as a
mobile environment for cell phones and personal digital assistants (PDAs), but has since
expanded to include devices with similar constraints, including industrial devices, set-
top boxes, Internet appliances, and other constrained platforms.
Justifying the Need for a Mobile Edition of Java
At first, the need for a mobile edition of Java may not be apparent. After all, today's cell
phones are more powerful than the PCs that ran the first commercially available ver-
sions of Java more than a decade ago. However, a key feature of Java ME is its size and
performance footprint. This is especially important for the constraints common to
mobile and embedded devices. The constraints that mobility puts on size, power con-
sumption, and cost mean that less capable processors and less memory will be found in
devices for the foreseeable future. These constraints apply to less-mobile devices such
as set-top boxes, too; in designing a commodity consumer device, every penny counts,
so frequently low-cost (slower) processors and less memory are available. Moreover, as
green manufacturing increasingly comes into play, fixed consumer devices will be sub-
ject to the same sorts of power constraints as mobile devices.
But Java ME isn't just about footprint. It's also about a new way of looking at comput-
ing. Many of the differences between Java SE and Java ME are about functionality, not
footprint. The Java Application Descriptor ( JAD) file is one example; it describes an appli-
cation, including its name, icon, publisher, and other information. Or take Java ME's
security model, which includes the notion of privileges and permissions for interfaces.
Using Java ME, running applications may require individual privileges to perform sensi-
tive operations, such as sending an SMS message, requesting the position of the handset
via the location-based interface, or exchanging data using Bluetooth. Privileges are speci-
fied in the JAD file of a Java ME application and may be granted or denied depending on
the origin of the application. (I discuss this in more detail in the “Packaging and Execut-
ing CLDC/MIDP Applications” section in Chapter 3.)
 
Search WWH ::




Custom Search