Архитектура ЛИМС "ЭМСИЛАБ"

    ЛИМС «ЭМСИЛАБ» построена на базе многоуровневой схеме прикладных программ баз данных.

    Используется сервер баз данных MicrosoftSQL 2000/2005, работающий под управлением операционной системы MicrosoftWindows 2003. База содержит данные о системе, сохраненные процедуры, триггеры и SQL-запросы, которые непосредственно обеспечивают доступ к этим данным и их целостность.

    DTC-сервис руководит SQL-транзакциями и обеспечивает на СОМ+ сервере выполнение СОМ+ модулей системы.

    Архитектура «ЭМСИЛАБ» представлена такими СОМ+ модулями:
    • Прикладной сервис выполняет аутентификацию пользователя, обеспечивает сессию и авторизацию для доступа к ресурсам системы, и вызывает диспетчер SQL-запросов
    • Диспетчер SQL-запросов дает доступ к запросам, хранимым в базе данных, вызывает SQL-сервер для их выполнения, после чего передает результаты в виде ADORecordset вызывающему модулю Использование СОМ+ позволяет избежать блокировки транзакций со стороны сервера баз данных. Обеспечиваемый уровень доступности – до 99,995%.

    • Сокет-сервер «ЭМСИЛАБ» реализован в виде Windows-сервиса. Он осуществляет поддержку соединения с клиентом в среде TCP/IP, и так обеспечивает получение запросов и передачу информации между клиентской частью и прикладным сервисом «ЭМСИЛАБ». Помимо этого, сокет-сервер способен десериализовать или сериализовать данные в XML-формате или ADTGи зашифровать\расшифровать трафик согласно SSL-протоколу. Также можно мониторить трафик клиентских соединений и вести протокол запросов.

      Web-сервис COM+ реализован в системе как WebXML-сервис ASP.NET. Его используют для интеграции с «1С:Предприятие» и другими внешними системами, поскольку он обеспечивает:
    • получение запросов и передачу информации между прикладным сервисом «ЭМСИЛАБ» и http-клиентом
    • десериализацию/сериализацию данных в XML-формат
    • поддержку сессии клиента на web-сервере

    Рабочее место сотрудника лаборатории – это клиентский модуль «ЭМСИЛАБ» и модуль обновления версий. Клиентский модуль дает пользователю возможность выполнять всех операции введения данных в систему, проверять их на допустимость и непротиворечивость, передавать их на сервер и получать информацию с сервера данных в виде, удобном для просмотра и анализа.

    Подсистема соединения поддерживает соединение с сервером «ЭМСИЛАБ», поддерживает шифрование и дешифрование трафика, принудительноу управление SQL-транзакциями клиента и сериализацию и десериализацию данных.

    Мобильное устройство требует для работы операционную систему WindowsMobile 5.0 и выше. В системе установлена MicrosoftSQL 2005 Mobile, а также локальная база данных. Благодаря этому удаленные пользователи в случае отсутствия с основным сервером данных продолжать работать автономно в системе. Синхронизация основной БД и данных выполняется по запросу пользователя.

    Программа для мобильного устройства представляет собой модуль-загрузчик и набор модулей, обновление которых может происходить отдельно. Связь с web-сервисом «ЭМСИЛАБ» происходит по протоколу HTTPчерез GPRS или Wi-Fiсоединение.
    Если установлено соединение между компьютером и лабораторным оборудованием, и последнее поддерживает обмен данными с помощью СОМ-порта, то на подключенный компьютр можно установить специальный монитор лабораторных устройств и соответствующие драйвера. Драйвера в данном случае выступают СОМ-объекты, которые связываются с оборудованием с помощью интерфейса RS-232 и превращают полученные данные в общий для всех устройств формат, чтобы потом передать их монитору системы. Монитор лабораторных устройств работает как клиент «ЭМСИЛАБ» и передает данные серверу «ЭМСИЛАБ» с помощью сервера подключений.

    Сервер данных DICOM(PACS) хранит базу данных DICOM(исключая изображения) и содержит работающий сервер MicrosoftSQL Прикладной сервис DICOM работает как Windows-сервис, делающий запросы к БД DICOMи предоставляющий доступ к изображениям, хранящимся на том же компьютере или на сетевом ресурсе. Клиент «ЭМСИЛАБ» взаимодействует с DICOM-сервером («ЭМСИЛАБ» или другим).

    Бизнес-логика системы была построена исходя из стремления минимизировать трафик между клиентскими модулями и сервером подключений (или web-сервером). Основная часть ее реализована как сохраненные процедуры, триггеры и SQL-запросы, выполняющиеся на SQL-сервере.

    Подсистема защиты «ЭМСИЛАБ» способна выполнять такие функции:

  • авторизация пользователей с помощью хеширования пароля или клиентских сертификатов (метод Challenge-Response)
  • криптографическая защита трафика между клиентской частью программы и сокет-сервером «ЭМСИЛАБ»
  • хранение данных о клиентах в базе данных в зашифрованном виде
  • авторизованный запуск администратором защиты прикладного сервиса «ЭМСИЛАБ»
  • управление клиентскими сертификатами и генерация RSA-ключей
  • ведение защищенного журнала операций, выполненных пользователем
  • разграничение полномочий пользователей, а также авторизация их доступа к функциям системы согласно ранее оговоренным полномочиям

Подсистема использует средства защиты AladdineTokenPro, AlladinHASPHLи стандартные средства ОС MicrosoftWindows. Она представляет собой набор экранный форм и функций, использующихся одинаково как на серверной, так и на клиентской частях «ЭМСИЛАБ».

Архитектура ЛИМС «ЭМСИЛАБ» также выставляет определенные технические требования к оборудованию, на котором должна работать система в предприятии.