Конструктор концепций - представляет собой двухуровневый клиент-серверный, многопользовательский
программный комплекс, обеспечивающий управление структурированной базой данных, посредством
предопределенного программного интерфейса - API БД. Структурированная БД обеспечивает возможность конструирования древовидных иерархических структур - Концепций, создаваемых архитекторами (проектировщиками), систематизирующими данные произвольной предметной области в соответствии с принципами объектно-ориентированного подхода. Конструктор концепций обеспечивает среду для существования, модификации и взаимодействия с пользователями не ограниченному количеству Концепций на протяжении всего жизненного цикла. Предопределенная архитектура индексированного табличного пространства структурированной БД, совместно с API БД обеспечивает высокий уровень производительности для процессов доступа к данным Концепций.
В качестве СУБД используется PostgreSQL. Комплекс состоит из следующих архитектурных элементов:
1. Структурированная БД - база данных, созданная в СУБД PostgreSQL (не содержит начальных
данных);
2. Промежуточный API БД - пакет функций, сформированный преимущественно на языке PL/pgSQL,
обеспечивающий ведение структурированного каталога БД, сохранение целостности данных в
рамках принятой идеологии, с учетом действующих ограничений и правил конкретного
архитектурного решения, применяемого в отдельно взятой Концепции;
3. Библиотека доступа (Менеджер данных) - программная оболочка клиентского приложения
написанная на C# и обеспечивающая решение вопросов сетевого взаимодействия с сервером СУДБ.
Для построения менеджера данных использована библиотека NPGSQL. Менеджер данных
прозрачно обеспечивает полностью асинхронное взаимодействие с БД, посредством внутреннего
пула соединений, обеспечивающего сохранение контекста команд в асинхронном режиме;
4. Конструктор концепций - графический, пользовательский интерфейс, написанный на C# и
обеспечивающий возможности визуального конструирования для архитектора концепций в
соответствии с требованиями предметной области.
В основе движка обмена данными с БД, построенном с использованием библиотеки NPGSQL, лежит библиотека динамической загрузки API, обеспечивающая упрощенный потокобезопасный вызов функций сервера:
https://github.com/firstDismay/pgDynProc которой я готов поделится на условиях MIT лицензии.