VIII Международная конференция по электронным публикациям "EL-Pub2003"

8-10 октября 2003 г., г. Новосибирск, Академгородок

Система поддержки Web-приложений, использующих явное описание коллекций документов

Шрайбман В.Б., Гуськов А.Е.
Новосибирский государственный университет
Институт вычислительных технологий СО РАН

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

Готовых средств решения поставленной задачи найдено не было. Существующие разработки связаны преимущественно с созданием новых хранилищ данных, предназначенных для работы непосредственно с утверждениями RDF-модели, и новых языков запросов, формирующих модель по данным, возвращаемым в результате обращения к такому хранилищу. Также ведутся работы по отображению информации, находящейся в реляционной базе данных, в RDF-модель и обратно. Примерами исследований в указанной области являются проект RDFDB, создаваемый Р. В. Гухой - сотрудником корпорации IBM, разработка Дэйва Беккета - Redland, одна из частей проекта Jena от Hewlett Packard Laboratories.

Вопросы хранения данных являются важной частью решаемой задачи, но не исчерпывают ее. Анализ показывает, что для формирования экземпляра коллекции может оказаться недостаточно наполнения ее исходного описания необходимыми данными. Модель коллекции может зависеть от каких-то дополнительных параметров, требовать изменения структуры, включения внешних подмоделей и так далее. Исходной точкой работы системы должен быть корректный RDF-документ, записанный при помощи любой из двух существующих на сегодняшний день специфицированных XML-нотаций, а не база данных, не модуль, создающий модель, и не смесь RDF и программного кода. Кроме того, одна и та же информация, вероятно, будет представлять интерес не только для машин, использующих RDF, но и для людей, поэтому разрабатываемое приложение должно уметь представлять данные в удобном для человеческого прочтения виде.

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

При проектировании авторы пытались использовать имеющийся положительный опыт других серверных систем. В частности, схема обработки клиентского запроса создаваемого приложения во многом аналогична соответствующей схеме проекта Cocoon от Apache Software Foundations.

Схема обработки запросов

При поступлении запроса система определяет соответствующую запрашиваемому документу коллекцию и читает ее описание. Если оно содержит ссылки на дополнительные части коллекции, хранящихся на том же сервере или в различных точках Интернета, система читает и их тоже. Затем происходит построение программного представления RDF модели данных, несколько напоминающее объектную модель документа для XML.

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

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

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

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

Выходными форматами отправляемых клиенту данных в предлагаемой системе являются:

Разработанная библиотека занимается не только вопросами преобразования описания коллекции в конкретную страницу, но и обеспечивает работу Web-приложения в целом. В частности реализованы следующие дополнительные функции:

Всю текущую информацию по данному проекту можно посмотреть в Интернете по адресу http://web.ict.nsc.ru/smart. Там присутствует последняя работающая версия библиотеки, поставляемая вместе с исходными кодами, API-документацией и небольшими примерами.


Дополнительные ссылки:

[1] Resource Description Framework (RDF) Model and Syntax Specification, W3C Recommendation, Февраль 1999; http://www.w3.org/TR/1999/REC-rdf-syntax-19990222

[2] В. Б. Шрайбман, А. Е. Гуськов, "Разработка информационных систем на основе RDF технологии" - Труды XLI Международной научной студенческой конференции "Студент и научно-технический прогресс", Новосиб. гос. ун-т, Новосибирск, 2003, Ч. 1.


Ваши комментарии
Обратная связь
[ICT SBRAS]
[Головная страница]
[Конференции]

© 1996-2000, Институт вычислительных технологий СО РАН, Новосибирск
© 1996-2000, Сибирское отделение Российской академии наук, Новосибирск