Методология интеграции гетерогенных информационных систем по свойствам неорганических веществ (1090084), страница 39
Текст из файла (страница 39)
В рамках этого подхода разработаны две подсистемы,которые позволили реализовать ИС, нацеленную как на конечного пользователя, так ина взаимодействие другими программными средами.Реализация первой подсистемы в рамках комплексного подхода к созданиюинтегрированной ИС подразумевала применение подхода EAI для интеграции Webприложений разных ИС по свойствам неорганических веществ. Это позволилопредоставить конечному пользователю доступ ко всем информационным ресурсаминтегрируемыхИС,доступнымчерезИнтернет(расчетныеподсистемыифункционирующие Web-оболочки БД). То есть задача интеграции существующих Webприложений интегрируемых ИС заключалась в объединении уже функционирующихпользовательских интерфейсов с возможностью поиска релевантной информации винтегрированных ИС и обеспечении общего контекста безопасности при переходепользователей из Web-приложения одной ИС в Web-приложение другой ИС [170].Реализация второй подсистемы в рамках комплексного подхода к созданиюинтегрированной ИС подразумевала интеграцию источников информации ИС посвойствам неорганических веществ, что соответствует применению подхода EII.Объединение источников информации позволило получить унифицированный доступко всем данным, содержащимся в интегрируемых источниках информации.
Это даловозможность использовать информацию, содержащуюся в интегрированной ИС, всистемах поддержки принятия решений.Совместное применение подходов EAI и EII при создании интегрированной ИСпо свойствам неорганических веществ позволило не только повысить качествоинформационного обслуживания специалистов в области химии, но и даловозможностьиспользоватьинтегрированнуюинформациюпрограммамикомпьютерной обработки информации и системами поддержки принятия решений.2086.2. Реализация интеграции гетерогенных Web-приложенийинформационных системВглаве 3.5рассматриваласьвозможностьпостроенияИСнабазедоминирующих в настоящий момент технологических Web-платформ Windows Server+ IIS и Unix + Apache.
В результате оценки платформ согласно выбранным критериямбыло принято решение использовать технологические платформы компании Microsoft(Windows Server + IIS).6.2.1. Описание структуры метабазыВ настоящее время все современные ИС, так или иначе, имеют дело снакоплением и обработкой информации. Для хранения больших объемов данных иобеспечения быстрого доступа к ним широко используются базы данных. Припостроении интегрированной ИС, объединяющей Web-интерфейсы ИС по свойствамнеорганических веществ, необходимо обеспечить хранение информации о содержимоминтегрируемых ИС, т.е. метаданных.
Метаданные только некоторым образомописывают информацию, подлежащую консолидации [64]. Эти данные необходимыдля обеспечения поиска релевантной информации согласно методике, описанной вглаве 6.1. Для хранения данных (метаданных) было принято решение использоватьреляционную БД, именуемую в дальнейшем метабазой, т.к. она содержит справочнуюинформацию по содержимому интегрируемых ИС.
Для управления информационнойБД, лежащей в основе интегрированной ИС, было принято решение использоватьMicrosoft SQL Server 2008.Структура метабазы во многом определяет функциональные возможностиинтегрированной ИС, поэтому в настоящей главе повышенное внимание будет уделенорассмотрению структурных деталей БД, лежащей в основе ИС по объединению Webприложений интегрируемых ИС [170]. Для решения задачи объединения Webприложений ИС СНВМ предлагается следующая структура метабазы (рис. 6.2.1) [173].Рассмотрим кратко назначение таблиц метабазы для интеграции Web-ресурсовпо свойствам веществ, указывая, какую функциональность, опирающуюся на структуруэтих таблиц, будет реализовывать интегрированная ИС.209Рис. 6.2.1.
Структура метабазы информационной системы, интегрирующей Webприложения информационных систем по свойствам неорганических веществ.Таблица DBInfoЯвляется главной таблицей, в которой хранится список ИС по свойствамнеорганических веществ, которые подключены к интегрированной на уровне WebинтерфейсовИС.КаждойподключаемойИСприсваиваетсяуникальныйцелочисленный идентификатор DBID (тип int), который является первичным ключомтаблицыDBInfo.Такимобразом,каждаяинтегрируемаяИСоднозначноидентифицируется по полю DBID. Можно сказать, что таблица DBInfo задаетмножество D , описанное в главе 6.1. В данной таблице также содержится информация,кратко описывающая данные информационные ресурсы и необходимая для ихсопряжения с интегрированной ИС.Приведем назначение некоторых полей этой таблицы.
Поле Enabled (тип bit)указывает, активна ли интегрируемая ИС (1) или ее обслуживание временноприостановлено(0).Этотмеханизмможетиспользоватьсядлявременного210“отключения” интегрируемой ИС от общей интегрированной ИС, когда, например,возникают технические или политические вопросы, связанные с функционированиеминтегрируемой ИС. Необслуживаемая ИС не может обновлять информацию в метабазеи использовать все ее Web-сервисы (поиск релевантных систем и т.д.).Поля Login (тип varchar(16)) и Password (тип varchar(16)) содержат имя учетнойзаписи и пароль, которые должна использовать интегрируемая информационнаясистема при вызове Web-сервисов интегрированной ИС.
В поле DBURL (типvarchar(256))содержитсяURL-адресWeb-приложения,котороеобслуживаетинтегрируемый ресурс, например, “http://bg.imet-db.ru”. Поле DBGateURL (типvarchar(256)) содержит URL-адрес Web-страницы, играющей роль шлюза безопасностиинтегрируемой ИС, через который осуществляется авторизованный вход пользователейвданнуюИС,например,“http://bg.imet-db.ru/GateBG.asp?chk=#CHKSUM#&access=#ACCESS#”. Формат записи этого полябудет разобран позже, при кратком обсуждении механизмов системы безопасностиинтегрированной ИС.Поле WWWTemplatePage (тип varchar(256)) содержит шаблон адреса страницыдлядоступакинформацииинтегрируемогоресурса,например,“subst_res.asp?ids=#IDS#”. Формат записи поля будет разобран позже.
Следуетотметить, что это поле может быть пусто в зависимости от механизмов переадресации,реализованных на стороне шлюза безопасности интегрируемой ИС, задаваемого в полеDBGateURL.Таблица DBExcludeCompatibilityДанная таблица содержит информацию об интегрируемых ИС, которые надоисключать при поиске релевантной информации. Данный функционал необходим в томслучае, когда одинаковая информация содержится в двух и более информационныхисточниках.
Например, интегрированная ИС включает в качестве двух независимыхИС русскоязычную и англоязычную версию ИС “Кристалл”, доступных по разнымURL. Первичным ключом таблицы является связка полей DBID (тип int) и TargetDBID(тип int). Этот составной ключ идентифицирует переход из ИС с идентификаторомDBID в ИС с идентификатором TargetDBID. Чтобы пользователь, находящийся,например, в русскоязычном приложении ИС Кристалл не получал список релевантнойинформации в англоязычной версии в отношение задаваемое таблицей вводится кортеж(1,6), где 1 – это DBID, указывающий на русскоязычную ИС Кристалл, а 6 TargetDBID, указывающий на англоязычную.Таблица UsersInfo211В ней содержится информация о пользователях интегрируемых ИС и их правахдоступа. Первичным ключом таблицы является связка полей DBID (тип int) и UserID(тип int).
Этот составной ключ идентифицирует пользователя интегрируемой ИС.Важным является поле AccessMode (тип int), которое указывает, какие правадоступа по умолчанию предоставлены данному пользователю к информации,расположенной других в интегрируемых ИС. Определены следующие значения этогополя:0 – не предоставлять пользователю доступ к интегрированным ИС;1 – предоставлять пользователю доступ к интегрированным системам с наложениемограничений(осуществляетсяотображениеинформациитолькопотойсистеме/веществу, которая была запрошена при входе в ИС);2 – предоставлять пользователю полный доступ на просмотр информации,содержащейся в интегрированных ИС.В полях Login (тип varchar(16)) и PasswordMD5 (тип varchar(32)) содержатсяучетные данные пользователей интегрированной ИС.
Следует отметить, что полеPasswordMD5 содержит MD5-хэш пароля (а не открытый пароль) пользователяинтегрированной ИС, который нужен для его аутентификации. Это, с одной стороны,позволяет успешно выполнить аутентификацию пользователя, а с другой стороны,безопасность интегрируемых ИС не может быть скомпрометирована даже тогда, когдазлоумышленнику удастся получить MD5-хэши паролей пользователей ИС.Таблица UsersAccessНеобходима для переопределения прав доступа пользователя при обращении кконкретной интегрируемой ИС.
Таким образом, есть возможность гибкой настройкиправ доступа всех пользователей к конкретным ресурсам. С технической точки зрения,правапереопределяютсяидентификаторамидля[DBID,конкретногоUserID],припользователядоступекИС,определяемогоконкретномуресурсу,определяемому полем TargetDBID (тип int, это внешний ключ к полю DBInfo.DBID).Сами права задаются с помощью поля AccessMode, которое может принимать те жезначения, что и одноименное поле из таблицы UsersInfo (см. выше).Таблица PropertiesInfoВ ней содержится информация о физико-химических свойствах, данные окоторых хранятся в интегрируемых ИС.
Другими словами, эта таблица задаетмножество свойств P , описанное в главе 6.1. Первичным ключом таблицы являетсясвязка полей DBID (тип int) и PropID (тип int), указывающая на конкретное свойство,информация о котором содержится в интегрируемой ИС, т.е. PropID является212идентификатором свойства в соответствующей ИС. Поле Name (тип varchar(256))содержит наименование соответствующего физико-химического свойства, например,“Температура Кюри”. Поле WWWTemplatePage (тип varchar(256)) содержит шаблонадреса страницы для доступа к информации интегрируемого ресурса, например,“properties/sing_enter.asp?asp=tb_param_el.asp&prop=#NAME#&nom=#IDS#&property=#IDP#”.
Содержимое этого поля зависит от принципов работы шлюза безопасности настороне интегрируемой ИС и более подробно будет рассмотрено ниже.Таблица SystemInfoВ ней хранится информация о химических системах, сведения о которыхсодержатся в интегрируемых ИС. Иными словами, эта таблица задает множествохимических систем S , описанное в главе 6.1. Первичным ключом таблицы являетсясвязка полей DBID (тип int) и SystemID (тип int). В поле Elements (тип varchar(32))содержится список химических элементов, из которых состоит система, через тире.Притом данная строка должна начинаться и заканчиваться тире, например, “-Na-Co-GeO-”.
Поле ElemNumber (тип int) содержит количество химических элементов,образующих указанную систему. Для указанной выше химической системы это полебудет содержать значение 4. Поле SystemInfo (тип varchar(256)) содержит описаниехимической системы в произвольном текстовом или HTML-формате, например, этоможет быть “Na-Co-Ge-O” или “Na<sub>2</sub>CoGeO<sub>4</sub>”, в зависимостиот контекста, определяемого интегрируемой ИС. Поля этой таблицы заполняются Webсервисом обновления метабазы при взаимодействии с интегрируемыми ИС, чтогарантирует корректность и непротиворечивость данных в полях этой таблицы.Таблица DBContentВ ней содержится детальная информация о том, о каких именно свойствахсодержится информация в интегрированных ИС для каждой химической системы.