Cisco Cisco Customer Voice Portal 8.0(1) Developer's Guide

Page of 122
will not possess so much session information as to adversely affect the performance of the XML
API.
Another consequence of the request/response mechanism for accessing the XML API is that
while the Java API can call a method to read information and set information, the XML API
must separate the read and write functionality. The HTTP request XML documents produced
by VXML Server contains all desired information to read while the XML response sent back
from the component specifies how to manipulate the desired information. Since the tasks each
component can perform are different, the response XML document will differ for each component
type.
While the XML API provides the same functionality as the Java API, there are some small
deficiencies. Firstly, there is additional overhead involved in the XML API since it involves
the creation and parsing of XML as well as the overhead inherent in HTTP communications.
This overhead, though, is not large as the XML documents involved are typically small and
only a single HTTP request and response are used per component. However the developer should
test their system to ensure that any overhead introduced is acceptable. Secondly, some
components, both Unified CVP and custom built, utilize Java classes as efficient mechanisms
for storing data. Using the Java API, these classes can be accessed and modified directly. The
XML API, however, will not be able to because it is a text-only interface designed to work
identically using different programming languages. A developer must be aware of this restriction
before designing components that rely on Java-only concepts.
Due to the nature of XML and HTTP and the complexity of some Unified CVP components,
the XML API is available as an alternative only for some components.
The components that can utilize the XML API are:
standard action and decision elements
dynamic element configurations
start and end of call actions
Since configurable elements require more integration with Call Studio and VXML Server, they
can only be created using the Java API.
DTD Diagrams
While the Java API has Javadocs explaining what can be done with the classes and methods in
the API, the DTDs for every XML document sent either as a request or a response is described
within this document. A quick introduction to DTD diagrams is warranted at this point in order
to fully understand the XML API.
Programming Guide for Cisco Unified CVP VXML Server and Cisco Unified Call Studio Release 8.0(1)
15
Chapter 2: Unified CVP API Introduction
XML API