To develop applications using wireless Java technology,
you'll need to assimilate information from several fields. You'll need
to understand something about wireless communications technology, the
business of wireless communications, and a lot about the Java platform.
Where should you begin? This page contains a high-level overview of
wireless Java technology and many links to detailed information about
specific subjects.
Wireless communications is a huge field, encompassing everything from radio and television broadcasting through pagers, mobile phones, and satellite communications. The field of mobile phones is expanding very fast at the same time that standards and protocols are being adopted, used, updated, and sometimes discarded. The other rapidly expanding part of the wireless world is that of wireless local area networks (LANs). Driven by widespread acceptance of the IEEE 802.11 standard, wireless local networking for computers and other devices is spreading rapidly.
Although wireless may seem like a special case, it is actually more intuitive and more natural than wired networking. Some day soon the need to plug a laptop into a network physically will seem quaint and antiquated. The notion that you could walk into a room with your cell phone and have it unable to interact with other devices in the room will seem unbelievably primitive. The future will reveal that wired networks are the special case.
Conceptually, wireless communications can be split into two types, local and wide area. A local device is similar to a key fob with a button that unlocks a car, a 900 MHz cordless phone, a radio control toy, or a Bluetooth network. All of these devices operate over short distances, typically just a few meters.
Wide area wireless devices operate effectively over a much greater area. A pager or mobile phone is a good example; you can talk on your mobile phone to any other phone on the planet. These devices' greater range relies on a trick, however: a more elaborate land-based network. A mobile phone doesn't have that much more radio power than a radio control toy. What it does have is a network of carefully placed radio antennas (cell towers); the phone can continue to operate as long as it is within range of at least one tower. The mobile phone device receives service from a wireless carrier, a company that operates the land-based network.
While a number of industry consortia and standard bodies, such as the International Telecommunication Union, are trying to define or foster the development of standards for the wireless world, today's wireless world is still fragmented and complex. If you buy a mobile phone in the U.S. today, it might run on Motorola's iDEN network or Sprint's PCS network. Take it overseas to Europe and you'll be out of luck--your phone will not work with Europe's GSM network, nor will it work with the PDC network or any of the other mobile networks that live in Japan.
Overview of the Java Platform
The Java Platform comprises three elements:
- The Java programming language is syntactically similar to
C++ but differs fundamentally. While C++ uses unsafe pointers and
programmers are responsible for allocating and freeing memory, the Java
programming language uses type safe object references, and unused memory
is reclaimed automatically. Furthermore, the Java programming language
eschews multiple inheritance (a likely source of confusion and ambiguity
in C++) in favor of a cleaner construct, interfaces.
- A virtual machine forms the foundation of the Java platform.
This architecture offers several attractive features: The virtual
machine can be implemented to run a top a variety of operating systems
and hardware, with binary-compatible Java applications operating
consistently across many implementations. In addition, the virtual
machine provides tight control of executed binaries, enabling safe
execution of untrusted code.
- Finally, an extensive set of standard application programming interfaces(APIs) rounds out the Java platform. These support almost everything you might want your applications to do, from user interface through cryptography, from CORBA connectivity through internationalization.
- Java Platform, Standard Edition (Java SE) is designed for desktop
computers. Most often it runs on top of OS X, Linux, Solaris, or
Microsoft Windows.
- Java Platform, Enterprise Edition (Java EE) is a comprehensive
platform for multiuser,enterprise-wide applications. It is based on Java
SE and adds APIs for server-side computing.
- Java Platform, Micro Edition (Java ME) is a set of technologies and specifications developed for small devices like pagers, mobile phones, and set-top boxes. Java ME uses subsets of Java SE components, such as smaller virtual machines and leaner APIs.
- The New to Java Programming Center offers an excellent entry point into the Java platform, understanding it, getting it installed on your computer, and starting to program.
The Java Community Process (JCP)
Specifications for Java SE, Java EE, and Java ME are developed under the aegis of the Java Community Process (JCP). A specification begins life as a Java Specification Request (JSR). An expert group consisting of representatives from interested companies is formed to create the specification. The JSR then passes through various stages in the JCP before it is finished. Every JSR is assigned a number. Java ME specifications are commonly referred to by their JSR number.
Overview of Java ME
Unlike Java SE, Java ME is not a piece of software, nor is it a single specification. This difference can be confusing, even for developers who are already familiar with Java SE. Instead, Java ME is a platform, a collection of technologies and specifications that are designed for different parts of the small device market. Because Java ME spans such a variety of devices, it wouldn't make sense to try to create a one-size-fits-all solution.
Java ME, therefore, is divided into configurations, profiles,and optional packages. Configurations are specifications that detail a virtual machine and a base set of APIs that can be used with a certain class of device. A configuration, for example, might be designed for devices that have less than 512 KB of memory and an intermittent network connection. The virtual machine is either a full Java Virtual Machine (as described in the specification) or some subset of the full JVM1. The set of APIs is customarily a subset of the Java SE APIs.
A profile builds on a configuration but adds more specific APIs to make a complete environment for building applications. While a configuration describes a JVM1 and a basic set of APIs, it does not by itself specify enough detail to enable you to build complete applications. Profiles usually include APIs for application life cycle, user interface, and persistent storage.
An optional package provides functionality that may not be associated with a specific configuration or profile. One example of an optional package is the Bluetooth API (JSR 82), which provides a standardized API for using Bluetooth networking. This optional package could be implemented alongside virtually any combination of configurations and profiles.
Link: http://www.oracle.com/technetwork/systems/getstart-155582.html
No comments:
Post a Comment