Intranet Journal   Earthweb  
Images Events Jobs Premium Services Media Kit Network Map E-mail Offers Vendor Solutions Webcasts

   Intranet Journal Subjects
Search Earthweb

Privacy Policy



internet.com
IT
Developer
Internet News
Small Business
Personal Technology
International

Search internet.com
Advertise
Corporate Info
Newsletters
Tech Jobs
E-mail Offers

internet commerce
Be a Commerce Partner
















 

[ Home | Discussion Forum | How Do I... | Lotus Notes Intranets | Microsoft SharePoint | Products | Shopping  ]

free news!

Wireless Apps: The Reality Today


Jean-Baptiste Minchelli, Consultant

Introduction
Today's Wireless environments
Multi-Device Wireless environments
Purpose of a Wireless application

Today's Wireless environments

Introduction

Development of a Wireless application does not usually require any specific procedure. This means that a number of vendors have been quick to use Wireless to promote their products, although these possess no specific Wireless feature. We could mention Allaire, for example, who proudly announced their products' support for WAP; in fact, all this turns out to mean is that a few tags have been inserted.

We will see that by using standard Web technologies, it is quite possible to set up a Wireless application.

Existing environments

The environment is the non-visible part of the application; essentially, this refers to a resource which governs much of the development and operation of the application.

The first Wireless services were grafted onto existing systems which, naturally, had not been designed to integrate Wireless technology. Wireless applications therefore often cohabited with standard Web applications, quite independently; this usually involved new developments in order to make new services available.

Environment of early Wireless applications

An example of a Wireless application

Below is a simple example of a WAP application set up in a relatively conventional Web environment:

  • Web Server: Apache
  • Server-side scripting language: PHP

WAP (which stands for Wireless Application Protocol) is a specification from the WAP Forum which aims to define how applications should operate within the Wireless domain. Although a gateway is essential in the WAP protocol, it is only implemented by operators. For information, the gateway works as a link between the Wireless world and the Web (translation of requests, content coders, and so on). Therefore, only the elements mentioned above are required to set up a WAP application.

Server configuration

The application server (or the Web server) needs to be configured in order to deliver WAP content. So you need to tell the server when it must make it known that the message is a WAP message. This means specifying the MIME-types (content-type) specific to WAP. For Apache, you need to edit the httpd.conf file and add the following:

AddType text/vnd.wap.wml wml
AddType text/vnd.wap.wmlscript wmls
AddType application/vnd.wap.wmlc wmlc
AddType application/vnd.wap.wmlscriptc wmlscAddType image/vnd.wap.wbmp wbmp

The server is now able to supply WAP content. It is only essential to specify the MIME-types for static pages. Otherwise, these can be specified dynamically, as we will see later on.

Application development and testing

WAP currently uses WML (Wireless Markup Language), which is based on XML, and WMLScript, based on ECMAScript. If we compare it to a Web application, we could say that WML plays the role of HTML (document formatting) and WMLScript is like JavaScript (client-side scripting language).

Below is an example of WML:

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.WAPforum.org/DTD/wml_1.1.xml">

<wml>
<card id="hello">
<p>
<do type="accept">
<go href="Hello.wmls#Display('Hello in WMLS')"/>
</do>
Hello world!
</p>
</card>
</wml>

Hello.wml

And now, here is an example of WMLScript:

extern function Display(msg)
{
Dialogs.alert(MSG);
return;
}

Hello.wmls

To test this first Wireless application, place the Hello.wml and Hello.wmls in the Web server's root folder, and then browse the page with a WAP simulator such as that offered by Phone.com (now OpenWave).

YoSpace Emulator

The above picture shows the result that you should then obtain. As long as your server is accessible via Internet, you should be able to access your application using any WAP phone. All you need to do is enter the relevant URL to access the resource.

We will now put together a dynamic application which generates WAP content on the fly. We will use PHP to do this. Of course, it is equally possible to use any other technology to dynamically generate documents (ASP, JSP…). Below is the source code for our example:

<?
header("Content-Type: text/vnd.wap.wml");
echo "<?xml version=\"1.0\"?>";
echo "<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\"
\"http://www.wapforum.org/DTD/wml_1.1.xml\">";
?>

<wml>
<card id="hello">
<p>
<?
$word = "hello";
$word .= " world!";
echo $word;
?>
</p>
</card>
</wml>

Hello.php

It is crucial not to omit the Content-Type information from the header. It is this information that enables the different agents in the protocol to correctly process the message (gateway, browser…). The rest of the code is conventional — you insert the PHP code inside the WML code. You can therefore carry out any processes you want (database access, image generation…).

Recap

Pros

Cons

  • Uses existing structures.
  • Swift to implement.
  • Application specifically designed for Wireless devices.
  • Requires redevelopment of application.
  • Extremely costly in terms of development and maintenance.

From this rudimentary example, we can see that it is possible to build any Wireless application. But as we have already mentioned, the present case involves redeveloping applications. And since, as we know, you need one version for HDML, one for WAP, another in HTML 3.2 for PDAs, and so on, it is clear that development and maintenance costs will quickly begin to add up.

Printer Friendly Version

TechMetrix

TechMetrix Research is a technically focused analyst firm focused on e-business application development needs. Based in Boston, Mass., the firm publishes comparison reports and product reviews designed to aid enterprises with decision making and to keep pace with the fast-moving e-business market.

TechMetrix is a U.S.-based subsidiary of SQLI, a European company that offers on-site development services to international organizations. SQLI specializes in e-business project development.



Of Interest
· Intranet eXchange Discussion Board

· Advice and Opinions

email this page

Tutorials
and more at:
Intranet Journal's Tutorials
Intranet Journal Favorites

Creating a PHP-Based Content Management System

The Spyware Guide

Introduction to Microsoft SharePoint Portal

Intranet Journal
Part of the EarthWeb Network

Managing Editor
Intranet Journal

Tom Dunlap

EarthWeb Home Page
Jupitermedia Home Page

Media Kit





JupiterOnlineMedia

internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

Jupitermedia Corporate Info


Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers

Solutions
Whitepapers and eBooks
Go Parallel Article: Intel Thread Checker, Meet 20 Million LOC
IBM Whitepaper: Innovative Collaboration to Advance Your Business
Internet.com eBook: Real Life Rails
Avaya Article: Call Control XML - Powerful, Standards-Based Call Control
Tripwire Whitepaper: Seven Practical Steps to Mitigate Virtualization Security Risks
Internet.com eBook: The Pros and Cons of Outsourcing
Internet.com eBook: Best Practices for Developing a Web Site
IBM CXO Whitepaper: The 2008 Global CEO Study "The Enterprise of the Future"
Avaya Article: Call Control XML in Action - A CCXML Auto Attendant
Go Parallel Article: James Reinders on the Intel Parallel Studio Beta Program
IBM CXO Whitepaper: Unlocking the DNA of the Adaptable Workforce--The Global Human Capital Study 2008
Adobe Acrobat Connect Pro: Web Conferencing and eLearning Whitepapers
Go Parallel Article: Getting Started with TBB on Windows
HP eBook: Storage Networking , Part 1
MORE WHITEPAPERS, EBOOKS, AND ARTICLES
Webcasts
Go Parallel Video: Intel(R) Threading Building Blocks: A New Method for Threading in C++
HP Video: Is Your Data Center Ready for a Real World Disaster?
Microsoft Partner Portal Video: Microsoft Gold Certified Partners Build Successful Practices
HP On Demand Webcast: Virtualization in Action
Go Parallel Video: Performance and Threading Tools for Game Developers
Rackspace Hosting Center: Customer Videos
Intel vPro Developer Virtual Bootcamp
HP Disaster-Proof Solutions eSeminar
HP On Demand Webcast: Discover the Benefits of Virtualization
MORE WEBCASTS, PODCASTS, AND VIDEOS
Downloads and eKits
Microsoft Download: Silverlight 2 Software Development Kit Beta 2
30-Day Trial: SPAMfighter Exchange Module
Red Gate Download: SQL Toolbelt
Iron Speed Designer Application Generator
Microsoft Download: Silverlight 2 Beta 2 Runtime
MORE DOWNLOADS, EKITS, AND FREE TRIALS
Tutorials and Demos
IBM IT Innovation Article: Green Servers Provide a Competitive Advantage
Microsoft Article: Expression Web 2 for PHP Developers--Simplify Your PHP Applications
MORE TUTORIALS, DEMOS AND STEP-BY-STEP GUIDES