2000 — Automatic Data Processing, Inc.


Designed and implemented a communications server application for use in their 3-tier payroll system. My application provided the layer between the client’s Java application software and the mainframe.


Java web clients post requests to a database which are picked up by this application, which queue communication sessions with the mainframe. The results are the picked up by the web clients.

There are three panes in the application window

  1. DeviceView displays the TAPI devices (usually modems) in the machine, along with the status of each device.
  2. RequestView displays the requests posted by the clients, and their current status.
  3. EventView displays an event log of the entire application.


I designed and implemented the entire application using Visual C++, including the design document in Microsoft WordVisual SourceSafe was used as the project’s source code control system.


  • C++ and MFC were the language and library used.
  • Multithreading was used to instantiate the communication sessions.
  • TAPI C interface was wrapped into a C++ class.
  • SQL was used in creating the “IO Classes” to communicate with the database. The product supported multiple database engines.


The project contained 56k lines of C++ code and a 30 page design document.

You can click on an icon below (use the arrows to scroll the icon list) and see the screen shot and a description