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

Page of 103
C
HAPTER 
10:
 
A
PPLICATION 
S
TART 
C
LASSES
 
 
P
ROGRAMMING 
G
UIDE FOR 
C
ISCO 
U
NIFIED 
CVP
 
VXML
 
S
ERVER 
 
 
 
AND 
C
ISCO 
U
NIFIED 
C
ALL 
S
TUDIO 
R
ELEASE 
4.1(1) 
 
 
 
61 
The main purpose for an application start class would be to prepare information that would then 
be used by call-specific components, especially if the setup process takes a long time to run. For 
example, if an application has elements that are written to access a backend database or 
mainframe system, they could initiate connections to that system each time they need to. This, 
however, would incur overhead in initiating the connection each time. An alternative would be to 
write an application start class that will open up the connection to the database or mainframe and 
perform all necessary setup. The class could take as long as necessary to run because the 
application is being initialized and is not actively taking calls. The application start class could 
then store the connection in application data that the elements could then access when needed. 
This solution incurs overhead at the best time, during application initialization, and eliminates it 
at the worst time, during a call. 
The application start class action is built by implementing the Unified CVP class 
StartApplicationInterface
 found in the 
com.audium.server.proxy
 package. It contains a 
single method named 
onStartApplication 
that is the execution method for the application 
start class. This method receives a single argument, an instance of 
ApplicationStartAPI
. This 
class belongs to the Global API and is used to access and create application data and global data 
(see the User Guide for Cisco Unified CVP VXML Server and Cisco Unified Call Studio Chapter 
2 in the section entitled Variables for more on application and global data). The method does not 
have a return value. It is expected that should an unrecoverable error occur, the application start 
class will throw an 
AudiumException