MySQL и Filemaker Pro?

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

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

однако, будет ли их база данных Filemaker разговаривать с MySQL? Любая идея, как лучше всего их уговорить На FileMaker?

3 ответов


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

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

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

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

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

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


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

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

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

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

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

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

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


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

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

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