Дипломному проекту (работе) На тему «Разработка библиотеки компонентов для динамического формирования html-документов по настраиваемым шаблонам»




НазваниеДипломному проекту (работе) На тему «Разработка библиотеки компонентов для динамического формирования html-документов по настраиваемым шаблонам»
страница4/10
Дата01.10.2012
Размер0.53 Mb.
ТипДиплом
1   2   3   4   5   6   7   8   9   10

2.3 Разработка архитектуры библиотеки


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

В качестве языка программирования для написания исходного кода дипломантом был выбран Web-ориентированный язык PHP, для языка шаблонов – XSLT.

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

PHP был выбран в качестве языка разработки библиотеки из-за того, что он является современным инструментов для создания Web-ориентированных приложений, а также PHP – объектно-ориентированный язык, имеющий встроенную поддержку современных СУБД и встроенную поддержку работы с XML-документами.

Всего ролей должно быть три – модель, контроллер и представление. Также возможны некоторые вспомогательные операции и процессы, обеспечивающие целостность соблюдения концепции.

Модель – именно тот компонент архитектуры MVC, который отвечает за обработку данных, с которыми работает пользователь. Т.к. данные хранятся в базе данных и доступ к ним есть только через СУБД MySQL, то необходимо разработать компонент обмена данными с СУБД, который мог бы решать такие задачи, как поиск данных, добавление данных, изменение данных, преобразование полученных от СУБД данных во внутренний формат системы.

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

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

Для компонента представления необходимо сформировать ряд элементов библиотеки, которые позволили бы формировать итоговый вывод данных в удобном для пользовательской стороны виде. В данной работе таким итоговым представлением данных выбран XHTML-документ, а промежуточным – XML-документ. XML в качестве промежуточного формата также выбран из-за того, что он позволяет без изменения логики работы приложения сформировать на выходе не только XHTML-Документ, но и PDF или RTF-документы, а также позволяет легко сформировать, например, RSS-поток.

Подводя итого под всем вышесказанным, можно сделать вывод, что в системе как минимум необходимо наличие следующих компонентов:

  1. Компонент для обмена данными с СУБД;

  2. Компонент, реализующий логику контроллера;

  3. Компонент, реализующий преобразование данных, полученных от СУБД в XML-формат;

  4. Компонент, производящий преобразования промежуточного формата (XML) в итоговый формат – XHTML.

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

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

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

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

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

Отсюда следует, что для реализации библиотеки необходимы следующие компоненты:

  1. Компонент для обмена данными с СУБД MySQL;

  2. Компонент, реализующий логику работы контроллера;

  3. Компонент, реализующий преобразование данных, полученных от СУБД в формат XML;

  4. Компонент, реализующий преобразование данных в формате XML посредством XSLT-трансформаций в итоговый XHTML-документ;

  5. Компонент, обеспечивающий кеширование данных;

  6. Компонент, решающий задачу URI-роутинга;

  7. Компонент, обеспечивающий целостность функционирования системы.

Также следует определить структуру директорий, используемых библиотекой ив которых будут размещаться компоненты библиотеки.

  • _cache – директория для кеш-записей, в ней будут находиться кешированные страницы и файлы с кешированными данными;

  • _config – директория, в которой находятся конфигурациооные файлы библиотеки, такие как modules.xml и т.д.;

  • _controller – директория с контроллерами;

  • _core – директория, содержащая основные компоненты библиотеки;

  • _models – директория с моделями, используемыми в системе;

  • _view – директория, содержащая правила для XSLT-трансформаций;
1   2   3   4   5   6   7   8   9   10

Похожие:

Дипломному проекту (работе) На тему «Разработка библиотеки компонентов для динамического формирования html-документов по настраиваемым шаблонам» iconДипломному проекту (работе) На тему Разработка общей поисковой системы для
Разработать объединяющую поисковую систему для электронных ресурсов кафедры икт на основе поисковых механизмов каждого ресурса в...
Дипломному проекту (работе) На тему «Разработка библиотеки компонентов для динамического формирования html-документов по настраиваемым шаблонам» iconПояснительная записка к дипломному проекту (работе) На тему: «Разработка телекоммуникационной системы для поддержки научно-исследовательской деятельности ио ран»
На тему: «Разработка телекоммуникационной системы для поддержки научно-исследовательской деятельности ио ран»
Дипломному проекту (работе) На тему «Разработка библиотеки компонентов для динамического формирования html-документов по настраиваемым шаблонам» iconДипломному проекту (работе) На тему Разработка системы защиты от распределенных атак на отказ в обслуживании типа
На тему «Разработка системы защиты от распределенных атак на отказ в обслуживании типа http-flood»
Дипломному проекту (работе) На тему «Разработка библиотеки компонентов для динамического формирования html-документов по настраиваемым шаблонам» iconРеферат в пояснительной записке к дипломному проекту на тему «11-этажный жилой дом с мансардой»
В пояснительной записке к дипломному проекту на тему «11-этажный жилой дом с мансардой» представлены архитектурно-строительные, расчетно-конструктивные...
Дипломному проекту (работе) На тему «Разработка библиотеки компонентов для динамического формирования html-документов по настраиваемым шаблонам» iconДипломному проекту на тему: «Разработка методов встраивания информации в пространственную область изображения»
Санкт-Петербургский государственный электротехнический университет “лэти” им. В. И. Ульянова (Ленина)” (СПбгэту)
Дипломному проекту (работе) На тему «Разработка библиотеки компонентов для динамического формирования html-документов по настраиваемым шаблонам» iconЗадача агента, предлагаемого в данной работе, состоит в пополнении коллекции новыми релевантными ее тематике документами. Как правило, работа такого агента начинается с некоторого множества html документов (ядра коллекции), заданных администратором коллекции.
Информационный агент для формирования тематической коллекции электронных документов
Дипломному проекту (работе) На тему «Разработка библиотеки компонентов для динамического формирования html-документов по настраиваемым шаблонам» iconПояснительная записка к дипломной работе На тему: «Разработка системы автоматизации функций формирования scorm совместимых метаданных для информационных ресурсов»
На тему: «Разработка системы автоматизации функций формирования scorm совместимых метаданных для информационных ресурсов»
Дипломному проекту (работе) На тему «Разработка библиотеки компонентов для динамического формирования html-документов по настраиваемым шаблонам» iconПояснительная записка к дипломному проекту to На тему: «Разработка проблемно-ориентированного языка программирования»
Московский государственный институт электроники и математики московский государственный институт электроники и математики
Дипломному проекту (работе) На тему «Разработка библиотеки компонентов для динамического формирования html-документов по настраиваемым шаблонам» iconПояснительная записка к дипломному проекту на тему: Разработка методических основ по системам активной и пассивной безопасности автомобиля
Разработка методических основ по системам активной и пассивной безопасности автомобиля
Дипломному проекту (работе) На тему «Разработка библиотеки компонентов для динамического формирования html-документов по настраиваемым шаблонам» iconДипломному проекту На тему «Построение безопасной корпоративной сети»
Охватывает все области передачи/хранения/обработки информации в компании
Разместите кнопку на своём сайте:
Библиотека


База данных защищена авторским правом ©lib.znate.ru 2014
обратиться к администрации
Библиотека
Главная страница