So you have this great database you designed. Your coworker happens by your desk, looks over your shoulder, and says, “Hey, that looks good. How can I use that?”
Let me count the ways …
FileMaker is amazingly flexible in terms of deployment strategies. Of course, how you choose to deploy your solution to multiple users will depend greatly on your situation: Your available budget, the size of your company, number of users, reliability considerations, your skill level, and your expected data load. So let’s look at some of the options and see if we can’t give you some guidance.
If your company is willing to purchase FileMaker client licenses (or already has), then you have two good choices for multi-user deployment: FileMaker Server and peer-to-peer sharing. (What-to-what sharing?) Let’s cover that one first.
Peer-to-peer sharing is basically when you crank up the database on one computer and then allow other computers to attach to it over the network. Each computer is an equal (a “peer”) to each of the others; it’s just that the first one to open the database gets some special treatment. This is because FileMaker is what’s known as a “client-server” application. The database is “hosted” by a “server” – a computer that accepts requests from other computers, which are known as “clients” – and then it responds by providing data matching the requests.
In a peer-to-peer setup, the first computer to open the database becomes the host – in effect, it acts like a little mini-server for the database. Other computers can then connect to it and request information.
Peer-to-peer works well in a few (limited) situations:
- You have a very limited budget and can’t afford to purchase a FileMaker Server license.
- You work in a small area where all users are closely located (preferably, within the same building, more preferably a small building).
- You have a very stable network.
- You are willing to be very disciplined about performing backups on a locally-stored database (i.e., the file is stored on a hard drive on the computer that serves as the host).
- You’re willing to be very disciplined to ensure that the individual who owns that computer always starts up the database first thing in the morning, and closes it last in the evening (you can’t close it until the last guest – client – closes it). (A dedicated computer for this purpose often works well.)
- Your data are not especially business-critical (i.e., you can accept data loss if you lose power or a hard drive on the host computer).
As you can see, running a peer-to-peer setup is a bit … tedious. There are also significant risks, since you are entirely responsible for backups and you have no hardware failover. Nevertheless, such setups can work in appropriate circumstances. (Although we don’t generally recommend it, for reliability and security reasons.)
So what’s the next level? We often recommend using a hosting service. There are several excellent services out there, but essentially, these companies run instances of FileMaker Server on server farms and let you host your database with them. There are several advantages to doing so:
- Cost is usually quite reasonable (most will run around $30 / month).
- Backups and failover are available through server professionals. Hosting companies run server farms; they’re very good at doing that.
- The databases will be available wherever you have an Internet connection. This can be important if you need to telecommute or work from offsite.
There are some downsides, the largest of which is you’re going to have to work over the open Internet. The network speed is going to be somewhat slow, in most cases, and this can affect the performance of your database. You’ll need to optimize your system for proper performance over the WAN (Wide Area Network); otherwise, you’ll drive your users crazy.
Another potential option is to purchase and set up your own FileMaker Server installation. This has some unique advantages:
- Like the hosting company, you’ll have the advantage of automated backups. You’ll also have direct access to those backup directories, without necessarily having to go through the hosting company’s tech support team. (Note: Many hosting companies provide web-based tools for accessing your backups, starting / stopping databases, and the like, but being able to access the Admin Console of FileMaker Server is very nice.)
- Speaking of the Admin Console, this is a boon. You’ll have much greater control and information about how your solution is performing if you run your own server than you would with a hosting company.
Naturally, nothing is free. Downsides of running your own server include:
- Cost. (The non-free part.) The hardware is expensive, in many cases, and so is the software.
- Time. You have to maintain the patching on the server operating system, make sure all the virus scans and definitions are up to date, ensure your firewalls are properly configured … there’s a lot that goes into proper server maintenance. Once you host a server accessible over the Internet, you create an attack surface for electronic miscreants; be wary.
Okay, so that’s how I host my database. Remember how I mentioned about this all assuming you were using FileMaker clients? But what if I want my data to be accessible by my customers, who don’t have FileMaker licenses? Or what if I can’t afford FileMaker licenses for everyone? Or maybe I have a subset of users who just need casual, read-only access to some of the data and really don’t need the full application? Well, that’s where FileMaker’s web publishing technologies come in.
There are two primary means for publishing FileMaker data to the web: They’re referred to as WebDirect and Custom Web Publishing.
WebDirect is a new technology introduced with FileMaker 13. It replaced the older Instant Web Publishing technology, with vastly improved functionality and appearance. You can set up your database with a FileMaker layout structure, activate WebDirect and it will translate to a web browser. Of course, it’s a bit more complex than that; in order to get good performance, you’ll need to optimize your layouts for WebDirect, and there are a few quirks you’ll need to account for. And oh, you do need to upsize your server hardware; WebDirect is a demanding technology (since you’re asking the server to do all the work of both the client and the server in a FileMaker paradigm). It’s covered nicely in FileMaker’s WebDirect Guide.
Custom Web Publishing is much more like a traditional web site. It uses the PHP scripting language and an Application Programming Interface (API) specifically to allow PHP to connect to a FileMaker Database. The big advantage of doing things this way, if you want your FileMaker data on the web, is that you can do all sorts of creative combinations of data. You can blend FileMaker data with all sorts of other technologies; you can break the layout-based paradigm of the FileMaker environment; you can really stretch things out. The only problem is, you would need to learn both a little PHP and the FileMaker API in order to work with it. (Although there are some shortcuts out there.) We have some resources on our Links page that can help you get started with Custom Web Publishing.
(It’s worth noting that the hosting options of using a hosting service or using your own FileMaker Server installation still apply when using the web technologies, but you can’t use either WebDirect or Custom Web Publishing without FileMaker Server. Therefore, a typical peer-to-peer setup won’t be suitable.)
Finally, what about … mobile? Well, with its mobile client, FileMaker Go, FileMaker can fit the bill here, too. You can easily create a mobile solution that translates up to the desktop, or vice versa. You can synchronize solutions between mobile and server-hosted, in case you need to operate when you’re “off the grid”. Imagine being able to download the day’s work orders, then upload the completed information when done. Or use the onboard camera to scan inventory. Or enter new client information, then sync it back to your master database when you’re back at the office. Huge possibilities!
Does any of this sound interesting? Then contact us! We can help you expand what your business can do, and make it faster, cheaper, and more profitable in the process!