Header
Home | Sitemap  
Sections
Syndication



Wireless Protocols, Platforms and Programming Languages

by


   

Languages
Wireless development includes not only the technologies we have discussed throughout
this chapter but also many different protocols, platforms and programming languages are
used to build and enhance all areas of communications technologies. The following sections
focus on a few of the many programming and platform technologies in use today. We
discuss how these languages, platforms and protocols are used, their development and how
they are an integral part of wireless development. In addition, we examine the challenges
facing the developing technologies and the lack of standardization.
10.5.1 Handheld Devices Markup Languages (HDML)
The Handheld Devices Markup Language (HDML) was one of the first programming languages
to target small, handheld devices. HDML was originally developed by a company
called Unwired Planet in 1996, which became Phone.com and is now known as Openwave
(www.openwave.com).39
HDML is similar to Hypertext Markup Language (HTML), which is used to design and
format Web pages. However, HTML is not effective for devices with limited screen sizes
and viewing capabilities. HDML was implemented in millions of devices when it was first
introduced, but it has been replaced with other emerging standards that support 2.5 and 3G
technologies. The HDML language has evolved into the Wireless Markup Language
(WML) used in the Wireless Application Protocol (WAP). WAP and WML are discussed
later in this section and programming details are explained in Chapters 13-20.
Even though HDML is no longer supported in many newer mobile devices, it is still
present in the majority of older wireless devices in use worldwide. Most countries like
Europe and Japan are using WAP devices that no longer support HDML. However, some
CDMA-based phones in the United States and Canada support both WML and HDML.40
The conversion of HDML to WML code is not difficult and Openwave (HDML’s founder)
has been working with the development of WML in place of HDML. Other programming
languages such as Extensible Hypertext Markup Language (XHTML) and Extensible
Markup Language (XML) are replacing HDML. XML and XHTML are briefly described
later in this chapter and are covered in detail in Chapter 24, XHTML Basic (Part I) and
Chapter 25 XHTML Basic (Part II).
10.5.2 WAP and WML
One of the most important aspects of wireless communications is standardization. In 1997,
the Wireless Application Protocol (WAP) was developed by Nokia, Ericsson, Motorola and
others to foster the emergence of the wireless Internet.41 WAP is a set of communication protocols
designed to enable communication between different kinds of wireless devices and allow
users to access the Internet via mobile devices. WAP is intended primarily for Internetenabled
digital phones, pagers and other handheld devices. It is designed to standardize development
across different wireless technologies worldwide. WAP applications can be used
on Palm OS, Windows CE, Mac OS and J2ME.42 PalmOS is discussed in Chapter 11, Palm
and PalmOS; Windows CE is examined in Chapter 12, Windows CE, Pocket PC and Stinger:
Wirelesshtp1_10.fm Page 467 Tuesday, June 19, 2001 10:27 AM
Chapter 10 Wireless Communications Technologies (Part II) 468
© Copyright 1992–2002 by Deitel & Associates, Inc. All Rights Reserved. 6/19/01
J2ME is explained in Chapter 27, Server-side Java Programming and the Java 2 Micro Edition
(J2ME).
The Wireless Markup Language (WML) is the scripting language used to create Web
content delivered to wireless handheld devices. WML is based on the Extensible Markup
Language (XML). WML tags (e.g., tags in the programming language that describe what is
being developed) are used to “mark up” a Web page to specify how the page should be formatted
on a wireless device. Microbrowsers, designed with limited bandwidth and memory
requirements, can access the Web via the wireless Internet. Without graphics and animations,
the transmission consumes less bandwidth and memory and it becomes easier to view
on the small screens of wireless devices. WML supports WAP to deliver the content. WML
is similar to HTML, but it does not require input devices, such as a keyboard or mouse for
navigation.
A WML document is called a deck and contains one or more sections called cards.
Each card consists of text content and/or navigational controls for user interaction. Only
one card can be viewed at a time, but navigation between cards is rapid because the entire
deck is stored by the microbrowser.43 The WML tag set is compact and includes telephony
tags so that secure telephone functionality can be implemented. For instance, a voice-mail
service can have a WML user interface that gives users choices for their mailboxes. WML
also has image support for devices that can display bit-mapped graphics.
Those who favor WAP technology see it as a short-term solution for introducing users
to the wireless Internet. WAP opponents cite a variety of reasons for their dislike of the protocol,
including security breaches, limited bandwidth and unreliablity.
The limited bandwidth capabilities of WAP-enabled devices causes additional problems.
WAP-enabled devices can handle the transmission of multimedia, but they are overloaded
during peak, hours.44 Due to this limitation, business-to-business (B2B) and business-to-consumer
(B2C) applications are anticipating the release of 3G technologies.
The communications process between a mobile device and the Internet is important to
understand when learning wireless communications. Each system (i.e., WAP and WML, imode
and Java and J2ME) has its own process for sending and receiving information to and
from the Internet.
WAP communications involve many component but we focus on three—a WAPenabled
mobile device, a WAP gateway and a Web server. When a user requests information
from the Internet, the device sends the request to a WAP gateway. A WAP gateway
serves as the link between the mobile device and the Internet, similar to a proxy server in
wireline Web communications. WAP gateways are designed to convert WML to HTTP.
HTTP is the common protocol used in the transfer and viewing of information in Internet
transactions. The WAP gateway communicates with the Web server—the server which has
a connection to the Internet. The Web server processes the mobile device request by
searching through existing databases and stores of information, such as Web pages. The
Web server then sends the requested information back to the WAP gateway using HTTP.
The gateway translates the information back into WML and sends it to the mobile device
for use.45
10.5.3 Compact HTML (cHTML) and i-mode
NTT DoCoMo is one of the leaders in developing wireless technologies and 3G networks.
NTT DoCoMo’s i-mode service has become the most popular wireless service in Japan, of-
Wirelesshtp1_10.fm Page 468 Tuesday, June 19, 2001 10:27 AM
469 Wireless Communications Technologies (Part II) Chapter 10
© Copyright 1992–2002 by Deitel & Associates, Inc. All Rights Reserved. 6/19/01
fering voice service combined with text-messaging, animated graphics and Web browsing.
The number of subscribers continues to grow, with an estimated 24,573,00 people using the
service as of June 2001.46
The programming technology used by NTT DoCoMo and i-mode is Compact HTML
(cHTML). cHTML, a subset of HTML, is designed for mobile devices and has its own
unique tags and attributes. cHTML is not widely used except in i-mode phones and devices.
In the future, cHTML could merge with a form of WAP or XHTML, both of which are
described in this section. XHTML is explained further in Chapter 24, XHTML Basic Part
I and Chapter 25, XHTML Basic Part II.
The previous section described how WAP and WML perform mobile communication
with the Internet. The i-mode service is similar to WAP with a few notable differences.
When a user makes a request to the mobile Internet from an i-mode phone, the information
is coded to cHTML and transmitted over the network. The request is sent directly to Web
servers at NTT DoCoMo which process the information and send it back to the user. NTT
DoCoMo has over 30,000 pages of content designed in cHTML specifically for the i-mode
service and stores all the information on its own servers. This eliminates the need to translate
from one language to another to communicate over the network because NTT stores
both the content and runs the i-mode service. i-mode and c-HTML are outlined in Chapter
22, i-mode.
10.5.4 Java and the Java 2 Micro Edition (J2ME)
Java is one of the most widely used programming languages in the world today. It is particularly
appropriate for computers implementing Internet-based and Intranet-based applications
and any other software for devices that communicate over networks, including cell
phones, pagers and PDAs. Java is a powerful computer programming language appropriate
for experienced programmers building substantial systems.
Java has different development platforms available for software engineers to use
depending on their intended target devices or systems. Mobile devices are small and have
severe programming constraints and requirements. Sun Microsystems and other developers
like the iDEn Subscriber Group at Motorola Corporation have developed Java 2 Micro Edition
(J2ME) as a new programming platform specifically designed for mobile devices.
J2ME is primarily used to develop applications for wireless devices such as cell phones
and PDAs. WAP cannot manipulate data, perform complex applications and must always
be connected to a server where as J2ME does not.47 J2ME on the other hand, uses the
strengths of Java (e.g. portability and security) to produce mobile applications. These applications
can monitor and alert consumers when stock prices change or when a checking
account is overdrawn, for example48 J2ME also allows for game-playing over wireless
devices.
The J2ME platform is discussed in Chapter 27, Server-Side Java Programming and
Java 2 Micro Edition. These items include MID Profiles (MIDPs), the K Virtual Machine,
on the J2ME platform. Connected Limited Device Configuration (CLDC) and Connected
Device Configuration (CDC) are also discussed in connection with PDAs, cell phones and
other devices. We also examine how J2ME can run on multiple platforms and across different
devices as well as other important aspects of J2ME.
Wirelesshtp1_10.fm Page 469 Tuesday, June 19, 2001 10:27 AM
Chapter 10 Wireless Communications Technologies (Part II) 470
© Copyright 1992–2002 by Deitel & Associates, Inc. All Rights Reserved. 6/19/01
10.5.5 XML and XHTML
Extensible Markup Language (XML) was developed in 1996 by the World Wide Web Consortium’s
(W3C’s) XML Working Group and is related to Standard Generalized Markup
Language (SGML). XML is a widely-supported, open technology (i.e., non-proprietary
technology) for data exchange. XML documents contain only data, and applications decide
how to display that data. For example, a PDA may render data differently than a cell phone
or a desktop computer would.
XML permits document authors to create their own markup for virtually any type of
information. This extensibility enables document authors to create entirely new markup
languages to describe specific types of data. Some of the markup languages created with
XML include XHTML (Chapters 24, XHTML Basic Part I and Chapter 25, XHTML Basic
Part II), VoiceXML™ (for speech) and WBXML (WAP-Binary XML used for SyncML).
VoiceXML is discussed in Chapter 30, Wireless Multimedia, Flash 5.0 and Voice Technology.
WBXML and SyncML are examined in Chapter 9, Wireless Communications
Technologies (Part I).
XML tags describe the data they contain, therefore it is possible to search, sort, manipulate
and render an XML document using related technologies, such as the Extensible
Stylesheet Language (XSL).
XML documents are highly portable which is useful for mobile device and application
design. Special software is not required to open an XML document—any text editor that
supports ASCII/Unicode® characters can be used. Unicode is a standard alphabet that can
be used by most programming languages and across some platforms. One important characteristic
of XML is that it is both human readable and machine readable. Unicode is discussed
in Appendix C, Unicode.
Most standards and technologies are progressing and converging on one single standard
designed with XHTML. XHTML is not a procedural programming language like C,
Fortran, Cobol or Pascal. Rather, it is a markup language for identifying the elements of a
page so that a browser, such as Microsoft’s Internet Explorer or Netscape’s Communicator,
can render that Web page on a mobile device.
XHTML is a markup language created from the XML. XHTML takes advantage of
the XML’s strict syntax to ensure well-formed code. This makes XHTML better equipped
than HTML to represent complex data on the Internet or wireless Internet. For browsers to
determine whether an XHTML document contains the expected markup (e.g., the proper
set of elements in the proper order, etc.), the XHTML document is compared against
another document (called a document type definition or DTD) that describes every XHTML
element and attribute name and combination.
With the emergence of the wireless Web and Web-enabled appliances, incorrect
markup (e.g., coding errors) poses a portability problem. Small devices such as PDAs and
wireless phones have limited amounts of memory and cannot provide the extra resources
required to process incorrectly-written HTML. Documents intended for these devices must
be well formed to guarantee uniform processing. XHTML is examined in detail in Chapters
24 and 25, XHTML Basic Part I and II.
Wirelesshtp1_10.fm Page 470 Tuesday, June 19, 2001 10:27 AM
471 Wireless Communications Technologies (Part II) Chapter 10
© Copyright 1992–2002 by Deitel & Associates, Inc. All Rights Reserved. 6/19/01
533 times read

Related news

» Other Script Languages
by admin posted on Jul 19,2007
» cHTML
by admin posted on Jul 19,2007
» Wireless Markup Language
by admin posted on Jun 27,2007
» Future of Wireless Technologies
by admin posted on Aug 23,2007
» Questions
by admin posted on Jul 19,2007


More Top News
Cisco Wireless Networking
Most Popular
Featured Author