Review: Oracle 9iAS Mobile Studio (Part II)

by Hitesh Seth

Hitesh Seth continues our review of Oracle 9iAS Mobile Studio from Oracle Corporation, focusing on Menus, Forms and Customizations.

This week in our Product Review section, we continue our review of Oracle 9iAS Mobile Studio from Oracle Corporation, focusing on Menus, Forms and Customizations.


In our previous article we used the Multi-channel XML format of the mobile studio to develop a simple "HelloWorld" application. In this article, we will continue our exploration of the different tags that make up the new markup by understanding how we can develop additional applications. Let's start with menus. Menus are built using the SimpleMenu container which contains a set of SimpleMenuItems, as shown below.

The user experience from a voice perspective, is "Where would you like to go today?" Your options are stock quotes, weather and news. From a wireless browser perspective, the screenshot below shows a totally different experience created for a mobile micro-browser (Openwave SDK is used to simulate the wireless experience).



Menus allow navigation between multi-channel documents. For interactions which involve soliciting values from the user (like getting account information, credit card information, etc.) a form is needed. The corresponding elements that represent form interactions in Oracle Mobile Schema are SimpleForm and SimpleFormItem. The type attribute of the SimpleFormItem signifies the expected values. Oracle Mobile Studio currently supports the following types: boolean, date, digits, currency, number and phone. If the data type is omitted, then the system defaults to the digits type. Oracle Mobile Studio doesn't support free form alphabetic input and literal spelling. 

Simple Grammar

A set of two tags, SimpleFormSelect and SimpleFormOption, can provide support for recognizing speech recognition grammars beyond the simple types (as shown below).

Beyond the mechanism provided by these two tags, a SimpleGrammar tag can also be used to enclose voice grammars and a SimpleDTMF element can be used to provide DTMF grammars. As in VoiceXML, the grammar can either be specified within the element of the tag or remotely as part of a separate document.

Device/Channel Specific Customizations

While building multi-channel applications, we are faced with a difficult challenge: building applications that work on a wide variety of devices, browsers and delivery mediums. Even though the overall goal is to build a channel independent application, in a number of scenarios we are faced with situations where we do need to provide device/channel specific extensions for enhancing the user experience. To accommodate device specific customizations, Oracle Mobile Studio provides a "deviceclass" attribute which can be optionally included to provide device specific functionality. The deviceclass attribute can take any combination of the following values: pdabrowser, pcbrowser, voice, microbrowser, micromessenger and messenger. For instance, VoiceXML provides the ability to play recorded audio instead of synthesized prompts using Text to Speech (TTS) technology. Using the deviceclass attribute, a SimpleAudio tag can be inserted in a user interface to play a prompt (as shown below).

Dynamically Generation of Oracle Mobile Multi-Channel XML Pages

In the examples so far, we have used statically created multi-channel XML pages. Similar to a wide variety of server-side scripting technologies (such as Java Server Pages (JSP), Active Server Pages (ASP)/ASP.NET, Perl), PHP can be used to deliver VoiceXML applications. They can be used in the same fashion to deliver the multi-channel XML device-independent pages as well. For instance, shown below is a very simple JSP-based dynamic Employee lookup application.

The above JSP, when executed in a server side application server (such as Apache Tomcat, BEA Weblogic or IBM WebSphere) would result in an output similar to this.


Based on the simple scenarios that we have seen earlier in this review, it is clear that there is a lot value in a multi-channel framework which can provide the ability to build applications which work with multiple scenarios and devices. The biggest advantage is that enterprise developers can build applications using a device-independent mechanism and use the features and functionality that are provided to deliver and maintain different device and channel renditions. 

If we do use such a framework, we need to acknowledge that we are going to be building wireless/mobile applications using the specified schema and not the VoiceXML/WML/cHTML markup itself. For instance, for developing applications using Oracle 9iAS Mobile Studio, we need to use the tags specified in the mobile XML Schema. The good thing is that currently there are initiatives underway which attempt to standardize these tags as a multi-channel schema. One of those initiatives is the W3C XForms activity, which has trigged a lot of interest thus far. 


About Hitesh Seth

A freelance author and known speaker, Hitesh is a columnist on VoiceXML technology in XML Journal and regularly writes for other technology publications including Java Developer's Journal, Web Services Journal and The Computer Bulletin on emerging technology topics such as J2EE, Microsoft .NET, XML, Wireless Computing, Speech Applications, Web Services & Enterprise/B2B Integration. He is the conference chair for VoiceXML Planet Conference & Expo. Hitesh received his Bachelors Degree from the Indian Institute of Technology Kanpur (IITK), India. Feel free to email any comments or suggestions about the articles featured in this column at hks@hiteshseth.com.

This article was originally published on Monday Dec 23rd 2002
Mobile Site | Full Site