Варианты развертывания и использования приложений FileMaker
Автор: Перла Аркадий (компания «ТриАПринт»)
Оригинал статьи опубликован на fmteam.ru
Этот материал предназначен в большей степени для начинающих разработчиков, а также заказчиков разработки приложений на FileMaker. Заказчики приложений часто задают вопрос — а как именно будет функционировать разработанное приложение, как реализуется работа нескольких пользователей, какие программы должны быть установлены на компьютеры и т.п? Поскольку вариантов несколько, и они отличаются по стоимости и решаемым задачам, то я решил систематизировать информацию и рассказать обо всех основных вариантах. Мы начнем с простых и далее будем переходить к более сложным решениям.
Результатом разработки приложения на FileMaker является файл (реже несколько файлов) формата .fmp12 (в более ранних версиях .fmp7 ). Этот файл содержит в себе как саму базу данных, так и функционал работы приложения — экранные формы, скрипты и т.п. Давайте посмотрим, что мы можем сделать с этим файлом и как с ним работать.
Для каждого варианта указывается, какие лицензии нам могут потребоваться для работы. Способы лицензирования (покупка, корпоративное лицензирование, подписка) и стоимость лицензий в статье не рассматривается. Подробней об этом можно узнать, например, из выступления Вадима Волкова на FM DevCon Rus
Однопользовательское приложение Runtime Solution.
Важной особенностью FileMaker является возможность создавать, так называемые Runtime Solution. Runtime Solution — это программа сформированная на основе вашего fmp12-файла и не требующая для работы сам FileMaker. Для ее создания требуется FileMaker Pro Advanced. Собственно говоря, отличие Pro Advanced версии от обычной Pro и заключается в этой возможности (плюс еще несколько важных для профессиональных разработчиков функций). В состав FileMaker Pro Advanced входит функция (вызывается через меню) Developer Utilities, которая и предназначена в основном для создания Runtime Solution. В зависимости от того, где мы запускам FileMaker Pro Advanced, под Windows или в системе Mac OS X, Runtime Solution будет создана для этой операционной системы. Да-да, FileMaker умеет превращать свои файлы в программы как для Windows компьютеров, так и для Macintosh.
Технически 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 это просто программа, то о резервных копиях вам нужно будет позаботится самим. Не обязательно делать резервную копию всей папки, достаточно резервировать только .fmpur-файл.
Еще одно ограничение Runtime Solution, накладываемое FileMaker — это отсутсвие функции сохранения в PDF-файл. Однако это ограничение несложно обойти используя функцию печати. На OS X возможность сохранения PDF из диалога печати, встроена в саму операционную систему, а для Windows необходимо предварительно установить PDF-принтер (существует несколько, их несложно найти в интернет, в том числе и бесплатные).
Лицензирование: При работе с Runtime Solution пользователю приобретать какие-либо лицензии не требуется. Разработчику для создания Runtime Solution необходим FileMaker Pro Advanced.
Многопользовательская работа без использования 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 это возможность организации доступа к базе для сторонних приложений: доступ через ODBC, использование FileMaker Server как xml или php сервера. Это позволяет интегрировать ваше приложение с другими платформами.
Поскольку такой вариант развертывания является самым классическим, то нет смысла говорить о недостатках перед другими вариантами. Здесь все возможности FileMaker используются на 100%.
Лицензирование: Одна лицензия на FileMaker Server + лицензии FileMaker Pro в количестве пользовательских компьютеров.
Доступ к системе через iOS устройства (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 с включенными конкурентными подключениями в количестве одновременно работающих пользователей с iOS устройств (о конкурентных подключениях смотреть ниже) + лицензии FileMaker Pro при необходимости.
Веб-доступ к приложению FileMaker (WebDirect).
Еще одна возможность работать с приложением FileMaker это подключение к нему через обычный веб-браузер (IE, Safari, Chrome — поддерживаются все современные популярные браузеры). В этом случае на компьютеры пользователей, вообще, не требуется установка каких-либо дополнительных программ. Пользователь просто вбивает адрес FileMaker Server-а в браузере и попадает в FileMaker-приложение.
До анонса 13-й версии FileMaker технология трансляции FileMaker-приложения в веб носила названия IWP (Internet Web Publishing) и накладывала ряд существенных ограничений на разработчиков. Очень большое количество «фишек» FileMaker, к сожалению не работало в вебе, так что в большинстве случаев веб-приложения FileMaker являлись значительно упрощенными версиями стандартных fmp-приложений.
Начиная с 13-я версии (на момент написания статьи актуальна уже 14-версия) ситуация кардинально изменилась. На смену устаревшей IWP пришла совершенно новая технология WebDirect. Теперь, практически, все ограничения были сняты и при доступе через веб, пользователь, фактически, работает с полноценным FileMaker-приложением.
Небольшие ограничения все-же есть. Основное — это отсутствие функции экспорта в PDF, однако и его не сложно обойти воспользовавшись функцией печати страницы из браузера. Как говорилось выше, В OS X системах, возможность сохранения PDF-файла, является стандартной функцией окна печати операционной системы, а в Windows необходимо установить виртуальный драйвер PDF-принтера.
Лицензирование: Одна лицензия на FileMaker Server с включенными конкурентными подключениями в количестве одновременно работающих через веб пользователей (о конкурентных подключениях смотреть ниже).
Конкурентные подключения
При работе с сервером через iOS или веб-браузер лицензирование осуществляется с помощью так называемых конкурентных подключений. FileMaker Server при подключении нового пользователя, проверяет общее количество подключенных пользователей (через iOS или веб-браузер) и если это количество превышает указанное в приобретенной лицензии, то пользователя в приложение сервер «не пустит» — пользователю придется дождаться, когда-то из других пользователей выйдет из приложения. Количество конкурентных подключений указывается при приобретении FileMaker Server (от этого зависит цена), но при необходимости их можно докупить уже после приобретения лицензии. Пользователи подключающиеся к приложению через FileMaker Pro не влияют на конкурентные подключения, так как FileMaker Pro лицензируются отдельно.
Совместный доступ. FileMaker Server + FileMaker Pro + FileMaker Go + WebDirect
Все рассмотренные варианты подключения к FileMaker Server не являются взаимоисключающими и могут использоваться совместно. Мы можем предоставить пользователям возможность подключаться к приложению разными способами в зависимости от решаемых ими в приложении задач.
Приведем пример подобного развертывания:
FileMaker Pro. Пользователи, которые работают с приложением наиболее активно, постоянно вносят данные. Здесь важна производительность и полная функциональность. Например, менеджеры при работе с CRM-системой.
FileMaker Go. Периодический доступ к приложению, организация мобильного доступа сотрудников, организация виртуальных рабочих мест на прозводственных участках и т.п.
WebDirect. Периодический доступ к приложению. Например, организация «личных кабинетов» для партнеров/клентов организации.
Лицензирование: Одна лицензия на FileMaker Server с включенными конкурентными подключениями в количестве одновременно работающих через веб или iOS пользователей + лицензии FileMaker Pro в количестве пользовательских компьютеров. Поскольку конкурентные подключения стоят дешевле, чем лицензии FileMaker Pro, грамотное распределение пользователей может дать определенную экономию.
Удаленный доступ к приложению FileMaker Server из интернет.
Этот вопрос часто задают заказчики — возможно ли подключится к приложению удаленно, например, из дома или из командировки. Ответ на этот вопрос — да, конечно. В действительности, на самом FileMaker Server ничего специально для этого настраивать не нужно. Все что нужно, это чтобы компьютер на котором установлен FileMaker Server был доступен («виден») из интернет. Для этого вам потребуется, так называемый внешний IP-адрес, который вам может предоставить ваш интернет-провайдер, обычно платно, но не дорого. Единственная настройка — это так называемый проброс портов, с вашего роутера на компьютер на котором установлен FileMaker Server — простая типовая операция с которой справится любой, даже начинающий системный администратор. После того как порты проброшены, вы сможете подключится удаленно к приложению, указав в качестве адреса ваш внешний IP-адрес.
Дополнительный материал: Платформа FileMaker 13/14. Что выбрать?
|