Notice: Undefined variable: shm_str in /var/www/u3757017/data/www/business-semantic.ru/index.php on line 57

Warning: mysql_connect(): Headers and client library minor version mismatch. Headers:50564 Library:50645 in /var/www/u3757017/data/www/business-semantic.ru/core/mysql.ext on line 36

Notice: Undefined index: constants in /var/www/u3757017/data/www/business-semantic.ru/core/constants.ext on line 3

Notice: Undefined index: setlang in /var/www/u3757017/data/www/business-semantic.ru/index.php on line 122

Notice: Undefined index: setlang_data in /var/www/u3757017/data/www/business-semantic.ru/index.php on line 129

Notice: Undefined index: lang in /var/www/u3757017/data/www/business-semantic.ru/index.php on line 136

Notice: Undefined index: lang_data in /var/www/u3757017/data/www/business-semantic.ru/index.php on line 144

Notice: Undefined index: 3_1_1 in /var/www/u3757017/data/www/business-semantic.ru/interfaces/classes/Security.class on line 29

Notice: Undefined index: container in /var/www/u3757017/data/www/business-semantic.ru/index.php on line 167

Notice: Undefined index: fragments in /var/www/u3757017/data/www/business-semantic.ru/index.php on line 168

Notice: Undefined index: subsites in /var/www/u3757017/data/www/business-semantic.ru/core/page.ext on line 63

Notice: Undefined index: www.business-semantic.ru in /var/www/u3757017/data/www/business-semantic.ru/core/page.ext on line 64

Notice: Undefined index: path in /var/www/u3757017/data/www/business-semantic.ru/core/util.ext on line 57

Notice: Undefined index: /tech/whybetter in /var/www/u3757017/data/www/business-semantic.ru/core/util.ext on line 58

Notice: Undefined index: 1_11_1 in /var/www/u3757017/data/www/business-semantic.ru/core/page.ext on line 215

Notice: Undefined index: allparents_1_203 in /var/www/u3757017/data/www/business-semantic.ru/core/page.ext on line 104

Notice: Undefined index: templates in /var/www/u3757017/data/www/business-semantic.ru/core/page.ext on line 116

Notice: Undefined offset: 11 in /var/www/u3757017/data/www/business-semantic.ru/core/page.ext on line 117

Notice: Undefined property: page::$namecontent in /var/www/u3757017/data/www/business-semantic.ru/core/page.ext on line 205

Notice: Undefined property: page::$description in /var/www/u3757017/data/www/business-semantic.ru/core/page.ext on line 206

Notice: Undefined property: page::$keywords in /var/www/u3757017/data/www/business-semantic.ru/core/page.ext on line 207

Notice: Undefined property: page::$script_include in /var/www/u3757017/data/www/business-semantic.ru/core/page.ext on line 236

Notice: Undefined variable: s in /var/www/u3757017/data/www/business-semantic.ru/core/serialize.ext on line 43

Notice: Undefined variable: s in /var/www/u3757017/data/www/business-semantic.ru/core/serialize.ext on line 47

Notice: Undefined index: modules in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 29

Notice: Undefined index: s_top_menu in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 30

Notice: Undefined index: modules_extensions in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 43

Notice: Undefined offset: 160 in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 44

Notice: Undefined index: 2__1 in /var/www/u3757017/data/www/business-semantic.ru/core/module.ext on line 74

Notice: Undefined index: 2_160_1 in /var/www/u3757017/data/www/business-semantic.ru/core/module.ext on line 88

Notice: Undefined property: LangContainer::$pagename in /var/www/u3757017/data/www/business-semantic.ru/core/module.ext on line 102

Notice: Undefined index: getxml in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 75

Notice: Undefined variable: result in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 270

Notice: Undefined index: s_menu in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 30

Notice: Undefined offset: 161 in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 44

Notice: Undefined index: www.business-semantic.ru/tech in /var/www/u3757017/data/www/business-semantic.ru/core/util.ext on line 58

Notice: Undefined index: www.business-semantic.ru/tech/whybetter in /var/www/u3757017/data/www/business-semantic.ru/core/util.ext on line 58

Notice: Undefined index: url in /var/www/u3757017/data/www/business-semantic.ru/core/page.ext on line 277

Notice: Undefined index: 2_161_1 in /var/www/u3757017/data/www/business-semantic.ru/core/module.ext on line 88

Notice: Undefined property: LangContainer::$pagename in /var/www/u3757017/data/www/business-semantic.ru/core/module.ext on line 102

Notice: Undefined index: getxml in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 75

Notice: Undefined variable: result in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 270

Notice: Undefined index: s_top_menu_divs in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 30

Notice: Undefined offset: 166 in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 44

Notice: Undefined index: 2_166_1 in /var/www/u3757017/data/www/business-semantic.ru/core/module.ext on line 88

Notice: Undefined property: LangContainer::$pagename in /var/www/u3757017/data/www/business-semantic.ru/core/module.ext on line 102

Notice: Undefined index: getxml in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 75

Notice: Undefined variable: result in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 270

Notice: Undefined variable: result in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 270

Notice: Undefined variable: result in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 270

Notice: Undefined variable: result in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 270

Notice: Undefined variable: result in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 270

Notice: Undefined variable: result in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 270

Notice: Undefined variable: result in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 270

Notice: Undefined index: fragments in /var/www/u3757017/data/www/business-semantic.ru/index.php on line 182
Чем семантические технологии интеграции лучше выгрузки в XML и других проверенных практик?
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. Легко формировать обобщенные аналитические срезы данных, формирующиеся на основании объединения информации из нескольких систем.

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