8

我有一个客户想在他们的办公室里使用 Filemaker 做一些事情,并且可能让我构建一个 Web 应用程序。

上一次使用,或者想到,甚至听说过 Filemaker 大约是在 10 年前,我似乎记得我不想将它用作复杂网络应用程序的后端,所以我在想尝试在 MySQL 上出售它们。

但是,他们的 Filemaker 数据库会与 MySQL 通信吗?知道如何最好地从 Filemaker 中说服他们吗?

4

3 回答 3

10

您可能很难将它们从 FileMaker 中淘汰,因为它实际上是一个非常聪明的工具,用于制作小型内部数据库应用程序,并且拥有非常忠实的用户群。但你是对的——它不是制作 Web 应用程序的好工具。

我与仍在使用自定义 dBase IV 应用程序的客户有类似的问题。幸运的是,Perl 的 CPAN 存档有用于与任何东西对话的模块。所以我写了一个脚本,每晚导出整个 dBase IV 数据库,并将其作为一组只读表上传到 MySQL。

不幸的是,这需要每晚关闭 MySQL 30 分钟。(这是一个大型数据库,我们必须将自由格式的文本转换为 HTML。)所以我们切换到 PostgreSQL,并将整个数据库更新作为单个事务执行。

但是,如果您需要对 FileMaker 数据库进行读写访问怎么办?在这种情况下,你有几个选择,其中大多数都是不好的:

  1. 构建双向同步工具
  2. 完全摆脱 FileMaker。如果客户的 FileMaker 数据库很小,这可能相对容易。我会首先为他们最重要的数据库编写一个快速而肮脏的克隆,然后在 Web 浏览器中向他们演示。
  3. 实际上,基于 FileMaker 的 Web 应用程序可能最好地为客户端提供服务。如果是这样,请将它们推荐给 Google

但是,您如何根据给定的选择向客户推销?最好列出每个选择的成本和收益,让客户决定哪个最适合他们的业务。你可能会失去这份工作,但你会保持诚实建议的声誉,而且你不会参与一个不适合你的客户的项目。

于 2009-03-24T22:28:11.263 回答
8

我们使用 FileMaker 和 PHP/MySQL 开发解决方案。我们的建议是在 Web 应用程序优化技术(如 MySQL)中创建 Web 应用程序。

话虽如此,FileMaker 确实有一个可靠的 PHP API,所以如果网络应用程序有相对轻量级的需求(例如在内部使用),那么使用它并省去同步的麻烦。

FileMaker 的 ESS 技术让 FileMaker 使用 SQL db 作为后端数据源,这为您提供了 2 个选项:

  1. 将 ESS 用作在 FileMaker 内同步的一种很好的紧密方式 - 这样您就可以在 FileMaker 解决方案本身中使用“本机”数据源。

  2. 使用 ESS 允许 FileMaker 直接在 MySQL 表上用作报告/数据挖掘/临时查询和编辑工具 - 效果很好。

我们发现在带有 ESS/MySQL 后端的 FileMaker 中构建复杂的应用程序非常棘手,因此您是从上面选择 1 还是 2 取决于 FileMaker 使用的复杂程度和繁重程度。

否则,SyncDek 作为第三方自动化同步解决方案享有盛誉。

于 2009-04-15T13:05:24.943 回答
5

我一直在解决类似的问题,并找到了一些 emk 没有提到的解决方案......

  1. FileMaker 可以链接到外部 SQL 数据源 (ESS),因此您可以使用 ODBC 连接到 MySQL(或其他)数据库并共享数据。您可以在此处找到更多信息。我们试过了,说实话发现它很慢
  2. Syncdek是一款声称可以让您在 Filemaker、MySQL 和其他结构化源之间进行数据复制和数据传输的产品。
  3. 可以将 Filemaker 的Instant Web Publishing用作 Web 服务,然后您的应用程序可以通过该服务推送和提取数据。我们在pythonphp中找到了几个包装器
  4. 您可以在 FileMaker 数据库中放置一个触发器,以便每次更改记录(或您感兴趣的记录的一部分)时,您都可以调用 Web 服务来更新您的网站可以访问的该数据的 MySQL 或 memcached 版本。

我发现人们喜欢 FileMaker,因为它为他们的数据提供了一个非常直观的界面——无需太多开发知识就可以很容易地制作相当大的自包含应用程序。但是,当涉及到与许多用户的协作或以 FileMaker 应用程序以外的格式呈现这些数据时,我们发现性能是一个真正的问题。

于 2009-03-25T09:08:28.150 回答