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
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.
A set of two tags, SimpleFormSelect and SimpleFormOption, can provide support
for recognizing speech recognition grammars beyond the simple types (as shown
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
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
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 firstname.lastname@example.org.