Case Study

Clipper DBF database files on the Web

Author: Rich Dlin, CTO and Vice President
Company: Milano Computer Systems

Our company was forced to migrate our legacy Clipper applications to Windows. With almost 500 installations of our software at the time, and given that our software package was almost six years old at that time meant that we had clients with six years worth of accumulated data. We could not afford to have our clients suffer any degradation in performance, or reliability, as a result of the move to Windows.

We eventually standardized on Delphi as our development platform. After about a month of working with Borland's BDE, it became clear that we needed to replace the BDE. After researching various solutions at that time, we standardized on Apollo. Months later and days of benchmark tests in hand, it was clear that the only way to give our clients the performance they were accustomed to under Clipper was to use Apollo with Delphi. Looking back it was an excellent decision that has reinforced time and again.

Overview

Our main application is a Windows point-of-sale package designed specifically for beauty spas and hair salons. It currently has an installation base of over 1,000 sites, uses a database consisting of 72 tables, with some tables having over 1,000,000 records. Our application is used in a variety of environments including single station, Windows peer-to-peer configurations, Novell NetWare and Windows NT networks. For the most part, client usage ranges form single user to 20 workstations running on Windows NT. In each of these environments, our Delphi/Apollo application manages the speed requirements demanded of a service-oriented point-of-sale package.

A few months ago, our clients began asking us to deliver a web-based solution that would allow their customers' to book appointments over the Internet. The challenge was an interesting one and we were presented with the following issues:

  • Data could not be centralized for all clients. Each client wanted to maintain total control over their corporate information and everyone wanted the data to remain at their offices - as it was with their existing Windows system.
  • Adding web-based ordering could not replace existing systems, but rather had to extend the functionality.
  • The process of implementing the new web-system had to be seamless and smooth.
  • The web-solution had to be very flexible in that our clients could not afford to have their flow of day-to-day business interrupted due to difficulties with Internet communications.
  • Not all sites could have static IPs.

With these parameters, we took a close look at the Apollo Database Server, with its promise of built-in Internet connectivity. We contacted ApolloDB for guidance and eventually hired them to help us understand how to use the various Apollo and web technologies. As it turned out, the key to building our solution was to make extensive use of the built-in Server DLL technology in Apollo Database Server (Note: Server DLLs were formerly called Stored Procedures).

We installed the Apollo Database Server and proceeded to develop several Server DLLs that harnessed our existing application's business logic. We combined our legacy code with the Apollo Server's IP technology and within in a couple days, had a full-blown web-solution that allowed clients to make appointments in real time, from anywhere in the world.

Result

In just over one month, we were able to develop and deliver a complete web-based solution. In addition to the new excitement of having a new state-of-the-art system, we were very pleased, and surprised, when essentially all of our existing tried-and-true legacy code was left untouched. Here are some of the highlights:

  • We successfully created a new web-based edition of of our software and are now in the process of up-selling all of our customer base to be Internet-ready.
  • We use the various editions of Apollo Database Server Unlimited User Edition and the 5-User Edition as the backend, depending on what the clients need.
  • We developed generic Active Server Pages (ASP) that are used as the front-end for all clients . We can tailor these ASP pages for each customer as needed, thereby allowing us to provide even more service to our client base

Using this new web-based solution, our client's customers can book an appointment on-line in real-time both at the salon and at the consumer site, including the e-mail verification using Apollo ASP's built-in QuickMail.

Without Apollo Database Server's Server DLL feature, we would still be deep in the development phase some six months later. In closing, I want to extend our thanks to the ApolloDB team, specifically to Med and Anthony, for developing such great products and for helping us with our specific development needs. I would highly recommend Apollo and Apollo Database Server for anybody doing database development.