Единое окно доступа к образовательным ресурсам

Первая международная конференция разработчиков свободных программ на Протве: Тезисы докладов

Голосов: 0

В сборнике представлены программа конференции и тезисы докладов, одобренных Программным комитетом Первой международной конференции разработчиков свободных программ на Протве, которая состоялась в Обнинске 29-30 июля 2004 года.

Приведенный ниже текст получен путем автоматического извлечения из оригинального PDF-документа и предназначен для предварительного просмотра.
Изображения (картинки, формулы, графики) отсутствуют.
    крайне некомфортной из-за полной перерисовки окна браузера. Наш
подход к созданию инструмента для функционального моделирования
заключается в реализации поддержки манипуляции объектами модели
непосредственно в браузере (HTML-документе) с помощью скрипто-
вого языка ECMAscript (JavaScript 1.5). Использование именно этого
языка связано с практически повсеместной его поддержкой браузера-
ми всех основных производителей (Mozilla/Netscape, Microsoft Internet
Explorer — MSIE, Opera) на многих платформах (Windows, Linux/Unix,
Mac).
     Браузеры обеспечивают три различных уровня программных интер-
фейсов (API), позволяющих изменять отображаемый документ: (1) непо-
средственный вывод HTML-текста в документ (document.write()), (2)
изменение содержимого выбранного элемента документа (innerHTML)
и (3) стандартизованные не только для браузеров API объектной мо-
дели документа (методы DOM). Первоначально одним из авторов был
создан ранний прототип инструмента для функционального моделиро-
вания с использованием второго из перечисленных подходов. Компо-
ненты графического интерфейса пользователя (ГИП) задавались в ви-
де программных констант. Этот подход, эффективно работающий для
несложных интерфейсов в MSIE, оказался по нескольким причинам со-
вершенно неработоспособным в Mozilla. Во-первых, изменение строко-
вых значений атрибутов элемента документа путём изменения свойства
innerHTML в Mozilla (в отличие от MSIE) не отражаются в дереве
DOM документа (за исключением ссылок на обработчики событий, где
все обстоит ровно наоборот: изменение названия функции — обработчи-
ка события в Mozilla приводит к изменению обработчика, а в MSIE —
нет). Во-вторых, Mozilla вообще более строго следует стандарту DOM,
в соответствии с которым любое изменение свойства innerHTML любого
элемента документа порождает формально новый документ.
     В результате прототип инструмента для функционального модели-
рования был переработан с использованием исключительно DOM API.
Для каждого графического компонента проекта (блока IDEF0, пане-
лей свойств блока/объектного потока и пр.) используется отдельный
HTML-документ. Такой документ загружается в невидимый потоковый
кадр (iframe) и используется как шаблон для порождения видимых ком-
понентов ГИП. Это позволяет полностью отделить дизайн элементов
ГИП от кода. Оказалось, что стандарт DOM 2 не полностью поддер-
живается даже последними (IE 6.1, Mozilla 1.7) версиями браузеров (в
частности, в части передачи информации о событиях их обработчикам,
копирования поддеревьев между кадрами и др.), что пока задержива-


                                 61


ет завершение отладки части ГИП, связанной с перемещением блоков
и изменением их размеров. Для сохранения результатов формирования
функциональной модели написан простой серверный скрипт на языке
Perl.
     Для превращения разработанного прототипа в реальный инстру-
мент моделирования, обладающий минимальной необходимой функци-
ональностью, предстоит решить ещё несколько задач. Можно продол-
жать реализацию ГИП инструмента для функционального моделирова-
ния в HTML/XHTML, однако мы планируем исследовать возможность
отказаться от HTML и перейти к использованию XML/XSLT/CSS, что
позволит упростить разработку конвертеров в промышленные коммуни-
кативные стандарты, используемые для обмена данными о IDEF0 функ-
циональных моделях: IDL и XML, а также стандартизовать те элементы
ГИП, которые используются для задания параметров моделей.
     Текущее состояние кода размещено в CVS проекта Web-
based IDEF Functional Modeler (http://sourceforge.net/projects/
web-based-idef/). Используемая Open Source лицензия — GLPL, по-
скольку компоненты разрабатываемого ПО можно использовать в со-
ставе других программных средств.



13:40–14:05
Александр Сенько Москва, БЕН РАН / МГТУ им. Н.Э. Баумана
Михаил Якшин    Москва, ALT Linux / МГТУ им. Н.Э. Баумана

  Открытая система виртуальной интеграции
     гетерогенных баз данных на основе
          технологии XMPP/Jabber

    Аннотация:
    Настоящая система представляет собой систему виртуальной инте-
    грации гетерогенных баз данных и предоставляет пользователям —
    унифицированный интерфейс доступа к подключенным к системе ба-
    зам данных, а поставщикам данных — способ интеграции их инфор-
    мационных ресурсов в систему. В качестве транспортного протокола
    используется XMPP/Jabber.


                                  62


    В настоящее время людям, обращающимся к сети Интернет при по-
иске информации, приходится работать со множеством разнообразных
баз данных, сильно различающихся между собой по структуре, темати-
ческой направленности, полноте представляемых данных. Многие орга-
низации, сталкивающиеся с необходимостью предоставления доступа к
своим информационным ресурсам, разрабатывают специальные системы
для работы с конкретными информационными массивами.
    Пользователям в таком случае предоставляется специализирован-
ный интерфейс доступа к информации, содержащейся в поддерживае-
мой базе данных, следовательно, при работе с такими системами при-
ходится сталкиваться с различными подходами к поиску и навигации.
Зачастую большая часть времени тратится на изучение интерфейса,
предоставляемого системой, и его возможностей, а не на работу с дан-
ными. В случае необходимости поиска по нескольким массивам данных
пользователю приходится несколько раз составлять различные вариан-
ты одного и того же поискового запроса к каждой из используемых
систем, а потом вручную объединять полученные данные.
    Эти причины обуславливают целесообразность разработки
программно-организационного комплекса, предоставляющего универ-
сальный интерфейс доступа к базам данных информационных ресурсов,
различным по структуре и содержанию.
    Одним из наиболее интересных подходов к интеграции разнород-
ных БД в настоящее время считается виртуальная интеграция данных.
Суть ее состоит в следующем: для каждой БД создаётся программа-
посредник, преобразующая запросы из принятого в системе единого
(глобального) формата в запросы, специфичные для данной базы, и
обратно — результат обработки запроса преобразуется в тот же единый
формат. Таким образом, пользователь реально работает с одним форма-
том данных при обращении к различным базам.
    Сейчас на смену бинарным форматам приходят более гибкие, са-
мым перспективным из которых является XML; появляются и новые
подходы к организации транспортного уровня для систем подобно-
го класса. В качестве одного из таких решений выступает протокол
XMPP/Jabber — не так давно разработанный на базе системы мгновен-
ного обмена сообщениями (сходной с популярной ICQ), а сейчас эволю-
ционировавший в полноценный транспортный протокол XML-роутинга.
    На данный момент создан действующий минимальный прототип
системы, предоставляющий универсальный интерфейс доступа к гете-
рогенным библиографическим базам данных. На этом этапе не рассмат-



                                63


ривались проблемы объединения результатов распределённого поиска,
полученных от нескольких баз данных, их ранжирования и т. п.
    Основные задачи проекта:
   • организация серверной части проекта — транспорта для
     Jabber-сервера и модуля-конвертера для него, обеспечивающего
     работу с одной базой данных;
   • создание удобного интерфейса клиентской части системы для
     создания поисковых запросов и отображения результатов в
     соответствии с ГОСТ 7.1-84;
   • разработка формата и протокола обмена данными между
     клиентом и сервером.
     Серверная часть разработанной системы состоит из ядра, отвеча-
ющего за проведение политики безопасности, динамическую загрузку
внешних модулей и предоставление метаинформации и модулей, содер-
жащих конвертеры внутреннего представления данных из обслужива-
емых БД в глобальный формат и обратно, а также средства работы с
БД.
     Для описываемой системы был разработан специализированный
Jabber-клиент, предоставляющий универсальный интерфейс для состав-
ления поисковых запросов, базирующийся на логике глобального форма-
та. Пользовательский интерфейс выглядит следующим образом: в окне
строится дерево всех сущностей, имеющих соответствующие элементы
XML в формате. Каждому узлу дерева пользователь может поставить в
соответствие строку поиска и некоторые атрибуты, семантика которых
описана в требованиях к глобальному формату.
     Разработанный поисковый интерфейс довольно универсален и поз-
воляет одинаково легко вести поиск как по хорошо структурированным
данным, так и по слабоструктурированным, благодаря следующим пра-
вилам:
  1. Строка поиска, заданная в узле, распространяется на все
     потомки этого узла. Таким образом, мы получаем два крайних
     варианта: задав строку в листе дерева, мы можем искать точное
     совпадение заданного поля, а задав строку в корне дерева, мы
     задаём поиск по всем полям, и множество промежуточных
     вариантов, задающих поиск по некоторой группе полей.
  2. Для каждого поля можно задать фильтрацию по некоторым
     атрибутам. Это позволяет, например, найти все публикации, к

                                64


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

    Секция 2
    (Председатель — Александр Боковой)



12:00–12:25
Александр Котельников                         Санкт-Петербург, ALT Linux

  XML как универсальное хранилище данных

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

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

                                    65


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



12:25–12:50
Валентина Ванеева                                     Томск, ALT Linux
Проект: Mozilla.ru

 Разработка XPCOM-компонентов Mozilla для
      работы с базой данных SQLite 3

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


                                  66


    рассматриваются возможные применения связки Mozilla и SQLite и
    sql-модуля в целом.

     Почти всем известно, что Mozilla (мы рассматриваем Mozilla Ap-
plication 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/). Этот модуль реализует единый интер-



                                  67


фейс для доступа к различным базам данных, но пока присутствует
поддержка только PostgreSQL. В число функций этого модуля входят:
   • подключение к базе;
   • формирование и отправка SQL-запроса;
   • получение результатов и их представление в формате RDF;
   • возможность вызова перечисленных выше функций через
     JavaScript.
Этого достаточно для быстрой разработки приложений, использующих
СУБД.
    Существуют и другие проекты, реализующие работу с СУБД:
MySQLClient (http://mysqlclient.mozdev.org/) и MozSQLXPCOM
(http://mozysqlxpcom.mozdev.org/), но они предназначены для рабо-
ты только с MySQL.
    Помимо работы с удалёнными базами данных представляется так-
же интересно и работа с локальными базами, не требующими подключе-
ния к сети. Яркий пример такой СУБД — SQLite (http://www.sqlite.
org/). Среди её преимуществ:
   • она имеет небольшой размер и может входить в установочный
     комплект Mozilla;
   • она кроссплатформенная;
   • поддерживает большое подмножество SQL, а это обеспечивает
     переносимость на клиент-серверные реляционные БД;
   • локальную базу данных можно копировать и перемещать с
     машины на машину как обычный файл;
   • она популярна, входит в комплект поставки PHP;
   • она не требует настройки и специальных усилий по
     администрированию;
   • авторы отказались от копирайта.
Область применения локальных баз — работа со словарями, справочны-
ми системами, системами сбора статистики, работа в offline, распро-
странение данных и т. д.


                                68


    Именно поэтому в рамках данного проекта в модуле 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:15
Олег Паращенко                           Санкт-Петербург, xmlhack.ru
Проект: TeXML

             TEXML: XML-нотация для TEX
    Аннотация:
    В работе описывается один из способов преобразования XML-
    документов в формат LTEX. Для этого предлагается использовать
                        A

    TEX ML, промежуточное представление нотации TEX в виде XML.



                                 69


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


   • XSLT — лучший способ преобразования XML-данных.
    Известны несколько проектов, в которых XML преобразуется в
LTEX с помощью XSLT. Все они сталкивались с тем, что XSLT неэф-
A
фективен, если результат трансформации — не XML.
    Эту проблему можно обойти, используя промежуточный этап. Вна-
чале XSLT эффективно преобразует XML в TEX ML, а затем получен-
ный TEX ML сериализуется в TEX.

Краткое описание TEXML
    Основные конструкции языка TEXML видны на примере:
<TeXML>
 <cmd name="documentclass">
  <opt>a4paper</opt>
  <parm>minimal</parm>
 </cmd>
 <env name="document">
  Это&nbsp;&mdash; пример.
 </env>
</TeXML>
    Результат сериализации:
\documentclass[a4paper]{minimal}
\begin{document}
Это~\textemdash{} пример.
\end{document}
    Главные задачи сериализатора:
   • замена специальных символов (например, «<» на «\textless»),


                                70



    
Яндекс цитирования Яндекс.Метрика