WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!


Pages:     | 1 |   ...   | 5 | 6 || 8 | 9 |   ...   | 11 |

Суть ее состоит в следующем: для каждой БД создаётся программапосредник, преобразующая запросы из принятого в системе единого (глобального) формата в запросы, специфичные для данной базы, и обратно — результат обработки запроса преобразуется в тот же единый формат. Таким образом, пользователь реально работает с одним форматом данных при обращении к различным базам.

Сейчас на смену бинарным форматам приходят более гибкие, самым перспективным из которых является XML; появляются и новые подходы к организации транспортного уровня для систем подобного класса. В качестве одного из таких решений выступает протокол XMPP/Jabber — не так давно разработанный на базе системы мгновенного обмена сообщениями (сходной с популярной ICQ), а сейчас эволюционировавший в полноценный транспортный протокол XML-роутинга.

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

Основные задачи проекта:

• организация серверной части проекта — транспорта для Jabber-сервера и модуля-конвертера для него, обеспечивающего работу с одной базой данных;

• создание удобного интерфейса клиентской части системы для создания поисковых запросов и отображения результатов в соответствии с ГОСТ 7.1-84;

• разработка формата и протокола обмена данными между клиентом и сервером.

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

Для описываемой системы был разработан специализированный Jabber-клиент, предоставляющий универсальный интерфейс для составления поисковых запросов, базирующийся на логике глобального формата. Пользовательский интерфейс выглядит следующим образом: в окне строится дерево всех сущностей, имеющих соответствующие элементы XML в формате. Каждому узлу дерева пользователь может поставить в соответствие строку поиска и некоторые атрибуты, семантика которых описана в требованиях к глобальному формату.

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

1. Строка поиска, заданная в узле, распространяется на все потомки этого узла. Таким образом, мы получаем два крайних варианта: задав строку в листе дерева, мы можем искать точное совпадение заданного поля, а задав строку в корне дерева, мы задаём поиск по всем полям, и множество промежуточных вариантов, задающих поиск по некоторой группе полей.

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

3. Каждая частная база данных может предоставлять лишь некое подмножество полей, определённых в глобальном формате, или предоставлять некоторую информацию в слабоструктурированном виде. Если база не предоставляет поле, к которому относится запрос, то поиск будет проводиться в родительском элементе (где может быть некое более общее описание).

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

Секция (Председатель — Александр Боковой) 12:00–12:Александр Котельников Санкт-Петербург, ALT Linux XML как универсальное хранилище данных Аннотация:

Доклад о проведённой разработке формата государственной документации, основанного на XML, и его реализации на базе OpenOffice.org.

В рамках НИОКР, проводимых ALT Linux по госконтракту «Разработка рекомендаций и предложений по использованию стандартов, необходимых для распространения ИКТ. Разработка предложений по развитию в Российской Федерации рынка программного обеспечения со свободной лицензией. Разработка методических рекомендаций по использованию программного обеспечения со свободной лицензией в деятельности органов государственной власти Российской Федерации», был создан основанный на XML формат и его пилотная реализация в виде XML-фильтра из и в OpenOffice.org XML File Format.

Решение базировать реализацию ГОСТовского формата на платформе OpenOffice.org было принято поскольку, в частности, это чуть ли не единственный полноценный кроссплатформенный WYSIWYGтекстовый процессор. Также положительными факторами, послужившими в пользу такого выбора явились open source лицензия OpenOffice.org и то, что его базовые форматы — в частности, формат текстовых документов — являются XML-форматами. Встроенный в OpenOffice.org XSTL-процессор позволил свести всю работу по реализации к написанию двух XSL-преобразований.

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

Предполагается рассказать в сравнительной форме о форматах OpenOffice.org XML File Format и HTML + CSS2.

Ни одна технология, какой бы замечательной она ни была, не может не иметь минусов и недостатков, ограничивающих её применение. XML не является исключением. Будет рассказано и о некоторых неудачных свойствах этого рода, присущих XML.

Планируется проиллюстрировать некоторые технические подробности простыми примерами.

12:25–12:Валентина Ванеева Томск, ALT Linux Проект: Mozilla.ru Разработка XPCOM-компонентов Mozilla для работы с базой данных SQLite Аннотация:

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

Почти всем известно, что Mozilla (мы рассматриваем Mozilla Application Suite) — пакет приложений для работы в Интернете. Но, кроме этого, Mozilla — ещё и многофункциональная платформа для разработки приложений, и важнейшие её технологии — XPCOM, XUL, JavaScript, RDF.

XPCOM (кроссплатформенное общее управление объектами) — механизм для управления компонентами Mozilla (какими именно, можно посмотреть в подкаталоге components/ каталога установки Mozilla).

XPCOM-объекты — это самый нижний уровень Mozilla. Если быть короче, XPCOM немного напоминает CORBA и очень похож на COM.

XUL (язык описания интерфейсов на основе XML) — язык разметки, предназначенный для быстрого и удобного создания графического интерфейса пользователя. Наконец, RDF (схема описания ресурсов; тоже подмножество XML) используется для хранения различной служебной информации. С помощью RDF реализуются, например, шаблоны XUL.

Именно эти технологии делают Mozilla платформой для эффективной разработки и нужны для описываемого проекта. В то же время этой платформе ощутимо не хватает средств для работы с системами управления реляционными базами данных (СУБД). На данный момент между Mozilla и СУБД почти всегда есть какой-то промежуточный уровень, обычно это веб-сервер, общающийся с Mozilla и СУБД посредством сценариев. Кроме того, есть проекты вроде MozPHP (http://mozphp.mozdev.org/), позволяющие использовать PHP локально в том числе и для работы с базами данных. Более «правильный» способ — добавление средств работы с базами данных сразу в Mozilla в виде XPCOM-компонентов. Наличие поддержки SQL в Mozilla значительно расширило бы возможности и пользователей, и разработчиков.

Веб-приложения обычно разрабатываются таким образом, что состоят из трёх частей: клиента, сервера базы данных и между ними — веб-сервера. Проблема этой связки в том, что такие функции, обычно выполняемые веб-сервером, как аутентификация/авторизация, также дублируются и сервером базы данных. Поэтому связка из двух частей:

клиент и сервер базы данных — представляется более эффективной.

Добавить такую поддержку попытался Ян Варга, автор относительно недавно появившегося дереве CVS Mozilla модуля SQL (http://mozilla.org/projects/sql/). Этот модуль реализует единый интерфейс для доступа к различным базам данных, но пока присутствует поддержка только PostgreSQL. В число функций этого модуля входят:

• подключение к базе;

• формирование и отправка SQL-запроса;

• получение результатов и их представление в формате RDF;

• возможность вызова перечисленных выше функций через JavaScript.

Этого достаточно для быстрой разработки приложений, использующих СУБД.

Существуют и другие проекты, реализующие работу с СУБД:

MySQLClient (http://mysqlclient.mozdev.org/) и MozSQLXPCOM (http://mozysqlxpcom.mozdev.org/), но они предназначены для работы только с MySQL.

Помимо работы с удалёнными базами данных представляется также интересно и работа с локальными базами, не требующими подключения к сети. Яркий пример такой СУБД — SQLite (http://www.sqlite.

org/). Среди её преимуществ:

• она имеет небольшой размер и может входить в установочный комплект Mozilla;

• она кроссплатформенная;

• поддерживает большое подмножество SQL, а это обеспечивает переносимость на клиент-серверные реляционные БД;

• локальную базу данных можно копировать и перемещать с машины на машину как обычный файл;

• она популярна, входит в комплект поставки PHP;

• она не требует настройки и специальных усилий по администрированию;

• авторы отказались от копирайта.

Область применения локальных баз — работа со словарями, справочными системами, системами сбора статистики, работа в offline, распространение данных и т. д.

Именно поэтому в рамках данного проекта в модуле SQL автором была реализована поддержка SQLite. То есть был разработан XPCOMкомпонент для SQLite, работающий с локальной базой SQLite, который был включён в сборку Mozilla для трёх платформ: Windows, Linux, Mac OS X.

Проделанная работа может оказаться полезной, например, проекту EVM (http://evm.mozdev.org/), где для хранения почты используется база данных, причём работа с ней осуществляется через модуль sql. Существует также патч (http://bugzilla.mozilla.org/show_bug.cgi id=245745) для хранения журнала посещений в локальной базе данных (SQLite), его также можно модифицировать, чтобы он использовал модуль sql.

Далее можно добавлять в sql поддержку других СУБД, драйверов ODBC/JDBC. Можно также разрабатывать приложения для работы с SQLite и обычными, удалёнными базами данных. Можно разработать пользовательский интерфейс для работы с базами данных по примеру OpenOffice.org.

Ссылки на использованный материал:

• N. McFarlane Rapid Application Development With Mozilla;

• материалы W3C по стандарту RDF,http://www.w3c.org/RDF/;

• материалы по XUL,http://www.mozilla.org/projects/xul/;

• материалы по XPCOM, http://www.mozilla.org/projects/xpcom/.

12:50–13:Олег Паращенко Санкт-Петербург, xmlhack.ru Проект: TeXML TEXML: XML-нотация для TEX Аннотация:

В работе описывается один из способов преобразования XMLA документов в формат LTEX. Для этого предлагается использовать TEX ML, промежуточное представление нотации TEX в виде XML.

Зачем нужен TEXML TEXML[1] — это промежуточный формат для представления нотации TEX в виде XML. Он упрощает создание печатных версий документов, когда выполнены следующие условия:

• исходные документы представлены в виде XML, A • для создания печатной версии используется LTEX, • XSLT — лучший способ преобразования XML-данных.

Известны несколько проектов, в которых XML преобразуется в A LTEX с помощью XSLT. Все они сталкивались с тем, что XSLT неэффективен, если результат трансформации — не XML.

Эту проблему можно обойти, используя промежуточный этап. Вначале XSLT эффективно преобразует XML в TEX ML, а затем полученный TEX ML сериализуется в TEX.

Краткое описание TEXML Основные конструкции языка TEXML видны на примере:

a4paper minimal Это—пример.

Результат сериализации:

\documentclass[a4paper]{minimal} \begin{document} Это~\textemdash{}пример.

\end{document} Главные задачи сериализатора:

• замена специальных символов (например, «<» на «\textless»), • обработка unicode (например, вывод «д» или «\cyrchar\cyrd{}»), • разбиение лигатур (например, вместо «---» — «-{}-{}-»).

Помимо этих существенных преобразований, TEX ML предоставляет также расширенные возможности.

A • В язык встроена поддержка структурных конструкций LTEX:

окружений, групп, команд с параметрами.

• Благодаря автоматическому форматированию создаваемого кода, итоговые документы хорошо выглядят.

Преимущества TEXML Простой код на TEXML \пример соответствует такому TEX-фрагменту:

{\it \textbackslash{}пример} Если изучить историю проектов tbook[2], xsltml[3], dblatex[4], db2latex[5] и других, создающих TEX-код с помощью XSLT, то выяснится, что во всех них были подобные проблемы:

• не всегда экранируются специальные символы, • иногда забывается пробел после команды и получается «\itтекст » вместо «\it текст », • может теряться открывающая или закрывающая фигурная скобка, • из-за объективных сложностей, системы ориентированы на западноевропейскую кодировку.

Эти и другие проблемы не возникают при использовании TEXML.

Другие версии TEXML A При поиске решения для публикации XML через LTEX выяснилось, что Douglas Lovell предложил подход TEX ML ещё в 1999-м году[6], и была даже реализация на языке Java. Этот проект, TEX MLatt[7], был заброшен несколько лет назад, но от него осталась описание, которое послужило основой для новой версии TEX ML.

Существует также TEX MLapis[8], обработчик подмножества TEX ML на языке Perl, но его возможности ограничены.

Список литературы [1] TeXML: an XML vocabulary for TeXhttp://getfo.org/texml/ [2] The tbook system for XML Authoring http://tbookdtd.sourceforge.net/ [3] XSLT MathML Libraryhttp://xsltml.sourceforge.net/ [4] DocBook to LaTeX/ConTeXt Publishing http://dblatex.sourceforge.net/ [5] DB2LaTeX XSL Stylesheetshttp://db2latex.sourceforge.net/ [6] Douglas Lovell, TeXML: Typesetting XML with TeX http://www.tug.org/TUG99-web/pdf/lovell.pdf [7] TEXMLatthttp://www.alphaworks.ibm.com/tech/texml [8] TEXMLapis http://www.bluweb.com/us/chouser/proj/texmlapis/ 13:15–13:Виталий Останин Санкт-Петербург, ЗАО «Взлёт» Проект: ALT Linux Documentation Project Средства для разработки и представления документации с использованием единого источника Аннотация:

В докладе описывается подход к созданию документации с использованием единого источника. Описывается XML как базовый формат разметки, и DTD DocBook/XML как структура документов. Рассмотрены основные принципы модульной разработки документов, инструменты для создания и преобразования документов в другие форматы.

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

В проекте ALT Linux Documentation[1] (ALT Docs), посвящённом созданию документации, в качестве базового формата документации был выбран язык разметки XML[2]. Основными причинами для его выбора стали:

• общедоступная спецификация;

• простота (это текстовый формат, похожий на HTML);

• расширяемость (возможность добавлять собственные теги для разметки метаинформации);

• абстрагирование от кодировки документов (возможность создавать документы или фрагменты одного документа в произвольной кодировке);

• набор полезных спецификаций для включения документов (XInclude[3] и XPath[4]);

• независимость от платформы и инструментария.

Pages:     | 1 |   ...   | 5 | 6 || 8 | 9 |   ...   | 11 |






© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.