Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЗапискаКурицкая.doc
Скачиваний:
53
Добавлен:
16.03.2015
Размер:
7.98 Mб
Скачать

2.2.3 Разработка подсистемы хранения данных

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

В соответствии с вышеизложенным было принято решение о реализации собственной подсистемы хранения с использованием физического хранения данных в файлах структуры xml. Для преобразования данных из объектного представления в файлxmlи обратно используется технологияJAXB(Java Architecture for XML Binding)[16] иJAXP(Java API for XML Processing)[15]. Эти технологии позволяют задавать соответствие между структурой классов и их атрибутов и структуройxml-файла, а также предоставляют возможность для автоматического преобразования.

Более подробно остановимся на технологии XML. XML — текстовый формат, предназначенный для хранения структурированных данных (взамен существующих файлов баз данных), для обмена информацией между программами, а также для создания на его основе более специализированных языков разметки (например, XHTML). XML является упрощённым подмножеством языка SGML[14].

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

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

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

  • Язык XML позволяет описывать данные произвольного типа и используется для представления специализированной информации, например химических, математических, физических формул, медицинских рецептов, нотных записей, и т.д. Это означает, что XML может служить мощным дополнением к HTML для распространения в Web "нестандартной" информации. Возможно, в самом ближайшем будущем XML полностью заменит собой HTML, по крайней мере, первые попытки интеграции этих двух языков уже делаются (спецификация XHTML).

  • XML-документы могут использоваться в качестве промежуточного формата данных в трехзвенных системах. Обычно схема взаимодействия между серверами приложений и баз данных зависит от конкретной СУБД и диалекта SQL, используемого для доступа к данным. Если же результаты запроса будут представлены в некотором универсальном текстовом формате, то звено СУБД, как таковое, станет "прозрачным" для приложения. Кроме того, сегодня на рассмотрение W3C предложена спецификация нового языка запросов к базам данных XQL, который в будущем может стать альтернативой SQL.

  • Информация, содержащаяся в XML-документах, может изменяться, передаваться на машину клиента и обновляться по частям. Разрабатываемые спецификации XLink и Xpointer поволят ссылаться на отдельные элементы документа, c учетом их вложенности и значений атрибутов.

  • Использование стилевых таблиц (XSL) позволяет обеспечить независимое от конкретного устройства вывода отображение XML- документов.

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

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

Достоинства XML:

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

  • XML поддерживает Юникод;

  • в формате XML могут быть описаны такие структуры данных, как записи, списки и деревья;

  • XML — это самодокументируемый формат, который описывает структуру и имена полей так же как и значения полей;

  • XML имеет строго определённый синтаксис и требования к анализу, что позволяет ему оставаться простым, эффективным и непротиворечивым. Одновременно с этим, разные разработчики не ограничены в выборе экспрессивных методов (например, можно моделировать данные, помещая значения в параметры тегов или в тело тегов, можно использовать различные языки и нотации для именования тегов и т. д.);

  • XML — формат, основанный на международных стандартах;

  • Иерархическая структура XML подходит для описания практически любых типов документов, кроме аудио и видео мультимедийных потоков, растровых изображений, сетевых структур данных и двоичных данных;

  • XML представляет собой простой текст, свободный от лицензирования и каких-либо ограничений;

  • XML не зависит от платформы;

  • XML является подмножеством SGML (который используется с 1986 года). Уже накоплен большой опыт работы с языком и созданы специализированные приложения;

  • XML не накладывает требований на порядок расположения атрибутов в элементе и вложенных элементов разных типов, что существенно облегчает выполнение требований обратной совместимости;

  • В отличие от бинарных форматов, XML содержит метаданные об именах, типах и классах описываемых объектов, по которым приложение может обработать документ неизвестной структуры (например, для динамического построения интерфейсов);

  • XML имеет реализации парсеров для всех современных языков программирования;

  • Существует стандартный механизм преобразования XSLT, реализации которого встроены в браузеры, операционные системы, веб-серверы.

  • XML поддерживается на низком аппаратном, микропрограммном и программном уровнях в современных аппаратных решениях.

На основе логической схемы данных (пункт 1.5) разработана структура xml-файлов. Все данные были разделены на две части: те, которые система изменяет в процессе собственного функционирования (структура представлена на рисунке 2.11) и те, которые система не изменяет (структура представлена на рисунке 2.12).

Рисунок 2.11 – Usersxml

Рисунок 2.12 – Testsxml

В качестве значений атрибутов приведены названия атрибутов из логической схемы данных. Для краткости все теги, которые допускают множественность, приведены в единственном числе (user, test, answers, answer, result, battary, battary_element, candidate, question, type, variant_type, virtue, professionGroup, profession).

При преобразовании, технология JAXPиспользует классы, описанные на диаграмме сущностных классов системы (пункт 1.3.3). Элементы этих классов помечены необходимыми для преобразования аннотациями.