Публикация научных статей.
Вход на сайт
E-mail:
Пароль:
Запомнить
Регистрация/
Забыли пароль?

Научные направления

Поделиться:
Разделы: Информационные технологии, Медицина
Размещена 07.06.2014. Последняя правка: 06.08.2014.
Просмотров - 2851

Модуль маршрутизации сообщений для медицинской информационной системы

Ильиных Полина Сергеевна

Магистрант

НГТУ, Энвижн груп

стажер технического отдела

Вихман Виктория Викторовна к.т.н., к.п.н кафедра ВТ НГТУ, Копысов Павел Евгеньевич инженер-конструктор Nvision Group


Аннотация:
В данной статье описывается разработка модуля маршрутизации в медицинской информационной системе.


Abstract:
This article describes the development of the routing information in the medical system.


Ключевые слова:
маршрутизация; SOAP; WSDL

Keywords:
routing; SOAP; WSDL


УДК 004.5

 В соответствии с концепцией создания Единой государственной информационной системы в сфере здравоохранения каждый регион имеет свою медицинскую информационную систему, между которыми  идет сбор и обмен информацией. Поэтому стоит задача разработки модуля приема и маршрутизации сообщений от различных медицинских информационных систем.

Чтобы появилась возможность обмена данными с другими информационными системами, разрабатывается формат обмена данными, в виде xml-шаблонов. Передача данных происходит следующим образом:

  1. Формируется xml-файл с нужными файлами.
  2. Он передается во внешнюю систему
  3. В случае получения данных, происходит разбор файла и загрузкой данных в хранилище.

Вся эта передача  xml-файлов происходит с помощью протокола SOAP.

   Так как веб-сервисы-это технология. Следовательно они применяются в определённой среде. Веб-сервисы являются надстрой поверх  протокола HTTP.Выделяется два типа приложений, такие как:

  1. Вычислительные узлы, реализующие простые функции
  2. Прикладные веб-ресурсы, они чаще всего зависят от услуг приложений первого типа.

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

Веб сервисы-это реализация интерфейов обмена информацией между различными приложениями. И при этом, эти приложения могут быть реализованы на разных языках или находится на разных узлах сети. Тем самым появилась технология SOA — сервис-ориентированной архитектуры веб-приложений.

Существует несколько протоколов реализации веб сревисов, например:

  • SOAP (Simple Object Access Protocol) —это тройка стандартов SOAP/WSDL/UDDI
  • REST (Representational State Transfer)
  • XML-RPC (XML Remote Procedure Call)

Технология Web-сервисов использует следующие стандраты:
XML (расширяемый язык разметки) — язык разметки, осуществляет структурирования информации.

 JSON — формат обмена данными, основанный на JavaScript и обычно используемый именно с этим языком.[4] Данный формат очень легко воспринимается человеком. Также он может использоваться с любым языком программирования. Он более лаконичен, чем XML. JSON целесообразен в задач обмена данными между браузером и сервером. Но так же он используется и при обмене данными между серверами.

SOAP — стандарт и протокол на основе XML/HTTP, предназначенный для обеспечения независимого от платформы доступа к сервисам, объектам и серверам.[2]. Данный протокол определяет разрешенные типы данных.к обмену информацией в Web-сервисах. И предлагает механизм для построения теоритических типов данных на их основе.

WSDL— язык описания программных интерфейсов, служит для описания Web-сервисов и определяет способ доступа к ним.[3]

Используя спецификацию WSDL,  приложение  "объясняется" на системно-независимом языке. Системную независимость получаем 
используя XML для создания WSDL-определений и SOAP, позволяющий нашему приложению общаться с клиентским.

 Независимость приложений исходит из использование формата XML при создании WSDL-определений, а также спецификация SOAP позволяет взаимодействовать нашему и пользовательскому приложениям. Мы предоставляем входные данные, а протокол SOAP решает задачу, как предоставить  их приложению для обработки и вернуть обратно результаты.

Создание  файла WSDL

 Проектирования файла WSDL трехуровневое. В первом  уровне содержится элемент, поддерживающий версию языка  XML и элемент верхневого уровня. Второй уровень содержит элемент, который содержит определение сервиса. Definitions (определения) - это элемент, в котором  определяется  сервис и поддерживаемые типы данных.

Types (Типы). Здесь определяются все типы данных, а чаще всего сложные типы.  Которые потом используются в фале WSDL.

Message Name (имя сообщения). Здесь определяются сообщения, котрые сможет обработать программа. А также преобразуются внешние имена в их внутренние.

 

 

 

 

Port Type (тип порта) – это некоторая точка входа, содержащая поддерживаемые операции и сообщения.

 

 

 

 

 

Binding Name (привязка имени). Здесь происходит прикрепление элемента к механизму передачи данных..

 

 

 

 

 

 

 

 

 

Service Name (имя сервиса) – Здесь определяется имя сервиса и его адрес.

service name="EMKService">

 

 

На третьем уровне происходит детализация элементов уровня 2. При этом каждому элементу из уровня два соответствует некоторый элемент из уровня 3. Здесь мы указываем, что при передачи данных для элемента Binding Name Уровня 2 является протокол HTTP

Итак, файл WSDL содержит все всю необходимую информацию о Web-сервисе. Такую как:  какие  сообщения могут быть обработаны  , какие механизмы используется для передачи сообщений и по какому адресу можно найти этот сервис.

Как же узнать какие сообщения Web-сервис может разпозновать? Для это находится сообщение getPacientInfo. Здесь входными данными является код пациента и ключ.

 

 

 

 

Следоватлеьно узнать полученную ифномрацию и в каком она формает, можно из сообщения «pacientInfoResponse»:

 

 

 

В ответном сообщении информация о пациенте будет представлена в виде строковой переменной.

Разработка документа обмена сообщениями

 SOAP, применяют для обмена сообщениями. Данный протокол реализуется на языке  XML. С помощью SOAP возможно показывать URL-ссылки и параметры. Они представлены в виде системно-зависимых переменных.

Заголовок  сообщения SOAP   похож на заголовок HTTP-сообщения post, реализованого в формате XML. При предоставлении параметров запроса, ответы содержать результат работоспособности сервиса.

После заголовка, далее содержатся следующие сведения:

  1. Версия конверта SOAP
  2. Тип кодирования
  3. Тело сообщения

Мы сделали запрос, подав на вход строковую величину " getPacinetInfo "(Информация о пациенте).

 

 

 

Обработав запрос, сервер посылает ответ .

<output>

 

 

В конструктор класса SoapClient предается URL WSDL-документа. Затем получаем объект для работы с веб-сервисом. Далее вызывается метод этого объекта. В итоге получаем нужный нам ответ.

class SoapClass

}

public function getPacientInfo($pacietnID, $userKey){

$client=new SoapClient($_SERVER["DOCUMENT_ROOT"]."/emk/service.wsdl");

return $client->getPacientInfo( $pacietnID, $userKey );

}

Результат работы модуля  можно увидеть здесь http://fr37030.tw1.ru./client.php, он представлен в виде строки JSON.

Строка  JSON представляет собой массив данных с набором пар ключ/значение.

Данные представлены в кодировке UTF-8.

{ "status":"ok"

  "request":{"PACIENT_ID":1212112  (уникальный ключ пациента)

  "FIRST_NAME":"\u041f\u043e\u043b\u0438\u043d\u0430"( Имя: Полина)

  "LAST_NAME":"\u0418\u043b\u044c\u0438\u043d\u044b\u0445" (Фамилия: Ильиных)

  "ADDRESS":\u0433.\u041d\u043e\u0432\u043e\u0441\u0438\u0431\u0438\u0440\u0441\u043a, \u0443\u043b.\u041b\u0435\u043d\u0438\u043d\u0430 55, \u043a\u0432.16   (Адрес: г. Новосибирск,    ул. Ленина 55, кв. 16)

"PHONES":["89528406455"]} (Номер телефона)

}

В итоге, проанализирована и разработана структура и создан модуль маршрутизации сообщений.

Библиографический список:

1. Habrahabr:Веб-сервисы в теории и на практике: 2008.Электронный ресурс. Режим доступа: http://habrahabr.ru/post/46374/
2. SOAP: Электронный ресурс. Режим доступа: http://www.compress.ru/article.aspx?id=9428&part=Insert_011ext1
3. WSDL:Электронный ресурс. Режим доступа: http://msdn.microsoft.com/ru-ru/library/vstudio/7h3ystb6(v=vs.100).aspx
4. JSON: Электронный ресурс. Режим доступа:http://www.json.org/
5. Дмитрий Стогов: Практическое использование SOAP. Электронный ресурс. Режим доступа:http://www.realcoding.net/article/view/1886#part_7




Рецензии:

9.06.2014, 23:59 Каменев Александр Юрьевич
Рецензия: Вклад автора в разработку модуля маршрутизации сообщений непонятен. Недостаточно ссылок на внешние источники информации, в первой части статьи он вообще отсутствуют. В статье отсутствуют графические пояснения, математический аппарат, структурные схемы, что усложняет её восприятие и снижает наукообразность. Статья требует серьезной доработки. В действующей редакции к публикации не рекомендовать.

10.06.2014 8:08 Ответ на рецензию автора Ильиных Полина Сергеевна:
Замечания по поводу графических пояснений будет исправлено. А вклад автора в разработку модуля маршрутизации заключен в том, что автор и сделал этот модуль. В рамках работы были еще сделаны два модуля МИС для проверки модуля маршрутизации, но в статье представлен только один модуль выполняющие передачу сообщений.

19.06.2014, 8:30 Назарова Ольга Петровна
Рецензия: Добавьте графику, после чего можно рекомендовать!

7.07.2014, 17:29 Каменев Александр Юрьевич
Рецензия: В дополнение к замечаниям предыдущих рецензентов: разделить статью на структурные разделы (введение, основной материал, выводы); вывод сформулировать чётко, с указанием вклада автора. После этого можно рекомендовать к печати.

16.07.2014, 16:57 Остапенко Ольга Валериевна
Рецензия: Статья интересная, но как морфолог рецензию дать не могу.



Комментарии пользователей:

Оставить комментарий


 
 

Вверх