Продолжаем разбирать МИС «Ариадна» с точки зрения системного администратора. В этот раз заглянем в описание интерфейсов системы — то, что разработчики называют «ИФБО» (интерфейсы функциональных блоков). Это документ, который показывает, как система взаимодействует с внешним миром: базой данных, операционной системой, офисным пакетом, веб-сервисами.
Для админа и инженера интеграции понимание этих интерфейсов критически важно. Здесь мы видим не только технические детали, но и потенциальные узкие места.
1. ИФБО.1 – Интерфейс взаимодействия с базой данных
Суть: все приложения «Ариадны» (и СИ-, и JAVA-АРМы) подключаются к PostgreSQL напрямую, используя протокол PostgreSQL и JDBC.
Параметры:
String url– строка подключения (адрес сервера, порт, имя БД)String user– имя пользователя БД (обычноSOLUTION_MED)String password– парольString sql– SQL-запрос
Особенности для админа:
- Никакого промежуточного сервера приложений — каждый клиент держит своё соединение с БД. Это создаёт повышенную нагрузку на сервер PostgreSQL. Нужно следить за количеством подключений (
max_connections) и настраивать пулер соединений, если используется терминальный доступ. - Все запросы идут через JDBC (для Java-АРМов) или через ODBC (для СИ-АРМов под Wine). В документации упоминается, что взаимодействие может идти как через именованный источник данных (DSN), так и напрямую по строке.
- Ошибки подключения (timeout, refused connection) напрямую влияют на работу всех пользователей. Рекомендуется иметь мониторинг доступности БД и порта 5432.
2. ИФБО.2 – Графический интерфейс МИС
Суть: стандартный диалог входа в систему с полями логина и пароля. При вводе вызывается хранимая процедура в БД, которая проверяет пароль, права доступа и разрешение на работу с конкретным модулем.
Параметры:
String login– имя пользователя МИСString passHash– хэш пароля (или пароль, зависит от версии)
Для админа:
- Аутентификация может быть настроена либо на уровне СУБД (пользователи PostgreSQL), либо через LDAP. В документации упоминается «вызов хранимой процедуры», то есть фактически логин и пароль проверяются средствами БД.
- Если используется LDAP, необходимо правильно настроить связку PostgreSQL с LDAP-сервером (pg_hba.conf, ldap сервер).
- Права доступа к модулям и данным также хранятся в БД. Смена прав происходит мгновенно, без перезапуска.
3. ИФБО.3 – Интерфейс работы с конфигурационными файлами
Суть: при старте приложения (скорее всего, речь о Java-АРМах) может читаться конфигурационный файл в формате XML или YAML, содержащий имя пользователя и пароль БД. Это позволяет не вводить их каждый раз, а использовать единую настройку для всех пользователей рабочей станции.
Параметры:
String filename– путь к конфигурационному файлу
Важно:
- Хранение пароля в открытом виде в файле — потенциальная уязвимость. На практике такие файлы обычно кладут в защищённый каталог с ограниченным доступом (например, только для root и пользователей МИС). При массовом развёртывании Linux-клиентов через монтирование сетевой папки нужно контролировать права на этот файл.
- В Linux окружении путь к конфигу может быть внутри
~/.wine/drive_c/ARIADNA/APP/...или в отдельной папке.
4. Интерфейс взаимодействия с LibreOffice
Это один из самых интересных и сложных интерфейсов. «Ариадна» использует LibreOffice для формирования печатных форм (отчёты, протоколы, направления) на основе шаблонов.
Параметры:
ooExecPath– путь к исполняемому файлу LibreOfficetemplatePath– путь к файлу шаблона (ODT, ODS)cellName– координаты ячейки (в таблице)cellValue– значение для вставкиmacroName– имя макроса (для запуска после заполнения)showStatus– режим (печать сразу или предпросмотр)
Действия:
- Запускается LibreOffice в фоновом режиме.
- Открывается шаблон.
- SQL-запросами из БД извлекаются данные и координаты ячеек.
- Данные записываются в соответствующие ячейки.
- Запускается макрос (если указан).
- В зависимости от
showStatusдокумент либо открывается для просмотра, либо сразу отправляется на печать.
Особенности реализации под Wine:
В документации указано, что для работы LibreOffice из СИ-АРМов (которые работают под Wine) используется специальная обёртка:
- Нужно выгрузить во временную папку 12 файлов из Windows-версии LibreOffice.
- Написать собственную DLL-обёртку.
- Через неё уже взаимодействовать с установленным в Linux LibreOffice.
Что это значит для админа:
- На Linux-клиентах должна быть установлена версия LibreOffice, совместимая с Wine. Рекомендуется использовать ту версию, с которой проводилось тестирование (обычно 5.x или 6.x).
- Путь к исполняемому файлу (
ooExecPath) должен быть правильно прописан в настройках АРМа (часто через реестр Wine или конфигурационный файл). - Шаблоны отчётов лежат в сетевой папке
ARIADNA/Templatesили локально. Нужно обеспечить доступ на чтение. - При массовой печати (например, формирование реестров) может создаваться высокая нагрузка на процессор и память, т.к. каждый вызов LibreOffice порождает новый процесс.
- Если печать не работает, первое, что проверить: установлен ли LibreOffice, есть ли доступ к шаблонам, не блокирует ли антивирус запуск
soffice.bin.
5. Интерфейс взаимодействия с реестром
Суть: хранение пользовательских настроек интерфейса (размеры окон, положение, настройки колонок в таблицах) в системном реестре (для Windows) или в эмуляции реестра Wine.
Параметры:
- Путь, имя переменной, тип переменной
Действия:
При закрытии окна координаты записываются в реестр, при следующем открытии — считываются и применяются.
Для админа:
- Под Wine реестр хранится в файлах
~/.wine/system.reg,user.reg. Если пользователь жалуется, что «окна каждый раз разъезжаются» — возможно, права на эти файлы нарушены или реестр повреждён. - При переносе профиля пользователя между рабочими станциями можно скопировать
user.reg, чтобы сохранить настройки интерфейса.
6. Графический web-интерфейс (сервлеты)
Суть: в состав МИС входят сервлеты (Java-приложения, работающие на сервере приложений, например Tomcat). Они предоставляют веб-страницу, где отображается версия сервлета и ссылки для скачивания клиентских приложений (например, обновлений Java-АРМов).
Параметры:
String url– адрес сервлета
Действия:
При GET-запросе по базовому пути сервлета формируется HTML-страница и возвращается клиенту.
Для админа:
- Обычно эти сервлеты используются для автоматического обновления Java-АРМов. Если вы не используете такую схему (обновляете через сетевую папку и скрипты), то сервлеты могут вообще не запускаться.
- Если они всё же используются, нужно настроить Tomcat (или другой контейнер), открыть порт (обычно 8080) и прописать правильные URL в настройках клиентов.
- Ошибки 404/500 могут возникать при неправильной настройке контекста или недоступности сервера.
7. Что в итоге?
Интерфейсы «Ариадны» — это смесь классических подходов (прямое подключение к БД, реестр) и специфических решений (LibreOffice под Wine). Для администратора ключевые моменты:
- Стабильность БД критична, так как все клиенты работают напрямую.
- LibreOffice требует особого внимания: версии, пути, права на шаблоны, настройка Wine для его запуска.
- Конфигурационные файлы с паролями — источник потенциальных уязвимостей, контролируйте права доступа.
- Веб-интерфейс сервлетов может использоваться для обновлений, но если он не нужен — его лучше отключить, чтобы не открывать лишние порты.
Если вы сопровождаете «Ариадну» и сталкивались с нестандартными проблемами при настройке печати или интеграции — делитесь опытом в комментариях или в нашем хранилище файлов. Вместе разберёмся!
Материал подготовлен на основе документа «Описание интерфейсов МИС «Ариадна» (ИФБО)»


