MySQL и Filemaker Pro? - PullRequest
       19

MySQL и Filemaker Pro?

7 голосов
/ 25 марта 2009

У меня есть клиент, который хочет использовать Filemaker для нескольких вещей в их офисе, и может заставить меня создать веб-приложение.

В последний раз, когда я использовал, думал или даже слышал о Filemaker, было около 10 лет назад, и я помню, что не хочу использовать его как бэкэнд сложного веб-приложения, Я думаю, чтобы попытаться продать их на MySQL.

Однако будет ли их база данных Filemaker общаться с MySQL? Есть идеи, как лучше отговорить их от Filemaker?

Ответы [ 3 ]

9 голосов
/ 25 марта 2009

Вам может быть трудно отговорить их от FileMaker, потому что на самом деле это был довольно умный инструмент для создания небольших, собственных приложений баз данных, и у него была очень лояльная база пользователей. Но вы правы - это не очень хороший инструмент для создания веб-приложения.

У меня была похожая проблема с клиентом, который все еще использовал пользовательское приложение dBase IV. К счастью, в архиве Perl CPAN есть модули для общения с что угодно . Поэтому я написал сценарий, который каждую ночь экспортировал всю базу данных dBase IV, и загрузил его в MySQL в виде набора таблиц только для чтения.

К сожалению, для этого требовалось отключать MySQL на 30 минут каждую ночь. (Это была большая база данных, и нам пришлось преобразовывать текст произвольной формы в HTML.) Поэтому мы переключились на PostgreSQL и выполнили обновление всей базы данных в виде одной транзакции.

Но что, если вам нужен доступ на чтение и запись к базе данных FileMaker? В этом случае у вас есть несколько вариантов, большинство из которых плохие:

  1. Создание инструмента двунаправленной синхронизации .
  2. Полностью избавьтесь от FileMaker. Если клиентские базы данных FileMaker тривиальны, это может быть относительно просто. Я бы начал с того, что написал бы быстрый и грязный клон их наиболее важных баз данных и продемонстрировал их в веб-браузере.
  3. Клиент может лучше всего обслуживаться веб-приложением на основе FileMaker. Если это так, направьте их в Google .

Но как вы продаете клиенту по заданному выбору? Вероятно, лучше всего изложить затраты и выгоды каждого варианта и позволить клиенту решить, что лучше для его бизнеса. Вы можете потерять работу, но сохраните репутацию честного совета и не будете участвовать в проекте, который плохо подходит вашему клиенту.

8 голосов
/ 15 апреля 2009

Мы разрабатываем решения как с FileMaker, так и с PHP / MySQL. Мы рекомендуем сделать веб-приложение в оптимизированной для веб-приложений технологии, такой как MySQL.

Сказав это, FileMaker имеет надежный PHP API, поэтому, если у веб-приложения есть относительно легкие требования (например, для домашнего использования), используйте его и избавьте себя от проблем синхронизации.

Технология FileSSer ESS позволяет FileMaker использовать базу данных SQL в качестве источника внутренних данных, что дает вам 2 варианта:

  1. Используйте ESS в качестве удобного способа синхронизации прямо в FileMaker - таким образом, у вас будет «родной» источник данных для работы с решением FileMaker как таковым.

  2. Используйте ESS, чтобы FileMaker можно было использовать в качестве инструмента отчетов / интеллектуального анализа данных / случайного запроса и редактирования непосредственно в таблицах MySQL - это прекрасно работает.

Мы обнаружили, что создание сложного приложения в FileMaker с бэкэндом ESS / MySQL очень сложно, поэтому выбор 1 или 2 из вышеизложенного зависит от того, насколько сложным и сложным является использование FileMaker.

В противном случае SyncDek имеет хорошую репутацию как стороннее решение для автоматизации синхронизации.

5 голосов
/ 25 марта 2009

Я занимался подобными проблемами и нашел пару решений, о которых emk не упомянул ...

  1. FileMaker может связываться с внешними источниками данных SQL (ESS), поэтому вы можете использовать ODBC для подключения к базе данных MySQL (или другой) и обмена данными. Вы можете найти более подробную информацию здесь . мы попробовали это и нашли это довольно медленным, если честно
  2. Syncdek - это продукт, который позволяет вам выполнять репликацию и передачу данных между Filemaker, MySQL и другими структурированными источниками.
  3. Возможно использовать Filemaker Instant Web Publishing в качестве веб-службы, через которую ваше приложение может затем проталкивать и извлекать данные. Мы нашли пару обёрток для этого в python и php
  4. вы можете поместить триггер в базу данных FileMaker, чтобы при каждом изменении записи (или части интересующей вас записи) вы могли вызывать веб-службу, которая обновляет версию MySQL или memcached этих данных, которые ваш веб-сайт можно получить доступ.

Я обнаружил, что людям нравится FileMaker, потому что он дает им очень визуальный интерфейс для их данных - очень легко создавать довольно большие автономные приложения без особых знаний в области разработки. Но когда дело доходит до совместной работы со многими пользователями или представления этих данных в формате, отличном от приложения FileMaker, мы обнаружили, что производительность представляет собой реальную проблему.

...