Главная » Просмотр файлов » Учебное пособие

Учебное пособие (1075724), страница 39

Файл №1075724 Учебное пособие (Г.И. Ревунков, Ю.Е. Гапанюк - Введение в XML – технологии) 39 страницаУчебное пособие (1075724) страница 392018-01-09СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 39)

Возможнавыборка, добавление, обновление, удаление XML-данных.Таким образом, при переходе между звеньями не требуется преобразовыватьданные между различными моделями, так как везде используется XML.7.2.2 Проверка введенных данныхВ «классическом» веб-приложении пользователь заполняет поля в HTMLформе, и они передаются на сервер в виде набора переменных (имя=значение).Обычно основная проверка правильности введенных данных производится всерверномсценариинавеб-сервере.Иногдапроверкадополнительнопроизводится в браузере с помощью JavaScript, но поскольку поддержкаJavaScript в браузере может быть отключена, то основную проверку введенныхданных всегда рекомендуется делать в серверном сценарии.В случае XRX-приложения проверка правильности введенных данныхобычно производится на клиентской стороне при заполнении XForms-формы. Приэтом используются средства проверки данных, которые предусмотрены втехнологии XForms.

Затем введенные данные передаются на сервер в виде XMLфрагмента.Далее на сервере можно провести дополнительную проверку данных в XMLфрагменте.Дополнительная серверная проверка данных может быть полезна вследующих случаях:1. Необходимо проверить сложные зависимости между данными, которыетрудно описать с помощью xforms:bind (xforms:bind обычно описываетограничения для одного XML-элемента).2.

При проверке необходимо использовать данные из БД.Серверная проверка используется только в крайнем случае, так как врезультате серверной проверки необходимо сформировать сообщение об ошибке,заново сгенерировать XForms-форму, что достаточно трудоемко. Поэтому повозможности стараются использовать средства проверки данных, встроенные в376XForms, и только в крайнем случае используется дополнительная сервернаяпроверка.7.2.3 Детализированная архитектураДетализированная архитектура веб-приложения на основе технологии XRXприведена на следующем рисунке:Веб-серверI.Веб-браузер1.HTML2.CSS3.JavaScriptII.Веб-браузерXFormsпроцессорI.HTMLформавведенныеданныеXForms(XHTML)документXMLIII.Веб-браузер1.HTML2.CSS3.JavaScriptДанные XMLСерверныйXQueryсценарийII.XMLXMLориентированнаяСУБДСерверныйXQueryсценарийСерверныйXQueryсценарийIII.HTMLдокумент(HTMLформа, CSS,JavaScript)СерверныйXQueryсценарийXForms (XHTML)документXFormsпроцессорXMLСерверныйXQueryсценарийРис.

7.3. Детализированная архитектура веб-приложения на основе технологии XRX.377На рисунке приведены три наиболее традиционных варианта архитектурыXRX-приложения. Можно также предложить множество других вариантовархитектуры.Вариант I соответствует упрощенной XRX-технологии (без использованияXForms).Серверный XQuery-сценарий генерирует обычный HTML (или XHTML)документ, который содержит обычную HTML-форму. Введенные в форму данныеввиденабораобрабатываютсяпеременных(имя=значение)XQuery-сценарием.ТехнологияпередаютсянасервериXFormsприэтомнеиспользуется.Вариант II соответствует случаю, когда XForms-процессор реализован в видеклиентской технологии, например, встроен в браузер (или является плагином кбраузеру).Этому случаю соответствует XForms-процессор XSLTForms (встроенный вeXist), который реализован в виде XSLT-преобразования, и предположительно этопреобразование делается в браузере.

(Если XSLT-преобразование делать настороне веб-сервера в XQuery-сценарии, то это ближе к третьему вариантуархитектуры.)В случае варианта II серверный XQuery-сценарий генерирует XForms-форму(которая, как правило, является частью XHTML-документа) и отправляет этуформу XForms-процессору.Эта форма может быть статическим документом, однако в варианте IIнаиболеепривлекательнойявляетсяименновозможностьдинамическогоформирования XForms-документов.В начале работы XForms-форма может читать необходимые данные поумолчанию, а после заполнения отправляет на сервер введенные данные вформате XML.Часто для генерации XForms-формы используется один сценарий, а дляобмена данными с формой используется другой сценарий (в нашем примереприложения мы предполагаем делать именно так).378Однако можно также использовать один сценарий, который выполняет всефункции, или три сценария (генерация формы, чтение данных, запись данных).Здесь можно отметить отличие XForms-форм от классических HTML-форм.В HTML-форме нам потребовалось бы выполнить в серверном сценарии толькодва действия:1.

Генерация HTML формы вместе с данными по умолчанию, так как данныепо умолчанию сохраняются прямо в тэгах HTML.2. Обработка данных на сервере после заполнения формы, данныепередаются на сервер в виде набора переменных (имя=значение).В случае XForms требуется выполнить три действия:1. Генерация XForms-формы без данных по умолчанию. (Возможно такжесгенерировать XForms-форму с данными по умолчанию, но при работе с БД такойвариант не очень удобен.)2. После того как форма будет загружена, модель данных XForms-формызапросит с сервера данные по-умолчанию. Необходимо разработать серверныйсценарий, который вернет данные по-умолчанию для формы.3. Обработка данных на сервере после заполнения формы, данныепередаются на сервер в виде XML-фрагмента.Вариант III соответствует случаю, когда XForms-процессор реализован ввиде отдельного серверного веб-приложения.

Примерами таких процессоровявляются Orbeon Forms и betterFORM.В этом случае серверный XQuery-сценарий генерирует XForms-форму икаким-либо образом вызывает XForms-процессор как библиотеку. (В нашемпримере мы предполагаем таким образом использовать XSLTForms, вызывая всерверном сценарии XSLT-преобразование).В варианте III могут возникнуть трудности с динамической генерациейXForms-форм, так как некоторые процессоры могут открывать только статическиеXHTML-документы.XForms-процессор на основе переданной ему XForms-формы генерируетHTML-документ, содержащий HTML-форму, стили CSS, сценарии JavaScript и379передает HTML-документ в браузер. (В XSLTForms для выполнения этогодействия необходимо обработать XHTML-документ, содержащий XForms-форму,с помощью XSLT-преобразования.)Далее сгенерированный HTML-документ работает с данными так же, как вварианте II.

Как правило, для взаимодействия с сервером используется AJAXтехнология.Основная разница между вариантами II и III заключается в том, что в случаеварианта II обработка формы (и, возможно, ее преобразование в HTML, CSS,JavaScript) производится на стороне веб-браузера, а в случае варианта III настороне веб-сервера.Хочется также отметить, что в XML-ориентированных СУБД (например, вeXist) веб-сервер может быть совмещен с сервером СУБД, что показано нарисунке пунктиром.eXist устанавливается со встроенным веб-сервером Jetty, или может бытьустановлен на любой веб-сервер с поддержкой Java в виде веб-архива.

При этомфункции выполнения XQuery-сценариев и прямого доступа к данным в eXist неотделены друг от друга.Фактически eXist представляет собой сервер приложений с возможностьюразработки веб-приложений на XQuery и с возможностью хранения данных вформате XML.7.2.4 Ограничения XRX-технологииXRX не является универсальной технологией, которая могла бы полностьюзаменить «класическую» технологию разработки веб-приложений.К основным ограничениям технологии XRX можно отнести следующие:1.

Эффективна только при работе с данными XML и XML-ориентированнойБД.2. Основной проблемой существующих open-source XML-ориентированныхБД является их надежность и возможность хранения больших объемов данных.380Пока по этим параметрам их трудно сравнивать с такими СУБД, как MicrosoftSQL Server или Oracle.Однако эту проблему можно преодолеть, если использовать коммерческиеXML-ориентированные СУБД (например, Tamino).Также можно для хранения данных использовать Microsoft SQL Server илиOracle.

Эти СУБД позволяют хранить данные в формате XML (есть встроенныйтип данных), а также в них есть встроенная поддержка XQuery. Надежностьхранения в этом случае повышается, однако необходимо доработать частьприложения, которая отвечает за REST-доступ.3. Технология XForms не всегда позволяет достаточно гибко реализоватьпроверку данных в форме. Иногда для проверки данных в XForms требуетсяразрабатыватьдостаточносложныеXPath-выражения.Иногдатребуетсядополнительная проверка данных в серверном сценарии.4. Для технологии XRX пока отсутствуют интегрированные средыразработки. Для разработки XQuery-сценариев и XForms-документов можноиспользовать коммерческие XML-редакторы (Altova XMLSPY, Oxygen XML).(При разработке нашего примера мы используем Notepad++ с подсветкойсинтаксиса XML).7.3 Пример разработки веб-приложения на основе технологииXRX7.3.1 Постановка задачиНеобходимо разработать веб-приложение, которое позволяет вводить данныео компьютерах, а также формировать отчеты на основе введенных данных.7.3.2 Логическая модель данных7.3.2.1 Описание сущностейЛогическая модель данных содержит три сущности.1.

Сущность «Тип процессора».381Атрибуты:1.1. Код процессора (уникальный идентификатор).1.2. Наименование процессора (текст).2. Сущность «Компьютер».Атрибуты:2.1. Код компьютера (уникальный идентификатор).2.2. Код процессора (связь с сущностью «Тип процессора»).2.3. Наименование компьютера (текст).2.4. Объем ОП в Мб (целое число).2.5. Объем жесткого диска в Гб (целое число).2.6. Используется как сервер (логический тип).3.

Характеристики

Тип файла
PDF-файл
Размер
6,59 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Ревунков Г.И., Гапанюк Ю.Е
Примеры
1_примеры
1_01
Example.xml
1_02
Array.xml
Graph_1.xml
Graph_2.xml
Set.xml
Table_1.xml
Table_2.xml
Table_3.xml
Tree.xml
2_примеры
2_01
Example_XPath.xml
2_02
Example_css.xml
style.css
2_03
Example_1.xsl
Example_XSL_1.xml
2_04
Example_1_ns.xsl
Example_XSL_1_ns.xml
2_05
Example_2.xsl
Example_XSL_2.xml
MET.CSS
2_06
Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7041
Авторов
на СтудИзбе
260
Средний доход
с одного платного файла
Обучение Подробнее