Top.Mail.Ru
МИС «Ариадна»: интерфейсы, интеграции и подводные камни — ADMINMED.ru

МИС «Ариадна»: интерфейсы, интеграции и подводные камни

Продолжаем разбирать МИС «Ариадна» с точки зрения системного администратора. В этот раз заглянем в описание интерфейсов системы — то, что разработчики называют «ИФБО» (интерфейсы функциональных блоков). Это документ, который показывает, как система взаимодействует с внешним миром: базой данных, операционной системой, офисным пакетом, веб-сервисами.

Для админа и инженера интеграции понимание этих интерфейсов критически важно. Здесь мы видим не только технические детали, но и потенциальные узкие места.


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 – путь к исполняемому файлу LibreOffice
  • templatePath – путь к файлу шаблона (ODT, ODS)
  • cellName – координаты ячейки (в таблице)
  • cellValue – значение для вставки
  • macroName – имя макроса (для запуска после заполнения)
  • showStatus – режим (печать сразу или предпросмотр)

Действия:

  1. Запускается LibreOffice в фоновом режиме.
  2. Открывается шаблон.
  3. SQL-запросами из БД извлекаются данные и координаты ячеек.
  4. Данные записываются в соответствующие ячейки.
  5. Запускается макрос (если указан).
  6. В зависимости от 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 для его запуска.
  • Конфигурационные файлы с паролями — источник потенциальных уязвимостей, контролируйте права доступа.
  • Веб-интерфейс сервлетов может использоваться для обновлений, но если он не нужен — его лучше отключить, чтобы не открывать лишние порты.

Если вы сопровождаете «Ариадну» и сталкивались с нестандартными проблемами при настройке печати или интеграции — делитесь опытом в комментариях или в нашем хранилище файлов. Вместе разберёмся!


Материал подготовлен на основе документа «Описание интерфейсов МИС «Ариадна» (ИФБО)»

Добавить комментарий

© 2026 ADMINMED.ru

Login





Loading...

Top.Mail.Ru
👁 0
  Яндекс.Метрика