|
The
WAP specification was released in its first version the 30th of april 1998. Since then
most cellular vendors has been active to develop network components and terminals for WAP.
Probably we will se some WAP solutions during 1999.
WAP gives a service development architecture similar to internet. The cornerstone of
wap is WML, Wireless Markup Language. WML is based on xml, a new standard that might
replace html as the standard for web pages on the internet. WML pages can be stored on
standard internet servers.
Another part of WML is WML script (WMLS), a scripting language similar to Java script.
WMLS gives added functionality to WAP applications. Examples of WMLS functionality can be
accessing the address book of the phone or accessing a wallet on a smart card.
Wta (Wireless Telephony Application) is another exiting part of WAP. The intention of
wta is to develop telephony applications using WAP. Examples of such services can be call
screening. wta was not completely finished as a part of the 1.0 specification, but there
should be a good version as a part of the next release of the specification spring 1999.
The figure shows an imaginary wap terminal. A wap terminal can be everything from a
wireless phone with a small display, to a large screen wap-browsing only terminal. A
challange for a small device will be the keyboard. A complete keyboard takes a lot of
space, while a traditional phone keyboard is to limited. Here it will be room for
innovation.
WAP is based on XML (eXtensive Markup Language)
Xml is a meta-language defining how document specific languages can be defined. Xml is
tailored for the Internet, and is based upon sgml (Standard Generalized Markup Language),
which originally was designed for advanced technical documentation. sgml is very flexible,
but together with the flexibility, follows some complexity. Sml has removed some of the
features that are not necessary for Internet usage.
One of the main differences between html and xml is that html has one defined tagging
language, while XML is a meta-language where you can define your own tags. An example is
<h1>, which is the standard tag for section titles,
level 1. In XML, the editor decides which tags to be used. The legal tags for a document
is defined in a Document Type Definition (DTD). WML is defined in a DTD specified by WAP forum.
Actually, there is no conflict between sml and html. Sml is a generic meta-language,
and will be used to define html. Then html will be one application using xml, but at the
same time xml can be used to define more powerful tagging languages. Probably we will se
web browsers which can browse any xml documents, including html, making the internet more
flexible.
Developing WAP application using Wireless Markup Language
The WML language is very similar to html. WML is defined using xml. This is a good
example of the power of xml. Xml both can be used to define html and WML.
This will not be a complete description of WML. You will find one example here, showing
the source code for the illustration above:
<?xml version="1.0"?>
<!DOCTYPE WML PUBLIC "-//WAPFORUM//DTD WML 1.0//EN"
"http://www.wapforum.org/DTD/WML.xml">
<!-- MOBIC CENTRAL -->
<WML>
<CARD>
MOBIC WAP CENTRAL
<SELECT KEY="Continent">
<OPTION VALUE="P" ONCLICK="#Phone">Phone</OPTION>
<OPTION VALUE="M" ONCLICK="#Messages">Messages</OPTION>
<OPTION VALUE="B" ONCLICK="#Microbrowser">Microbrowser</OPTION>
<OPTION VALUE="F" ONCLICK="#Financial">Financial services</OPTION>
<OPTION VALUE="W" ONCLICK="#Wallet">Wallet</OPTION>
<OPTION VALUE="O" ONCLICK="#Other">Other</OPTION>
</SELECT>
</CARD>
<CARD NAME="Phone">
MOBIC phone service
<!-- WML code accessing a phone services -->
</CARD>
<CARD NAME="Messages">
MOBIC message services
<!-- WML code accessing messaging services -->
</CARD>
<CARD NAME="Microbrowser">
MOBIC microbrowser
<!-- WML code accessing a microbrowser service -->
</CARD>
<CARD NAME="Financial">
MOBIC financial services
<!-- WML code accessing financial services -->
</CARD>
<CARD NAME="Wallet">
MOBIC wallet
<!-- WML code accessing wallet services -->
</CARD>
<CARD NAME="Other">
MOBIC other services
<!-- WML code accessing other services -->
</CARD>
</WML>
WML use tags just the same way as html, but the tags are different. The code above
implements the front page of the service, but not the individual services itself. To
implement the service itself, there will be a lot more source code, both WML code and
server services that is able to implement the different services, like messaging services.
Then a very brief explanation of the source code. Each wap docuement starts with a
header defining WML as an XML document. Then there is a comment. All comments starts with
<!-- and ends with -->. Each WAP document consist of one or more cards. A card
describes one dialog with the user (normally one screen). The user can then navigate
between cards in the same or different documents. The first card in the source code is the
card which is displayed when the user opens the file. When the user select one list item,
the browser will open the card defined in ONCLICK=. The action to be done for each
selection is then defined in the referred card. For this example there is no code defined.
Compared to html, WML has limited functionality. But WML has also som added
functionality like the use of variables. Some of the features of WML are:
- text elements with some formatting alternatives
- selection lists
- forms
- images
- variables
- navigation using URL's
WML script (WMLS)
WMLS is a scripting language based on ECMAscript, and ECMA script is very similar to
JAVA. For an experienced JAVA programmer, learning WMLS will be simple.
WMLS works very well togheter with WML. WML is a tagging language with limited user
interface and processing capabilities. WMLS is a scripting language that can complement
WML by adding some core processing capabilities. One simple example of WMLS is
verification of input. By using WMLS to verify user input, the network communication will
be redused. To keep network communication on a minimum is very important for wireless
applications.
Other examples of the use of WMLS is communication with the phone, like adding or
retrieving business card information, or paying for a service by using the smart card on
the wireless phone.
This section will be extended with an example of how to use WML script, when the author
finds time to make it. If you have a nice example that could be a part of this WMLS
article, please post it to the web administrator.
Wireless Telephony Application (WTA)
WTA is an interesting part of WAP which is extending the scope compared to the
internet. The intention of WTA is to integrate telephony services into WAP. The
specification was only released as a draft when the WAP specification was released 30th of
april 1998. Hopefully this specification will be a formal part of the next version of the
specification, which will be released during spring 1999.
The specification has set some goals for WTA:
- Advanced end user services, WTA makes it possible for network operators
to provide advanced services with a consistent interface towards the end users.
- Increased utilisation of network, network operators can utilise WTA to
increase the use of the network services.
- Interoperability, WAP Applications written using the WTA interface can
execute on a variety of telephony devices. Interoperability across Terminals!
- Network-independent applications, WTA content developers write telephony
applications that span various
One example of WTA services is call screening.
WTA will be described more extensive when the specification is issued in
its final form.
Further development
WAP version 1.0 was made after extensive work over a short time
period. When version 1.0 was frozen, there was a lot of promising work items which were
not included in the specification. Immediately when version 1.0 was released, the work for
the next release was in progress. The list below shows work items which existed when
version 1.0 was released:
- Connection-oriented data transport
- Integration of SIM Toolkit, smartcard and WAP
- Integration of MExE (ETSI) and WAP
- Additional integration with the telephony network
- Downloadable WMLScript libraries
- Compression (WTLS or other layers)
- Application levels security, eg, crypto scripting libraries
- Wider scope of security architecture, including smartcard support, improved handling of
end-to-end security, certificate authority hierarchies, etc.
- Support for streaming multimedia content for higher bandwidth bearers, eg, GPRS
- Support for multicast data
- Support for location dependent mobile services, eg, positioning functions and features
- Downloadable applications
- Speech API
- Management Entity Definitions for each layer and across all layers of the WAP
- Quality of Service for the WAP stack with respect to each bearer service
- Application Programming Interfaces for each layer of the WAP stack
- Interoperability Testing (see previous section on compliance and interoperability
testing)
Several of this will probably be part of next release (estimated spring 1999). There
will also be other improwements in next release.
Do you need help developing your WAP application?, Contact mobic and we will try to identify a team of
experts.
Do you know how to develop WAP applications? Register into our database of experts
|