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.