“Playing well with others” — Integration in FileMaker Cloud
For over 30 years, the FileMaker platform from Apple subsidiary FileMaker, Inc. has been empowering people to write their own custom apps without requiring them to have an IT background or extensive programming experience. FileMaker’s relative ease of use makes it possible to build robust, cross-platform applications in a matter of weeks or months instead of the typical months or years. That’s what makes FileMaker the development choice for ‘the rest of us’.
This unique approach to software development has fostered a truly diverse and dynamic developer community. Thousands of people from all kinds of backgrounds have turned their love of FileMaker into a successful development career. Countless other in-house and citizen developers have been empowered to automate workflows for their business, non-profit, corporate department, or government/educational institution by creating their own cross-platform custom apps.
How we got here: Workplace Automation ‘the FileMaker way’
Back when FileMaker Inc. was formed in the 90’s, cross platform used to mean FileMaker for Windows and Mac. Today, cross-platform means FileMaker is allowing developers to build native applications for iPad, iPhone, Windows, Mac, and an innovative web client they call WebDirect. What’s even more amazing about FileMaker is that to deploy an app that runs on all these different platforms, developers only need to learn a single language and maintain a single source code.
For example, to deploy a robust web application using WebDirect, a developer doesn’t need to know PHP, HTML5, CSS, JavaScript, or any other web programming language. All they need to know is FileMaker. This remarkable combination of ease of use and ‘write once, run anywhere’ power is an integral part of what many refer to as ‘the FileMaker way’.
Yet as amazing as FileMaker may be, the long-term success of custom apps typically rests on their ability to ‘play well with others.’ So, the often-unavoidable next step for most FileMaker apps is integration.
Where we’ve been: Integration with plug-ins and drivers
Decades ago software integration usually meant connecting FileMaker to off-the-shelf desktop applications or local network services (such as accounting packages and corporate email systems). In other workplaces, integration also meant setting up live connections to larger SQL databases. FileMaker has elegantly addressed both these needs, first by introducing a plug-in architecture so third party developers can extend FileMaker’s functionality, and later by including support for external SQL data sources right into the platform.
Over the years, FileMaker’s plug-in architecture has given rise to numerous third-party plug-ins — from hardware drivers for interacting with desktop scanners, barcode readers, and serial port devices all the way to software extensions allowing FileMaker to perform external file operations, connect to QuickBooks®, manipulate PDF forms and much more. Likewise, native support for SQL sources has expanded to include live connections between FileMaker for Windows and Mac and systems running on Oracle®, MySQL, IBM, PostgreSQL, and Microsoft SQL.
Plug-ins and drivers can be considered elegant solutions because both are relatively straight forward to implement, keeping true to FileMaker’s traditional ease of use. Unfortunately there is one significant drawback to plug-ins and drivers: they were intended for the age of desktops and servers, not today’s mobile and Cloud computing world.
Where we are: FileMaker integrations in the mobile age
Nowadays most applications FileMaker may be required to integrate with, including the accounting packages and corporate email systems of years past, have since migrated from the desktop/LAN over to the Cloud. Even FileMaker now runs on the millions of iOS devices out there, a platform for which a third-party FileMaker plug-in architecture does not yet exist.
The plug-in and driver approach simply isn’t well suited for today’s increasingly mobile, globally connected computing environment. Developers often work around these integration challenges by requiring that all FileMaker mobile apps needing to integrate with other systems be hosted using FileMaker Server software. While FileMaker Server is powerful hosting software (and the engine behind WebDirect), developers’ reasoning here is not application hosting, it’s integration convenience.
FileMaker Server offers developers a central location powered by traditional rack (or tower) servers, where conventional third-party plug-ins and SQL drivers can continue to be installed. In the case of Cloud integrations, developers pursue even more convoluted paths, requiring installation of all kinds of third-party PHP libraries, Java libraries, and other low-level web technologies onto FileMaker Server.
For many hosted applications, third-party add-ons on FileMaker Server can often bridge the mobile divide, but they can also expose apps to added risk. Not only are portability and scalability hindered by such custom tailored servers (think server upgrades and migrations), but stability and reliability can also be negatively impacted. Multiple third-party add-ons mean multiple updates and software patches to keep up with, and therefore multiple points where problems may arise.
While these integration models may be effective for ‘one-offs’ and other specific use cases (such as corporate environments, where there is likely to be in-house IT support), they are not well suited for general, all-purpose integrations intended to work anywhere and be used by anyone. In our view, such complex integrations also run counter to ‘the FileMaker way’.
Where we are going: Integration in the Cloud
With the announcement of FileMaker Cloud, clearly the next frontier for FileMaker integration is compatiblity with Coud-based APIs. The Cloud presents both unique challenges and opportunities to implementing integrations ‘the FileMaker way’. When it comes to integration with Cloud-based APIs in general (and FileMaker Cloud in particular), developers face three important challenges.
The first challenge is the absence of uniform, built-in support for key web technologies across all FileMaker clients (FileMaker Go, FileMaker Pro, and WebDirect) on all supported platforms (iOS, macOS, Windows, and Web). Some essentials that make REST APIs work, like built-in support for OAuth authentication and JSON parsing, currently require third-party plug-ins or Custom Web Publishing add-ons that are desktop and server only.
The second challenge is that mobile devices have limited hardware resources. Further complicating matters on the client side is that iOS devices in particular implement tight security controls that restrict conventional third-party add-ons. Not only FileMaker plug-ins, but even web browser extensions are restricted.
The third challenge is that the PHP and XML Custom Web Publishing add-ons most developers rely on for API integrations are not yet supported on FileMaker Cloud. Likewise, server-side plug-ins will not work on FileMaker Cloud until third-party developers port them over to the new Linux-based platform. While this situation is expected to change as third-party plug-ins catch up and the FileMaker Cloud platform evolves, it speaks to the “brittleness” of this kind of integration approach.
RC2FM Connector: a FileMaker Cloud compatible integration
When we set out to develop our RingCentral to FileMaker integration, we wanted to start from scratch and remove all obstacles to making a Cloud ready integration. We wanted to achieve a similar level of integration (or better) as was possible between RingCentral and other Cloud SaaS applications and avoid the compatibility risks associated with traditional approaches.
Our goals were:
- Offer a full-featured integration with no shortcuts.
- Support every platform FileMaker does (iOS, macOS, Windows, Web)
- Assume complete responsibility for all external dependencies
- Support hosted as well as standalone applications
- Make it as easy to implement and to use as FileMaker
- Make it secure and scalable
- Make it affordable
The result was RC2FM Connector, a pure play Cloud telephony integration that bolts-on to any FileMaker custom app (hosted or not), runs on FileMaker Go, WebDirect, and FileMaker Pro (both Mac and Windows), and is 100% FileMaker Cloud compatible. RC2FM Connector offers great integration by leveraging all of the major API endpoints of RingCentral’s REST APIs, it requires no third-party plug-ins, and all of the custom PHP code is securely hosted on our own AWS EC2 instances independently of FileMaker Server.
Our view is that it shouldn’t take an engineering degree from MIT for customers to set up or operate a FileMaker integration. Rather than ask customers to deploy PHP code on their FileMaker Servers, implement security, and maintain an API configuration, we’ve assumed the administration of our RingCentral integration, and offered it as a scalable Software as a Service (SaaS). All the client needs to know is FileMaker.
RC2FM Connector represents our idea of how all FileMaker Cloud integrations should work. They should be seamless, they should be painless, they should be full featured, they should support all platforms, and they should be rock solid. In other words, all Cloud integrations should work ‘the FileMaker way.’
Automation USA: We speak Cloud
As certified FileMaker Business Alliance partners and Amazon Web Services experts, Automation USA specializes in offering big business solutions at small company prices and making the difficult look easy. We are proud to offer FileMaker hosting services on either FileMaker Cloud or FileMaker Server running on AWS. Contact us for a free demo or to arrange a free 15-day trial.