Как это работает. Варианты развертывания и использования приложений FileMaker

Как это работает. Варианты развертывания и использования приложений FileMaker

от Аркадий Перла | August 9, 2021

Первоначально эта статья была размещена на ресурсе FileMaker Team. С актуальными изменениями на 2021 год мы публикуем эту статью здесь.

Этот материал предназначен в большей степени для заказчиков разработки приложений на FileMaker, а также для начинающих разработчиков. Заказчики приложений часто задают вопрос — а как именно будет функционировать разработанное приложение, как реализуется работа нескольких пользователей, какие программы должны быть установлены на компьютеры и т.п? Подобные вопросы мы нередко слышим и от ИТ-служб наших заказчиков. Поскольку вариантов несколько, и они отличаются по стоимости и решаемым задачам, то я решил систематизировать информацию и рассказать обо всех основных вариантах. Мы начнем с простых и далее будем переходить к более сложным решениям.

Результатом разработки приложения на FileMaker является файл (реже несколько файлов) формата .fmp12 (в более ранних версиях .fmp7 ). Этот файл содержит в себе как саму базу данных, так и функционал работы приложения — экранные формы, скрипты и т.п. Давайте посмотрим, что мы можем сделать с этим файлом и как с ним работать.

Для каждого варианта указывается, какие лицензии нам могут потребоваться для работы. Способы лицензирования (покупка, корпоративное лицензирование, подписка) и стоимость лицензий в статье не рассматривается.

Однопользовательское приложение Runtime Solution

Сразу оговорюсь, что этот способ уже устарел. Начиная с 16-й версии (на момент написания этой статьи, текущая версия FileMaker - 19.3) компания Claris, разработчик платформы FileMaker отключила эту возможность.

Поскольку это устаревшая функция буду краток. Runtime Solution — это программа сформированная на основе вашего fmp12-файла и не требующая для работы сам FileMaker. Технически Runtime Solution представляет из себя программу-контейнер, куда FileMaker как-бы встраивает сам себя. Результатом формирования является папка программы, с некоторым количеством различных служебных файлов и файла для запуска. В Windows это будет «имя программы».exe, в OS X «имя программы».app. Кроме того в папке будет находится файл «имя программы».fmpur. Это сама база данных и при необходимости ее можно спокойно открыть в FileMaker как обычный fmp12-файл, например, для внесения изменений в функционал программы с последующим созданием новой версии Runtime Solution.

Для пользователя работа с Runtime Solution ничем не отличается от работы с любой другой программой. Установка какого-либо дополнительного программного обеспечения, в том числе и самого FileMaker не требуется. Пользователь просто размещает папку Runtime Solution в любом удобном для себя месте на компьютере и запускает exe или app файл.

Runtime Solution имеет ряд ограничений. Главное из которых — это однопользовательское решение. Для доступа к самим данным можно организовать работу нескольких пользователей, где у каждого будет своя связка логин/пароль, однако работать они должны будут по очереди. Runtime Solution подойдет вам, если вы работаете с приложением один, либо если работа происходит периодически и возможно договориться об очередной работе пользователей.

Лицензирование: При работе с Runtime Solution пользователю приобретать какие-либо лицензии не требуется. Разработчику для создания Runtime Solution необходим FileMaker Pro Advanced версии ниже 16ой.

Многопользовательская работа без использования FileMaker Server. До 5 пользователей

Этот вариант предназначен для небольших (не более пяти одновременно работающих пользователей) рабочих групп. FileMaker Pro «умеет» транслировать открытый в нем fmp12 файл в локальную сеть — так называемый шаринг. Фактически можно сказать, что в сам FileMaker Pro встроен небольшой FileMaker-сервер. С точки зрения пользователей такая организация работы выглядит следующим образом:

Один из компьютеров выбирается как центральный. На него устанавливается FileMaker Pro, открывается файл, и включается возможность доступа к файлу из сети (Sharing). На всех остальных компьютерах пользователей также устанавливается FileMaker Pro, а пользователи подключаются к приложению используя команду меню Open Remote («Открыть удаленно» в русских версиях FileMaker). Пользователь открывший файл на центральном компьютере может работать с базой наравне с другими пользователями.

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

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

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

В целом можно сказать, что этот способ предназначен для небольших рабочих групп, когда предполагаемая нагрузка на базу небольшая или периодическая, а сохранность данных не сильно приоритетна. Я бы назвал такой способ “семейным”. Дальше мы перейдем к вариантам профессионального развертывания приложений с использованием FileMaker Server.

Лицензирование: Лицензии FileMaker Pro в количестве пользовательских компьютеров, учитывая, что данный вариант накладывает ограничение в количестве пользователей, то не больше пяти.

FileMaker Server + FileMaker Pro

Этот вариант является классическим и самым распространенным при работе с приложениями разработанными на FileMaker. На сервер устанавливается серверная программная часть платформы FileMaker — FileMaker Server , а на компьютеры пользователей устанавливается FileMaker Pro. Доступ к базе как и в предыдущем варианте осуществляется через команду Open Remote.

В качестве сервера не обязательно использовать профессиональный серверный компьютер. Это зависит от сложности и «тяжести» приложения, предполагаемой нагрузки на базу и количества пользователей. Для небольших организаций или малых рабочих групп сервером может служить обычный современный компьютер. Популярное решение — использование в качестве сервера компьютера Apple MacMini — не слишком дорогой, небольшой, бесшумный и надежный компьютер отлично справляется с ролью сервера — включил, настроил, поставил в угол и забыл. Стоит заметить, что FileMaker Server существует как для Windows, так и для OS X. Функционал ничем не отличается, так что какой компьютер и с какой операционной системой использовать определяется только вашими предпочтениями.

Развертывание приложения на сервере, не является чем-то сложным. По сути вся операция сводится к копированию fmp12-файла (файлов) в специальную папку на сервере.

Помимо собственно «расшаривания» базы для пользователей FileMaker Pro, FileMaker Server предоставляет и дополнительные возможности. В первую очередь это запуск задач по расписанию. Используется для настройки резервного копирования, а также запуска специальных пользовательских скриптов на стороне сервера. Эти скрипты могут выполнять различные задачи (зависит от разработчика), например проверять и обновлять остатки на складе, рассылать уведомления пользователям по e-mail и т.п. В серьезных приложениях на сервере обычно всегда «крутятся» один или несколько скриптов.

Вторая важная функция FileMaker Server это возможность организации доступа к базе для сторонних приложений. Платформа FileMaker предоставляет возможности доступа “из вне” с помощью многих современных технологий: ODBC, REST API, xml-publishing и php-publishing. Это позволяет интегрировать ваше приложение с другими платформами.

Поскольку такой вариант развертывания является самым классическим, то нет смысла говорить о недостатках перед другими вариантами. Здесь все возможности FileMaker используются на 100%.

Лицензирование: При покупке корпоративной лицензии FileMaker (не менее 5 пользователей), лицензия FileMaker Server предоставляется бесплатно. По текущим условиям лицензирования, вы можете развернуть три копии FileMaker Server на разных компьютерах одновременно.

Доступ к системе через устройства iPhone и iPad

Важная особенность платформы FileMaker - это наличие полноценного клиента для iOS устройств — FileMaker Go (скачивается из Apple AppStore бесплатно). С помощью FileMaker Go можно работать с fmp12-файлом как локально (предварительно закачав его на ваше iOS устройство) так и по сети, подключившись к FileMaker Server. Фактически это означает, что однажды разработанное fmp12-приложение, является как декстоп, так и мобильным приложением. В действительности, оно также является и веб-приложением, но об этом ниже.

Хотя мы говорим о кроссплатформенности FileMaker при разработке приложения, нам нужно все-таки учитывать, будут ли пользователи работать только через FileMaker Pro, либо подключаться и с iOS устройств. В основном это касается интерфейсных решений (размеры шрифтов, управляющих элементов и прочее), но есть и небольшие технические ограничения.

Редко когда все пользователи работают исключительно на iOS устройствах.Чаще одни пользователи работают через FileMaker Pro, а iOS-устройства (обычно iPad) используются для организации мобильных рабочих мест.

Лицензирование: С точки зрения лицензирования современные версии FileMaker Server не различают способ подключения пользователя к системе - компьютер, iPhone, iPad или веб-браузер, важно только чтобы количество пользователей не выходило за пределы приобретенного количества лицензий. Корпоративноое лицензирование (от 5 пользователей) включает в себя FileMaker Server и возможность подключения любым способом, которые технически поддерживает FileMaker Server.

Веб-доступ к приложению FileMaker (WebDirect)

Еще одна возможность работать с приложением FileMaker - это подключение к нему через обычный веб-браузер (IE, Safari, Chrome — поддерживаются все современные популярные браузеры). В этом случае на компьютеры пользователей, вообще, не требуется установка каких-либо дополнительных программ. Пользователь просто вбивает адрес FileMaker Server-а в браузере и попадает в FileMaker-приложение.

До анонса 13-й версии FileMaker технология трансляции FileMaker-приложения в веб носила названия IWP (Internet Web Publishing) и накладывала ряд существенных ограничений на разработчиков. Очень большое количество «фишек» FileMaker, к сожалению не работало в вебе, так что в большинстве случаев веб-приложения FileMaker являлись значительно упрощенными версиями стандартных fmp-приложений.

Начиная с 13-й версии (на момент написания статьи актуальна уже 19.3-версия) ситуация кардинально изменилась. На смену устаревшей IWP пришла совершенно новая технология WebDirect. Теперь практически все ограничения были сняты и при доступе через веб пользователь, фактически, работает с полноценным FileMaker-приложением.

Еще один важнейший аспект WebDirect - это возможность работать с приложением с Android-устройств. В предыдущем разделе статьи, когда мы говорили о мобильных устройствах мы не словом не упомянули об Android. Действительно, компания Claris в настоящий момент предлагает мобильную версию только для Apple-устройств. Но решение для Android есть - это как раз возможность подключения к приложению через мобильный веб-браузер.

Еще раз подчеркну, что технология WebDirect позволяет использовать ваше FileMaker-приложение, как полноценное веб-приложений. Хотя есть некоторое количество технических нюансов, когда использование полноценного доступа через FileMaker Pro предпочтительней. И я рекомендую всегда проконсультироваться с разработчиком, какой способ доступа будет предпочтительней.

Лицензирование: Как и с доступом через мобильные устройства, все что вам нужно - это корпоративная лицензия FileMaker, которая включает в себя FileMaker Server.

Совместный доступ. FileMaker Server + FileMaker Pro + FileMaker Go + WebDirect

Как уже стало ясно из статьи - все рассмотренные варианты подключения к FileMaker Server не являются взаимоисключающими и могут использоваться совместно. Мы можем предоставить пользователям возможность подключаться к приложению разными способами в зависимости от решаемых ими в приложении задач.

Приведем пример подобного развертывания:

FileMaker Pro. Пользователи, которые работают с приложением наиболее активно и постоянно вносят данные. Здесь важна производительность и полная функциональность. Например, менеджеры при работе с CRM-системой. FileMaker Go. Периодический доступ к приложению, организация мобильного доступа сотрудников, организация виртуальных рабочих мест на прозводственных участках и т.п. WebDirect. Периодический доступ к приложению. Например, организация «личных кабинетов» для партнеров/клентов организации.

Лицензирование: Корпоративная лицензия (от 5 пользователей), включающая FileMaker Server.

Удаленный доступ к приложению FileMaker из интернет

Этот вопрос часто задают заказчики — возможно ли подключится к приложению удаленно, например, из дома или из командировки. Ответ на этот вопрос — да, конечно. В действительности, на самом FileMaker Server ничего специально для этого настраивать не нужно. Все что нужно, это чтобы компьютер на котором установлен FileMaker Server был доступен («виден») из интернет. Для этого вам потребуется, так называемый внешний IP-адрес, который вам может предоставить ваш интернет-провайдер, обычно платно, но не дорого. Единственная настройка — это так называемый проброс портов, с вашего роутера на компьютер, на котором установлен FileMaker Server — простая типовая операция, с которой справится любой, даже начинающий системный администратор. После того, как порты проброшены, вы сможете подключится удаленно к приложению, указав в качестве адреса ваш внешний IP-адрес.

Для большей безопасности, чтобы трафик между пользователями и сервером был шифрованный, вы можете настроить FileMaker Server на работу через SSL. Для этого вам потребуется файлы SSL-серфтиката, доменное/поддоменное имя ассооцированное с внешним IP вашего сервера.

FileMaker Cloud

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

К сожалению, компания Claris не располагает датацентрами на территории России. Поэтому размещение приложения в FileMaker Cloud и использование в России может сказаться на быстродействии приложения, а также иногда и противоречить действующему законодательству при работе с “чувствительными” данными. В подавляющем большинстве случаев, российские компании, использующие FileMaker предпочитают размещать приложения на собственных серверах, либо на серверах в Российских датацентрах.