Перейти к содержанию

Сервис интеграций: различия между версиями

Материал из Химсофт Вики
Нет описания правки
 
(не показаны 24 промежуточные версии 2 участников)
Строка 1: Строка 1:
==Общие положения==
==Общие положения==
Микросервис «Интеграция» полноценный функциональный блок в составе ВЕБ ЛИМС для исполнения произвольного кода (последовательности действий) на языке JavaScript.


**Сервис интеграций** - компонент системы WEB ЛИС, исполняющий дополнительные программы (*аддоны*) 
Сервис предназначен для передачи данных от приборов аналитического контроля, программно-технических комплексов или баз данных АСУ ТП непосредственно в электронный лабораторный журнал ЛИМС или в любые другие подблоки информационной системы.
**Аддон** - дополнительная самостоятельная программа гибко настраиваемая под различные задачи.  


===Возможности сервиса и аддонов=== 
Модуль является неотъемлемой частью ВЕБ ЛИМС, загружается автоматически при старте, вместе с другими микросервисами и участвует в работе других справочников или журналов. Например, при работе маршрутов пробы через данный блок описываются условия перехода пробы между этапами.
Аддоны, выполняемые сервисом, имеют широкую область применения, т.к. могут использовать весь функционал, вызываемый через графический интерфейс WEB-ЛИС. 
Так же есть возможность взаимодействовать API внешних систем, например ФГИС.
> *Так же рассматривается создание модуля для работы с БД, для более гибкой настройки аддонов.*


На текущий момент программы могут быть двух видов:  
Микросервис обеспечивает интеграцию на основе контейнера приложения Node.js, позволяющего реализовывать все возможности открытого кода, используя множество NPM-пакетов в качестве расширения функций. Также, микросервис интеграций может взаимодействовать с внешними информационными системами, другого уровня управления, в том числе через HTTP REST API.
- Синхронные - результат выполнения требуется сразу после выполнения основного действия (например загрузка данных в справочник)  
 
- Асинхронные - результат выполнения может быть отложенным (долгие операции, например формирование большого документа)
Запуск js-скриптов производится в подготовленной и изолированной среде с минимальными правами доступа, что гарантирует безопасное исполнение кода и предоставляет возможность администраторам мониторить процессы исполнения отдельными подзадачами.
 
===Основные применения блока:===
* Оповещение о событиях в системе;
* Автоматизированный контроль за состоянием оборудования, стабильностью градуировочных характеристик, сообщения о приближении событий, связанных с обслуживанием оборудования;
* События об окончании срока годности реактивов, поверке, утилизации;
* Управляющие события (утверждение анализов, формирование итоговых сводок, вспомогательные работы);
* Автоматическое формирование отчетов, создание новых записей в блоках ЛИМС по расписанию;
* Списание арбитражных проб, движение пробы по этапам маршрута и т.п.
* Интеллектуальная обработки данных из текстовых файлов, .xml, .xlsx, OPC, SQL (БД сторонних разработчиков);
* Формирование итоговых XML-файлов, на основе данных из БД;
* Экспорт готовых отчетов в файлы .xlsx (CSV, DOCX и тп);
* Импорт данных из XLSX, XML, JSON и прочих файлов с известным форматом;
* Экспорт готовых отчетов в .pdf (в том числе от имени другого пользователя ОС с подписью);
* Запись данных в любые периферийные  устройства (USB, COM-порты);
* Подключение внешних БД и выполнение SQL-запросов или управляющих команд;
* Выгрузка специализированных файлов (с закрытым форматом хранения данных);
* Работа с каталогами и файлами, в том числе, с поддержкой авторизацией Active Directory, Samba, DFS;
* Публикация данных через брокер сообщений RabbitMQ;
* Вспомогательные функции, например, отправка электронных писем через протокол SMTP, логирование;
* работа с зашифрованным хранилищем данных, в том числе, взаимодействие с серверами секретов (Hashicorp Vault).
 
Комплект скриптов в составе веб-ЛИМС «Тритея» составляется по требованию Заказчика. Условия интеграции и работы описаны в договоре на адаптацию ЛИМС.
 
Важно: Для разработки скриптов микросервиса интеграции, необходимы утвержденные процедуры обмена данными (протокол взаимодействия) и адаптированная БД ЛИМС.
 
===Дополнительные возможности сервиса=== 
 
Разработчики включили в основную сборку несколько базовых модулей для удобной работы с ВЕБ ЛИМС:
 
*GUI. Модуль использования графического интерфейса ЛИМС (возможно привязать к практически к любым действиям в ЛИМС); 
*MESSAGE. Модуль для оповещения или опроса через простой диалог Пользователя;
*API. Взаимодействие шаблонами через <code>API</code> со внешними системами (например, <code>ФГИС Росаккредитации</code>);
*БД. Модуль для удобной работы с базами данных, позволяющий гибко использовать все функциональности SQL.
 
==Аддоны==
 
'''Аддон''' - дополнительная самостоятельная программа, настраиваемая под различные задачи Пользователя.
 
===Виды аддонов===
*''синхронные'' - результат выполнения требуется сразу после выполнения основного действия (например, загрузка данных в справочник);
*''асинхронные'' - результат выполнения может быть отложенным (долгие операции; например, формирование большого документа).


===Условие применения===   
===Условие применения===   
Аддоны возможно привязать к практически к любым действиям в ЛИС. Главное условие - должен отправляться HTTP запрос.
*''синхронные'' запросы - должны отправлять HTTP запрос и ожидают ответа(например, аддон возможно выполнить при переходе пробы на следующий этап, расчёте результата измерения и т.д.).
К примеру, аддон возможно выполнить при переходе пробы на следующий этап, расчёте результата измерения и т.д.
 
*''асинхронные'' - запросы выполняются параллельно, не останавливая основной цикл программы.
 
 
===[[Примеры аддонов]]===
 


==[[Аддоны]]==
==WEB-chemic API==
'''WEB-chemic API''' - является частью сервиса интеграций представляет собой классы и функции для удобного взаимодействия с ЛИМС. 
===Функционал===
*[[Контроллеры]];
*[[JournalRecordManager]] - управление записью ЛЖ;
*[[JournalResultManager]] - управление результатами анализа.


==[[WEB-chemic API]]==
===[[Контроллеры]]===
===[[JournalRecordManager]]===


===[[JournalResultManager]]===
==Советы по написанию скриптов==
*[[Общие рекомендации по написанию качественного JS-кода]]

Текущая версия от 04:44, 20 июля 2026

Общие положения

Микросервис «Интеграция» полноценный функциональный блок в составе ВЕБ ЛИМС для исполнения произвольного кода (последовательности действий) на языке JavaScript.

Сервис предназначен для передачи данных от приборов аналитического контроля, программно-технических комплексов или баз данных АСУ ТП непосредственно в электронный лабораторный журнал ЛИМС или в любые другие подблоки информационной системы.

Модуль является неотъемлемой частью ВЕБ ЛИМС, загружается автоматически при старте, вместе с другими микросервисами и участвует в работе других справочников или журналов. Например, при работе маршрутов пробы через данный блок описываются условия перехода пробы между этапами.

Микросервис обеспечивает интеграцию на основе контейнера приложения Node.js, позволяющего реализовывать все возможности открытого кода, используя множество NPM-пакетов в качестве расширения функций. Также, микросервис интеграций может взаимодействовать с внешними информационными системами, другого уровня управления, в том числе через HTTP REST API.

Запуск js-скриптов производится в подготовленной и изолированной среде с минимальными правами доступа, что гарантирует безопасное исполнение кода и предоставляет возможность администраторам мониторить процессы исполнения отдельными подзадачами.

Основные применения блока:

  • Оповещение о событиях в системе;
  • Автоматизированный контроль за состоянием оборудования, стабильностью градуировочных характеристик, сообщения о приближении событий, связанных с обслуживанием оборудования;
  • События об окончании срока годности реактивов, поверке, утилизации;
  • Управляющие события (утверждение анализов, формирование итоговых сводок, вспомогательные работы);
  • Автоматическое формирование отчетов, создание новых записей в блоках ЛИМС по расписанию;
  • Списание арбитражных проб, движение пробы по этапам маршрута и т.п.
  • Интеллектуальная обработки данных из текстовых файлов, .xml, .xlsx, OPC, SQL (БД сторонних разработчиков);
  • Формирование итоговых XML-файлов, на основе данных из БД;
  • Экспорт готовых отчетов в файлы .xlsx (CSV, DOCX и тп);
  • Импорт данных из XLSX, XML, JSON и прочих файлов с известным форматом;
  • Экспорт готовых отчетов в .pdf (в том числе от имени другого пользователя ОС с подписью);
  • Запись данных в любые периферийные устройства (USB, COM-порты);
  • Подключение внешних БД и выполнение SQL-запросов или управляющих команд;
  • Выгрузка специализированных файлов (с закрытым форматом хранения данных);
  • Работа с каталогами и файлами, в том числе, с поддержкой авторизацией Active Directory, Samba, DFS;
  • Публикация данных через брокер сообщений RabbitMQ;
  • Вспомогательные функции, например, отправка электронных писем через протокол SMTP, логирование;
  • работа с зашифрованным хранилищем данных, в том числе, взаимодействие с серверами секретов (Hashicorp Vault).

Комплект скриптов в составе веб-ЛИМС «Тритея» составляется по требованию Заказчика. Условия интеграции и работы описаны в договоре на адаптацию ЛИМС.

Важно: Для разработки скриптов микросервиса интеграции, необходимы утвержденные процедуры обмена данными (протокол взаимодействия) и адаптированная БД ЛИМС.


Дополнительные возможности сервиса

Разработчики включили в основную сборку несколько базовых модулей для удобной работы с ВЕБ ЛИМС:

  • GUI. Модуль использования графического интерфейса ЛИМС (возможно привязать к практически к любым действиям в ЛИМС);
  • MESSAGE. Модуль для оповещения или опроса через простой диалог Пользователя;
  • API. Взаимодействие шаблонами через API со внешними системами (например, ФГИС Росаккредитации);
  • БД. Модуль для удобной работы с базами данных, позволяющий гибко использовать все функциональности SQL.

Аддоны

Аддон - дополнительная самостоятельная программа, настраиваемая под различные задачи Пользователя.

Виды аддонов

  • синхронные - результат выполнения требуется сразу после выполнения основного действия (например, загрузка данных в справочник);
  • асинхронные - результат выполнения может быть отложенным (долгие операции; например, формирование большого документа).

Условие применения

  • синхронные запросы - должны отправлять HTTP запрос и ожидают ответа(например, аддон возможно выполнить при переходе пробы на следующий этап, расчёте результата измерения и т.д.).
  • асинхронные - запросы выполняются параллельно, не останавливая основной цикл программы.


WEB-chemic API

WEB-chemic API - является частью сервиса интеграций представляет собой классы и функции для удобного взаимодействия с ЛИМС.

Функционал


Советы по написанию скриптов