Архитектура ParamitecPlatform
введение
ParamitecPlatform — комплекс программных продуктов для реализации универсальных многопользовательских кроссплатформенных прикладных задач. Предлагает полный замкнутый жизненный цикл прикладных решений, от разработки до внедрения решений в промышленную эксплуатацию.
ParamitecPlatform это решение, использующее концепцию клиент-серверных приложений с трёхзвенной трехуровневой архитектурой. При разработке самой технологической платформы используются импортозамещенные технологии и программные продукты с открытым исходным кодом (OpenSource).
Архитектурно состоит из трех крупных блоков:
  • Клиент
  • Сервер Приложений
  • Система Управления Базами Данных
1. Клиент
Универсальный клиент PinapClient — это специально разработанный программный продукт, который позволяет конечному пользователю взаимодействовать с сервером приложений через пользовательский интерфейс. PinapClient запускается на разных операционных системах Windows (от Windows 7 и до Terminal Server), Linux, Mac OS X. Внешний вид пользовательских экранных форм создается при помощи специального дизайнера форм. Пользовательская клиентская логика кодируется с использованием JavaScript подобного языка. Клиент реализован на C++ с использованием кроссплатформенной открытой промышленной библиотеки Qt. Дизайн форм и скрипты пользовательской логики хранятся централизовано на стороне сервера приложений и доставляются в клиентскую часть по запросу аналогично тому, как это происходит в web-ориентированных продуктах. Такое решение уменьшает затраты на обновление клиентских приложений и кардинально упрощает эксплуатацию.

Кроме универсального клиента существует отдельные web-ориентированные прикладные решения на основе стандартных браузеров.
2. Сервер Приложений
Собственная разработка компании. Реализация на Java позволяет запускать сервер приложений на любой операционной системе. Сервер приложений представляет набор базовых технологий для разработки пользовательских решений. Пользовательские приложения реализуются в виде отдельных модулей (плагинов) к серверу приложений.
Архитектурные особенности сервера приложений в сочетании с универсальным клиентом позволяют следующее:
1.обновлять пользовательские приложения без остановки как сервера приложений, так и пользовательских рабочих мест
2.распределять нагрузку между серверами приложений
3.выстраивать цепочки обработок
4.быстро развертывать сервера приложений; не требуется отдельная процедура установки
5.выполнять упрощенное конфигурирование при помощи одного конфигурационного файла
6.изменять конфигурации на работающем сервере без остановки или перезапуска
В сервере приложений имеется собственная реализация объекто-ориентированной модели по работе с данными в БД. Технологически эта модель позволяет любую реляционную базу данных использовать как объектную. Эта модель позволяет следующее:
1.создать Централизованный реестр хранящихся объектов
2.использовать универсальные механизмы по обработке объектов — кеширование, импорт-экспорт
3.отслеживать связи между объектами
4.отслеживать версионность объектов и историю изменени
5.реализовывать распределение доступа к объектам
6.создать Хранилище неструктурированной информации
3. Система Управления Базами Данных
В качестве хранилища структурированной информации используется реляционно-объектная система управления базами данных PostgreSQL. PostgreSQL — СУБД с открытым исходным кодом предлагает множество современных функций:
  • сложные запросы
  • внешние ключи
  • триггеры
  • изменяемые представления
  • транзакционная целостность
  • многоверсионность
  • полнотекстовый поиск с учетом морфологии русского языка
  • поиск текстовых данных, введенных с ошибками или не полностью
  • гибкие настраиваемые механизмы индексации данных
  • возможность работать в кластере
  • практически неограниченный размер баз данных
  • поддержка российскими разработчиками, входящими в основное ядро разработчиков СУБД
В ParamitecPlatform реализована объектно-реляционная модель данных, которая обеспечивает масштабирование приложений без необходимости изменения архитектуры платформы.