SlideShare une entreprise Scribd logo
1  sur  24
ОБЗОР ИНТЕГРАЦИОННЫХ РЕШЕНИЙ FILEMAKER.
ОБМЕН ДАННЫМИ И РАСШИРЕНИЕ ФУНКЦИОНАЛЬНОСТИ
ПЕРЛА АРКАДИЙ (КОМПАНИЯ ТРИАПРИНТ)
FMS
CWP
FM
(пользовательская
часть)
Приложение FileMaker
Обмен данными Расширение функциональности
Web-сервисы
Сторонние приложения
и базы данных
• Обмен файлами
(xls, csv, 1С, xml)
• ODBC-подключение
• ODBC-импорт
• XML/XSLT-импорт/экспорт
• XML-запросы
• PHP-вызовы
• http-запросы (работа со
сторонними API)
• Плагины
• дополнительные функции
• использование сторонних
языков и библиотек: JAVA,
JS, RUBY
• Web Viewer
• HTML, JS, CSS
• Сторонние JS-библиотеки
• fmp-вызовы
• Создание файлов
пользовательских форматов
(OFFICE, RTF, PDF…)
ОБМЕН ФАЙЛАМИ СОГЛАСОВАННОГО ФОРМАТА
Экспорт данных в файл(ы) с последующей загрузкой, по-прежнему остается актуальным способом обмена данными между
базой FileMaker и сторонними системами или базами.
Несмотря на «примитивность» решения,
использование такого способа может быть
вполне эффективно:
• Быстрая реализация. Обычно используется
стандартные форматы файлов и команды
импорта/экспорта. Не требуется «глубокое
погружение» в особенности сторонней
системы
• Надежность. Ответственность за качество
реализации распределена между
разработчиками «своих» систем. Разработчик
FileMaker делает свою часть, разработчик
сторонней системы свою.
• Возможна реализация как на стороне
пользователя, так и на стороне сервера
(автоматический запуск по расписанию)
Частые примеры использования:
• Простой обмен данными с сайтом
• Обмен данными с 1С
ПРИМЕР: ЗАГРУЗКА БАНКОВСКОЙ ВЫПИСКИ В ПРИЛОЖЕНИЕ FILEMAKER
Почти все клиент-банк
приложения умеют
экспортировать
выписку в формат 1С-
документ.
Это текстовый формат. Где
каждое свойство(поле)
располагается на новой
строке.
Начало и конец документа
начинаются с «Секция
документ=» и «Конец
документа», соответственно.
• Кодировка документа
Windows 1251. При
работе на OS X, нужна
предварительная
перекодировка файла
(например с помощью
iconv)
• Импорт. Возможно
импортировать весь
файл в одно текстовое
поле (Insert From Url)
либо во временную
таблицу (Import Records),
где каждая строка
документа превратится в
отдельную запись.
• Обработка импорта.
Скрипт-обработчик ищет
ключевые слова начала
и конца документа и
создает записи платежей
в системе.
ODBC ДОСТУП
FileMaker Server позволяет сторонним
приложениям подключаться к своим базам
данным через ODBC
В принципе, это все что нужно знать
разработчику FileMaker для ответа на
вопрос стороннего разработчика о
возможности прямого доступа к данным
Для организации доступа необходимо
• Включить ODBC-sharing (файле/сервере)
• Настроить права доступа
• Настроить подключение. Драйвер FileMaker
ODBC входит в комплект FMS
Получивший доступ сторонний разработчик
сможет читать и изменять записи (если есть
права) используя SQL-запросы
ODBC
ODBC ИМПОРТ ДАННЫХ
ПРИМЕР: КОНТРОЛЬ ПРИХОДА/УХОДА СОТРУДНИКОВ ПО ОТПЕЧАТКАМ ПАЛЬЦЕВ
Устройства считывания отпечатков
пальцев подключены к сети организации
и сохраняют время сканирования и ID
сотрудника на удаленный центральный
сервер в собственное приложение на базе
MySQL
MySQL
Через настроенное ODBC
подключение база FileMaker
«видит» нужные таблицы
ODBC
Запускаемый каждые 5 мин
скрипт на FileMaker Server,
обрабатывает новые данные
о сканировании отпечатков и
по полученным ID формирует
данные о приходе/уходе
сотрудников, привязывая к
офису.
Простое,
адаптированное под
формат iPhone
приложение,
позволяет
руководителю
контролировать
сотрудников во всех
офисах организации
ODBC ИМПОРТ ИМПОРТ ДАННЫХ
ПРИМЕР: ФОРМИРОВАНИЕ ОТЧЕТОВ О РАБОТЕ РЕСТОРАНОВ, НА ОСНОВЕ ДАННЫХ RKEEPER
Данные из
ресторанов
собираются на
центральный MS
SQL Server
ежедневно по
окончании смены
MS SQL
Запускаемый на FileMaker Server скрипт импортирует
данные уже виде необходимых отчетов с помощью
специальных SQL-запросов
Import Records ODBC Data
ODBC ИМПОРТ ИМПОРТ ДАННЫХ
ПРИМЕР: ФОРМИРОВАНИЕ ОТЧЕТОВ О РАБОТЕ РЕСТОРАНОВ НА ОСНОВЕ ДАННЫХ RKEEPER
MS SQL
Import Records ODBC Data
Преимущества подхода:
• Нет дублирования данных. В FMS хранятся отчеты, а в MS SQL данные о самих продажах
• Формирование отчетов происходит на самом MS SQL сервере, импортируется только
результат. Это в разы увеличивает быстродействие.
При работе с базой напрямую для
формирования отчетов нам пришлось бы
работать примерно с такой структурой…
Вместо этого мы формируем отчет на самом
MS SQL Server и импортируем только
результат запроса. В самом FileMaker для
хранения результата используется только
одна таблица
XML-ИМПОРТ
Импортировать XML-данные в
базу FilleMaker можно
несколькими способами:
• Import Records with XML Data
Source. Стандартная команда
FM. Требуется XLST-файл
описания структуры данных.
• Импорт XML как текста в
текстовое поле, с
последующим разбором,
скриптом или калькуляцией.
Можно использовать функции
работы с текстом или
специализированные функции
плагинов. Подходит для
небольших и простых по
структуре объемов данных.
• Обработка XML средствами
php. Требуется FMS c
включенным CWP.
Необходимо знание, как
минимум, основ php
ПРИМЕР. Загрузка курса валют с сайта ЦБ
"http://www.cbr.ru/scripts/XML_daily_eng.asp?date_req=
" & $date
http://www.cbr.ru/scripts/XML_daily_eng.asp?date_req=31.10.2016
XML-ЭКСПОРТ
XML- один из самых популярных форматов для загрузки данных в
сторонние сервисы и базы данных. Структура XML часто диктуется
сторонним сервисом. От FileMaker обычно требуется предоставить
интернет-ссылку или путь к валидному XML-файлу.
Получить XML из FileMaker:
• «Обычный» экспорт из FileMaker в XML-файл. Формирует структуру
данных «понятную» только FM. Чаще нам необходимо сформировать
XML в заданной структуре, для загрузки данных на сайт либо сервис.
• Использование специального XSLT-файла для формирования заданной
структуры при экспорте.
• Получить XML как возвращаемый результат xml-запроса к серверу, вида:
• Сформировать заданный XML «внутри» FM с помощью калькуляций и
скриптов в текстовое поле с последующим экспортом в файл.
http://адрес_сервера/fmi/xml/FMPXMLRESULT.xml?-db=имя_базы&-lay=имя_лайоута&-findall&-script=имя_скрипта&-script.param=параметр_скрипта
XML-ЭКСПОРТ
ПРИМЕР. ФОРМИРОВАНИЕ XML ДЛЯ ЗАГРУЗКИ ДАННЫХ НА САЙТ РИЭЛТЕРСКОГО АГЕНТСТВА
• Калькулируемое поле в таблице объектов
недвижимости «собирает» в себя всю
необходимую информацию и формирует xml-
запись данного объекта.
• Аналогично формируются xml-блоки для
других участвующих в XML таблицах
• Далее…
XML-ЭКСПОРТ
ПРИМЕР. ФОРМИРОВАНИЕ XML ДЛЯ ЗАГРУЗКИ ДАННЫХ НА САЙТ РИЭЛТЕРСКОГО АГЕНТСТВА
• Итоговый XML собирается в поле системной
таблицы с помощью функций List().
Настроенные свойства реляций позволяют
собрать только нужные записи.
• Скрипт на сервере по расписанию выгружает
значение поля (Export Records) как файл .xml
• Папка для выгрузки XML доступна через web
• Программа загрузчик сайта
закачивает полученный XML
раз сутки и обновляет данные
данные на сайте.
• Аналогично формируются
XML для сервисов поиска
недвижимости. Для каждого
сервиса, структура XML
отличается.
• Для загрузчика на сайт и
сервисов путь к
выгруженным файлам – это
валидная XML-ссылка с
всегда актуальными данными
РАБОТА С ВЕБ-СЕРВИСАМИ
Большинство популярных сервисов предоставляют API
для работы с ними. Работа с сервисами обычно
осуществляется с помощью http-запросов.
Для отправки HTTP-запроса можно использовать
команду Insert from Url. Результат запроса будет
сохранен в текстовое поле.
Для отправки http-запросов можно использовать также
функции плагинов, например, BaseElement (удобно для
POST-запросов)
Ответ сервиса часто возвращается в формате JSON. Для
его обработки также может быть удобно использовать
BaseElement .
Некоторые сервисы предоставляют возможность
отправки некоторых команд через e-mail.
ПРИМЕР. Сервис sms.ru
Позволяет отправить смс отправкой e-mail на
специальный адрес, образованный как уникальный
ключ пользователя + номер мобильного телефона.
Текст самого письма будет отправлен как смс
РАБОТА С ВЕБ-СЕРВИСАМИ
ПРИМЕР. РЕАЛИЗАЦИЯ TELEGRAM-БОТА НА FILLEMAKER SERVER
• Регистрация бота делается средствами самого
Telegram и подробно описана в документации
https://tlgrm.ru/docs#robots
• В результате мы получаем значение токена для
аутентификации и ID бота, которые сохраним в
системной таблице нашего приложения.
• Для отправки сообщения нужно знать ID-
собеседника. Его можно получить из сообщения, если
наш бот «отвечает» на сообщение пользователя.
Либо мы можем занести эти данные в карточку
пользователя заранее, если реализуем рассылку
пользователям FileMaker приложения.
• Отправка сообщения происходит через http-запрос,
который формируется в момент исполнения скрипта
как калькуляция.
https://api.telegram.org/bot196160321:AAGNPckJl3УAGdnkb7UouPPeEmmj83vp3cSDpKw/sendMessage?chat_id=3245352&text=Текст%20сообщения
Бот Mathenardo
исполняется на FileMaker
Server и обрабатывает
входящие сообщения
функцией Evaluate(), тем
самым реализуя
калькулятор выражений
PLUGINS.
ЕСЛИ МЫ ЧТО-ТО НЕ ЗНАЕМ КАК СДЕЛАТЬ, МЫ МОЖЕМ ЭТО СДЕЛАТЬ ЧЕРЕЗ КАКОЙ-НИБУДЬ ПЛАГИН
http://solutions.filemaker.com/made-for-filemaker/search.jsp?category=5&task=%&industry=%&sort=a
Выдает 70 плагинов, учитывая количество функций в каждом из них, это много.
Наиболее известные разработчики:
• Monkey Bread Software (MBS FileMaker Plugin). Наверное, самый мощный из всех
существующих плагинов по количеству функций и охвату тем. 4191 функция, на все
случаи жизни!
• 360 Works (ScriptMaster, SuperContainer, Scribe, Email Plugin и др.). Один из самых
известных разработчиков, с наиболее востребованными функциями.
• Goya Pty (BaseElement). Популярный бесплатный плагин с очень востребованными
функциями.
• Troi (Troi File Plug-in, Troi Dialog Plug-in и др.)
• Beezwax (bBOX)
PLUGINS. BASELEMENT
Основные категории функций
• DIALOGS
• CONTAINERS
• CLIPBOARD
• FILE AND FOLDER
• ENCODING AND
ENCRYPTION
• HTTP and URLS
• XML, XSLT AND JSON
• SMTP Email
• VALUE LISTS
• TIME
• ZIP AND GZIP
• и др (EvaluateJavaScript,
ExecuteScript,
RegularExpression…)
Набор функций для отправки почты в бесплатном плагине BaseElement закрывает для
разработчиков FileMaker вопрос отправки почты в формате HTML с несколькими
вложениями:
BE_SMTP_Server ( server { ; port ; username ; password } )
Устанавливаем связь с сервером
BE_SMTP_AddAttachment ( container )
Добавляет вложение к письму. Вызов функции в цикле позволяет добавить несколько
вложений.
BE_SMTP_Send ( from ; to ; subject ; text { ; cc ; bcc ; replyTo ; html ; attachments } )
Отправляет письмо через почтовый сервер, с которым ранее была установлена связь
через BE_SMTP_Server
ПРИМЕР:
Отчета о работе ресторана (см. слайд ODBC-
импорт) формируется как HTML письмо,
которое отправляется руководителям в конце
смены FileMaker-сервером, сразу после
формирования самого отчета.
HTML формируется на основе шаблона, где ключевые слова заменяются на данные
или отдельно сформированные «куски» html-кода
PLUGINS. BASELEMENT
ПРИМЕР. ИСПОЛЬЗОВАНИЕ JSON CUSTOM-ФУНКЦИЙ ДЛЯ РЕАЛИЗАЦИИ КНОПКИ «ОТМЕНА»
И ВОССТАНОВАЛЕНИЯ ЗАПИСИ
В момент открытия карточки записи к врачу, скрипт сохраняет текущие значения
полей в формате JSON в глобальное поле, добавляя их к существующим данным
в этом глобальном поле (если у нас открыто несколько карточек в разных окнах).
При нажатии
«Cancel» скрипт
закрытия
«вытаскивает»
из JSON
структуры по ID
карточки
значения полей
и
восстанавливает
карточку
Преимущества:
• Более быстрое и
«изящное»
решение по
сравнению с
«ручной»
обработкой текста
• Удобно работать с
несколькими
записями
360 WORKS SCRIPTMASTER
ВСЕ ВОЗМОЖНОСТИ JAVA В FILEMAKER
• Бесплатный
• Позволяет запускать java-код из
под FileMaker
• Написанные на java функции
регистрируются как функции
FileMaker
• Возможность подключать
дополнительные java-
библиотеки, что дает
разработчику практически
неограниченные возможности
• Можно запускать как из
FileMaker, так и из FileMaker
Server
• В комплект входит fmp12-файл с
большим количеством примеров
RegisterGroovy( signature; script{; key1=value1; key2=value2; ...} )
• В функцию RegisterGroovy передается наименование функции с
параметрами, как текстовая стока, например:
”IB_Crop (ImageContainerName; Width; Height; StartPoint)”
и java-код самой функции.
• После вызова RegisterGroovy, новая функция доступна для вызова в
FileMaker
• RegisterGroovy удобно вызывать при открытии FileMaker-файла в стартовом
срипте
360 WORKS SCRIPTMASTER
ПРИМЕР. ДОБАВЛЕНИЕ ЛОГОТИПА АГЕНТСТВА НА ФОТО ПРИ ДОБАВЛЕНИИ ФАЙЛА В БАЗУ
• Запускаемый с заданной
периодичностью скрипт на
FileMaker Server находит
новые файлы (без
watermark)
• Добавляет логотип
агентства и сохраняет в
отдельное поле-контейнер
с настроенным External
Storage
• Таким образом на сайте
показываются изображения
с логотипом, а в базе
FileMaker для сотрудников
без.
• В качестве параметров
функции передается путь к
самому изображению
(файлы в контейнере
хранятся как External
Storage) и путь к файлу-
логотипа
360 WORKS SCRIPTMASTER
ПРИМЕР. СОЗДАНИЕ PDF НА СТОРОНЕ FILEMAKER SERVER
Задача. FileMaker умеет запускать скрипты на
сервере по расписанию, cохранять лайауты как pdf,
отправлять e-mail…Но не все это одновременно.
Также сохранение в PDF не работает в WebDirect
Для создания pdf используется java-библиотека itextpdf 5.5
https://github.com/itext/itextpdf/releases/tag/5.5.10
Функция SMLoadJar( externalJar ) подключает внешнюю библиотеку (файл библиотеки
хранится в контейнере системной таблицы)
В созданную функцию формирования PDF передаются все необходимые поля.
Изображения передаются в кодировке Base 64
Полученный pdf функция сохраняет в tmp-папку по заданному пути. Откуда он в уже
вставляется в поле-контейнер. Так как в FileMaker Server не работает Insert File, то для
импорта файла также используется небольшая java-функция
WEB VIEWER.
ЕСЛИ МЫ НЕ ЗНАЕМ КАК ЧТО-ТО СДЕЛАТЬ В ИНТЕРФЕЙСЕ, МЫ МОЖЕМ ЭТО СДЕЛАТЬ В WEB VIEWER
Web Viewer – это не способ добавить карту на лайаут…
- это возможность расширить интерфейс
пользователя, используя гигантское количество
уже разработанных примеров и решений для веб
практически до бесконечности.
HTML , CSS, JS и много, много, готовых библиотек…
WEB VIEWER.
ПРОСТОЙ РЕДАКТОР ДЛЯ БЫСТРОГО РИСОВАНИЯ ГЕНОГРАММЫ НА ПРИЕМЕ У ВРАЧА
Web Viewer строится на
калькулируемом поле, которое
формирует HTML-код из
шаблона, заменяя ключевые
слова на параметры и данные.
Ранее сохраненное
изображение передается из
контейнера как BASE 64
кодировка
Ширина и высота
рассчитываются исходя из
размера Veb Viewer, используя
GetLayoutObjectAttribute()
В шаблоне не используется никаких библиотек, только
«чистый» HTML, CSS и JS (работа с объектом canvas)
Для «обратного» вызова FM используется вызов типа:
Для OS X готовое изображение передается через
параметр, для Windows - через клипбоард.
fmp://$/имя_fm_бызы?script=имя_скрипта&param=параметр
WEB VIEWER.
ПРИМЕР. РАСПИСАНИЕ ВРАЧЕЙ В КЛИНИКЕ И СОБСТВЕННОЕ РАСПИСАНИЕ ВРАЧА
Используется JS-библиотека DHTMLX
Sсheduler
Для формирования html-кода
используются html-шаблоны
Ключевые слова заменяются на данные
из базы
Данные о встрече формируются в
формате JSON, как калькулируемое поле.
JSON-массив формируется как List() и
заменяет в шаблоне ключевое слово.
Реакция на действия
пользователя вызывает
соответствующий скрипт
FileMaker, передавая ему
параметры.
Названия скриптов
прописаны в шаблоне
Спасибо за внимание!
Вопросы?

Contenu connexe

En vedette (20)

kunci jawaban.txt
kunci jawaban.txtkunci jawaban.txt
kunci jawaban.txt
 
сережа
сережасережа
сережа
 
Taller 9 noveno_grado
Taller 9 noveno_gradoTaller 9 noveno_grado
Taller 9 noveno_grado
 
taxi gare de lyon
taxi gare de lyontaxi gare de lyon
taxi gare de lyon
 
Conflitos Envolvendo Nomes de Domínio: UDRP / SACI
Conflitos Envolvendo Nomes de Domínio: UDRP / SACIConflitos Envolvendo Nomes de Domínio: UDRP / SACI
Conflitos Envolvendo Nomes de Domínio: UDRP / SACI
 
Palestra Valério ESARH / FONATE
Palestra Valério ESARH / FONATEPalestra Valério ESARH / FONATE
Palestra Valério ESARH / FONATE
 
certifications
certificationscertifications
certifications
 
En54 18
En54 18En54 18
En54 18
 
Revista
RevistaRevista
Revista
 
RESISTANCE WELDING SPARES & CONSUMABLES
RESISTANCE WELDING SPARES & CONSUMABLESRESISTANCE WELDING SPARES & CONSUMABLES
RESISTANCE WELDING SPARES & CONSUMABLES
 
Economia compartida postgrado empresas tic fcea
Economia compartida   postgrado empresas tic fceaEconomia compartida   postgrado empresas tic fcea
Economia compartida postgrado empresas tic fcea
 
Cine karla
Cine karlaCine karla
Cine karla
 
Verde que te quiero verde
Verde que te quiero verdeVerde que te quiero verde
Verde que te quiero verde
 
Short Hebrew Vocabulary
Short Hebrew VocabularyShort Hebrew Vocabulary
Short Hebrew Vocabulary
 
Eye
EyeEye
Eye
 
Anita malhotra
Anita malhotraAnita malhotra
Anita malhotra
 
Presentaicon freddy
Presentaicon freddyPresentaicon freddy
Presentaicon freddy
 
Periodos de la historia
Periodos de la historiaPeriodos de la historia
Periodos de la historia
 
Ceritificat CRS Eduard Varvara
Ceritificat CRS Eduard VarvaraCeritificat CRS Eduard Varvara
Ceritificat CRS Eduard Varvara
 
RSD5 Medicine in the Anthropocene
RSD5 Medicine in the Anthropocene RSD5 Medicine in the Anthropocene
RSD5 Medicine in the Anthropocene
 

Similaire à Перла А. Обзор интеграционных решений FileMaker.

Шичко И. Обзор плагинов компании 360Works
Шичко И. Обзор плагинов компании 360WorksШичко И. Обзор плагинов компании 360Works
Шичко И. Обзор плагинов компании 360WorksFMTeam
 
Клочков А. Автоматизация рассылки запросов потенциальным поставщикам средст...
Клочков А. Автоматизация  рассылки  запросов потенциальным поставщикам средст...Клочков А. Автоматизация  рассылки  запросов потенциальным поставщикам средст...
Клочков А. Автоматизация рассылки запросов потенциальным поставщикам средст...FMTeam
 
Вебинар компании Ёлва - Возможности Scribe Insight
Вебинар компании Ёлва - Возможности Scribe InsightВебинар компании Ёлва - Возможности Scribe Insight
Вебинар компании Ёлва - Возможности Scribe InsightЁлва
 
Cisco uccx скрытые возможности
Cisco uccx скрытые возможностиCisco uccx скрытые возможности
Cisco uccx скрытые возможностиMichael Ganschuk
 
Soa12c launch 4 mft cr
Soa12c launch 4 mft crSoa12c launch 4 mft cr
Soa12c launch 4 mft crVasily Demin
 
Экскурс в мир WEB разработки
Экскурс в мир WEB разработкиЭкскурс в мир WEB разработки
Экскурс в мир WEB разработкиIT-Доминанта
 
Решения на базе СУБД Firebird в крупных компаниях и государственных учреждени...
Решения на базе СУБД Firebird в крупных компаниях и государственных учреждени...Решения на базе СУБД Firebird в крупных компаниях и государственных учреждени...
Решения на базе СУБД Firebird в крупных компаниях и государственных учреждени...Alexey Kovyazin
 
10 компонентные и офисные приложения на платформе microsoft
10 компонентные и офисные приложения на платформе microsoft10 компонентные и офисные приложения на платформе microsoft
10 компонентные и офисные приложения на платформе microsoftKewpaN
 
IBM ECM :: Сравнение документов "на просвет"
IBM ECM :: Сравнение документов "на просвет"IBM ECM :: Сравнение документов "на просвет"
IBM ECM :: Сравнение документов "на просвет"Sergey Yakimchuk
 
Росрезерв - система электронного документооборота
Росрезерв - система электронного документооборотаРосрезерв - система электронного документооборота
Росрезерв - система электронного документооборотаКРОК
 
IBA RUS: ECM и СЭД - практика применения.
IBA RUS: ECM и СЭД -  практика применения.IBA RUS: ECM и СЭД -  практика применения.
IBA RUS: ECM и СЭД - практика применения.Expolink
 
OpenSource_2011
OpenSource_2011OpenSource_2011
OpenSource_2011iopent
 
Share Point Workflow
Share Point WorkflowShare Point Workflow
Share Point WorkflowMaximKo
 
IBM DataPower In SameTime
IBM DataPower In SameTimeIBM DataPower In SameTime
IBM DataPower In SameTimeIBM IBM
 
11 платформа microsoft office расширенные возможности
11 платформа microsoft office   расширенные возможности11 платформа microsoft office   расширенные возможности
11 платформа microsoft office расширенные возможностиKewpaN
 
TRAFFIC SIMULATOR
TRAFFIC SIMULATORTRAFFIC SIMULATOR
TRAFFIC SIMULATORsoft-point
 
СЭД, которой можно доверять
СЭД, которой можно доверятьСЭД, которой можно доверять
СЭД, которой можно доверятьИнтерТраст
 
Многофункциональный сервер приложений, обеспечивающий среду запуска, и дающий...
Многофункциональный сервер приложений, обеспечивающий среду запуска, и дающий...Многофункциональный сервер приложений, обеспечивающий среду запуска, и дающий...
Многофункциональный сервер приложений, обеспечивающий среду запуска, и дающий...GeeksLab Odessa
 
Системный интегратор Москва. Step integrator. Презентация компании
Системный интегратор Москва. Step integrator. Презентация компанииСистемный интегратор Москва. Step integrator. Презентация компании
Системный интегратор Москва. Step integrator. Презентация компанииSvyatoslav Tkachev
 

Similaire à Перла А. Обзор интеграционных решений FileMaker. (20)

Шичко И. Обзор плагинов компании 360Works
Шичко И. Обзор плагинов компании 360WorksШичко И. Обзор плагинов компании 360Works
Шичко И. Обзор плагинов компании 360Works
 
Клочков А. Автоматизация рассылки запросов потенциальным поставщикам средст...
Клочков А. Автоматизация  рассылки  запросов потенциальным поставщикам средст...Клочков А. Автоматизация  рассылки  запросов потенциальным поставщикам средст...
Клочков А. Автоматизация рассылки запросов потенциальным поставщикам средст...
 
Вебинар компании Ёлва - Возможности Scribe Insight
Вебинар компании Ёлва - Возможности Scribe InsightВебинар компании Ёлва - Возможности Scribe Insight
Вебинар компании Ёлва - Возможности Scribe Insight
 
Cisco uccx скрытые возможности
Cisco uccx скрытые возможностиCisco uccx скрытые возможности
Cisco uccx скрытые возможности
 
Soa12c launch 4 mft cr
Soa12c launch 4 mft crSoa12c launch 4 mft cr
Soa12c launch 4 mft cr
 
Экскурс в мир WEB разработки
Экскурс в мир WEB разработкиЭкскурс в мир WEB разработки
Экскурс в мир WEB разработки
 
Решения на базе СУБД Firebird в крупных компаниях и государственных учреждени...
Решения на базе СУБД Firebird в крупных компаниях и государственных учреждени...Решения на базе СУБД Firebird в крупных компаниях и государственных учреждени...
Решения на базе СУБД Firebird в крупных компаниях и государственных учреждени...
 
10 компонентные и офисные приложения на платформе microsoft
10 компонентные и офисные приложения на платформе microsoft10 компонентные и офисные приложения на платформе microsoft
10 компонентные и офисные приложения на платформе microsoft
 
IBM ECM :: Сравнение документов "на просвет"
IBM ECM :: Сравнение документов "на просвет"IBM ECM :: Сравнение документов "на просвет"
IBM ECM :: Сравнение документов "на просвет"
 
Росрезерв - система электронного документооборота
Росрезерв - система электронного документооборотаРосрезерв - система электронного документооборота
Росрезерв - система электронного документооборота
 
IBA RUS: ECM и СЭД - практика применения.
IBA RUS: ECM и СЭД -  практика применения.IBA RUS: ECM и СЭД -  практика применения.
IBA RUS: ECM и СЭД - практика применения.
 
OpenSource_2011
OpenSource_2011OpenSource_2011
OpenSource_2011
 
Share Point Workflow
Share Point WorkflowShare Point Workflow
Share Point Workflow
 
IBM DataPower In SameTime
IBM DataPower In SameTimeIBM DataPower In SameTime
IBM DataPower In SameTime
 
курс Forms server
курс Forms serverкурс Forms server
курс Forms server
 
11 платформа microsoft office расширенные возможности
11 платформа microsoft office   расширенные возможности11 платформа microsoft office   расширенные возможности
11 платформа microsoft office расширенные возможности
 
TRAFFIC SIMULATOR
TRAFFIC SIMULATORTRAFFIC SIMULATOR
TRAFFIC SIMULATOR
 
СЭД, которой можно доверять
СЭД, которой можно доверятьСЭД, которой можно доверять
СЭД, которой можно доверять
 
Многофункциональный сервер приложений, обеспечивающий среду запуска, и дающий...
Многофункциональный сервер приложений, обеспечивающий среду запуска, и дающий...Многофункциональный сервер приложений, обеспечивающий среду запуска, и дающий...
Многофункциональный сервер приложений, обеспечивающий среду запуска, и дающий...
 
Системный интегратор Москва. Step integrator. Презентация компании
Системный интегратор Москва. Step integrator. Презентация компанииСистемный интегратор Москва. Step integrator. Презентация компании
Системный интегратор Москва. Step integrator. Презентация компании
 

Перла А. Обзор интеграционных решений FileMaker.

  • 1. ОБЗОР ИНТЕГРАЦИОННЫХ РЕШЕНИЙ FILEMAKER. ОБМЕН ДАННЫМИ И РАСШИРЕНИЕ ФУНКЦИОНАЛЬНОСТИ ПЕРЛА АРКАДИЙ (КОМПАНИЯ ТРИАПРИНТ)
  • 2. FMS CWP FM (пользовательская часть) Приложение FileMaker Обмен данными Расширение функциональности Web-сервисы Сторонние приложения и базы данных • Обмен файлами (xls, csv, 1С, xml) • ODBC-подключение • ODBC-импорт • XML/XSLT-импорт/экспорт • XML-запросы • PHP-вызовы • http-запросы (работа со сторонними API) • Плагины • дополнительные функции • использование сторонних языков и библиотек: JAVA, JS, RUBY • Web Viewer • HTML, JS, CSS • Сторонние JS-библиотеки • fmp-вызовы • Создание файлов пользовательских форматов (OFFICE, RTF, PDF…)
  • 3. ОБМЕН ФАЙЛАМИ СОГЛАСОВАННОГО ФОРМАТА Экспорт данных в файл(ы) с последующей загрузкой, по-прежнему остается актуальным способом обмена данными между базой FileMaker и сторонними системами или базами. Несмотря на «примитивность» решения, использование такого способа может быть вполне эффективно: • Быстрая реализация. Обычно используется стандартные форматы файлов и команды импорта/экспорта. Не требуется «глубокое погружение» в особенности сторонней системы • Надежность. Ответственность за качество реализации распределена между разработчиками «своих» систем. Разработчик FileMaker делает свою часть, разработчик сторонней системы свою. • Возможна реализация как на стороне пользователя, так и на стороне сервера (автоматический запуск по расписанию) Частые примеры использования: • Простой обмен данными с сайтом • Обмен данными с 1С
  • 4. ПРИМЕР: ЗАГРУЗКА БАНКОВСКОЙ ВЫПИСКИ В ПРИЛОЖЕНИЕ FILEMAKER Почти все клиент-банк приложения умеют экспортировать выписку в формат 1С- документ. Это текстовый формат. Где каждое свойство(поле) располагается на новой строке. Начало и конец документа начинаются с «Секция документ=» и «Конец документа», соответственно. • Кодировка документа Windows 1251. При работе на OS X, нужна предварительная перекодировка файла (например с помощью iconv) • Импорт. Возможно импортировать весь файл в одно текстовое поле (Insert From Url) либо во временную таблицу (Import Records), где каждая строка документа превратится в отдельную запись. • Обработка импорта. Скрипт-обработчик ищет ключевые слова начала и конца документа и создает записи платежей в системе.
  • 5. ODBC ДОСТУП FileMaker Server позволяет сторонним приложениям подключаться к своим базам данным через ODBC В принципе, это все что нужно знать разработчику FileMaker для ответа на вопрос стороннего разработчика о возможности прямого доступа к данным Для организации доступа необходимо • Включить ODBC-sharing (файле/сервере) • Настроить права доступа • Настроить подключение. Драйвер FileMaker ODBC входит в комплект FMS Получивший доступ сторонний разработчик сможет читать и изменять записи (если есть права) используя SQL-запросы ODBC
  • 6. ODBC ИМПОРТ ДАННЫХ ПРИМЕР: КОНТРОЛЬ ПРИХОДА/УХОДА СОТРУДНИКОВ ПО ОТПЕЧАТКАМ ПАЛЬЦЕВ Устройства считывания отпечатков пальцев подключены к сети организации и сохраняют время сканирования и ID сотрудника на удаленный центральный сервер в собственное приложение на базе MySQL MySQL Через настроенное ODBC подключение база FileMaker «видит» нужные таблицы ODBC Запускаемый каждые 5 мин скрипт на FileMaker Server, обрабатывает новые данные о сканировании отпечатков и по полученным ID формирует данные о приходе/уходе сотрудников, привязывая к офису. Простое, адаптированное под формат iPhone приложение, позволяет руководителю контролировать сотрудников во всех офисах организации
  • 7. ODBC ИМПОРТ ИМПОРТ ДАННЫХ ПРИМЕР: ФОРМИРОВАНИЕ ОТЧЕТОВ О РАБОТЕ РЕСТОРАНОВ, НА ОСНОВЕ ДАННЫХ RKEEPER Данные из ресторанов собираются на центральный MS SQL Server ежедневно по окончании смены MS SQL Запускаемый на FileMaker Server скрипт импортирует данные уже виде необходимых отчетов с помощью специальных SQL-запросов Import Records ODBC Data
  • 8. ODBC ИМПОРТ ИМПОРТ ДАННЫХ ПРИМЕР: ФОРМИРОВАНИЕ ОТЧЕТОВ О РАБОТЕ РЕСТОРАНОВ НА ОСНОВЕ ДАННЫХ RKEEPER MS SQL Import Records ODBC Data Преимущества подхода: • Нет дублирования данных. В FMS хранятся отчеты, а в MS SQL данные о самих продажах • Формирование отчетов происходит на самом MS SQL сервере, импортируется только результат. Это в разы увеличивает быстродействие. При работе с базой напрямую для формирования отчетов нам пришлось бы работать примерно с такой структурой… Вместо этого мы формируем отчет на самом MS SQL Server и импортируем только результат запроса. В самом FileMaker для хранения результата используется только одна таблица
  • 9. XML-ИМПОРТ Импортировать XML-данные в базу FilleMaker можно несколькими способами: • Import Records with XML Data Source. Стандартная команда FM. Требуется XLST-файл описания структуры данных. • Импорт XML как текста в текстовое поле, с последующим разбором, скриптом или калькуляцией. Можно использовать функции работы с текстом или специализированные функции плагинов. Подходит для небольших и простых по структуре объемов данных. • Обработка XML средствами php. Требуется FMS c включенным CWP. Необходимо знание, как минимум, основ php ПРИМЕР. Загрузка курса валют с сайта ЦБ "http://www.cbr.ru/scripts/XML_daily_eng.asp?date_req= " & $date http://www.cbr.ru/scripts/XML_daily_eng.asp?date_req=31.10.2016
  • 10. XML-ЭКСПОРТ XML- один из самых популярных форматов для загрузки данных в сторонние сервисы и базы данных. Структура XML часто диктуется сторонним сервисом. От FileMaker обычно требуется предоставить интернет-ссылку или путь к валидному XML-файлу. Получить XML из FileMaker: • «Обычный» экспорт из FileMaker в XML-файл. Формирует структуру данных «понятную» только FM. Чаще нам необходимо сформировать XML в заданной структуре, для загрузки данных на сайт либо сервис. • Использование специального XSLT-файла для формирования заданной структуры при экспорте. • Получить XML как возвращаемый результат xml-запроса к серверу, вида: • Сформировать заданный XML «внутри» FM с помощью калькуляций и скриптов в текстовое поле с последующим экспортом в файл. http://адрес_сервера/fmi/xml/FMPXMLRESULT.xml?-db=имя_базы&-lay=имя_лайоута&-findall&-script=имя_скрипта&-script.param=параметр_скрипта
  • 11. XML-ЭКСПОРТ ПРИМЕР. ФОРМИРОВАНИЕ XML ДЛЯ ЗАГРУЗКИ ДАННЫХ НА САЙТ РИЭЛТЕРСКОГО АГЕНТСТВА • Калькулируемое поле в таблице объектов недвижимости «собирает» в себя всю необходимую информацию и формирует xml- запись данного объекта. • Аналогично формируются xml-блоки для других участвующих в XML таблицах • Далее…
  • 12. XML-ЭКСПОРТ ПРИМЕР. ФОРМИРОВАНИЕ XML ДЛЯ ЗАГРУЗКИ ДАННЫХ НА САЙТ РИЭЛТЕРСКОГО АГЕНТСТВА • Итоговый XML собирается в поле системной таблицы с помощью функций List(). Настроенные свойства реляций позволяют собрать только нужные записи. • Скрипт на сервере по расписанию выгружает значение поля (Export Records) как файл .xml • Папка для выгрузки XML доступна через web • Программа загрузчик сайта закачивает полученный XML раз сутки и обновляет данные данные на сайте. • Аналогично формируются XML для сервисов поиска недвижимости. Для каждого сервиса, структура XML отличается. • Для загрузчика на сайт и сервисов путь к выгруженным файлам – это валидная XML-ссылка с всегда актуальными данными
  • 13. РАБОТА С ВЕБ-СЕРВИСАМИ Большинство популярных сервисов предоставляют API для работы с ними. Работа с сервисами обычно осуществляется с помощью http-запросов. Для отправки HTTP-запроса можно использовать команду Insert from Url. Результат запроса будет сохранен в текстовое поле. Для отправки http-запросов можно использовать также функции плагинов, например, BaseElement (удобно для POST-запросов) Ответ сервиса часто возвращается в формате JSON. Для его обработки также может быть удобно использовать BaseElement . Некоторые сервисы предоставляют возможность отправки некоторых команд через e-mail. ПРИМЕР. Сервис sms.ru Позволяет отправить смс отправкой e-mail на специальный адрес, образованный как уникальный ключ пользователя + номер мобильного телефона. Текст самого письма будет отправлен как смс
  • 14. РАБОТА С ВЕБ-СЕРВИСАМИ ПРИМЕР. РЕАЛИЗАЦИЯ TELEGRAM-БОТА НА FILLEMAKER SERVER • Регистрация бота делается средствами самого Telegram и подробно описана в документации https://tlgrm.ru/docs#robots • В результате мы получаем значение токена для аутентификации и ID бота, которые сохраним в системной таблице нашего приложения. • Для отправки сообщения нужно знать ID- собеседника. Его можно получить из сообщения, если наш бот «отвечает» на сообщение пользователя. Либо мы можем занести эти данные в карточку пользователя заранее, если реализуем рассылку пользователям FileMaker приложения. • Отправка сообщения происходит через http-запрос, который формируется в момент исполнения скрипта как калькуляция. https://api.telegram.org/bot196160321:AAGNPckJl3УAGdnkb7UouPPeEmmj83vp3cSDpKw/sendMessage?chat_id=3245352&text=Текст%20сообщения Бот Mathenardo исполняется на FileMaker Server и обрабатывает входящие сообщения функцией Evaluate(), тем самым реализуя калькулятор выражений
  • 15. PLUGINS. ЕСЛИ МЫ ЧТО-ТО НЕ ЗНАЕМ КАК СДЕЛАТЬ, МЫ МОЖЕМ ЭТО СДЕЛАТЬ ЧЕРЕЗ КАКОЙ-НИБУДЬ ПЛАГИН http://solutions.filemaker.com/made-for-filemaker/search.jsp?category=5&task=%&industry=%&sort=a Выдает 70 плагинов, учитывая количество функций в каждом из них, это много. Наиболее известные разработчики: • Monkey Bread Software (MBS FileMaker Plugin). Наверное, самый мощный из всех существующих плагинов по количеству функций и охвату тем. 4191 функция, на все случаи жизни! • 360 Works (ScriptMaster, SuperContainer, Scribe, Email Plugin и др.). Один из самых известных разработчиков, с наиболее востребованными функциями. • Goya Pty (BaseElement). Популярный бесплатный плагин с очень востребованными функциями. • Troi (Troi File Plug-in, Troi Dialog Plug-in и др.) • Beezwax (bBOX)
  • 16. PLUGINS. BASELEMENT Основные категории функций • DIALOGS • CONTAINERS • CLIPBOARD • FILE AND FOLDER • ENCODING AND ENCRYPTION • HTTP and URLS • XML, XSLT AND JSON • SMTP Email • VALUE LISTS • TIME • ZIP AND GZIP • и др (EvaluateJavaScript, ExecuteScript, RegularExpression…) Набор функций для отправки почты в бесплатном плагине BaseElement закрывает для разработчиков FileMaker вопрос отправки почты в формате HTML с несколькими вложениями: BE_SMTP_Server ( server { ; port ; username ; password } ) Устанавливаем связь с сервером BE_SMTP_AddAttachment ( container ) Добавляет вложение к письму. Вызов функции в цикле позволяет добавить несколько вложений. BE_SMTP_Send ( from ; to ; subject ; text { ; cc ; bcc ; replyTo ; html ; attachments } ) Отправляет письмо через почтовый сервер, с которым ранее была установлена связь через BE_SMTP_Server ПРИМЕР: Отчета о работе ресторана (см. слайд ODBC- импорт) формируется как HTML письмо, которое отправляется руководителям в конце смены FileMaker-сервером, сразу после формирования самого отчета. HTML формируется на основе шаблона, где ключевые слова заменяются на данные или отдельно сформированные «куски» html-кода
  • 17. PLUGINS. BASELEMENT ПРИМЕР. ИСПОЛЬЗОВАНИЕ JSON CUSTOM-ФУНКЦИЙ ДЛЯ РЕАЛИЗАЦИИ КНОПКИ «ОТМЕНА» И ВОССТАНОВАЛЕНИЯ ЗАПИСИ В момент открытия карточки записи к врачу, скрипт сохраняет текущие значения полей в формате JSON в глобальное поле, добавляя их к существующим данным в этом глобальном поле (если у нас открыто несколько карточек в разных окнах). При нажатии «Cancel» скрипт закрытия «вытаскивает» из JSON структуры по ID карточки значения полей и восстанавливает карточку Преимущества: • Более быстрое и «изящное» решение по сравнению с «ручной» обработкой текста • Удобно работать с несколькими записями
  • 18. 360 WORKS SCRIPTMASTER ВСЕ ВОЗМОЖНОСТИ JAVA В FILEMAKER • Бесплатный • Позволяет запускать java-код из под FileMaker • Написанные на java функции регистрируются как функции FileMaker • Возможность подключать дополнительные java- библиотеки, что дает разработчику практически неограниченные возможности • Можно запускать как из FileMaker, так и из FileMaker Server • В комплект входит fmp12-файл с большим количеством примеров RegisterGroovy( signature; script{; key1=value1; key2=value2; ...} ) • В функцию RegisterGroovy передается наименование функции с параметрами, как текстовая стока, например: ”IB_Crop (ImageContainerName; Width; Height; StartPoint)” и java-код самой функции. • После вызова RegisterGroovy, новая функция доступна для вызова в FileMaker • RegisterGroovy удобно вызывать при открытии FileMaker-файла в стартовом срипте
  • 19. 360 WORKS SCRIPTMASTER ПРИМЕР. ДОБАВЛЕНИЕ ЛОГОТИПА АГЕНТСТВА НА ФОТО ПРИ ДОБАВЛЕНИИ ФАЙЛА В БАЗУ • Запускаемый с заданной периодичностью скрипт на FileMaker Server находит новые файлы (без watermark) • Добавляет логотип агентства и сохраняет в отдельное поле-контейнер с настроенным External Storage • Таким образом на сайте показываются изображения с логотипом, а в базе FileMaker для сотрудников без. • В качестве параметров функции передается путь к самому изображению (файлы в контейнере хранятся как External Storage) и путь к файлу- логотипа
  • 20. 360 WORKS SCRIPTMASTER ПРИМЕР. СОЗДАНИЕ PDF НА СТОРОНЕ FILEMAKER SERVER Задача. FileMaker умеет запускать скрипты на сервере по расписанию, cохранять лайауты как pdf, отправлять e-mail…Но не все это одновременно. Также сохранение в PDF не работает в WebDirect Для создания pdf используется java-библиотека itextpdf 5.5 https://github.com/itext/itextpdf/releases/tag/5.5.10 Функция SMLoadJar( externalJar ) подключает внешнюю библиотеку (файл библиотеки хранится в контейнере системной таблицы) В созданную функцию формирования PDF передаются все необходимые поля. Изображения передаются в кодировке Base 64 Полученный pdf функция сохраняет в tmp-папку по заданному пути. Откуда он в уже вставляется в поле-контейнер. Так как в FileMaker Server не работает Insert File, то для импорта файла также используется небольшая java-функция
  • 21. WEB VIEWER. ЕСЛИ МЫ НЕ ЗНАЕМ КАК ЧТО-ТО СДЕЛАТЬ В ИНТЕРФЕЙСЕ, МЫ МОЖЕМ ЭТО СДЕЛАТЬ В WEB VIEWER Web Viewer – это не способ добавить карту на лайаут… - это возможность расширить интерфейс пользователя, используя гигантское количество уже разработанных примеров и решений для веб практически до бесконечности. HTML , CSS, JS и много, много, готовых библиотек…
  • 22. WEB VIEWER. ПРОСТОЙ РЕДАКТОР ДЛЯ БЫСТРОГО РИСОВАНИЯ ГЕНОГРАММЫ НА ПРИЕМЕ У ВРАЧА Web Viewer строится на калькулируемом поле, которое формирует HTML-код из шаблона, заменяя ключевые слова на параметры и данные. Ранее сохраненное изображение передается из контейнера как BASE 64 кодировка Ширина и высота рассчитываются исходя из размера Veb Viewer, используя GetLayoutObjectAttribute() В шаблоне не используется никаких библиотек, только «чистый» HTML, CSS и JS (работа с объектом canvas) Для «обратного» вызова FM используется вызов типа: Для OS X готовое изображение передается через параметр, для Windows - через клипбоард. fmp://$/имя_fm_бызы?script=имя_скрипта&param=параметр
  • 23. WEB VIEWER. ПРИМЕР. РАСПИСАНИЕ ВРАЧЕЙ В КЛИНИКЕ И СОБСТВЕННОЕ РАСПИСАНИЕ ВРАЧА Используется JS-библиотека DHTMLX Sсheduler Для формирования html-кода используются html-шаблоны Ключевые слова заменяются на данные из базы Данные о встрече формируются в формате JSON, как калькулируемое поле. JSON-массив формируется как List() и заменяет в шаблоне ключевое слово. Реакция на действия пользователя вызывает соответствующий скрипт FileMaker, передавая ему параметры. Названия скриптов прописаны в шаблоне