Archives
 
 
 
  Special
 
 
 
  About Us
 
 
 

Newsletter
Free E-mail Newsletter from BYTE.com

 
    
           
Visit the home page Browse the four-year online archive Download platform-neutral CPU/FPU benchmarks Find information for advertisers, authors, vendors, subscribers Request free information on products written about or advertised in BYTE Submit a press release, or scan recent announcements Talk with BYTE's staff and readers about products and technologies

ArticlesWhen C++ Is Right


February 1997 / State Of The Art / Tools for Telephony Apps / When C++ Is Right
Joe Tartaglia

Dr. Quiz makes house calls. Or more accurately, office visits to Pfizer, Time Inc., Coach Leatherware, and other large companies. The good doctor is actually a custom-built interactive voice response (IVR) system used by Professional Motivation Technologies (PMT), which provides training services. Graduates of the company's program call a special number to take a quiz that reinforces and measures the caller's understanding of training materials. The responses help managers measure the effectiveness of their instruction efforts and improve their return on their training investment.

Few Tools

JABS Technologies, the system's designer and developer, built Dr. Quiz from the ground up without using any of the various CTI toolkits or application generators on the market. "When work on Dr. Quiz began over three years ago, there weren't many tools available for the Windows NT platform," says Jorge Balmaseda , JABS president. So JABS and codeveloper High Caliber Systems, a New York City-based systems integrator, wrote the software using Microsoft Visual C++ 4.2 and Dialogic's software development kit. Microsoft SQL Server 6.5 stores responses and other data.

Multithreaded

Balmaseda says the development environment gave him complete control over system availability, scalability, and extensibility. Windows NT provides a stable platform with sophisticated event-logging and performance monitoring. It allowed JABS to build a multithreaded application as a service that runs in the background whenever the PC is running. (Dr. Quiz runs on a 486/66 PC with 32 MB of RAM and NT Workstation version 4. A Dialogic 121/B telephony card can handle up to 12 analog lines simultaneously, although the software was designed to handle at least 10 times that number, according to Balmaseda.)

For high availability, call processing can be manually switched over (locally or remotely) to a standby PC if the primary PC happens to go down. The manual switch-over is accomplished using NT's Service API. A remote watchdog PC automatically monitors the main system through NT's remote procedure calls. This standby PC can take over operations if the main system goes down. Line counts can be increased by increasing telephony card densities in the PC or by adding more PCs.

One of the biggest problems the developers faced when building the system was the lack of multithreading in the Microsoft Foundation Classes (MFC) Open Database Connectivity (ODBC) classes. The programmers ended up dropping MFC in favor of directly using the ODBC API for all database access.

Plugging Leaks

Memory leak s that occurred only after hundreds of calls had been made also stalled the development process. What are Balmaseda's primary words of wisdom to those people starting to develop their own CTI applications? "Test, test, test. And then test again."

In the end, however, the interactive voice-response system has saved the company hundreds of worker hours. When PMT started out four years ago, students received and returned quizzes by fax, but as business grew, faxing thousands of tests each month and grading them by hand became a time- and resource-consuming nightmare. Quizzes now are graded on-the-fly, scores are automatically entered in the database, and PMT can feed analytical reports back to clients in a matter of hours instead of weeks.


Jorge Balmaseda, JABS Technologies

photo_link (51 Kbytes)

For CTI applications, "test, test, test. And test again."


Up to the State Of The Art section contentsGo to previous article: When C++ Is RightGo to next article: Killer Apps, Today and TomorrowSearchSend a comment on this articleSubscribe to BYTE or BYTE on CD-ROM  
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it is theoretical--and no language better exemplifies this than C++.

more...

BYTE Digest

BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin, and dozens of other CMP publications—bringing you critical news and information about wireless communication, computer security, software development, embedded systems, and more!

Find out more

BYTE.com Store

BYTE CD-ROM
NOW, on one CD-ROM, you can instantly access more than 8 years of BYTE.
 
The Best of BYTE Volume 1: Programming Languages
The Best of BYTE
Volume 1: Programming Languages
In this issue of Best of BYTE, we bring together some of the leading programming language designers and implementors...

Copyright © 2005 CMP Media LLC, Privacy Policy, Your California Privacy rights, Terms of Service
Site comments: webmaster@byte.com
SDMG Web Sites: BYTE.com, C/C++ Users Journal, Dr. Dobb's Journal, MSDN Magazine, New Architect, SD Expo, SD Magazine, Sys Admin, The Perl Journal, UnixReview.com, Windows Developer Network