Диссертация (Методы и инструменты декларативного программирования динамических Web-узлов и приложений), страница 9

PDF-файл Диссертация (Методы и инструменты декларативного программирования динамических Web-узлов и приложений), страница 9 Технические науки (19539): Диссертация - Аспирантура и докторантураДиссертация (Методы и инструменты декларативного программирования динамических Web-узлов и приложений) - PDF, страница 9 (19539) - СтудИзба2018-01-18СтудИзба

Описание файла

Файл "Диссертация" внутри архива находится в папке "Методы и инструменты декларативного программирования динамических Web-узлов и приложений". PDF-файл из архива "Методы и инструменты декларативного программирования динамических Web-узлов и приложений", который расположен в категории "". Всё это находится в предмете "технические науки" из Аспирантура и докторантура, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "диссертации и авторефераты" в общих файлах, а ещё этот архив представляет собой кандидатскую диссертацию, поэтому ещё представлен в разделе всех диссертаций на соискание учёной степени кандидата технических наук.

Просмотр PDF-файла онлайн

Текст 9 страницы из PDF

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

По названиям наиболее значимых сущностей методика получила название BlockSet (блоки набор) [91, 93]. В BlockSet модель описывает основную структуру проекта. Локация представляет собой динамическую страницу и описывает её поведение. Наборявляется непосредственной составляющей модели и локации, содержит коллекциюданных различного типа. Блок — часть набора, поле данных определённого типа.У всех сущностей (кроме модели) имеется большое число модификаторов — атрибутов, которые задают определённую логику работы.

Важным свойством методикиявляется её самодостаточность, то есть оперируя лишь описанными выше сущностями становится возможным реализация проекта начального уровня. Однако, грамотное оперирование атрибутами-модификаторами даёт возможность реализовать узкоспециализированный функционал. Так, наглядно демонстрируется принцип «от простого к сложному» [97].Дляформализацииметодикипредметно-ориентированногопредлагаетсядекларативногоразработкаязыкавысокоуровневогомоделированияповедениясерверной стороны. Язык получил название BlockSet Modeling Language (моделирующий язык BlockSet) или BML [94]. Он основан на XML-подобном синтаксисе, аего структура исполняется на серверной стороне с помощью интерпретатора [98],взаимодействующего с Web-сервером.На рис.

2.1 представлена расширенная иерархическая модель в объёмном виде накоторой показано место методики BlockSet и языка BML в сфере Web-разработки.Нижние два уровня остаются такими же, как в упомянутой ранее модели (рис. 1.1).Уровни, отмеченные оттенками пурпурного цвета, являются непосредственными частями BlockSet и занимают смежные позиции с существующими технологиями.

Так,на представленной схеме язык BML находится на уровне фреймворков, однако фреймворком не является. Тем не менее, по всем трём характеристикам, которые описывает предыдущая модель — скорость разработки, гибкость, системные требования —предметно-ориентированный язык BML закономерно располагается именно на этомуровне [88].44Рисунок 2.1. Место методики BlockSet и языка BML в сфере Web-разработкиМетодика BlockSet следует парадигме MVC или Model-View-Controller (модельпредставление-контроллер). Уровни модели и контроллера строятся в языке BML, ароль представления играет шаблонизатор, получающий сгенерированные данные инакладывающий их на определённый шаблон.

Шаблон представляет собой страницу на языке HTML с простейшими алгоритмическими структурами и специальнымивставками, вместо которых будут подставлены данные в процессе генерации документа. Работа интерпретатора делится на два этапа: непосредственная интерпретацияструктур BML и передача выходных данных шаблонизатору. Именно по этой причинешаблоны и язык BML расположены на одном уровне [87].Уровнем выше наряду с системами управления контентом расположен специализированный визуальный редактор, позволяющий наглядным образом с помощью компонентов пользовательского интерфейса строить конструкции языка BML, а такжекорректные шаблоны HTML, задавать стили CSS, составлять интерактивные алгоритмы JavaScript.

По сути, визуальный редактор генерирует шаблоны для сервернойстороны, а также целиком отвечает за разработку клиентской части. Часть функцийпо разработке клиентской части выполняют и системы управления контентом, какправило, имеющие в своём арсенале простейший визуальный редактор HTML/CSS.Стоит оговориться, что визуальный редактор BlockSet не предназначен для управления содержимым. Он лишь предоставляет эргономичный интерфейс, в котором со-45четается необходимый функционал для генерации динамических структур BML иклиентской части.

Правильно построеный проект сам берёт на себя роль системыуправления контентом и в целом представляет собой динамический Web-ресурс свозможностью разграничения прав доступа к своему содержимому. Именно поэтомузаконченный проект находится на самой вершине и также делит место на этом уровненаравне с системами управления контентом.Права доступа назначаются на локации, наборы и блоки [90].

Правами обладаютгруппы или пользователи. Права на набор и блок задаются с помощью блока соответствующего типа. Каждый пользователь может состоять в нескольких группах.Права групп могут быть системными (событийными) и назначаться в зависимостиот определённых событий (например, если пользователь не авторизован, система емуприсвоит группу «гость»).Рисунок 2.2.

Интеллект-карта языка BMLДля наглядности представления методики и языка, была разработана упрощённаяинтеллект-карта (рис. 2.2). На ней показаны базовые сущности языка и основные ихсвойства. С целью упрощения, на интеллект-карте не показаны индивидуальные свойства для каждого типа блока, однако её цель – дать общее представление о методикеи связях её компонентов друг с другом.2.2Разработка компоненты «Модель»С помощью модели (элемент Model) определяется структура данных, и устанавливаются отношения объектов проекта между собой.

Структурой данных проектаBlockSet является набор, содержащий в себе блоки и другие, вложенные наборы.46Все наборы, используемые в проекте, необходимо описать в модели. Единственнымдочерним элементом модели является набор, в то время как блок является единственным дочерним элементом набора. Именно в модели для всех блоков устанавливаетсятип данных. Атрибуты блоков, отвечающих за права доступа [85], а также некоторыедругие, в силу своей специфики задаются только в модели. Большинство остальныхатрибутов для наборов и блоков могут быть переопределены в локациях.

Спецификация предписывает уникальность сущности модели, т.е. невозможность присутствиядругих моделей в одном и том же проекте. В текущей версии языка у модели отсутствуют собственные атрибуты. Модель соответствует одноименной компоненте впарадигме MVC — в ней задаётся общая структура данных и глобальные правилаих обработки. Важно отметить тот факт, что модель данных загружается при старте работы интерпретатора, таким образом, в процессе обработки входящих запросовинтерпретатор «осведомлен» обо всех возможностях загружаемой локации.2.3Разработка компоненты «Локация»Локация или расположение (элемент Location) представляет собой динамическуюстраницу, описывающую индивидуальную логику работы. У локации, как и у модели,прямыми потомками могут быть только наборы. Большинство атрибутов у наборови блоков, присутствующих в модели, могут быть переопределены в локации, либоопределены вновь.

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

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

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

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5209
Авторов
на СтудИзбе
430
Средний доход
с одного платного файла
Обучение Подробнее