WAP Application discussion & WAP development Issues

WAP development issues and a detailed discussion of WAP

What is a Dynamically Generated WAP Application?

A dynamically generated WAP application is one whose contents are created on the fly, perhaps based on data in some central database. An example might be a presentation to a client of their list of stocks in a stock tracking application. They only want to see their own list of stocks, and so the relevant information is obtained from a table of such data.

The deck and cards presented to the user to show them their choices are offered in WML (or HDML, if you prefer). There's nothing special about what is sent to the client/browser: it's the same as the WML that you would create by hand in a static WML page.
Original Article at: http://www.m-indya.com/wap/wap_applications.htm

Code Generated by a Server-side Application

Rather than being a fixed set of choices coded in WML by hand, a dynamically generated WML deck will be created by a program running on the web server from which the user requested the information. This creates a kind of two-tier system, where the back end (or processing layer) is separated from the presentation layer. The program will run in a web application server environment, of the kind that has traditionally been used to create dynamic HTML applications.

Suitable web application servers include Microsoft's Active Server Pages (ASP), Allaire's ColdFusion, and JavaServer Pages (as provided by a tool such as JRUN). Perl is another traditional web application development environment. All of these environments have been employed by web application developers to create dynamic HTML applications, and each of them can be used similarly to create dynamic WAP applications.

The example offered above - generating content from a database - is perhaps the most obvious possibility for dynamically generated web applications. It opens the door both to making existing enterprise data available for display on browsers, and to creating databases specifically for use by dynamic web applications.

That leads naturally to another possibility: creating two-way applications.

Two-way Applications

In a nutshell, two-way applications prompt the user for input, and serve information in response to specific requests. Examples of two-way applications include search engines or data entry pages. In web pages, such capabilities are generally enabled by HTML forms. WML offers similar user input capabilities, but while WML does offer mechanisms to process and manipulate user input on the client, there's not nearly the power and versatility of processing input as there is on the server with a tool such as CF, ASP, JSP, or Perl.

When a WML page calls upon a server program written in one of these languages, the latter can perform processing that results in the generation of a web page (either HTML or WML). The server program is written in the language of the server development environment (Visual Basic, CFML, Java, Perl, etc.) but the result sent to the user in response is HTML or WML.

The server program might search for data based on user input, store that user input in a database, or cause records to be updated or deleted. Furthermore, it could send e-mail based on the WAP client's request, or communicate to another process on the server on the client's behalf. Finally, the user will receive a WML page that shows or explains the result of their request.

What Makes Dynamic WAP Applications So Great?

For a web site (HTML or WML) to be dynamically generated is a clear sign of its maturity. Dynamically generated web sites open up many possibilities for visitors and the site owner alike.

Personalization

One of the most important benefits is customization of content based on the user's preferences or their permitted access to data. Personalized sites are a worthwhile design goal because they are much more responsive to the needs of the end user, and serve to make the user feel better about the 'browsing experience'.

Personalization starts with the identification of the user in such a way that they can be uniquely associated with their profile of preferences or authorized access. In the development of HTML applications, the traditional means of identifying users is by way of a login form - and cookies are used to remember a user's authentication over multiple visits.

One difference with wireless browsers is that some mobile phones can offer a means by which to identify the user uniquely. Not all phones do, but this approach can provide assurance of the visitor's uniqueness without violating their privacy, making personalization even more powerful. If a phone doesn't offer such a facility, or the user has chosen to disable it, the more traditional means of login authentication (a login form) is available. Also, some phones (or gateways) now support cookies too, although the support is thin and not something you should presume just yet.

Site Security

An extension of the features enabled by personalization, where we determine the identity and authenticity of the user, is that we can also limit what parts of the site the user is authorized to see. This enables important data to be made available to the user without concern that it may be viewed by an unauthorized party, as might be the case with a static web site. (It's true that web server security can be used to protect static data, but there are times when developers are unable to control web server security configurations. In such cases, they can create programmatic security.)

Database Query and Update Processing

As mentioned earlier, another important benefit of dynamic sites is database query and update processing. A WML deck can provide a search interface, and a server program can search the appropriate database table (or site search index). Perhaps more powerful still is the ability to store, update, or delete database data based on user input. Mobile applications can provide substantial benefit when users can provide and update data from the field.

Generating e-Mail

Yet another benefit of dynamic sites is that the server program can generate e‑mail based on actions performed on the client. Perhaps a form will simply lead to mail being sent as a direct result - giving the user the opportunity to provide site feedback, for example. Another use of e‑mail is the generation of a message based on some activity taken by the user, such as the updating of a database in response to registering their details on a site.

Integrating Other Content

Still another possibility is to integrate content from other applications, or even from other sites. For example, the server program might request data from some other program operating on the server. Perhaps that other program is written in another programming language?

There are several mechanisms available for the mediation of such inter-program communications: Component Object Model (COM) and Distributed COM (DCOM) in the Windows environment, Common Object Request Broker Architecture (CORBA) in most other environments, and Enterprise JavaBeans (EJB) in Java programming environments.

Some server programming languages offer a means to gather information from other web sites. Such tools can parse the content gathered from another site for presentation to your visitors.

Scheduled Content

Finally, one of the biggest benefits of dynamic content is that you can use server-side scheduling features to cause generation of content at a particular time, on either a recurring or a once-only basis. This can cause the server to reflect data changed based on scheduled content, or in wireless browsers this can be more powerfully employed by taking advantage of WAP's 'notification' or 'push' capabilities.

With notification (a feature offered in the proprietary but widely supported Phone.com WAP architecture), content is sent to the browser, rather than the browser coming to a site to request content. Notification processes are most often associated with such features as messages sent to warn of dramatic changes in stock prices. More practical applications could include notifications based on changes in business processes (stock outages, site break-ins, etc.). The WAPForum's 1.2 standard is due to add a 'push' feature that could be used in similar fashion.

No comments:

Post a Comment