Перейти к содержимому
Вход

Архитектура PromERP

Слои системы, изоляция модулей и баз данных, устройство модуля и границы ответственности.

1. Общая многоуровневая архитектура (Layered Architecture)

Взаимодействие клиентов, AI-агентов, контроллеров HMVC, сервисов и изолированных баз данных PostgreSQL.

graph TD subgraph Clients [Клиентский уровень] Browser["💻 Web Browser (Tailwind UI / Alpine.js)"] Mobile["📱 Mobile PWA / Tablets"] AIAgents["🤖 AI Agents (Model Context Protocol)"] end subgraph Entry [Точка входа & Безопасность] Nginx["🛡️ Nginx Web Server / SSL"] Bootstrap["⚡ PHP 8.4 Bootstrap & Router"] ACL["🔐 RBAC / ACL Authorization Guard"] end subgraph HMVC [Модульное ядро PromERP HMVC] subgraph CoreModules [Системные модули] Auth["Пользователи & Auth"] MDM["MDM Нормативно-справочная инфо"] Docs["Интерактивная документация"] end subgraph BusinessModules [Бизнес-домены] Sales["Заказы & Продажи"] Purchasing["Закупки & Снабжение"] Mfg["Производство & Техкарты"] Warehouse["Складской учет (WMS)"] Fin["Финансы & Казначейство"] HR["Кадры & Табель"] end end subgraph DataLayer [Уровень хранения данных PostgreSQL] DB_Core[("🗄️ PostgreSQL (promerp_core)")] DB_MDM[("🗄️ PostgreSQL (promerp_mdm)")] end Browser --> Nginx Mobile --> Nginx AIAgents --> Nginx Nginx --> Bootstrap Bootstrap --> ACL ACL --> CoreModules ACL --> BusinessModules CoreModules --> DB_Core CoreModules --> DB_MDM BusinessModules --> DB_Core BusinessModules --> DB_MDM

2. Разделение баз данных и пулов подключений

PromERP использует независимые конфигурационные группы подключения к БД (default, mdm). Это гарантирует строгую изоляцию нормативно-справочной информации от операционных транзакций.

graph TD App["PromERP Backend"] subgraph ConfigGroups [Конфигурация Database] DefaultGroup["Group: default"] MdmGroup["Group: mdm"] end subgraph PGInstances [PostgreSQL Базы данных] DBCore[("promerp_core
(Заказы, Склад, Кадры, Производство)")] DBMDM[("promerp_mdm
(ЕИ, Контрагенты, Номенклатура, Справочники)")] end App --> DefaultGroup --> DBCore App --> MdmGroup --> DBMDM

3. Принципы HMVC изоляции модулей

Каждый модуль PromERP расположен в отдельной директории application/modules/[module_name] и содержит:

init.php — регистрация маршрутов модуля и первичная инициализация.
classes/ — Контроллеры, Сервисы и Модели данных с каскадным автозагрузчиком Kohana.
migrations_pg/ — изолированные SQL-миграции модуля с отслеживанием версий.
mcp.php — декларация AI-инструментов Model Context Protocol.

4. Стандарты безопасности и автономности (100% Offline-First)

Система спроектирована для работы в изолированных промышленных контурах предприятий (ЗПО/АСУ ТП без доступа в открытый Интернет):

Полная автономность

Все фронтенд-библиотеки (Mermaid, Alpine, FontAwesome, Tailwind) хранятся локально в public_html/assets/ без внешних CDN-запросов.

Строгий RBAC/ACL

Двухуровневая авторизация: проверка ролей на уровне контроллеров и гранулярная валидация прав на уровне доменных сервисов.

AI & MCP Ready

Поддержка протокола Model Context Protocol позволяет подключать локальные и облачные LLM для автоматизации рутинных операций.