Sharing Your Database with Cross-Platform and Remote Users

You have a small custom-made database on your network that has information about your clients, members, and programs. Your staff needs to access this database on a regular basis. Unfortunately, your computer systems are not standardized. Users on both Macs and Windows PCs need to get at the information, and some staff members need to connect to the database remotely. How can everyone get access to the database without having to give up their personal computing preferences?

If you are considering purchasing or building a new database, or expanding or converting an existing database, it is important to consider how to make your database -- and the mission-critical information it contains -- available to everyone in your organization.

Choose a Database Program Everyone Can UseThe program most commonly used for small database projects is Microsoft Access. Its power and ease of use makes it an excellent tool. There is, of course, a catch. MS Access will only run on a PC with Windows. Filemaker Pro, another popular and easy-to-use database program, runs on both Windows and Macintosh platforms. It is relatively inexpensive and can be quickly learned. While Filemaker may be an excellent solution for a relatively simple database such as a client tracking system, it may not be appropriate for more complex needs such as donor management or inventory control. For larger projects, server-based database engines like Microsoft SQL Server, Sybase or Oracle can provide some flexibility. These back-end systems use industry-standard communication methods, so there are many front-end interface programs that can access those servers. You can develop an interface for just about any platform, but you would need to invest time and money.

Use the WebAn increasingly popular solution is to "Web-enable" your database. A Web-enabled database provides the user with a secure means of accessing data dynamically using her Web browser to input information, search, or view reports. The user is free to use any computing platform she wishes. This method is very effective for remote users. Much less data must travel over the network connection with a Web-based system than with other methods, so someone accessing the database with a slow modem will still get reasonable performance. This system is completely centralized, so everyone can immediately see any changes to the design or data. You can also design and configure a Web-based system to provide limited access to your database by the public over the Internet, if you so desire.

While this solution is ideal for the user -- the familiar browser means a lower learning curve -- it requires more programming and development work using several different systems such as a Web server, browser, and "middleware." It can be difficult to create new forms or reports, since there are few user configuration capabilities. This system also generally requires a more robust, thus expensive, server machine since all database processing is performed on the server for all clients.

Some programs -- Oracle, Filemaker, Access -- have some built in abilities to generate Web pages, but there are limitations. Filemaker Web output is not very flexible, and would not be the best solution for a more complex database. MS Access will only interact dynamically if the user is running Microsoft's Web browser on a Windows computer.

For the most flexible system, most programs require "middleware" -- software that serves to "glue together" two existing programs. In this case, middleware connects the database server to the Web server, and provides a development environment for customizing the Web interface. Some middleware applications that work between most database and Web servers are ColdFusion, Lasso, and the open source Zope . Creating a Web-enabled database system does require a great deal of work. Not only is database design and development involved, but Web site development as well. Most organizations would need to hire an outside developer to perform the work, which could be costly. Deciding to do it yourself may require a smaller outlay of cash but will be expensive in terms of time -- both the high learning-curve and the development time.

The Envelope PleaseSo, the solution to your cross-platform blues is: It depends! Different options may be appropriate depending on the complexity of your database system, your budget, and the flexibility you require. I hope the issues outlined in this report help you find the answer for your own system.