 Sections
Syndication |
|
|
|
|
Wireless Protocols, Platforms and Programming Languages
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
|
|
|
|
|
|
More Top News
Cisco Wireless Networking
Most Popular
Featured Author
|