|
What does a Gateway Do?
A WAP Gateway plays many roles in the scheme of turning the WAP model into
working services. A list of just some of the functions of a WAP gateway include
the following:
- implementation of the WAP stack
- converting protocols
- converting markup languages
- compiling WMLScript programs
- encoding WML into a binary bitstream
- providing access control
- caching
- domain name resolution services (DNS)
- security features
Clearly, these gateways can pack a lot of punch. There is a wide range of
products available, with differing feature sets and price ranges (from free to
big bucks) so we'll deal with the most commonly implemented and important
features here.
Providing the software to maintain the WAP stack layers is a critical
function of any WAP gateway, though they will not all implement the same layers.
Gateways that support connectionless services will not need to implement the WTP
layer, just as products that don't support secure services won't need to include
the WTLS layer. A gateway that will be used for secure, connection-oriented
services will need to implement WSP, WTP, WTLS, and WDP.
Converting between WAP's WSP and the Internet's HTTP is another central
function of any WAP gateway. One of the main differences between WSP and HTTP is
that WSP's headers are encoded in binary form, or "tokenized." For
example, the token "Accept" from the HTTP/1.1 header becomes
"0x80". This is a way for WAP to save on bandwidth by transmitting the
bare minimum bits possible to represent a specific group of characters.
Some gateways also offer HTML to WML conversion, though this feature rarely
results in functional WAP services. It is generally agreed that mobile
applications should serve WML directly from the origin server, and that the code
needs to be designed and tested separately from HTML implementations.
Another important function of the WAP gateway is the compilation of WMLScript
programs. WMLScript is the only scripting language that works with WAP devices,
and although there are many similarities to Javascript, there are some key
differences in how it is called and compiled. Where Javascript code is enclosed
inside of HTML files and interpreted by the client browser, WMLScript code is
put in a separate file, and compiled at the gateway, in the constant quest to
reduce processing requirements at the device end. The compiled script is then
sent to the device as a binary encoded stream, also reducing bandwidth.
Encoding the WML content is another mandatory function of a gateway, and
again it is done to save on the precious bandwidth of the wireless networks. By
converting the WML to a binary, tokenized format, the amount of data sent over
the wireless network is greatly diminished. The gateway also checks the WML for
errors as part of this process, which is rigorous as WML is derived from XML and
has strict syntax requirements.
List of WAP Gateways
The following link(webpage) lists every country that Wapdrive has confirmed is
supporting WAP on at least one cellular phone network. They have also listed the
WAP gateway settings wherever possible.
http://www.wapdrive.com/DOCS/wap_gateway/index.html
Some WAP gateways are free to use, and some of the gateways require
registration with the service provider.
|