English version
+7(343) звоните:2 110 256

Чем семантические технологии интеграции лучше выгрузки в XML и других проверенных практик?

Стандартные способы интеграции информационных систем

Известные технологические подходы к интеграции информационных систем в основном сводятся к следующим способам:

  1. "Точка-точка". Может быть реализована разными техническими средствами, но суть метода сводится к прямой передаче информации из одной системы в другую. Например, организация периодической выгрузки данных из одной ИС в какой-либо файл, и загрузка этого файла в другие ИС. Операции загрузки и выгрузки выполняются специально написанными программными модулями, или специализированными приложениями для обмена данными. Другой вариант - организация прямого доступа базы данных одной ИС к базе других ИС, копирование данных на уровне базы данных. В этом случае преобразование структуры переносимых данных осуществляется программными процедурами, созданными при помощи инструментальных средств самой базы данных.
  2. SOA, или сервисно-ориентированная архитектура. При таком варианте интеграции каждая информационная система предлагает другим определенный набор сервисов, связанных со спецификой хранящихся в ней данных. Каждый сервис позволяет выполнить какую-то определенную операцию: например, узнать реквизиты клиента, добавить контактную персону, и т.д.

Недостатки существующих технологий обмена данными

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

  1. Все они зависят от структуры, в которой данные представлены в одной из ИС. Например, если в какой-либо ИС сведения о медицинских диагнозах хранятся в виде таблицы, имеющей определенный набор столбцов, то она будет выгружать их в файл, структура которого повторяет структуру этой таблицы (или, по крайней мере, зависит от нее). Если в другой ИС сведения о диагнозах хранятся в другой форме, их придется преобразовывать при импорте; для этого создается программный код, который выполняет преобразование. Если же в одной из ИС структура данных изменится (например, будет удалено какое-либо поле, свойство диагноза), то процедура обмена перестанет работать, и в нее придется вносить изменения программисту. В течение какого-то периода времени интеграция не будет работать, потребуются затраты рабочего времени разработчика. Этот недостаток свойственен и веб-сервисам, т.к. их набор параметров зависит от структуры информации в той ИС, со стороны которой реализован веб-сервис.
  2. Если две ИС хранят одну и ту же информацию, и пользователь имеет возможность изменять эту информацию в обеих системах – может возникнуть конфликт, или ошибочная ситуация, связанная с невозможностью определить, в какой системе конкретная единица информации более актуальна. Например, клиент забронировал отель через Интернет-сервис; сведения о бронировании были переданы в информационную систему отеля. Затем клиент позвонил в отель и попросил изменить дату заезда; дата была изменена в системе отеля, но осталась неизменной в системе Интернет-бронирования. Если затем клиент войдет в систему Интернет-бронирования и попытается изменить дату в ней, с большой вероятностью возникнет ошибочная ситуация, т.к. система Интернет-бронирования попытается передать сведения об изменении ИС отеля, а та, в свою очередь, будет считать имеющиеся у нее (уже измененные пользователем) сведения более актуальными. На практике такие проблемы решаются (если решаются вообще) написанием большого объема программного кода, призванного разрешать конфликты в каждом подобном случае (чаще всего – путем ручного разрешения конфликта пользователем). При этом код, предназначенный для решения конфликта, также зависит от структуры информации, с которой он работает, что приводит к актуализации недостатка, описанного выше в п. 1.
  3. Если две ИС хранят сведения об одном и том же объекте (например, физическом лице), при их интеграции необходимо создавать процедуру установления соответствия между записями в обеих ИС. В любой ИС каждой записи присвоен определенный уникальный код. Например, в системе А объект, характеризуемый признаками «ФИО = Иванов Иван Иванович, дата рождения = 01.01.1980» имеет код 28, а в системе B он имеет код 95. Когда при интеграции двух систем будет установлено соответствие между этими объектами (путем сравнения ФИО и даты рождения), система B должна будет сохранить в какой-либо ячейке код этого объекта в системе А, и/или система А должна будет сохранить в себе код этого объекта в системе B. В случае объединения двух систем это не является проблемой. При интеграции трех и более систем возникает необходимость хранить в каждой системе коды объектов во всех остальных системах, что приводит к существенному усложнению программы, повышению риска возникновения конфликтных ситуаций, описанных в пункте 2, и возрастанию вероятности ошибок при передаче данных. Кроме того, в некоторых системах объекты могут вообще не иметь уникальных кодов, что приводит к еще большим трудностям. Например, в некой системе D хранятся сведения о лицах, посетивших какой-либо образовательный семинар; список лиц хранится в свойствах конкретного семинара. При этом лица не хранятся в отдельном справочнике, а значит – не имеют кодов, либо одно и то же лицо может иметь разные коды в контексте разных семинаров.
  4. Периодичность. Как правило, обмен информацией происходит не в режиме реального времени, а с какой-либо периодичностью. То есть, одна ИС накапливает список изменений, а затем передает его в виде пакета другой ИС. Это приводит к риску возникновения ситуаций, описанных выше в п. 2, и несет риск того, что пользователь будет работать с устаревшими данными.

Преимущества семантических технологий для обмена данными

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

Некоторые реализации семантических технологий не реализуют в полной мере предоставляемых ими преимуществ и возможностей; мы, в продукте "Бизнес Семантика", постарались максимально раскрыть их потенциал. Наш продукт обеспечивает связь между информационными системами в онлайн-режиме, передача информации происходит в соответствии с правилами доступа, определенными администратором. Сервер обеспечивает отказоустойчивость передачи, управляет присвоением идентификаторов передаваемым информационным элементам. В результате, наш продукт имеет следующие основные преимущества по сравнению с "традиционными" способами интеграции:

  1. Легко построить обмен между несколькими (более чем двумя) информационными системами.
  2. Обмен не нарушается при изменении структуры информации в одной из систем.
  3. Программисты со стороны каждой информационной системы настраивают обмен, не заботясь о том, в какой структуре и в каком формате представлены данные в других системах.
  4. Становится возможным объединение информационных систем, где информация об одних и тех же объектах представлена в виде принципиально разных структур, без необходимости написания громоздкого программного кода.
  5. Легко формировать обобщенные аналитические срезы данных, формирующиеся на основании объединения информации из нескольких систем.

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