So far in our product reviews, we have focused on tools which allow us to
dynamically/statically build VoiceXML user-interfaces and dialogs. As part of
the mobile revolution, it is absolutely clear that interactive voice-based
access to applications is critical. In some scenarios, however, the use of wireless
devices, at least as an alternative strategy, is required. For instance, consider
a stock trading application. Voice-based access to get stock quotes and online
trading would be a great application, however sometimes a user might prefer
taking out a palm/pocket pc/mobile phone and using wireless web technology to get that
instant access to his/her portfolio.
In a nutshell, from an application provider perspective, it is often critical to provide multi-channel access to the same application–be it through a voice-based phone, a mobile phone, palm/pocket pc device or a typical web browser. To fulfill this gap, a number of ISVs have developed different types of solutions. In this article, we will focus on Oracle 9iAS Mobile Studio, a tool which allows developers to target a wide range of
the multi-channel frameworks which are available. Oracle Mobile Studio is built on top of the Oracle 9iAS Wireless & Voice multi-modal server.
As we have discussed, Oracle Mobile Studio is a hosted development, testing and
deployment environment, so we don’t really have any installation apart from the fact that we need a PC with a browser that is connected to the Internet. If you haven’t done so yet, you would need to register on the Oracle Mobile site, and get yourself a userid/password. You would also need to set up a numeric account number (I suggest using your phone number) and a pin number.
Apart from that, we need access
to a web application server whose HTTP port is outside the firewall. This will
allow you to modify your static/dynamic XML-based multi-channel applications. If
you want to start with simple application scenarios, a web server to serve
static XML files is enough. If, however, you want to build something interactive that’s
integrated with your backend databases and applications, then you probably would
use your favorite server-side framework (JSP/Servlets(J2EE Application Server),
ASP.NET, PHP, Perl, etc.). If you don’t have access to a web
server, you can consider using one of the free hosting providers such as Yahoo or Geocities.
First Looks – My Studio
Shown below is a first look at the studio (click the image to enlarge it). As the screenshot shows, the studio can host a number of applications. To get started, Oracle Mobile Studio provides a set of sample applications.
Multi-channel XML Schema
Oracle Mobile Studio (which uses the Oracle 9iAS Wireless Server) is based on
an XML schema which defines an abstract device markup language. The XML schema is
used to define a single device-independent markup language that supports a
variety of user interfaces, including voice and mobile/wireless devices. Similar to the
way elements (form, paragraph, input boxes etc.) represent the user
interface for HTML-based presentations, a number of elements in the schema have
been defined to represent components of the abstract user interface. Upon
execution for a particular device/channel, the Oracle 9iAS Wireless server then
translates these elements into their device-specific tags.
The Tag glossary describes what individual elements do, but for our evaluation, let’s understand some of the key tags.
|SimpleResult||Root tag; encapsulates the complete user interface|
|SimpleContainer||Container for form, text and menu elements|
|SimpleText||Contains a series of text elements|
|SimpleTextItem||Contains a text paragraph|
Now that we reviewed some of the tags that make up the Oracle 9iAS Wireless
schema, let’s get some action going. Actually, there is a reason why I selected
the above 4 elements. These elements are sufficient to create a basic Hello
World application (shown below).
From a functionality perspective, this mobile XML document is similar to the
following VoiceXML document.
Develop a new multi-channel application
To configure a new application, we’ll need to click on the New Application icon and provide basic information about the application that we want to build. We will create a new application called "Hello" and point it to an XML file that we previously developed. Once we are finished providing the basic
parameters, the application is configured and is shown as part of the studio.
"Calling your application" – Using your phone to test your application
Okay, now that you have developed your multi-channel XML-based application, you
can test your Voice application with the hosted Voice portal using the phone
number provided by Oracle Mobile: (877)672-0807. A typical conversation with
the Studio would go something like this:
- User: Dials 1-877-672-0807
- Oracle Mobile Studio: Welcome to the Oracle Mobile Online
Studio. Enter your account number or say help
- User: 7325845940 (the user says or enters their account number)
- Oracle Mobile Studio: Enter your pin
- User: nnnn (the user says or enters their 4 digit PIN.
- Oracle Mobile Studio: Please wait while your account number and
pin are verified
- Oracle Mobile Studio: Your options are… (lists your
- User: Hello (selects an application)
- Oracle Mobile Studio:
Hello World from Oracle Mobile Studio!
(creates a voice interface to your multi-channel XML application)
You may hang up or say main menu…
International users can use the corresponding non-toll-free number: (650)
Test the application in a wireless device
To illustrate that the application we have created is truly multi-channel,
let’s see if we can view the same application on a wireless device.
The screenshot above shows the same Hello application running as part of a
WAP-based micro-browser in a cell-phone simulator. We have used Openwave SDK to
test the same.
To be Continued
In our continuation of this review of Oracle Mobile Studio, next week we will
look at some of other constructs that are available which allow adding interaction to our multi-channel applications.
- Oracle 9iAS Mobile
Oracle 9iAS Mobile Studio Documentation
Oracle 9iAS Mobile Studio – Voice Tutorial
- Oracle 9iAS
- XForms activity
- Openwave SDK
About Hitesh Seth
Hitesh Seth is Chief Technology Evangelist for Silverline Technologies, a global
eBusiness and mobile solutions consulting and integration services firm. He is a
columnist on VoiceXML technology in XML Journal and regularly writes for other
technology publications including Java Developer’s Journal and Web Services
Journal on technology topics such as J2EE, Microsoft .NET, XML, Wireless
Computing, Speech Applications, Web Services & Integration. 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.