Интеграция автономных источников данных для прогнозирования свойств неорганических веществ (1090500), страница 9
Текст из файла (страница 9)
В рамках этих подходов предполагается оценка стоимостиприобретения,администрирования,установки,перемещенияимодернизации, технической поддержки и сопровождения, вынужденныхпростоев и других скрытых затрат. В этот показатель включается какстоимость лицензий на используемое программное обеспечение, так изатраты на его дальнейшую поддержку и сопровождение.СогласнорезультатамразвертыванииприложенийисследованиянаплатформахССОприMicrosoftразработкеииJ2EE/Linux,проведенного компанией Forrester Research [64], включая трехгодичную52 поддержку и сопровождение, ССО для Microsoft Windows примерно на 30%меньше, чем ССО J2EE/Linux.Таким образом, с учетом всех рассмотренных критериев в качествесреды реализации предпочтительным является выбор платформы Microsoft.Нами выбраны продукты Windows Server 2008 и SQL Server 2008.3.2.
Состав и схема метабазы, соедржащей описания источников данныхОсновной задачей интегрированной ИС является построение ответа назапрос внешнего приложения. Выполнение этой задачи требует разрешенияразличных конфликтов гетерогенности [65]. Рассмотрим следующие видыконфликтов:• системные – интегрируемые ИС используют несовместимые аппаратныеплатформы и программное обеспечение;• синтаксические – интегрируемые ИС используют разные модели данных;• семантические – разные источники данных для обозначения одной и тойже сущности могут использовать различные значения.
Так, в разныхисточниках данных значения температуры могут быть указаны сиспользованием различных шкал.Метабаза представляет собой БД, содержащую описания источниковданных. Это реляционная база данных, однако она должна обеспечиватьхранение и обработку XML-документов, поэтому для реализации метабазывыбрана СУБД Microsoft SQL Server 2008.
В табл. 3.2 представлено описаниеосновных таблиц, входящих в метабазу, и приведены примеры хранящихся вних XML-документов.В метабазу входят таблицы, описывающие источники информации,пользователей интегрированной ИС и таблицы, предназначенные дляразрешения семантических конфликтов. Так, таблица Meta_ModificationRegistryобеспечиваетхранениеспискасинонимовназванийкристаллической модефикации.Взаимосвязи реляционных таблиц показаны на рис.3.1.53 Таблица 3.2.
Описание таблиц, входящих в метабазуТаблицаСодержаниеПоляПример XML документаMeta_DBInfoИнтегрируемыеИСИдентификатор иназвание ИС,адрес, учетныеданные для входаMeta_PropertyInfoСвойства, данныео которыххранятся в ИСИдентификаторИС,идентификаторсвойства, названиесвойства и егосинонимыMeta_SubstanceInfoСоставыхимическихвеществИдентификаторвещества,названия иколичестваэлементов<?xml version “1.0”encoding “windows-1251” ?>-<ChemSubstComp><ItemEl=”Th” value=”3” /><ItemEl=”P” value=”4” /></ChemSubstComp>Meta_ModificationRegistryОбозначениякристаллическихмодификацийИдентификатормодификации,названиякристаллическихмодификаций и ихсинонимы<?xml version “1.0”encoding “windows-1251” ?>-<SynList><Syn>Ромбоэдрическая</Syn><Syn>РЭ</Syn><Syn>Rhombohedral</Syn></SynList>Meta_UserInfoПользователиИдентификаторпользователя,учетные данные,права доступа54 Рис .3.1.
Схема метабазы3.3. Назначение, описание и примеры адаптеров извлечения ипреобразования данныхДля разрешения синтаксических и системных конфликтов для каждогоавтономногоисточникапреобразованияданных.данныхЭтиразработанпрограммыадаптеробеспечиваютизвлеченияисогласованиеформатов данных программы-посредника и интегрируемого источникаданных. Для осуществления кроссплатформенного взаимодействия былопринято решение использовать технологию Web-сервисов с использованиемпротокола SOAP (Simple Object Access Protocol).
Этот протокол используетсядля обмена произвольными сообщениями в формате XML и являетсярасширением протокола XML-RPC [66]. Существенно, что все Web-сервисыдолжны иметь одинаковое, стандартизированное в рамках общей схемыописание, что позволяет обеспечить унифицированное взаимодействие спрограммами-адаптерами со стороны программы-посредника.Учитывая общую схему предметной области, было разработано общееописание Web-сервисов программных адаптеров на языке WSDL (Web55 Services Description Language). WSDL – это XML-ориентированный язык,предназначенный для определения web-сервисов и доступа к ним [67].Программы-адаптеры используются для безопасного извлечения данных изинтегрируемогоинформационногоисточникасогласнопереданнымпараметрам запроса.
Адаптер осуществляет передачу запрашиваемых данныхтолько в том случае, если учетная запись, предъявленная при его вызове,является учетной записью пользователя соответствующего информационногоресурса.Программавключаетвсебятрикоманды:Get_AllList,Get_PropertiesList и Get_PropertiesValues.Команда Get_AllList предназначена для поиска данных о химическойсущности из автономного источника данных. Предусмотрен механизмфильтрацииданныхпохимическомувеществуикристаллическоймодификации.
Критерий фильтрации задается в качестве входного аргументаи является XML-документом оговоренного формата. Пример такого XMLдокумента приведен на рис. 3.2. В документе описано химическое вещество сглобальным идентификатором(SystemID=1, SubstanceID=86, ModificationID=0)и две его модификации с идентификаторами(SystemID=1, SubstanceID=86, ModificationID=5) и(SystemID=1, SubstanceID=86, ModificationID=7) соответственно.Рис. 3.2. Пример XML-документа, описывающего содержимоеинформационного источника.Команда Get_PropertiesList предназначена для поиска набора свойств,данные о которых хранятся в интегрируемом источнике.
Пример XMLдокумента, возвращающего предметному посреднику отфильтрованныйсписок свойств, рассмотренных в информационном ресурсе, приведен на56 рис. 3.3. Как видно из рисунка, в документе описан набор свойств сглобальными идентификаторами PropertyID, полученными от предметногопосредника.Рис. 3.3. Пример XML-документа, описывающего свойства, освещенные винформационном источнике.Команда Get_PropertiesValues предназначена для запроса значенийсвойств, данные о которых хранятся в интегрируемом источнике свозможностьюфильтрации.ПримерXML-документа,возвращающегопредметному посреднику отфильтрованный список значений свойств винформационном ресурсе, приведен на рис. 3.4.
Как видно из рисунка, вдокументе описаны значения акустооптических свойств (PropertyID=27) изБД “Кристалл” (DBPropID=”crystal.*”) для химического вещества GaAs(SystemID=1, SubstanceID=86, ModificationID=0).Рис. 3.4. Пример XML-документа, описывающего значения свойства винформационном источнике.57 Следует отметить, что в разных информационных источниках свойствамогут быть заданы по-разному и, следовательно, структура XML-узлаPropertyXML не является жестко фиксированной.3.4. Разрабьотка программы-посредникаПредметный посредник является точкой входа в интегрированную ИСи реализует ответы на запросы с использованием информации, размещеннойв интегрированных источниках, доступ к которым он осуществляет черезпрограммные адаптеры.
Посредник реализован в виде Web-сервиса сиспользованием протокола SOAP. При получении запроса посредникопрашиваетвсеинформационныеанализируетихответыиисточникисоздаетинтегрируемыхXML-документ,ИС,содержащийрезультирующий ответ предметного посредника на запрос пользователя. Дляуспешноговызоваметоданеобходимопередатьучетныеданныепользователя интегрированной ИС и XML-документ с описанием параметровзапроса.РеализацияпредметногопосредникавкачествеWeb-сервиса,оперирующего XML-документами, позволяет успешно осуществлять доступк нему с любой современной программной платформы, на которой возникнетнеобходимость в использовании данных из интегрированной ИС.Общее описание Web-сервиса предметного посредника разработано наязыке WSDL.
Используя это описание, можно автоматически создать вомногих современных программных средах прокси-классы для осуществлениядоступакпредметномупосредникуи,темсамым,использоватьинтегрированную ИС по свойствам неорганических веществ.Рассмотрим кратко назначение основных методов Web-сервисапредметного посредника интегрируемой ИС.МетодProcessCommandиспользуетсядляразрешениясинтаксических, структурных и семантических конфликтов.
Этот методможет быть вызван только с использованием учетных данных (поля Login иPassword), определенных в таблице Meta_DBInfo. Таким образом, правом58 вызова этого метода обладают только интегрируемые ИС. В качествевходного аргумента в этот метод передается XML-документ, содержащийописание сущностей, глобальные идентификаторы которых необходимополучить программному адаптеру интегрируемого источника, чтобы вдальнейшем осуществлять взаимодействие с предметным посредником.Пример XML-документа показан на рис. 3.5.Рис. 3.5. Пример XML-документа, подаваемого на вход предметногопосредника для получения глобальных идентификаторов сущностей.Врезультатеобработкипроисходитопределениеглобальныхидентификаторов соответствующих сущностей на основе записей в таблицахметабазы и соответствующих им статусов. После этого данная информациязаписывается в узлы XML-документа, соответствующие сущностям, а самXML-документ возвращается в качестве ответа Web-сервиса.