Научная статья на тему 'Интеграция разнородных источников данных посредством xml Web-сервисов при организации управления транспортным процессом'

Интеграция разнородных источников данных посредством xml Web-сервисов при организации управления транспортным процессом Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
296
118
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВЕБ-СЕРВИС / ИНТЕГРАЦИЯ ДАННЫХ / РАСПРЕДЕЛЕННЫЕ ПРИЛОЖЕНИЯ / XML / WEB SERVICES / DATA INTEGRATION / DISTRIBUTED APPLICATIONS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Сапунов Николай Олегович

Одной из старейших задач в области разработки информационных систем, несомненно, можно назвать интеграцию разнородных гетерогенных данных. Допустим, есть несколько гетерогенных источников данных, которые связаны на логическом уровне, и имеется задача обеспечить возможность унифицированного доступа к этим данным, как будто бы они имеют единое логическое представление. В статье предлагается новый метод интеграции разнородных гетерогенных источников данных посредством XML Web-сервисов, основанный на операциях над деревьями и

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Сапунов Николай Олегович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

XSLT преобразованиях.One of the oldest problems in the field of information systems development can certainly be called the integration of diverse heterogeneous data. Assume there are several heterogeneous data sources, which are related to the logical level, and there is a problem allow unifi ed access to these data as if they have a single logical view. The paper proposes a new method of integrating heterogeneous data source via XML Web-services based on operations over the trees and XSLT transformations.

Текст научной работы на тему «Интеграция разнородных источников данных посредством xml Web-сервисов при организации управления транспортным процессом»

¡Выпуск 4

Mc = 0. В результате получим:

м=г1а1+...++¿пфп .

¿вс(р)=м(р)/щ(р)=г1+...+

+гп_1(оп_1/щ+£„(оп/(о1.

Откуда искомая передаточная функция будет иметь вид:

»'(р)=т<(руа>, (^.[(¿Л -(¿«1,]. (8)

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

Полученные выражения (6)-(8) позволяют без дополнительных исследований и преобразований сразу же записать формулы для передаточных функций конкретной механической системы привода.

Таким образом, применение метода электрической аналогии позволило получить в самом общем виде формулы (1), (2) упрощения исходной расчетной схемы многомассовой механической системы электропривода и формулы (3)-(8) ее математического описания, удобные для моделирования и исследования динамики этой системы в операторной и в классической формах записи.

Список литературы

1. Демирчян К. С. Теоретические основы электротехники: учебник для вузов / К. С. Демирчян, Л. Р. Нейман, Н. В. Коровкин, В. Л. Чечурин. 4-е изд., Т. 1. — СПб.: Питер, 2006. — 463 с.

2. Михайлов О. П. Автоматизированный электропривод станков и промышленных роботов: учебник для вузов / О. П. Михайлов. — М.: Машиностроение, 1990. — 304 с.

УДК 004.04 Н. О. Сапунов,

СПГУВК

ИНТЕГРАЦИЯ РАЗНОРОДНЫХ ИСТОЧНИКОВ ДАННЫХ ПОСРЕДСТВОМ XML WEB-СЕРВИСОВ при организации управления ТРАНСПОРТНЫМ ПРОЦЕССОМ

INTEGRATING HETEROGENEUS DATA SOURCE THROUGHT XML WEB-SERVICES FOR MANAGEMENT OF TRANSPORT PROCESS

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

В статье предлагается новый метод интеграции разнородных гетерогенных источников данных посредством XML Web-сервисов, основанный на операциях над деревьями и XSLT преобразованиях.

One of the oldest problems in the field of information systems development can certainly be called the integration of diverse heterogeneous data. Assume there are several heterogeneous data sources, which are related to the logical level, and there is a problem allow unified access to these data as if they have a single logical view.

The paper proposes a new method of integrating heterogeneous data source via XML Web-services based on operations over the trees and XSLT transformations.

Ключевые слова: веб-сервис, интеграция данных, xml, распределенные приложения.

Key words: web services, data integration, xml, distributed applications.

ОДНОЙ из старейших задач в области разработки информационных

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

Интеграцию веб-сервисов можно разделить на два этапа — подготовительный и рабочий. Прежде чем адресовать запросы интеграционной системе, необходимо выполнить ряд подготовительных действий, таких как создание глобальной схемы интегрируемых данных в терминах XML. Во время подготовительных действий происходит работа с метаданными, а не с данными. Глобальная схема данных может быть произвольной, и отображение локальных источников на нее является нетривиальным: документы могут подвергаться сложным трансформациям, на их основе могут строиться новые документы, которые затем вновь подвергаются трансформациям, и т. д. В общем смысле эта задача может быть переформулирована следующим образом: пусть имеются некоторые данные, соответствующие схеме A. Как преобразовать эти данные, чтобы они соответствовали схеме B?

Алгоритм

1. Подготовительный этап

a. Построение словаря предметной

области.

b. Выставление каждому термину предметной области уникального веса.

2. Рабочий этап

a. Построение дерева по XML-схеме.

b. Преобразование исходного дерева к бинарному виду.

c. Приведение дерева к канонической форме (используя веса, определенные в 1.b).

d. Определение класса эквивалентности.

e. Заключение о пригодности.

f. Построение выражений для преобразования данных.

1.а. Построение словаря предметной области

Словарь предметной области составляется автоматически при анализе ответа от эталонного веб-сервиса. В него должны входить все термины, которые могут встретиться в XML-документах, предоставляемых вебсервисами.

1.b. Выставление каждому термину уникального веса

На основе составленного словаря строится дерево (узлами являются термины). Каждому термину присваивается вес (чем ближе узел к корню дерева, тем меньше вес). Все веса уникальны, т. е. никакие два узла не могут иметь одинаковый вес.

2.а. Построение дерева по XML-схеме Определение 1

Формально XML схему можно описать следующим образом:

XSD:^<P,L,A,Q>,

P = { p„ } — множество элементов любой природы;

L = { l.} — семейство упорядоченных пар элементов из P;

A = { ak } — множество атрибутов элементов,

Q = { qm } — семейство упорядоченных пар элементов из P и A;

N — количество элементов;

J — количество связей между элементами;

K — количество атрибутов;

M — количество атрибутов.

Определение 2

Формально граф можно описать следующим образом:

G::=<V,E>,

где:

V = { v } — множество элементов любой природы,

E = { e.} — семейство пар элементов из V. .

Выпуск 4

¡Выпуск 4

Алгоритм. Преобразование XML-схемы в дерево

1. У=Р[иА. Вершины результирующего графа — это множество всех элементов и их атрибутов исходной XML-схемы.

2. Е = Ь^О,. Дуги результирующего дерева — это множество дуг между элементами плюс множество дуг между элементами и их атрибутами.

Полученный граф является деревом, так как он связанный и не содержит циклов.

2.Ь. Преобразование исходного дерева к бинарному виду

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

Преобразование произвольного дерева с упорядоченными узлами в бинарное сводится к следующим действиям: сначала в каждом узле исходного дерева вычеркиваем все ветви, кроме самой левой ветви, которая соответствует ссылке на старшего сына. После этого в получившемся графе соединяем горизонтальными ветвями те узлы одного уровня, которые являются «братьями» в исходном дереве. В получившемся таким образом дереве левым (старшим) сыном каждого узла Х считается непосредственно находящийся под ним узел (если он есть), а в качестве правого (младшего) сына — соседний справа брат для X, если таковой имеется.

2.с. Приведение дерева к канонической форме

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

2. Преобразования исходного дерева. Результатом этих преобразований должно быть дерево, в котором вес каждого родителя меньше веса каждого из его потомков. Преобразования производятся посредством следующих операций:

a. Вращение. Вращения представляют собой локальную операцию (меняются несколько указателей) и сохраняют свойство упорядоченности. Левое вращение возможно в любой вершине x, правый ребенок которой (назовем его у) не является листом (NIL). После вращения у оказывается сверху, x становится левым ребенком y, а бывший левый ребенок y — правым ребенком x. Правое вращение возможно в любой вершине x, левый ребенок которой (назовем его у) не является листом (NIL). После вращения y оказывается сверху, x становится правым ребенком у, а бывший правый ребенок y — левым ребенком x.

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

идем к левому ребенку, иначе — к правому. Процедура заканчивается при нахождении вершины или если мы находимся в листе (NIL).

Алгоритм:

a. Если дерево пусто, сообщить, что узел не найден, и остановиться.

b. Иначе сравнить K со значением ключа корневого узла X.

c. Если K = X, выдать ссылку на этот узел и остановиться.

d. Если K > X, рекурсивно искать ключ K в правом поддереве Т.

e. Если K < X, рекурсивно искать ключ K в левом поддереве Т.

2.d. Определение класса эквивалентности

Для получения формулы дерева используем форму Бекуса - Наура.

<дерево> :: = ( <данные> <дерево> <дерево> )

| nil

То есть двоичное дерево либо является пустым, либо состоит из данных и двух поддеревьев (каждое из которых может быть пустым). Очевидным, но важным для понимания фактом является то, что каждое поддерево в свою очередь тоже является деревом. Если у некоторого узла оба поддерева пустые, то он называется листовым узлом.

m

ас eg km о р s s у

2.e. Заключение о пригодности

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

2.f. Построение выражений для преобразования данных

Каждой операции над деревом ставится в соответствие XSLT-преобразование, которое изменяет соответствующим образом XML-данные.

Для приведения XML к канонической форме к нему последовательно применяется все полученные XSLT-преобразования. После применения данных преобразований к XML, полученному в качестве ответа от веб-сервиса, XML будет приведен к единому формату.

Список литературы

1. Hochgurtel B. C# and Java: Cross-platform Web-services. http://flylib.com.

2. Batini C., Lenzerini M., Navathe S. A Comparative Analysis of Methodologies for Database Schema Integration ACM Computer Surveys. http://flylib.com.

3. Sheth A., Larson J. Federated Database Systems for Managing Distributed, Heterogeneous, and Autonomous Databases ACM Computing Surveys. http://flylib.com.

4. Grinev M., Kuznetsov S. UQL: A Query Language on Integrated Data in Terms of UML, Programming and Computer Software. http://flylib.com.

5. Wiederhold G. Mediators in the Architecture of Future Information Systems IEEE Computer. http://flylib.com.

6. Chawathe S., Hammer J., Ireland K., Papakonstantinou Y., Ullman J. The TSIMMIS Project: Integration of Heterogeneous Information Sources. http://flylib.com.

Выпуск 4

i Надоели баннеры? Вы всегда можете отключить рекламу.