Runtime Revolution
 
Articles Other News

Using Revolution with FileMaker Pro
Part II: Strategies for Accessing your Data

by Bill Marriott

 

In last issue's article I outlined the reasons why you might consider using Revolution to develop the front-end to your FileMaker-based database system. In short, Revolution can give you the following benefits:

  • More control over branding and the end-user experience
  • Ability to prevent unauthorized access or modification of solutions
  • Complete access to system resources such as the file system and peripherals
  • A full-featured, procedural language that is more powerful than FileMaker scripts
  • Superior, royalty-free standalones that look more like native applications, work on more platforms, and are multi-user capable

By now, you're probably interested in how you can go about building those powerful front-ends. The first step, which I'll cover in this article, is selecting a strategy for connecting to the data stored in FileMaker.

Data Exchange Basics

Since the beginning of computing, sharing information has been a primary concern of anyone working with software. It seems every year there is some new protocol for data exchange, with a corresponding can of alphabet soup to explain it. You're probably already familiar with plain text files, in which records are marked by carriage returns and fields are marked by tabs or commas. These files are simple to understand and good for one-way conversions, but they aren't ideal for maintaining live, dynamic links between systems.

One of the most common methods of "live" exchange is the Open Database Connectivity (ODBC) standard. This specification provides a way for databases to talk with each other regardless of the operating system, database software, or programming language being used. The advantage of ODBC is its widespread adoption. A disadvantage is that it doesn't work "out of the box." You usually have to install drivers for both the clients (software that will access the main system) and servers (the system providing the information).

An emerging method is the Extensible Markup Language (XML), which can be employed myriads of ways. Not only can it be used when exchanging files (a kind of souped-up version of tab-delimited files), but it can also be used dynamically over web connections, in a variety of flavors.

These two basic approaches vary considerably in implementation. When using ODBC connections, you express your requests for information using Structured Query Language (SQL). When using XML, programmers may use anything from simple URLs to complexly structured messages (SOAP/RPC), but the result is always data formatted to XML standards. Fortunately, Revolution supports both mechanisms for working with remote systems, with a complete set of commands for forming the queries and parsing the results of each.

How to talk with FileMaker

FileMaker Pro comes in several editions, and each version has different capabilities when it comes to data exchange with other software. (This article refers to FileMaker 8.0/8.5, the currently shipping series as of this writing.)

  • FileMaker Pro and FileMaker Pro Advanced, which are commonly thought of as "client" programs, have the usual export capabilities for tab-delimited text files. They can also function as ODBC servers (that is, they can provide information to other programs), but only on the same machine. This means you can use ODBC to connect with your own copy of FileMaker for, say, mail merge with Microsoft Word. But you can't use ODBC to access your data across the network. You can export XML files, but again, not over the network.
  • FileMaker Server lets you host hundreds of FileMaker clients, but that is about it. There are no facilities in FileMaker Server for either ODBC or XML exchange over a network.
  • FileMaker Server Advanced, however, has support for both ODBC and XML over the network. If you need to keep your data within FileMaker Pro, but also deploy standalone clients to access the multi-user system, then you'll need to use FileMaker Server Advanced.

At this point, you begin to see the economies of multi-user database access with FileMaker emerge:

  • 1 non-networked user: You can create a standalone with FileMaker Pro Advanced, then worry about synchronizing their changes with the master database later on (a recipe for chaos).
  • 1-6 users: You can use FileMaker Pro or FileMaker Pro Advanced to host the file, and up to five clients can access it using the program's built-in facilities. (Requires six copies of FileMaker.)
  • 7-11 users: You start with the six copies of FileMaker, then add up to five more people who would use web browsers to connect via FileMaker's built-in "Instant Web Publishing" facility. However, they have a degraded experience, as only a fraction of FileMaker's capabilities are supported via IWP.
  • 12-250 users: You can move to either FileMaker Server (buying a copy of FileMaker for each user) or FileMaker Server Advanced (and use a mix of FileMaker Pro and web browsers).

The choice often comes down to whether you want to deliver a rich experience (requiring purchases of FileMaker licenses for each user) or to save money (by using a web browser client). Remember, standalones created with FileMaker Pro Advanced are royalty-free, but they are not networkable in any way. Fortunately, Revolution can help ease the pain.

Planning for your database revolution

If you want to get out from under the expense of supporting a large number of people in a multi-user environment, you have several options, depending on your needs. Assuming you wish to deploy several multi-user standalone clients for a rich experience, here are some recommendations.

If you're starting with a single copy of FileMaker: Again, the client software blocks access to ODBC and XML over the network. The strategy here would be to either migrate the data to a different multi-user system, or to host your files with FileMaker Server Advanced.

  • Migrating data is a lot easier with "FM Migrator" from .com Solutions. With this software, you can convert your entire FileMaker Pro database to MySQL, Oracle, PostgreSQL and other systems. If you were to migrate your FileMaker database to MySQL, for instance, you could host it on any one of a number of Linux-based shared hosting systems that charge less than $10/month. (If you already have a domain name with web hosting, you probably already have MySQL.) With your data on those servers, it's often backed up regularly, and also can be accessed from anywhere, anytime. Of course, Revolution provides built-in access to MySQL, PostgreSQL, Oracle, and Valentina as well as providing its own built-in database with SQLite.
  • You don't have to purchase your own copy of FileMaker Server Advanced. Several hosting companies offer packages for as little as $30/month, a fraction of the cost of purchasing your own copy and maintaining it in-house. They share the same advantages of MySQL hosting, with the additional benefit that your database structure can still be managed with FileMaker. Those hosting services will include ODBC/XML access, enabling you to use Revolution as a front-end.

If you already have FileMaker Server Advanced, in-house or via a hosting provider: You're ready to go. You can use Revolution to create a royalty-free, standalone, multi-user client for your database system – without purchasing additional copies of FileMaker Pro, and without sacrificing rich user interface or sophisticated printing capabilities.

The next article in this series will take a look at the mechanics of building a front-end to a live FileMaker Pro database.

 
©2005 Runtime Revolution Ltd, 15-19 York Place, Edinburgh, Scotland, UK, EH1 3EB.
Questions? Email info@runrev.com for answers.