Архитектура платформы «АПЕК»


Уровни платформы "АПЕК"


Платформа "АПЕК" имеет клиент-серверную архитектуру.
Состоит с трех уровней
1. Уровень базы данных.
2. Уровень мета данных.
3. Уровень пользовательского интерфейса.


Уровень базы данных

Теоретически можно использовать любую СУБД, но в данный момент реализована поддержка СУБД Firebird 1.5.X.
В этой СУБД есть ряд конкурентных преимуществ:
  • Бесплатная СУБД
  • Легко переносимая. Вся база данных хранится в одном файле.
  • Довольно мощная СУБД. С учетом ориентации на малые и средние предприятия запас мощности более чем достаточен.
На уровне базы данных разработчик конфигурации реализовывает схему данных. При описании схемы разработчик может использовать наследование таблиц. Например, создать общую таблицу "Документ", в которой будут такие поля как номер и дата, а потом, унаследовав, описывать конкретный документ со своими полями.

Пример структуры базы

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

Также у разработчика всегда есть возможность создать необходимые индексы или триггеры.
Непосредственный доступ к базе позволяет создавать эффективные и оптимизированные структуры, используя все возможности и мощность конкретной базы данных, а не использовать СУБД просто как хранилище данных. Механизм наследования позволит намного проще описывать нужные структуры, избавляя от дублирования общих полей в нескольких таблицах.

Кроме описания структуры, на уровне СУБД разработчик описывает необходимые проводки, реализовывая бизнес логику приложения на уровни сервера. Это значительно влияет на производительность приложения и уменьшает нагрузку на ПК пользователя. Реализация проводок на уровне сервера также положительно отображается на целостности данных.

Уровень МЕТА данных

На уровне мета данных разработчик описывает бизнес объекты, использую объектно-ориентированный подход. Это описание основано на схеме данных, описанной на уровне БД, но не повторяет ее. Так бизнес объект может быть основан на таблице, на нескольких таблицах, на результате SQL запроса или хранимой процедуры. Также есть возможность автоматически создать объект с полями согласно таблице, что сильно помогает при описании простых объектов. Полями объекта могут выступать как поля таблицы в БД, так и SQL выражение, что позволяет создавать не только вычисляемые, но и агрегирующие поля. Кроме наследования таблиц, платформа также поддерживает наследование объектов на уровне МЕТА данных.
Кроме описания самых объектов, разработчик также указывает дополнительные закладки объекта, поля для отображения в таблице, поля для фильтрации, а также условия верификации данных перед сохранением. Ориентация платформы на объектно-ориентированном подходе позволяет создавать более гибкие и мощные описания, чем при документно-ориентированном подходе. При помощи объектов можно описать как шапку документ, так и его табличную часть (перечень), и даже более того, позволяет описать неограниченное число табличных частей документа.

О гибкости такого подхода свидетельствует тот факт, что интерфейс для редактирования МЕТА данных описан сам на себе.

Уровень пользовательского интерфейса

Для удобства и универсализации весь пользовательский интерфейс основан на общих принципах и по всей программе имеет одинаковую структуру. Это позволяет пользователям быстрее обучиться работы в программе, и новая функциональность системы будет для него привычной. Как говорилось ранее, основные настройки по структуре интерфейса настраиваются на уровне МЕТА данных. Это такие настройки как поля в таблице, наличие деревьев группировки, дополнительные закладки и поля для фильтрации данных. Но в тоже время, чтобы учесть все пожелания пользователей, у разработчика всегда есть возможность настроить форму карточки объекта индивидуально в дизайнере формы. Дизайнер форм, по своей сути, похож на дизайнер форм в Delphi, Visual Studio и т.д. Для еще более тонкой настройки интерфейса и поведения элементов управления, в системе есть поддержка Pascal Script. Но стоит отменить, что скрипты играют роль вспомогательного инструмента настройки интерфейса, а не реализации бизнес логики как в большинстве других систем такого типа.
В случаи, если какая-нибудь с потребностей не вписывается в общую структуру интерфейса платформы "АПЕК", существует возможность разработки расширения платформы (плагинов) на любом с языков программирования, которые поддерживают технологию COM и подключать их к программному комплексу. Примерами таких расширений может выступить модуль репликации данных, модуль интеграции с почтовыми клиентами и т.д.
Удобный интерфейс // Высокая гибкость // Бессрочная лицензия // Приемлемые цены // Скачать демо