Интеграция систем на платформе FileMaker и сторонних систем

Интеграция систем на платформе FileMaker и сторонних систем

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

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

Используемые термины

FM ИС – Информационная система, разработанная и функционирующая на платформе FileMaker

FileMaker Server – программное обеспечение осуществляющее функционирование FM ИС, в том числе доступ к FM ИС по сети

Сторонняя ИС – сторонняя информационная система, с которой предполагается интеграция (обычно обмен данными)

Разработчик FM ИС – компания разработчик FM ИС, либо ее сотрудник(и)

Интегратор – сотрудник настраивающий взаимодействие Сторонней ИС и FM ИС. Обычно либо сотрудник компании разработчика FM ИС, либо компании разработчика сторонней FM ИС, либо сотрудник ИТ службы пользователей FM ИС

БД FM – база данных FM ИС, структура определяется разработчиком FM ИС

Технологии для интеграции систем FileMaker с другими системами можно разделить на несколько групп. В зависимости от поставленной задачи, может использоваться та или иная технология.

Импорт / экспорт файлов

FileMaker позволяет выгружать и загружать данные из файлов различных форматов:

  • XLSX - Excel
  • CSV - текстовые файлы, где данные разделены знаком запятой. Также можно использовать и некоторые другие разделители, например знак табуляции
  • DBF
  • XML

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

Таким образом наиболее простая реализация интеграции со сторонними системами через обмен файлами заданного формата в FM ИС может быть относительно легко реализована. Необходимо согласование между Разработчиком FM ИС и Интегратором формата файла обмена и разработка выгрузчика/загрузчика. Обмен можно настроить в фоновом режиме на сервере, например по расписанию.

Штатные возможности FileMaker Server

Технологии этой группы являются частью платформы FileMaker и работают на любой FM ИС. С помощью этих технологий можно из вне (каких либо сторонних систем, или программы) получить доступ к базе данных FM ИС и производить с ней различные манипуляции (искать, создавать, редактировать, удалять данные). При этом интегратор получает доступ к «сырым» данным FM ИС (таблицам, полям и записям). Это является как преимуществом так и недостатком одновременно, так как интегратор должен хорошо понимать структуру БД FM.

Доступ через ODBC

FileMaker Server позволяет подключится к своим базам данных через ODBC драйвер и работать с этими базами данных используя язык запросов SQL. Может использоваться как для получения данных из базы, так и для добавления/редактирования.

Плюсы

Прямой доступ к таблицам баз данных. SQL – мировой стандарт работы с реляционными базами данных

Минусы

Необходимо понимание структуры БД FM Интегратором: какие данные в каких таблицах и полях находятся, какие взаимосвязи между таблицами. Необходима консультация Интегратора Разработчиком FM ИС

Документация

ODBC and JDBC Guide

FileMaker SQL Reference

Подключение через ODBC к базе данных сторонней ИС

Обратная реализация также возможна. FileMaker позволяет подключить стороннюю базу данных (например, MS SQL, MySQL и т.д.), в качестве источника данных к FM ИС через ODBC подключение.

Плюсы

Возможность использовать данные внешних таблиц из Сторонней ИС в работе FM ИС. Возможность импорта данных из внешних таблиц и запись в них.

Минусы

Необходим соответствующий драйвер ODBC для подключения (зависит от типа используемой сторонней БД, некоторые драйверы могут быть платными)

XML Custom Web Publishing

Позволяет обратится к FileMaker Server по протоколу http и получить ответ в виде XML. Технология позволяет получить данные из FM ИС в виде XML-описания экранной формы (лайаут в терминологии FileMaker). Лайаут и отображаемые на ней записи и данные в ним задаются в параметрах запроса. Параметры запроса позволяют указать критерии отбора записей. Также через запрос можно вызвать указанный в параметре запроса скрипт FM ИС и получить результат работы вызванного скрипта. Это наиболее частое применение этой технологии.

Плюсы

Простой способ вызвать заранее подготовленные скрипты из FM ИС. Один из способов реализовать собственное API (Application Program Interface) FM ИС. Хорошо подходит для получения данных из FM ИС

Минусы

Необходима консультация Интегратора Разработчиком FM ИС по структуре FM БД. Получаемый в ответ XML не всегда удобен для последующей обработки. Слабо подходит для импорта данных в FM ИС. Начиная с версии 17, рекомендуется использовать FileMaker Data API (см. ниже. )

Документация (см разделы посвященные XML):

Custom Web Publishing Guide

PHP Custom Web Publishing

Встроенный в FileMaker Server веб-движок позволяет исполнять скрипты написанные на языке PHP (один из самых распространённых языков программирования для веб). Для работы с БД FM используется библиотека FileMaker.php (входит в состав FileMaker Server). Это полноценное php API для доступа к базам данных FileMaker, включающая необходимый набор классов и функций, для работы с базой данных FileMaker (создание, редактирование, удаление и поиск записей, а также запуск скриптов FM ИС)

Плюсы

Полноценная технология, которая позволяет решать различные задачи, вплоть до того, чтобы использовать FileMaker Server, как базу данных веб-приложения, написанного на php.

Минусы

Необходима консультация Интегратора Разработчиком FM ИС по структуре FM БД. Интегратор должен знать php.

Документация (см разделы посвященные PHP):

Custom Web Publishing Guide

FileMaker Data API

Возможность доступа к FileMaker Server через http-запросы. Относится к классу REST API. Более современная технология чем XML Custom Web Publishing. Возвращаемые запросом данные передаются в формате JSON. С точки зрения безопасности предоставляет больший контроль над подключением (на каждое подключение сервер генерирует отдельный токен) и передачей данных (данные могут передаваться только шифрованные по https, нешифрованный http – не поддерживается) Позволяет: находить, создавать, редактировать и удалять записи, загружать файлы в БД FM (upload), получать данные, вызывать FileMaker скрипты и получать результаты их работы. Рекомендуется использовать версию FileMaker 18 или выше

Плюсы

Полноценное современное и безопасное REST API для доступа к базам данных FileMaker

Минусы

Необходима консультация Интегратора Разработчиком FM ИС по структуре FM БД. Лицензия FileMaker Server ограничивает ежемесячный объём передаваемых данных, при необходимости большего объема может потребоваться расширение лицензии.

Документация

FileMaker Data API Guide

Доработки FM ИС для интеграции со сторонними ИС

В арсенале средств Разработчика FM ИС есть все необходимые инструменты для реализации различных интеграций. При необходимости функционал можно еще расширить за счет использования плагинов, или запуска отдельных программ написанных на других языках программирования (наиболее часто используемые в связке с FileMaker: Java, JavaScript, R , php ). Возможности реализации могут быть ограничены скорее компетенциями разработчика, чем возможностями предоставляемыми платформой.

Работа с веб-API Сторонней ИС

Возможность отправлять и обрабатывать http-запросы к Сторонним ИС, если они предоставляют собственное веб-API для работы. Обычно используется для интеграции с различными веб-сервисами.

Запросы могут выполнятся в фоновом режиме по расписанию на сервере или по команде пользователя.

Разработка собственного API FM ИС

Как было сказано выше, штатные средства доступа через API к БД FM, предоставляют «сырой» доступ непосредственно к таблицам. Например данные о Заявки на закупку нескольких позиций могут быть «раскиданы» по нескольким таблицам в базе данных. Собственное API FM ИС может быть основано на бизнес-логике приложения и являтся «оберткой» для технологий описанных выше. Для рассматриваемого примера, может быть реализован запрос по номеру заявки, который возвращает информацию, собирая данные по всем необходимым таблицам. Такой подход значительно упрощает работу Интегратору, ему не нужно досконально знать структур БД FM ИС.

Через разработку системы API FM ИС можно реализовать как импорт так и экспорт данных из FM ИС в согласованном между Интегратором и Разработчиком FM ИС формате.

Плюсы

Гибкость подхода.

Минусы

В зависимости от сложности задачи интеграции, разработка API FM ИС может занять определенное время.