rdf-технологии предоставления сервисов мобильным

advertisement
RDF-ТЕХНОЛОГИИ ПРЕДОСТАВЛЕНИЯ СЕРВИСОВ
МОБИЛЬНЫМ ПОЛЬЗОВАТЕЛЯМ В БЕСПРОВОДНЫХ СЕТЯХ∗
Н.И. Юсупова1, Д.В. Попов1, И.А. Вайнерман1, Б. Кёних-Риз2
Уфимский государственный авиационный технический университет
450000, г. Уфа, ул. К.Маркса, 12,
yussupova@ugatu.ac.ru
Тел. (3472) 23-77-17. Факс (3472) 23-77-17
2
Технический Университет Карлсруэ,
76128 Karlsruhe, Germany
koenig@ipd.uni-karlsruhe.de
Тел. +49/721/608-3968. Факс +49/721/608-7343
1
Ключевые слова: формирование запроса, передача данных, RDF, RDQL, HTML, XML, обработка запроса, онтология
Abstract
The questions of development and designing of the system for processing the queries from mobile
users, storage, transfer and granting the access to the required information are considered in the
article.
Введение
За последнее время на рынке мобильных устройств все большую популярность приобретают Personal Digital Assistant (PDA - Личный Цифровой Помощник) и smartphone (смартфон) –
сотовые телефоны с расширенным набором функций, поддерживающие технологии Java2,
Bluetooth и другие. Встает актуальный вопрос об использовании данного вида устройств при
получении доступа к сетевой информации. Такие устройства в качестве достоинств имеют миниатюрные размеры, широкий круг предоставляемых функциональных возможностей, возможность интеграции с персональным компьютером (ПК) и подключения к глобальным и локальным сетям Internet/Intranet.
Использование указанных устройств порождает целый ряд проблем в сфере предоставления информации. Возникают такие задачи как: хранение и передача информации, обработка
запросов от мобильных пользователей, предоставление пользователю информации в необходимом виде, представление данных на логическом и физическом уровнях, разработка механизмов обработки информации. В настоящее время существует разнообразные подходы к решению данного круга проблем. Наряду с применением традиционных баз данных (БД), базирующихся на реляционных подходах, приобретают все большую популярность такие технологии
как веб-сервисы (web-services) и другие технологии, базирующиеся на использовании языков
синтаксического и семантического описания данных. Получила большое распространение технология Java Beans, предоставляющая возможности гибкого использования удаленных процедур.
∗
Данное исследование частично поддержано грантом РФФИ 03-07-90242-в «Интернет-комплекс поддержки выполнения проектов фундаментальных исследований сложных систем c применением интеллектуальных технологий на базе
экспертных систем» (2003-2005 гг.), а также Федеральной целевой программой "Интеграция науки и высшего образования Российской Федерации на 2002-2006 годы" (программное мероприятие 1.4 - "Привлечение иностранных партнеров к проведению совместных исследований и развитию интегрированных научно-образовательных структур", проект
№ П0039 "Фундаментальные исследования и новые технологии проектирования сложных технических систем").
203
Указанные подходы имеют свои достоинства и свои слабые стороны, но на данном этапе
развития информационных технологий не существует пока унифицированных средств реализации механизма предоставления информации мобильным пользователям. Это обусловлено
рядом факторов, таких как: специфичность и разнообразие информации, небольшие объемы
памяти для хранения информации в мобильных устройствах, разнообразие платформ для реализации соответствующих механизмов.
Услуга или сервис – это предоставление необходимой информации пользователю в ответ
на запрос, который он адресует системе. Запрос должен иметь форму адекватную (интуитивно
понятную) мобильному пользователю, а ответ - вид, поддерживаемый мобильным устройством
пользователя.
1 Логика работы системы
При реализации системы предоставления сервисов возникает ряд задач:
Разработка концепции построения системы, выделение отдельных функциональных составляющих системы и распределение ролей, которые они должны играть в процессе
функционирования системы.
2) Проблема логического представления внутренних данных системы в базах данных. Существует много подходов к решению этой проблемы, начиная от традиционных уже реляционных таблиц или баз, где данные представлены в виде объектов, заканчивая разнообразными представлениями и описаниями данных с использованием языков разметки.
3) Проведение анализа всех составляющих системы, разработка алгоритмов функционирования отдельных частей, выбор технологий, которые будут применяться непосредственно
при реализации каждой составляющей части. На этом этапе должны быть разработаны
такие механизмы, как: построение и непосредственно обработка запроса от пользователя,
механизм проведения запросов данных непосредственно в базах данных, механизм формирования информации, возвращаемой пользователю.
На рисунке 1 приведена схема логики работы системы и ее функциональные части. Можно выделить основные составляющие части системы: пользователь с мобильным устройством и
три компоненты:
• Трейдер - Удаленный сервер (база данных), предоставляющий пользователю информацию
о том, в какой базе данных он может найти информацию по интересующей его теме.
• Медиатор – Интерфейсная часть системы, которая должна служить «буфером» при взаимодействии пользователя и непосредственно базы данных. Здесь производится первоначальная обработка запроса пользователя и генерирование данных в виде, отвечающем требованиям мобильного устройства пользователя.
• Домен - База данных для хранения информации, должна иметь также механизм для обработки и передачи информации.
• Пользователь – человек с каким-либо мобильным устройством, непосредственно использующий предоставляемые сервисы. Подразумевается то, что на мобильном устройстве установлена клиентская часть системы, имеющая удобный пользовательский интерфейс для
формирования запросов.
Предлагается следующий механизм работы системы предоставления сервисов.
В соответствии с постановкой задачи, пользователь вводит необходимые параметры для
запроса, и они пересылаются в медиатор, где из них формируется первоначальный запрос.
В соответствии с данным описанием возвращаемая информация будет иметь тот или иной вид.
К примеру, это может быть как просто текстовая информация, так и данные в HTML формате с
картинками, предназначенные для просмотра на PDA или портативном компьютере.
В медиаторе эти параметры преобразуются в RDQL запрос. Далее запрос посылается в
домен, где непосредственно выполняется. Полученные результаты вновь преобразуются к RDF
1)
204
формату. После того как необходимые данные получены в базу данных медиатора, пользователю посылается предварительный ответ (Ответ 1 на рисунке1), содержащий информацию относительно данных, которые требуются пользователю. Далее, для получения более детального
ответа от системы, пользователь вводит новые параметры, которые посылаются в медиатор. По
новым параметрам в медиаторе производится выборка более приоритетной информации необходимой пользователю. Для этого формируется новый RDQL запрос. На рисунке 1 это представлено преобразованием Парам.2 -> RDQL2. Далее данный запрос запускается уже не в домене, а непосредственно в медиаторе. Полученный результат возвращается пользователю в
форме, отвечающей техническим характеристикам мобильного устройства пользователя.
Пользователь с мобильным
устройством
Медиатор ?
TABLE
M1 ...
M2 ...
M3 ...
M1
SQL
Trader
Ответ 2 в
Парам.2
Ответ 1 в
требуемой форме
Парам.1 + требуемой форме
Опис. Устр.
Mediator 1 (M1)
RDQL2
Парам.1 -> RDQL1
Парам.2 -> RDQL2
Опис. Устр.. ->
Требуемая форма
ответа
RDQL
Mediator RDF DB
RDF1 Ответ
RDQL1
RDQL2
Domain 1
RDQL1 -> RDF1 Ответ
+ Информ о Устр.
RDQL
Domain RDF DB
Рисунок 1 - Схема логики работы системы.
Для решения поставленных задач был проведен анализ современных средств хранения и
обработки данных. Сравнение основных характеристик различных технологий представлено в
таблице 1.
205
Таблица 1 - Основные характеристики средств хранения и обработки данных.
Характеристики
Разметка данных
Язык запросов
Древовидное представление данных
Представление синтаксиса
Представление семантики
Расширяемость
Реляционные БД
+
+
HTML
+
-
XML
+
+
+
+
+
RDF
+
+
+
+
+
+
2 Технология RDF
Для реализации прототипа системы была выбрана технология RDF. RDF (Resource
Description Framework, язык описания ресурсов) [1] является разработкой WWW-консорциума
(W3C). RDF является метаязыком, но наиболее важным отличием от других языков метаданных, таких как XML (eXtensible Markup Language), является то, что при помощи XML можно
описать данные на синтаксическом уровне, а при использовании RDF информацию можно
описать на семантическом уровне. Этот подход описания данных основан на принципе онтологий. Онтология это один из методов представления зависимостей между данными. Информация представленная в виде ресурсов описывается при помощи предикатов определяющих отношения между различными ее частями.
Язык описания ресурсов применяется в рассматриваемой системе как основное средство
представлении информации. Для практического применения данного средства необходимо использование схем. Схема – это также документ RDF, в котором содержаться спецификации для
построения других RDF документов.
В прототипе системы применяются данные, представленные в RDF нотации. Для их обработки и выполнения запросов необходимо использовать язык запросов для RDF данных.
RDQL (RDF Query Language) [4] - язык реализации запросов для данных представленных
в RDF формате. По синтаксису язык напоминает SQL, но имеет немного другую структуру построения запросов. Запрос имеет следующий вид:
SELECT ?x
WHERE (?x, <name>, "John")
В прототипе системы в качестве сервисов пользователю предоставляется информация о
мобильных устройствах. В роли мобильных устройств могут быть сотовые телефоны, PDA,
портативные компьютеры или любые мобильные информационные устройства. Для прототипа
системы используется разработанная RDF схема. При использовании данной схемы можно в
формате RDF описать любое мобильное устройство.
В RDF-схеме [2] используются такие типы данных RDF как класс, свойство, подкласс.
Информацию относительно RDF, его типов данных и схем приведена в [7]. При помощи схемы
некоторое мобильное устройство можно представить в следующем виде: (рассмотрим на примере сотового телефона Siemens ME45)
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:md="http://localhost/Mob_dev/mob_dev_sch.rdf#">
<md:Mobile_device rdf:ID="SiemensME45">
<md:Input_unit >
206
<md:Custom rdf:ID="Mobile_phone_keypad"/>
</md:Input_unit >
<md:Audio>
<md:Beep rdf:ID="Mobile_phone_speaker" />
</md:Audio>
...
В данном примере используется пространство имен md, указывающее на RDF схему
mob_dev_sch.rdf. Эта схема уже упоминалась выше. Объект класса Mobile_device (Мобильное
устройство) имеет несколько свойств, первое свойство это устройство ввода Input_unit (Устройство ввода), которое в качестве своего значения имеет объект класса Custom (Специальное),
представляющий обычную клавиатуру мобильного телефона. Следующее свойство это аудио
устройство Audio (Аудио устройство), которое имеет значение в виде объекта класса Beep
(Низкое качество), представляющего обычный динамик мобильного телефона.
Для представления данных в RDF формате необходима соответствующая схема, в которой
в объектно-ориентированных терминах должны быть описаны все логические понятия, связанные с той областью знаний, которая должна быть представлена в системе. Схема для такой
области, как мобильные устройства, должна содержать понятия, при помощи которых можно
описать практически любое мобильное устройство. В качестве таких понятий могут выступать
такие части мобильного устройства как: устройство ввода, устройство вывода, аудио устройство, коммуникационное устройство. Графическое представление разработанной схемы приведено в [10].
Непосредственное описание некоторого мобильного устройства в RDF формате с использованием вышеописанной схемы можно представить в синтаксисе XML следующим образом [11]:
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:md="http://localhost/Mob_dev/mob_dev_sch.rdf#">
<md:Mobile_device rdf:ID="SiemensME45">
<md:Input_unit >
<md:Custom rdf:ID="Mobile_phone_keypad"/>
</md:Input_unit >
<md:Audio>
<md:Beep rdf:ID="Mobile_phone_speaker" />
</md:Audio>
...
Здесь xmlns:md="http://localhost/Mob_dev/mob_dev_sch.rdf#"> - это пространство имен, относящееся к схеме mob_dev_sch.rdf, которая и является вышеприведенной схемой. В данном
примере представлен непосредственно сотовый телефон SiemensME45, который является объектом класса Mobile_device (Мобильное устройство). У данного объекта есть свойства, описанные в соответствующей схеме, как свойства класса Mobile_device (Мобильное устройство). К
примеру, имеется свойство <md:Input_unit >, в качестве значения которого выступает объект
класса Custom: <md:Custom rdf:ID="Mobile_phone_keypad"/>, представляющий собой обычную
клавиатуру сотового телефона. И так далее, по аналогии с рассмотренным свойством, описываются все остальные свойства, представленные в схеме mob_dev_sch.rdf.
207
Заключение
Проведен краткий анализ современных технологий хранения и обработки данных. Произведено проектирование и реализация прототипа системы предоставления услуг мобильным
пользователям. Разработано RDF-представление данных для прототипа системы. Реализованы
механизмы обработки данных и реализации запросов к данным в RDF-формате. Проведен анализ возможностей RDF технологии при хранении и обработки данных.
Список литературы
[1] Resource Description Framework (RDF) Model and Syntax Specification W3C Recommendation 22 February 1999. http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/
[2] RDF Vocabulary Description Language 1.0: RDF Schema W3C Working Draft 23 January 2003.
http://www.w3.org/TR/rdf-schema/
[3] RDF/XML Syntax Specification (Revised). W3C Working Draft 23 January 2003.
http://www.w3.org/TR/rdf-syntax-grammar/
[4] Jena Tutorial for Release 1.4.0 HP labs. http://www.hpl.hp.com/ semweb/doc/ tutorial/ index.html
[5] Flanagan, David. Java in a nutshell : deutsche Ausgabe fur Java 1.4 / David Flanagan. Dt. Ubers. von Matthias Kalle Dalheimer. - 4. Aufl.. - Beijing ; Koln : O'Reilly, 2003. - XVII, 1084 S.; (dt.) ISBN 3-89721332-X Original: Java in a nutshell <dt.>.
[6] Flanagan, David. Java Examples in a Nutshell : der Beispielband zu Java in a Nutshell / David Flanagan.
Ubers.: Dorothea Reder. - 2. Aufl..- Beijing ; Koln : O'Reilly, 2001. - XIV, 648 S. : Ill.; (dt.) ISBN 3-89721196-3 Original: Java examples in a nutshell <dt.>
[7] www.w3.org. Официальный сайт WWW Consortium.
[8] Niki Pissinou, Kia Makki, Birgitta König-Ries: A Middleware-Based Architecture to Support Mobile Users
in Heterogeneous Environments. Proc. of RIDE 2000, San Diego, USA, February 2000
[9] Koenig-Ries B., Popov D., Muelle J., Plechova O. "Multidimensional Query Result Navigation for Mobile
Users" (186). In: Computer Science and Information Technologies CSIT’2002. University of Patras, Rion,
Patras, Greece, 2002, 8 p. http://www.lar.ee.upatras.gr/csit2002/. Версия на CD-ROM. (Proceedings of the
4th International Workshop)
[10] N.I. Yussupova, B. König-Ries, D.V. Popov, I.A. Vainerman Data Structures for a System to Dynamically
Provide Mobile Users with Information in Wireless Networks // Proceedings of the 5th International Workshop on Computer Science and Information Technologies CSIT’2003. Ufa, Russia, 2003, Vol. 1, pp. 100107.
[11] Попов Д.В., Вайнерман В.А. Прототип системы предоставления сервисов мобильным пользователям
в беспроводных сетях // Принятие решений в условиях неопределенности: Межвузовский научный
сборник. – Уфа: УГАТУ, 2003. –С.14-22.
208
Download