Professional WAP gives a broad overview of WAP and associated technologies - what it is, why it's useful and how to take the best advantage of it. It covers the WAP architecture and protocols, what WAP tools and servers are available for developers today and how to WAP-enable your web server. Practical examples will show you how to make content and services available over WAP using WML Decks and WMLScript. More advanced topics include administration, transactions, security, and integration of telephony with internet services (WTA).
The book is principally aimed at web developers who are experienced in HTML, scripting, probably some server-side technology, and who now want to find out how to apply their skills in the WAP world. It will also appeal to project managers, application architects or other professionals who want to gain an understanding of WAP technologies and how businesses could benefit from them.
About the Author
Charlie Arehart is a veteran information systems developer, educator, and industry analyst with nearly 20 years experience. His company, SysteManage, is a web application development firm now focusing on wireless applications. Charlie is an Allaire Certified Instructor, who's taught hundreds of students, and he's a regular speaker to User Groups throughout the country. He's a seasoned developer who delights in helping others become more effective in their practice. He's also a prolific writer, contributing a monthly "Journeyman" column in the ColdFusion Developer's Journal and serving as tips editor for CF Advisor. He was also tech editor and contributor to the recently published ColdFusion for Dummies, from IDG, and is contributing to an upcoming IDG book on DreamWeaver UltraDev.
Nirmal Chidambaram currently works for Geologik Software, but first started programming when he had just left school. With a growing fascination for computers, he continued studies related to any computer topic, even though his engineering discipline was in Mechanical branch. He still fondly remembers the day when he first eyes on Windows 1.0 and the thrill of running his first 16-bit program for windows - a Hello World! program. Nirmal's expertise ranges from topics such as Distributed Object Computing to Graphics programming using OpenGL. Now, his main area of interest is in developing Multi-Modal interfaces. He is also currently developing GeoXML, a XML vocabulary for representation of geological data.
Read an Excerpt
...In the preceding chapters, we have discussed various aspects of WAP that enable content to be delivered to a wireless device, but only when the user of such a device requests or "pulls" the content from the network. In other words, the content is constantly present in the network, but the user only gets to view it if they request it, for example by using a browsing application on the mobile device.
However, when we look at real-life applications, we realize that there is a lot of information that is useful to a user, but which a user does not see because they do not know when it is available or when there is a change in the status of the information. Such information ideally needs to be "pushed" to the user either at predefined intervals or when certain events occur that would then make the information useful to the user. Some examples of possible push situations are arrival of new emails, stock market information, multi-user game updates, and so on.
Push technologies define a complete framework for delivering content to a user in an asynchronous manner without the user being required to request the information. The push architecture is defined for the first time in the WAP 1.2 specifications.
Rationale of a WAP Push ModelUnlike the Internet, the push model for WAP has been well defined in the WAP 1.2 specifications. This should make implementations of push standardized and independent of vendor. Besides, WAP content is targeted towards personal devices that users usually have with them, unlike the Internet where the users can be away from their computers for substantial periods. Therefore, itmakes a lot more sense to have a standardized push model in WAP; it is more likely to succeed than its counterpart on the Internet. In addition, the rivalry between mechanisms like e-mail and push is also not there. In fact, the WAP push models assumes emails would be notified using push so that they could then make a decision on whether to download it.
As a matter of fact, Push services already exist in mobile phone networks, using the well-known Short Message Service (SMS) and the Cell-Broadcast mechanism in GSM networks. Many users already have dozens of messages sent to their mobile phones, which information on key news items, scores from a sports game or informing the user that a new message has arrived in their voice mailbox. There is, however, a very important element missing in all these services; the service is not interactive.
For example, currently if you receive notification that you have a voicemail, you still need to dial the number that gives you access to your voicemail separately. No interactive mechanisms exist that offers you a menu of choices to act upon your voicemail in an interactive manner as soon as the notification has arrived.
Consider another example, where you have registered with your online investment broker to provide you with short messages as soon as a certain stock price crosses a threshold (defined by you). On receiving the information, if you choose to buy or sell the particular stock, you will need to separately communicate with your broker to place the order, as would be the case in SMS. On the other hand, if this whole transaction was defined using WAP push technologies, it can be combined with a menu option to follow a link to a site where you can buy or sell stock.
It is therefore important to make a distinction between the following:
- SMS and Cell-Broadcast services that have already been widely deployed to push pager-like text messages to users
- WAP based push services that use SMS or Cell-Broadcast as the bearer to transmit packets over the wireless network. In this case, SMS or Cell-Broadcast can become a viable WAP bearer that would not only use existing network infrastructure but also provide the required interactive behavior that characterizes WAP based push.
The Push FrameworkWithin the push framework, the protocols used by the origin server that initiates the push content are separated from the protocols used in the WAP domain. This is achieved by placing an intermediary known as the Push Proxy Gateway (PPG) between the push origin server known as the Push Initiator (PI) and the WAP client on the wireless device. Note that it is possible to draw similarities between the WAP pull model that we have seen in the previous chapters and the push framework. The most obvious similarity is that, both models use an intermediary, and mostly for similar reasons.
The Push Access Protocol (PAP) is designed to work on top of one of the application level protocols, like HTTP or SMTP on the Internet. In other words, PAP is tunneled over a commonly available application layer protocol on the Internet. In this chapter, we will assume that a HTTP POST mechanism is used for tunneling PAP messages, however, this doesn't mean that a PPG implementer cannot devise a way to use SMTP. The specifications only suggest some mechanisms for the tunneling and an implementer could always use a different mechanism and still be standards compliant
Push Over-the-Air (OTA) protocol, on the other hand, is used on top of the WSP layer of the WAP stack of protocols.
The Push Proxy Gateway (PPG) has to implement the entire WAP protocol stack in addition to the above two push specific protocols, PAP and push OTA. It therefore makes sense to have push functionality as a component or add-on for a WAP Gateway.
Many of the protocols, as well as some of the content, in the push framework are applications of XML. For example, PAP is an XML language. It is therefore reasonably easy for PPG and PI implementers to implement most of their functionality, because XML parser libraries are very commonly and freely available.
We will look at the protocols used in some detail here, but first we take a look at the addresses used to target mobile devices....
Table of ContentsSection 1: WAP and the Wireless World
Chapter 1: Overview of WAP
Chapter 2: Setting up WAP - Tools and Toolkits
Chapter 3: WAP Gateways
Section 2: The Wireless Markup Language
Chapter 4: Basic WML
Chapter 5: Interacting with the User
Chapter 6: Introduction to WMLScript
Chapter 7: Usability Issues
Section 3: Generating Dynamic WAP Content
Chapter 8: Using ASP
Chapter 9: Serving Multiple Client Types with XML
Chapter 10: JSP and XSLT
Chapter 11: WAP and ColdFusion
Section 4: Advanced WAP
Chapter 12: Converting Existing Content
Chapter 13: Incorporating E-Mail in WAP Applications
Chapter 14: Directory Services with LDAP
Chapter 15: WAP Security
Section 5: Future WAP and Wireless Technologies
Chapter 16: Push
Chapter 17: Interacting with the Phone - WTA
Chapter 18: VoiceXML
Chapter 19: The Future of Wireless Technologies
Appendix A: WML Tag Reference
Appendix B: WMLScript Reference
Appendix C: WMLScript Standard Libraries
Appendix D: WTAI Reference
Appendix E: WBMP Format
Appendix F: Apache and Tomcat Installation
Appendix G: Glossary
Appendix H: Resources
Appendix H: Support and Errata
Most Helpful Customer Reviews
This book, weighing in at 1000 pages+--and hardly any fluff, fills a much-needed gap in the coverage of real-world WAP programming. For so long we had virtually nothing but SDK docs and one lonely, rather slim book. Pro WAP brings discussions of user interface design challenges, multi-phone incompatibilities, implementation challenges and solutions in ASP, JSP, and CF, discussions of push/notifications/messaging, and lots more. It covers beginning, intermediate, and advanced topics, serving its audience as they mature. I've gone back to it time and again as one or another topic has become interesting, and it doesn't disappoint. Is it the perfect book? No. But WAP's a fast-moving world and any book about it will be soon overtaken by change and ever-improving perspectives in other books. As the first major independent WAP book on the market, and with such breadth and depth, it does the WAP community a great service. Reviews elsewhere seem to confirm that.
This title, like many other technology books, was delivered quickly to the market and really lacked in-depth discussion of anything.