Создание баз данных в filemaker pro. FileMaker во всей своей красе. Создание нового типа привилегий

Об этой СУБД как-то, как иногда кажется, в последнее время даже немного забыли, увлекшись Oracle, MS SQL Server и прочими гигантами индустрии. Что ж, рассказ о ней - отличный способ напомнить о существовании такого замечательного программного продукта.


Это что, ещё один Access?

Специфика СУБД FileMaker заключается в том, что она ориентирована не столько на программиста, сколько на конечного пользователя. Даже в описаниях своего продукта разработчики избегают использовать громоздкий термин DBMS (database management system), заменяя его на database application.

"Так что это? - можете спросить вы. - Получается, FileMaker - аналог Microsoft Access?". Так и хочется сказать: "Нет, ну что вы, это настоящая СУБД!". Но ведь и Access не игрушечная, а самая обычная настольная система управления базами данных. И FileMaker во многом похож, а во многом и не похож на неё. В общем, может, с моей стороны, это и будет подло, но я оставлю ответ на этот вопрос на ваше усмотрение. Ведь зачем тогда рассказывать о FileMaker, если можно просто написать что-то вроде: "Вот есть замечательная СУБД FileMaker, очень похожая на Access, скачивайте на здоровье и пользуйтесь в своё удовольствие!".

Перед тем, как приступать к непосредственному рассказу о возможностях этого программного продукта, хочу рассказать о том, где можно самостоятельно с ним ознакомиться. В этом поможет официальный сайт, расположенный по адресу www.filemaker.com . Обратите внимание, что для того, чтобы скачать пробную версию программы, вам потребуется регистрация.


Возможности FileMaker

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

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

Визуально можно редактировать не только сами данные, но и их структуру. Для этого нужно в меню "File" выбрать "Define", а уже в нём выбирать, какие именно элементы структуры базы данных мы хотим определять. Можно создавать таблицы и поля внутри этих таблиц, задавать с помощью удобных диаграмм соотношения между этими таблицами, создавать свои собственные функции на основе уже существующих...

Можно безо всяких особенных усилий импортировать записи из разных других баз данных (они могут быть в формате самого FileMaker"а, а также в виде текстовых файлов, DBF"ов, файлов Microsoft Excel или в раритетном Lotus 1-2-3). Аналогичным образом информацию из базы данных можно и экспортировать. Отдельно предусмотрена возможность экспорта данных в формат PDF - довольно необычное для СУБД решение, хотя, вероятно, не самое ненужное. Впрочем, вероятно, это удобно на Западе, где PDF - стандарт для документооборота, у нас же более востребован будет экспорт в Excel. Или даже лучше в "1C" - но такого в FileMaker, конечно, не встроено.

В FileMaker"е предусмотрено три режима работы в окне с самим данными. Называются эти три режима следующим образом: Browse, Find, Layout и Preview. Первый из них предназначен для непосредственной работы с данными в файле, то есть их редактирования, распечатки, сортировки и прочих нужных вещей. Второй режим, как легко можно догадаться, глядя на его незатейливое название, нужен для поиска данных, удовлетворяющих определённым критериям. После завершения поиска FileMaker автоматически возвращается в первый режим, так что найденные данные можно продолжать редактировать, удалять и издеваться над ними прочими доступными вашей фантазии способами. Режим под названием Layout позволяет определять компоновку рабочего окна редактирования данных в FileMaker"е или, проще говоря, менять его внешний вид. Также в этом режиме можно определить внешний вид отчётов с заданной информацией, а просмотреть их можно в последнем режиме - Preview. Как говорится в справке, этот режим особенно эффективен для составных отчётов с подведением итогов.


Скрипты в FileMaker"е

Работа с любой СУБД, пусть даже такой простой, как FileMaker, не может закончиться нажиманием кнопочек и простым "вбиванием" данных в базу. Рано или поздно потребуется обратиться к скриптам и программированию - и FileMaker предоставляет пользователю такую возможность.

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

Конструктор скриптов в FileMaker"е можно назвать если не визуальным, то очень близким к визуальному. Выглядит он так: слева в окне - "текст" скрипта, то есть описание последовательности команд, которую этот скрипт выполняет. Но, собственно, текстом скрипта это не является, потому что отредактировать как текст его нельзя. Нажав на какую-нибудь команду в списке, можно установить для неё параметры, причём для установки параметров появляются свои окна. Если параметр - поле в таблице, то появляется список доступных полей, а если параметр другого типа, то появляется ещё более интересное окно, позволяющее визуально задавать условия, операции сравнения и прочее. Справа в окне редактирования скриптов расположен список всех доступных команд, которые можно в этот самый скрипт добавить. Список довольно-таки большой, а потому ориентироваться в нём будет не так уж и просто, хотя, наверное, со временем можно привыкнуть.

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

При всём при том в FileMaker"е есть возможность отладки скриптов. Для того, чтобы запускать скрипты в режиме отладки, нужно в меню "Tools" поставить птичку на пункте "Debug Scripts". Возможности отладки достаточно стандартны: точки останова, выполнение процедуры с пошаговым выполнением команд внутри неё или без этого. Есть возможность просмотра результатов выполнения того или иного выражения в отдельном окне. В общем, отладка скриптов как отладка скриптов. Только сомневаюсь я, что тот средний пользователь, не знакомый с программированием, на которого ориентировались разработчики FileMaker"а, будет заниматься отладкой скриптов.

Впрочем, существование собственного скриптового языка в FileMaker"е вовсе не означает, что с данными нельзя работать посредством SQL-запросов. Очень даже можно, только, как говорится, осторожно. В скриптах FileMaker"а поддерживается команда Execute SQL, которая и занимается выполнением SQL-запросов. Кроме того, SQL можно использовать при работе с базами данных FileMaker"а через ODBC или JDBC.


Девятая версия

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

В качестве основного усовершенствования, реализованного в девятой версии, сами разработчики называют двунаправленные соединения с SQL-БД. Годами это позволяет повысить производительность систем, где используется FileMaker. Кроме того, вообще довольно существенно переработана часть программы, отвечающая за работу с SQL, и повышена совместимость с SQL базами данных. В FileMaker Pro 9 вы можете обращаться к источнику данных SQL так же, как и к другому файлу FileMaker Pro 9. Стало возможным взаимодействие с базами данных в реальном времени: все изменения будут отображаться немедленно и у других пользователей, а те изменения, которые внесли они, - у вас. Это, впрочем, не означает, что знание SQL стало обязательным для работы с 9-й версией FileMaker"а.

Для пользователя в FileMaker Pro 9 интересной будет возможность подсветки выделения важных полей, которые оставлены пустыми или заполнены неверно (например, введено отрицательно количество товара). FileMaker Pro 9 Server позволяет быстро сгенерировать РНР-сайт автоматически из базы данных. Добавилась возможность группировки скриптов внутри каталогов.


Резюме

Что ж, вот такой вот он, этот FileMaker. Конечно, эту программу не назовёшь прямым конкурентом Oracle или PostgreSQL, но ведь каждый продукт хорош для своей ниши и оптимально работает именно в тех условиях, под которые создавался. Что касается вопроса о схожести FileMaker"а с Microsoft Access, то, думаю, если вы знакомы с Access, то теперь, прочитав про FileMaker, сможете сами сказать, насколько они похожи.

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

FileMaker Pro - это кроссплатформенная система управления базами данных (СУБД), разрабатываемая подразделением концерна «Apple, Inc.», компанией «FileMaker, Inc.». FileMaker Pro полноценно поддерживается операционными системами Windows XP, Windows Vista и Mac OS X. Во всем мире продукт FileMaker Pro популярен благодаря сочетанию двух важных качеств - простоты использования и мощности средств управления базами данных. Решения на базе FileMaker содержат минимум программного кода. Процесс разработки приложений в FileMaker Pro сводится в основном к взаимодействию с графическим интерфейсом программы. Например, для создания нового поля, в которое будет вводиться информация, вам необходимо осуществить лишь несколько кликов по стандартным кнопкам интерфейса FileMaker, затем перетащить поле в любое место страницы - данная операция занимает меньше минуты времени.

Инструмент FileMaker Pro объединяет в себе и средства разработки базы данных с интерфейсом, и средства пользования базой данных - клиентскую часть. Ограничения на выполнение пользователями определенных действий регулируются стандартными средствами ФайлМэйкера, поэтому часть пользователей может иметь доступ к средствам разработки, а часть - не иметь. Информационное решение, написанное с помощью СУБД FileMaker Pro версии 7 и выше, целиком сосредоточено в файле или наборе файлов формата fp7. Для того чтобы оно было доступно одновременно нескольким пользователям локальной сети или через интернет, применяется FileMaker Server. Таким образом, FileMaker-решения в основном базируются на общеизвестной клиент-серверной архитектуре.

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

FileMaker безупречен по части безопасности. Практически все, о чем нужно заботиться - назначать права пользователям и задавать пароли.

Многих неосведомленных людей столь очевидная простота отпугивает - они начинают сомневаться в возможностях ФайлМэйкера. Я, как человек, имеющий опыт разработки под Java и Oracle, PHP и MySQL, Delphi и Interbase, могу смело заверить: 99% доводов относительно несовершенства FileMaker - безосновательны. Однажды в 2004 году, еще до моего знакомства с ФайлМэйкером, на форуме портала sql.ru разгорелся довольно любопытный спор . Настоятельно советую всем одолеть хотя бы первые 5 страниц этой жаркой дискуссии. Резюме обсуждения таково: никто не отрицает превосходство решений на Oracle (или другой серьезной СУБД) перед решениями на FileMaker, но, как верно заметил один из участников спора, в большинстве случаев мы пытаемся палить из пушки по воробьям. То есть трудоемкие решения на базе серьезных СУБД реально необходимы лишь в единичных случаях, но никак не повсеместно.

Я убежден, что российскому малому и среднему бизнесу давно пора отказываться от дорогостоящих и совершенно негибких решений на базе 1С:Предприятие или Microsoft Access. Практически каждая компания приобретает решение, которое сложно адаптировать под собственные нужды - приходится нанимать в штат специалистов узкого профиля, которые способны копаться в мегабайтах программного кода. Редкий специалист обходится дешевле 50 000 рублей в месяц. При этом компания оказывается прикованной к платформе Windows со всеми вытекающими последствиями - вирусами, сбоями в работе ПО и не самым удачным пользовательским интерфейсом. Должно быть, вы заметили, что в компьютерном мире в последнее время происходит довольно интенсивный переход от PC и Windows к продукции компании Apple - компьютерам Macintosh с операционной системой Mac OS. Вы можете сравнить особенности операционных систем и убедиться в том, что работать на Mac гораздо приятнее и удобнее, чем на PC. А когда людям приятно и удобно работать, тогда и дела идут в гору. С ФайлМэйкером переход на Mac можно осуществлять постепенно и безболезненно, а большинство задач решать без затрат на услуги программиста.

Искренне желаю вам присмотреться к ФайлМэйкеру, как это сделали те, кто давно использует данную СУБД в решении своих информационных задач:

  • ABC News
  • Adobe Systems
  • Bank of America
  • Coca Cola Company
  • Compaq
  • Daimler-Chrysler
  • Dave Matthews Band
  • Federal Express
  • Hewlett-Packard
  • Honda - Digital
  • Lufthansa
  • Microsoft
  • Mitsubishi Imaging
  • MTV Network
  • National Geographic
  • New York Times
  • Nokia Mobile Phones America
  • Novell Corporation
  • Oracle Corporation
  • PalmSource - PalmOne
  • Paramount Pictures
  • Philips Digital Video Systems
  • Phillip Morris
  • Pixar Animation Studios
  • Qualcomm
  • Sega Gameworks
  • Sony Corporation
  • Symantec Corporation
  • Time Magazine
  • 20th Century Fox
  • United States Senate
  • USA Today
  • Volvo Action Services
  • Warner Brothers Studios

Из наших обзоров программ для создания прототипов вы уже могли убедиться, что конструировать собственные приложения не так уж и сложно. Более того, ради достижения подобной цели вовсе не обязательно вгрызаться в языки программирования. Об этом не устаёт напоминать масштабная платформа FileMaker , которая совершенствуется вот уже 14 поколений подряд. На её фундаменте пользователи реализуют свои идеи для iOS, OS X и Windows, при этом особо не погружаясь в матчасть. Самое главное, что результат на выходе — потрясающий!

Шефство над FileMaker держит сама Apple, поэтому качество проекта говорит само за себя. На подходе 15-я часть, но мы пока подробно изучим 14-тую, разобрав отличия FileMaker Pro и FileMaker Advanced, особенности Go, WebDirect и Server.

Пожалуй, ощутимее всего разница между FileMaker Pro и Advanced сказывается на Script Workspace. Script Workspace позволяет автоматизировать задачи в максимально короткие сроки. В нём поддерживается построчное редактирование и своеобразные предикативный ввод, когда вы печатаете символы, и параллельно всплывают подходящие варианты. Можно даже использовать аббревиатуры вроде GTRR (Go to Related Record) ради увеличения скорости. Сюда также встроен поиск, поддерживаются пустые строки, нумерация, отступы, подсветка синтаксиса и прочий инструментарий программиста.

Calculation Dialog box несёт ответственность за компоновку функций, подсчёт алгоритмов в готовом приложении. К слову, функции теперь подвергаются автоматическому завершению, поиск осуществляется быстрее.

FileMaker 14 располагает огромным дизайнерским инструментарием, с которым без проблем корректируется любой интерфейс. Теперь к нему добавился Button Bar, обеспечивающий создание групп кнопок, ведущих себя как отдельный объект. Группы гибко настраиваются, меняют ориентацию, подчиняются фокусам навигации.

Вместе с Button Bar были добавлены 140 профессионально проработанных иконок. Не хватит заявленного количества графических элементов — смело загружайте собственные.

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

Стало возможно вставлять тег «placeholder», чтобы на экране всплывали подсказки или инструкции, применяемые в конкретном поле.

Тем, кто раньше тяжело обращался с цветами, отныне будет попроще, потому что были доработаны цветовые решения. Цветовые обозначения теперь автоматически отображают соответствующие координаты. Радует, что эти фишки работают как с двумя стандартными темами FileMaker, так и с собственными.

Дизайнерская работа над ошибками затронула более тонкое отображение объектов на экране. К примеру, вы можете выбрать, показывать ли «х» или отметку «выбрано», когда в ход идут чекбоксы.

Последнее глобальное обновление получила вся платформа — Launch Center, который собирает все наработки в едином месте. Кроме того, каждому из них можно присвоить подходящую иконку. Поддерживаются 30 стандартных ярлыков и добавление собственных.

FileMaker Go — это специализированный клиент для iOS, который не пришёл в проект с 11-той версии. В некоторых местах ему достались те же самые обновлениях, что и выше, то есть Launch Center, иконки файлов. Помимо них, увеличилась в размере «tap targers», за счёт чего работа с основанными на FileMaker Go решениях стала проще. Само приложение наконец-то оптимизировали под большие экраны Айфонов и 64-хбитную архитектуру.

Отдельно стоит обратить внимание на то, что FileMaker Go 14 может соединяться только с базами данных, размещёнными на FileMaker Server 13 и 14, то есть 12-я и старше часть летит мимо. Следует провести глобальный апгрейд.

У нас остаются WebDirect и Server. Первый — это веб-ориентированный клиент, обрабатывающий запросы базы данных. Он умудряется поддерживать огромное количество соединений (вплоть до 100) и скрипты. Появилась перерисованная панель управления с более современным видом, а также вернулись FMP URLы.

Второй — сервер. Сервер есть сервер. Здесь можно заметить полномасштабную профилактику в области быстродействия и багфикса. Явные зрительные изменения искать тяжело:)

Если наш обзор по обновлениям не внушил доверия к FileMaker 14, советуем пробежать подборку шаблонов , взять понравившиеся за основу и попробовать воплотить в жизнь какую-нибудь идею. Скачать пробную версию можно по кнопке ниже.

Среда разработки FileMaker является сегодня одним из лидеров среди СУБД для небольших и средних рабочих групп, позволяя быстро разрабатывать готовые решения, полностью приспособленные к потребностям предприятия заказчика.

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

К сожалению, FileMaker — чрезвычайно известный и популярный на Западе, — практически неизвестен в холодной и далекой России, что ж, попытаемся исправить эту несправедливость.

В последнее время, на рынке СУБД традиционно доминируют гиганты, и это прежде всего Oracle Database, Microsoft SQL Server и т.д. Если рассмотреть рынок подобных открытых решений с многообразием его решений, то здесь опять же представлены СУБД, прежде всего для профессиональных разработчиков — MySQL, PostgreSQL и т.д.

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

Готовые же решения не всегда так гибки, как это требуется, жизнь неоднократно доказывала, что всегда лучше и надежнее создать персонализированное решение, что называется «полностью под себя», но и здесь мы сталкиваемся с проблемой сложности и длительности такой разработки.

Если только на секунду задуматься и помечтать: ах, если бы подобные БД можно было создавать полностью собственными силами, если бы для этого не нужно было быть специалистом сразу в нескольких смежных технических областях, если бы программы было так же просто не только создавать с нуля, но и исправлять, расширять и дорабатывать...

И если для крупного, и отчасти среднего бизнеса, дорогостоящие специализированные решения на базе серьёзных и дорогих СУБД ещё как-то оправданы и экономически целесообразны, то для малого бизнеса — представителей коих большинство, или для домашних нужд и вовсе, — использование Oracle или даже бесплатного MySQL, пожалуй, избыточно, и даже более того — абсурдно.

Столь длинное введение в тему задумано лишь для констатации простого факта: рынок СУБД для малых предприятий и домашнего использования чрезвычайно востребован и он практически никак не представлен на отечественном рынке. Если вам нужно быстро разработать специализированную систему складского учета для небольшого магазинчика или просто личную систему планирования дел или финансов, построенную на какой-то очередной, приглянувшейся вам новомодной концепции тайм-менеджмента, — где искать помощи в таком случае?

Какие инструменты для этого оптимально использовать — уж не популярную ли MySQL в связке с каким-то визуальным фронтендом, написанным на не менее популярной Visual Studio? Какие быстрые и простые варианты разработки для такой ситуации могли бы предложить вы, подходящие любому нетехническому специалисту также, как и бухгалтеру, или студенту-первокурснику одновременно?

И сегодня у нас есть хорошие новости: наш обзор будет посвящен подробному рассмотрению СУБД именно подобного класса, чрезвычайно известную и популярную на Западе, но пока ещё не очень распространенную в России — .

Поскольку стало уже типичным сравнивать FileMaker с его нишевыми аналогами — Microsoft Access и FoxPro, — мы для приличия, также повторим эту заезженную аналогию, но для полноты картины и справедливости ради, сразу же приведем и их главные отличия, из-за которых это сравнение, по нашему мнению, весьма натянуто.

Ещё один MS Access?

Очень выраженная специфика СУБД FileMaker заключается в том, что она ориентирована не столько на программиста, сколько на конечного пользователя, на непрофессионала в области баз данных. Даже в описаниях своего продукта разработчики упорно избегают использовать громоздкий термин DBMS (database management system), хотя он и приводится в спецификации продукта, всюду заменяя его на database application.

Главный экран среды разработки в FileMaker 11

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

Например, здесь вы можете программировать на встроенном визуальном языке FileMaker Script, даже не имея представлений об основах обычного классического программирования, или начать сразу проектировать свою БД, просто перетащив мышкой Excel-файл на пустую форму проекта, использовав привычный Excel для создания макета и наполнения своей новой базы. Эти возможности равнодоступны как технарю, который при этом имеет возможность усложнить их до приемлемого ему уровня, так и рядовому бухгалтеру. Если в MS Access или FoxPro работа над проектом — это взгляд изнутри, и поэтому вам нужно иметь четкое представление о том, как устроена и функционирует база данных, то FileMaker — это, скорее, взгляд на разработку снаружи.

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

К многочисленным удачным деталям реализации FileMaker мы ещё вернемся далее, здесь бы хотелось поставить точку по отношению к этому стереотипному сравнению: по нашему мнению, FileMaker — система гораздо более доступная и дружественная обычному пользователю, нежели чем MS Access, при этом всём, её возможности ни в коей мере не уступают MS Access, а во многом, — и это мы покажем далее, — существенно превосходят её.

Пример приложения написанного на FileMaker 11

Что же касается FoxPro — это всё-таки система для программистов, как не крути. Конечно, при знакомстве с FileMaker вам не помешает наличие опыта программирования на «серьёзных» языках — это позволит «врубиться» в систему и её возможности буквально на ходу, максимум за сутки, сразу начав работать. Но, ставя задачу наоборот — быстро и сходу разобраться в FoxPro гуманитарию будет очень сложно, согласитесь, да и не нужно это делать вовсе!

Как сейчас мы убедительно докажем — есть куда более простая, и прошу заметить при этом, гораздо более мощная визуальная система разработки в сравнении с MS Access и FoxPro, — это СУБД FileMaker.

Определение и целевая ниша

FileMaker Pro — это кросплатформенный десктопный конструктор табличных и иных информационных приложений, построенных на базе собственной реляционной базы данных. Вместе с собственно движком этой БД, как уже сказано выше, единым пакетом поставляется мощнейший визуальный конструктор, с развитым и интуитивно-понятным GUI-интерфейсом, позволяющий в визуальном режиме создавать любые приложения: с собственной логикой, внешним видом, формами и таблицами.

Кроме хранения, оперирования и обработки пользовательских данных, эта среда предоставляет множество дополнительных функций и возможностей (о которых пойдет речь более подробно далее), которые, во многом, зависят от редакции этого продукта (смотрите вторую часть этой статьи). Короче говоря, если и существуют среды разработки RAD (Rapid application development), то это — своего рода «SuperRAD», которая позволяет создавать полностью аналогичные приложения, но в раз в 10 быстрее и проще!

Визуальный отладчик встроенного скриптового языка

Итак, дав очень сухое и отчасти казенное определение, подытожим для обывателя выгодой сулимой: освоив FileMaker, вы сможете легко и быстро создавать свои собственные проекты, основанные на базах данных, применение которых, практически, не ограничено. Вы сможете очень быстро, буквально «на коленке», создать, например, большой каталог своей домашней библиотеки или фильмов, каталогизировать свою огромную музыкальную коллекцию, разработать собственную систему учета товаров на предприятии или учета расходных материалов и офисной техники, систему прохождения заказов в вашей фирме или системы персонализированной печати. Потратив буквально минуту, выставить свою БД в интернет в виде автоматически сгенерированного php-сайта. И многое, многое другое...

Основные возможности FileMaker

  • Это мультиплатформенный продукт — поддерживаются следующие платформы: Windows (XP, Vista, 7); MacOS X, iOS;
  • Плагинная архитектура — для подключения есть множество сторонних плагинов, которые ещё больше расширяют функциональность основной системы;
  • Многоязычная поддержка — система переведена на более чем 12 языков, в том числе и на русский;
  • Возможность автоматически генерировать продвинутые и привлекательные графики, отчеты и гистограммы;
  • Поддержка своего собственного языка разметки FDML для генерирования Web-страничек с возможностью динамических вставок из базы данных FileMaker;
  • И уж если мы заговорили о сайтах, в серверной версии FileMaker есть возможность быстро сгенерировать РНР-сайт автоматически — из структуры и наполнения уже имеющейся базы данных;
  • Возможность шифровки всех используемых таблиц и структур данных;
  • Огромное количество форматов для импорта данных в БД: Excel, Lotus 1-2-3, txt, cvs, dbf и др.; так и обилие форматов для обратной операции — экспорта;
  • Близкий к визуальному редактор скриптов, который позволяет очень просто разобраться в программировании (если оно вам вообще здесь понадобиться). Существует встроенный отладчик скриптов, который позволяет решать все сложные ситуации. Вообще нужно сразу высказать свое субъективное мнение, что скриптовый язык у FileMaker свой собственный, и вероятно, будет неудобен именно опытным программистам, и скорее более подходит как раз начинающим и продвинутым пользователям (что можно рассматривать одновременно как и плюс, так и минус этой системы);
  • FileMaker поддерживает многопользовательскую работу с базой данных, в разумных пределах, конечно (не нужно рассчитывать на одновременный доступ к БД толпы из 700 человек). Но, в защиту внутреннего хранилища данных хочется сказать, что в последних версиях оно было значительно расширено и дополнено, и теперь может вполне свободно оперировать с достаточно большими объемами данных (опять же, в разумных пределах — в рамках малого и среднего бизнеса, — оно никогда не станет прямым конкурентом в этом плане для Oracle или для PostgreSQL).

Внешнее взаимодействие

Часто, при использовании подобных продуктов, первый вопрос который встает ребром: «А как я смогу связать их с какими-то своими внешними, уже существующими решениями?».

Что ж, это отличный вопрос. И если внутренние возможности по быстрому проектированию и чрезвычайно удобному созданию приложений на FileMaker я не ставлю даже под сомнение (потому что это так и есть — просто попробуйте), то вопрос исследования FileMaker на предмет его возможностей по взаимодействию с другими внешними продуктами требует дополнительного освещения, в силу особой важности этого параметра при создании современных и гибких гетерогенных систем.

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

В частности поддерживается:

  • — импорт внешних данных в СУБД в формате XML;
  • Export Records и Export Records script step — разновидности экспорта ваших данных в формате XML;
  • Custom Web Publishing with XML — механизм отправки XML-данных в ответ на интернет-запрос оных из внешнего сервиса;

Кроме поддержки XML для обмена данными с внешними источниками, также доступна полная поддержка ODBC/JDBC, которая ещё больше расширяет возможности FileMaker (почитать подробней о ней можно на этой страничке). Ну и наконец, самое интересное с точки зрения прикладного программиста — язык SQL.

Встроенное в любое FM-приложение smtp-решение

Как я уже освещал выше, FileMaker использует свои собственные квазивизуальные средства для создания выборок, но кроме этого, присутствует почти в полной мере поддержка возможностей и SQL, поэтому давайте максимально кратко перечислим основные моменты в этом вопросе:

  • External SQL Data Source — штатный инструмент для создания «живого» двух-стороннего коннекта между FileMaker и ведущими мировыми СУБД (Oracle, MS SQL Server, MySQL);
  • ODBC/JDBC — альтернативный способ подключения, если вам не требуется постоянного «живого» подключения к внешним источникам данных. У этого подхода есть как плюс, так и минус: плюс — это гораздо большая универсальность и широта доступных источников данных, — фактически вам нужно просто найти и установить стандартный ODBC-драйвер для вашей БД в систему с FileMaker. Минус — немного меньшая скорость взаимодействия;
  • Execute SQL — доступность динамических SQL-запросов на уровне скриптового языка FileMaker через данную команду, что создает своего рода дополнительное измерение для успешного, и я бы даже сказал, изощренного применения SQL в рамках экосистемы FileMaker;
  • MySQL partnership — особенно хочется выделить поддержку в качестве внешнего источника данных популярный бесплатный сервер баз данных MySQL. Нужно отметить, что уровень интеграции с этим источником в режиме External SQL Data Source чрезвычайно качественен. Сам производитель FileMaker описывает множество удачных примеров крупных внедрений, где использование такого симбиоза этих двух СУБД был поставлен во главу угла всей информационной инфраструктуры. Официальное партнерство компаний FileMaker, Inc и MySQL AB — ещё более упрочняют эти связи, не только на техническом, но уже и на юридическом уровне поддержки. Наглядную демонстрацию по «запряганию в одну упряжку» FileMaker с MySQL можно увидеть на деморолике вебинара , полностью посвященного именно этой теме.

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

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

ключевики : file maker, filemaker pro скачать filemaker pro 3 разработка справка уроки filemaker скачать ашдуьфлук

Этот материал предназначен в большей степени для начинающих разработчиков, а также заказчиков разработки приложений на 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-адрес.

Windows 10