Платформа предназначена для быстрой разработки приложений (программ, конфигураций), использующих СУБД (системы управления базами данных) с применением двухзвенной архитектуры. Для создания платформы используется язык программированияPython 2.7 и библиотека PyQt.
Поддерживаемые СУБД: SQLite, MySql (в перспективе — PostgreSql, ODBC-совместимые).
Используемые инструменты позволяют создать комфортные условия для пользователя. Например, имеется возможность выбрать комфортные размер и начертание шрифта любого элемента программы. Для организации рабочего пространства используется главное окно с закладками. Пользователь имеет возможность открыть любое количество независимых «рабочих столов» (закладок), и свободно переключаться между ними. В пределах каждого «рабочего стола» каждое открываемое окно делает недоступным предидущее окно. Такой подход облегчает работу с большим количеством информации на экране.
Состав и общая схема работы платформы показана на рисунке:
В процессе разработки база данных с программой заполняется описаниями таблиц, меню, диалогов, отчетов, модулей. Разработка программы на базе платформы состоит из следующих этапов:
- Описание экранов
- Генерация базы данных (БД)
- Разработка печатных форм
При эксплуатации платформа на основе базы данных с программой строит интерфейс пользователя, осуществляет контроль вводимой информации и генерирует отчеты.
Особенностью платформы является подход к созданию интерфейса пользователя.
Используется метод последовательного описания элементов (полей) экрана с применением элементов разметки. Описание может быть выполнено в виде списка, хранящегося в БД или программы, и содержит информацию о том, как надо отображать поля (например: поле для ввода даты, поле со справочником и т.д.).
По описанию экранов платформа может создавать таблицы в БД. «Тонкая» настройка БД производится с использованием инструментов конкретных БД. При работе платформа также использует информацию описания экранов для проверки логической целостности БД (например: запрет удаления строки из таблицы БД, если на нее ссылается поле из другой таблицы БД).
Описание также хранит фрагменты кода, исполняемые при определенных событиях. При «выполнении» экрана происходит его динамическая сборка и отображение. При работе пользователь может изменять размеры окон, при этом содержимое окна автоматически «подстраивается».
В настоящее время поддерживаются три вида экранов:
- Таблицы
- Диалоги
- Витрины
Таблица — это окно, содержащее таблицу БД и элементы управления (панель команд и контекстное меню) для работы с отображенной информацией. Панель команд и контекстное меню обычно содержит команды навигации, изменения информации (добавить, копировать, исправить, удалить), а также специфические команды (переход к следующему окну, запуск отчета и т.д.). Вместе с основной таблицей БД могут отображаться и связанные таблицы БД (например: основная таблица — документы, связанная — содержимое документа). Связанная таблица также имеет элементы управления и может быть открыта в отдельном окне.
Для редактирования (создания, правки и удаления) данных в таблице платформа может автоматически создавать окно диалога.
Каждой таблице соответствует меню Действия, содержащее как стандартные команды, так и команды, предназначенные только для данной таблицы.
Диалог – окно, содержащее любые элементы пользовательского интерфейса и служащее для ввода информации. Все диалоги обязательно содержат кнопки подтверждения и отмены, позволяющие пользователю управлять ходом выполнения программы.
Витрина — окно содержащее списки «срезов», «фактов», таблицу с числовыми данными и иллюстрирующую их диаграмму. Пользователь, меняя значения «срезов» и устанавливая фильтры, получает возможность проводить быстрый анализ информации. Полученные варианты таблиц и графическая интерпретация могут быть выведены на печать, открыты в Excel, скопированы для последующей вставки.
Отчеты
Платформа содержит собственный редактор и генератор отчетов, позволяющий создавать запросы к БД и генерировать документы для просмотра и печати в форматах PDF, RTF, XLS. Предусмотрена возможность использования вложенных отчетов и функций на языке Python.
Инструмент Таблицы предназначен для динамического создания многомерных табличных отчетов с неизвестным заранее количеством столбцов(cross-tab report).
Разработчик может выносить повторяющиеся фрагменты кода в Модули. Также предусмотрены модули, выполняющиеся при определенных событиях (например: загрузка программы).
Используя инструмент Запросы можно выполнять произвольные запросы к базе данных. исключить дублирование кода SQL-запросов к БД.
Вся «программа» (описание экранов, отчеты, модули) хранится в БД. Для хранения данных и «программы» используются разные БД, поэтому можно одну «программу» использовать для работы с разными данными. Например: «программа» хранится в БД SQLite, а используется для работы с информацией, хранящейся в БД SQLite, MySql, PostgreSql. Для управления загрузкой программы используется менеджер загрузки (Выбор базы данных).
Для копирования и переноса данных и программ разработан инструмент Управление, с помощью которого легко производится перенос данных между БД (в том числе между СУБД разных типов), осуществляется резервное копирование, а также обновление программ (в том числе через Интернет, если программа была опубликована на сайте).
Видео процесса разработки фрагмента программы смотрим здесь.
Бесплатно скачать платформу и ознакомиться со списком доступных демо-программ можно здесь.