Методология интеграции гетерогенных информационных систем по свойствам неорганических веществ (1090084), страница 40
Текст из файла (страница 40)
Приэтом известным становится только сам факт наличия такой информации, а неконкретные значения физико-химических свойств. Первичным ключом таблицыявляется набор полей DBID (тип int), SystemID (тип int) и PropID (тип int).Следовательно, наличие конкретной записи, определяемой первичным ключом (DBID,SystemID, PropID), означает, что в интегрируемой ИС DBID для химической системыSystemID содержится информация о свойстве PropID.
То есть кортеж данной таблицысоответствует тройке ( d , s, p ) в терминах раздела 2.5.Таблица CompatibilityClassesКак было указано в начале главы, при определении понятия релевантностиневозможно задать универсальные правила, так как само понятие релевантности сильно213зависит от используемого контекста. Поэтому в реализацию интегрированной ИСзаложено понятие классов релевантности, которые и описываются в таблицеCompatibilityClasses.
Таким образом, в этой таблице содержится информация о классахрелевантности химических систем, определенных в метабазе. При этом можнодобавлять новые классы релевантности, определяя правила для их автоматическогопостроения, или осуществлять их построение вручную. Первичным ключом таблицыявляется поле CompatibilityClass (тип int), являющееся идентификатором классарелевантности. Поле AutoFillTable_Systems2ConsiderInCompatibility_Flag (тип int)содержит признак необходимости добавления новых записей химических систем втаблицу Systems2ConsiderInCompatibility для данного класса релевантности (0 – недобавлять;1 – добавлять).ЕслиSystems2ConsiderInCompatibility=1,топридобавлении/обновлении информации о химической системе в таблице SystemInfoсоответствующая запись для данного класса релевантности автоматически добавляетсяв таблицу Systems2ConsiderInCompatibility (с помощью триггера, определенного натаблице SystemInfo).Таблица CompatibilityВ ней содержится список релевантных химических систем по каждому классурелевантности.
Первичным ключом таблицы являются поля DBID (тип int), SystemID(тип int), RelatedDBID (тип int), RelatedSystemID (тип int) и CompatibilityClass (тип int).Других полей в таблице нет, таким образом, все поля таблицы входят в первичныйключ. Каждая строка таблицы интерпретируется следующим образом: для химическойсистемы[DBID,SystemID],релевантнойсогласноклассурелевантностиCompatibilityClass, является химическая система [RelatedDBID, RelatedSystemID].Таким образом, эта таблица является главной при ответе на вопрос, какие химическиесистемы в интегрируемых ИС являются релевантными заданной [DBID, SystemID]согласно классу релевантности CompatibilityClass. В терминах раздела 2.5 эта таблицазадает отношения релевантности R для разных классов релевантности.Таблица Systems2ConsiderInCompatibilityЯвляется служебной и заполняется автоматически с помощью триггера придобавлении или изменении записей в таблице SystemInfo данными по добавленным илиизмененным химическим системам для тех классов релевантности, для которых полеAutoFillTable_Systems2ConsiderInCompatibility_Flag из таблицы CompatibilityClassesравно 1.
Это необходимо для того, чтобы подпрограммы при добавлении илиизменениисистемосуществлялиинкрементальноеперестроениеклассоврелевантности, рассматривая только обновленные данные по системам, а не214перестраивали весь класс релевантности полностью, так как эта операция можетзанимать продолжительное время. Таким образом, данная таблица необходима дляоптимизациифункционированиясервисовдинамическойперестройкиклассоврелевантности и, тем самым, снижения нагрузки на сервер.
Первичным ключомтаблицы являются поля DBID (тип int), SystemID (тип int) и CompatibilityClass (тип int),указывающие сервисам перестроения классов релевантности о необходимостирассмотрения обновленной химической системы (DBID, SystemID) при достраиваниикласса релевантности CompatibilityClass. Стоит также отметить, что при удалениизаписи из таблицы SystemInfo данные о соответствующей химической системеавтоматически удаляются из таблиц Compatibility и Systems2ConsiderInCompatibility.Таблица Meta_SystemsДанная таблица содержит список всех химических систем, доступный дляединой точки входа в ИС СНВМ. Первичным ключом таблицы является поле Elements(тип varchar(32)), содержащее список химических элементов, из которых состоитсистема, через тире.
Данная строка должна начинаться и заканчиваться тире, например,“-Na-Co-Ge-O-”. Поле ElemNumber (тип int) содержит количество химическихэлементов, образующих указанную систему (для быстрого поиска). Поле IsInHierarchy(тип bit) – является булевым признаком, указывающим на учет текущей системы вотношении, задаваемом таблицейТаблица Meta_DBSystemsСодержит список химических систем, доступный в каждой ИС СНВМ.Таблица Meta_SystemsHierarchyЗадает иерархию химических систем, определяемых на множетсве всеххимических систем, доступных для единой точки входа в ИС СНВМ (из Meta_Systems).Таблица VersionsЭта таблица не отображена на рис.
6.1.3, т.к. не имеет непосредственногоотношения к функционированию метабазы по интеграции Web-приложений ИС. Онаиспользуется для централизованного обновления версий программного обеспечения,затрагивающего структуру метабазы. В ней содержится информация о текущей версииструктуры метабазы (в настоящее время это версия 9). Содержимое этой таблицыизменяется только специальным программным обеспечением, обновляющим структуруметабазы и программные модули, взаимодействующие с ней.Таким образом, рассмотренные таблицы по их назначению можно условноотнести к нескольким группам:DBInfo – корневая таблица, содержащая информацию об интегрируемых ИС;215DBExcludeCompatibility - таблица о парах ИС (задающих переходы между ИС),которые надо исключать при поиске релевантной информации.UsersInfo, UsersAccess – таблицы, содержащие информацию о пользователяхинтегрированных ИС и их правах доступа к другим интегрированным ресурсам;SystemInfo, PropertiesInfo, DBContent – таблицы, в которых описываетсясодержимое интегрируемых ресурсов (какая информация по химическим системами их свойствам содержится в интегрируемых ИС);CompatibilityClasses, Compatibility, Systems2ConsiderInCompatibility – таблицы,содержащие информацию о доступных в метабазе классах релевантности иопределяющие релевантные химические системы.
Эти таблицы также отвечают заоптимизацию автоматического построения классов релевантности;Meta_DBSystems, Meta_Systems, Meta_SystemsHierarchy – нормализованныепредставления химических систем для быстрого поиска из ИС единой точкидоступа;Versions – служебная таблица для организации системы версий ПО.6.2.2. Загрузка информации в метабазуВ метабазе хранятся справочные данные о содержимом интегрируемых ИС, таккак разные классы релевантности строятся путем заполнения таблицы Compatibilityисходя именно из этой информации согласно правилам, описанным в главе 6.1.Учитывая многообразие современных программно-аппартных платформ и трудности,возникающие при их сопряжении, выше отмечалось, что для обеспечения возможностимежплатформенного взаимодействия должны использоваться открытые стандартысетевого взаимодействия, поддерживаемые на множестве платформ.
В настоящее времятаким связующим звеном между различными платформами являются Web-сервисы,которые основаны на общепринятых стандартах, таких как SOAP (Simple Object AccessProtocol) и XML (eXtensible Markup Language). На сегодняшний день эти технологииспособны обеспечить надежную инфраструктуру для кроссплатформенного обменасообщениями.Таким образом, загрузка справочной информации в метабазу была реализованачерез Web-сервис обновления метабазы (рис. 6.2.2). Разработка велась в среде MicrosoftVisual Studio 2003. Рассмотрим кратко механизм обновления метаданных (полностьюданный механизм описан в [170]).
Интегрируемая ИС формирует XML-документ,содержащий информацию об обновлениях данных в интегрируемой ИС. Формат этогоXML-документа един для всех интегрируемых подсистем и жестко фиксирован с216помощью специально разработанной XML-schema [166, 174]. Таким образом,интегрируемыеподсистемыдляоповещенияметабазыобинформационныхизменениях, произошедших в их состоянии, должны сформировать корректный XMLдокумент и направить его для обработки Web-сервису обновления метабазы.Взаимодействие с этим Web-сервисом осуществляется по протоколу SOAP over HTTPсогласно WSDL-описанию сервиса [175]. Так в метабазе появляется актуальнаяинформация о содержимом интегрируемых информационных ресурсов.Рис.
6.2.2. Загрузка справочной информации в метабазу через Web-сервис.Для обеспечения безопасной передачи справочных данных Web-сервисуобновления метабазы реализован механизм симметричного шифрования по стандартуDES (Data Encryption Standard) [176]. Дополнительно реализована возможностьупаковки данных, отправляемых на сервер, для чего используется модификация zipсжатия.
Это позволяет существенно снизить объем данных, передаваемых по сети(учитывая высокую степень сжатия XML-документов), и, следовательно, понизитьтребования к сетям передачи данных. Такое решение является особенно актуальным вРоссии, так как высокоскоростной доступ к сети Интернет налажен далеко неповсеместно, а механизмы упаковки сокращают объем данных настолько, чтостановится возможным применение обычного модема для передачи данных.Для упрощения взаимодействия с Web-сервисом обновления метабазы былсоздан Web-клиент для данного сервиса. Этот программный модуль реализован в видеуправляемого класса, находящегося внутри .Net сборки, функциональность котороготакже доступна через COM-interop.
Таким образом, данный объект и доступен излюбых сред, поддерживающих COM и .Net. Созданный клиент решает задачи,связанные с упаковкой и шифрованием информации, предназначенной для Webсервиса обновления метабазы, а также управляет всеми аспектами сетевоговзаимодействия, что облегчает подсоединение очередной ИС к интегрированной ИС.217После каждого сеанса обновления метабазы запускается обновление илиреиндексация списка релевантных систем с учетом внесенных изменений.
Этопозволяетподдерживатьактуальнуюинформациюорелевантныхсистемах,содержащихся в интегрируемых ресурсах. Реиндексация разных классов релевантныхсистем осуществляется по предложенным в данной работе правилам поискарелевантных систем, изложенным в главе 6.1. В случае необходимости, эти правиламожно изменить без кардинальной перестройки идеологии всей системы – достаточнолишь заменить программный модуль поиска релевантных систем на новый. Одним изпреимуществ разработанной системы является расширяемость набора классоврелевантности, что позволяет при необходимости динамически добавлять необходимыеклассы релевантности.6.2.3. Поиск релевантной информации по содержимому метабазыПри интеграции Web-приложений ИС по свойствам веществ необходим поискрелевантной информации.