Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Технологии разработки Internet-приложений. Учебное пособие
.pdf
Технология Microsoft Atlas, представленная на Конференции
профессиональных разработчиков в 2005 году, представляет собой
надстройку для платформы ASP.NET 2.0. Она стала одним из столпов следующей версии ASP.NET (Orcas). Atlas воплощается в форме
нового семейства серверных элементов, для которых за счет использования новых runtime-функций становится возможной полная
интеграция программирования на стороне клиента и сервера.
Microsoft Atlas – важное расширение платформы Microsoft
ASP.NET, обеспечивающее эффективную поддержку AJAX-
функциональности в приложениях. Технология Atlas проектировалась как составная часть ASP.NET, и как следствие, она полностью
интегрируется с существующей платформой разработки и моделью приложений.
С архитектурной точки зрения, инфраструктура Atlas состоит
из двух элементов: библиотеки клиентских сценариев и набора
серверных расширений. Библиотека клиентских сценариев полностью написана на JavaScript и поэтому работает в любом современном браузере. Так как платформа Atlas является расширением
ASP.NET, она полностью интегрируется с серверными службами и
управляющими элементами ASP.NET. В результате разработчики
могут создавать Web-страницы с расширенной функциональностью на базе Atlas, используя практически такую же методику, которая использовалась при разработке классических серверных
страниц ASP .NET.
Большинство Atlas-разработчиков имеет опыт разработки
ASP.NET, и как следствие, хорошо знакомы с серверной моделью
разработки, основанной на элементах управления. Сервероцентрическая модель программирования Atlas является крупным
шагом на пути эволюции программной модели ASP.NET. Серверные элементы Atlas чрезвычайно удобны – особенно если нет достаточной уверенности для того, чтобы создавать клиентские сценарии Atlas вручную.
Технология Atlas обещает стать настоящим прорывом для
профессиональных разработчиков ASP.NET. Благодаря ней кроссбраузерное программирование воплощается в реальность, а Webприложения обретают функциональность, характерную для
настольных систем.
101

Клиентская библиотека Atlas состоит из набора файлов Java
Script (*.js), подключаемых из клиентских страниц в случае надоб-
ности. Эти файлы *.js устанавливаются как файлы с исходным кодом при установке Atlas на компьютер разработчика. На рабочий
компьютер они не копируются, потому что они также внедряются
в сборку Atlas, а страницы ссылаются на все необходимые сценарные файлы как на ресурсы сборки.
Клиентская библиотека содержит объектно-ориентированные
и кросс-браузерные расширения языка JavaScript, такие как классы, пространства имен, наследование и типы данных. В ней также
определяется (по большей части закрытая) версия библиотеки базовых классов .NET, включающая поддержку построителей строк,
регулярных выражений, таймеров и трассировки. Ключевой частью клиентской библиотеки Atlas является сетевой уровень, который берет на себя все сложности асинхронных вызовов с использованием XmlHttpRequest. Сетевой уровень позволяет клиентской странице взаимодействовать с Web-службами и Webстраницами посредством внеполосных вызовов.
Клиентская библиотека Atlas также содержит поддержку таких функций, как перетаскивание, всплывающие окна, задержка
указателя мыши над объектом, а также группу элементов с поддержкой привязки данных полностью на стороне, клиента, навигации и автозаполнения. Такие элементы могут вставляться в исходный код страниц с использованием JavaScript (в дополнение к новому декларативному синтаксису XML Script).
Технология Atlas появилась как расширение ASP.NET,
а ASP. NET является платформой разработки на стороне сервера. По
этой причине в Atlas входит набор серверных компонентов, включая
веб-службы и элементы управления. С одной стороны, вы можете
программировать эти компоненты со стороны клиента и обновлять
текущую страницу без полного обновления; с другой стороны, программная модель большей частью остается неизменной. В этом отношении (по крайней мере, в том, что касается базовой функциональности) срок освоения Atlas оказывается на удивление коротким.
Встроенные Web-службы Atlas предоставляют клиентским
страницам набор стандартных функций ASP.NET, в числе которых
профили пользователей, членство в группах, роли и глобализация.
Серверные элементы Atlas выглядят как классические серверные
102

элементы ASP.NET, но в отличие от последних они выдают дополнительный сценарный код. Код расширяет возможности элемента за счет (необязательного) использования функций, предоставленных клиентской библиотекой Atlas. Большинство элементов Atlas имеет близкие аналоги среди существующих элементов
ASP.NET – таких, как кнопки, надписи, текстовые поля и элементы проверки данных. Другое важное подмножество серверных
элементов Atlas выдает код JavaScript для связывания аспектов
поведения клиентских сценариев с элементами разметки HTML.
Код поведения находится в клиентской библиотеке. Некоторые
серверные элементы позволяют управлять связыванием аспектов
поведения с определенными видами разметки (например, связыванием автозалолнения с конкретным элементом TextBox).
Страницы Atlas представляют собой обычные Web-страницы,
написанные с использованием некоторого языка и модели программирования, будь то ASP.NET, классический вариант ASP,
Perl, Rails или РНР. С позиций веб-программирования у каждого
языка имеется своя предпочтительная программная модель, и
наоборот. Тем не менее, базовая схема остается неизменной. Технология Atlas полностью интегрирована с платформой ASP.NET,
но результат ее применения все равно представляет собой вебприложение.
7.5. Разработка мобильных Web-приложений
Для получения доступа к ресурсам Internet c помощью мобильного телефона, не прибегая к помощи компьютера или модема
был разработан специальный стандарт WAP.
WAP (Wireless Application Protocol) – протокол доступа к ресурсам Интернет непосредственно с мобильного телефона, минуя
компьютера и/или модем.
Для разметки документов при загрузке их в сотовых телефонах и других мобильных устройствах по стандарту WAP также
был разработан и специальный язык – WML (Wireless Markup
Language).
Изначально WAP создавался для широкого круга технологий
и стандартов беспроводной мобильной связи: сотовой, транковой,
пейджинговой и микросотовой, а также для поддержки сетей 3G и
4G. Данный стандарт инвариантен к операционному ядру, с кото-
103

рым взаимодействует WAP-браузер и разрабатывался как открытый стандарт для беспроводной передачи данных, не зависящий от
поставщиков устройств и услуг, оптимизированный для мобильных телефонов, имеющих дисплей с маленьким разрешением,
ограниченной памятью и невысокой производительностью.
WAP 2.0 – усовершенствованная версия WAP, которая использует урезанный вариант XHTML и CSS. Это позволяет работать с WAP 2.0 сайтами с помощью обычного браузера на компьютере без установки каких-либо дополнительных плагинов.
XHTML MP (XHTML Mobile Profile) – язык разметки в WAP
2.0, разработанный для мобильных устройств.
Архитектура WAP аналогична WWW. В WAP используется
тот же самый способ адресации ресурсов и те же обозначения типов данных. В качестве клиента выступает мобильное устройство
со встроенным WAP-браузером, запросы от которого через WAPшлюз передаются веб-серверу, и ответ от последнего через него же
отправляется клиенту.
В качестве сервера может выступать самый обычный Webсервер. В этом случае между WAP-шлюзом и сервером используется протокол HTTP. С целью уменьшения объема передаваемых
данных, текстовые ресурсы, пришедшие от сервера, передаются
клиенту в двоичном виде.
Язык WML напоминает HTML, но ориентирован на устройства с
экраном низкого разрешения и с небольшим размером памяти. Вся
информация в WML содержится в так называемых «деках».
Дек – это минимальный блок данных, который может быть
передан сервером. В деках находятся «карты» (каждая карта ограничена тегами <card>). На экране устройства в каждый момент
времени отображается только одна карта, а пользователь может
переключаться между ними переходя по ссылкам.
Многие мобильные устройства могут отображать документы
только в WBXML-формате.
WBXML (WAP Binary XML) – формат компактного бинарного представления XML. WBXML используется для передачи через
беспроводные соединения с низкой скоростью.
Некоторые браузеры со специальным плагинами, позволяют
просматривать WML-страницы на обычном компьютере.
104

В настоящее время наблюдается тенденция перехода от WML
к XHTML.
Microsoft .NET для создания Web-приложений для мобильных
устройств. В распоряжение разработчиков инструмент .NET
Mobile
.NET Mobile представляет собой расширение Microsoft
ASP.NET и Microsoft .NET Framework. По-сути, .NET Mobile представляет собой набор серверных управляющих элементов для
форм, ориентированных на использование в беспроводных мобильных устройствах. Эти элементы управления генерируют разный код для различных устройств на языках WML, HTML или
Compact HTML (cHTML).
Управляющие элементы ASP .NET Mobile расширяют функции SDP (Smart Device Programmability) и платформу .NET
Compact Framework. Они позволяют использовать возможности
платформы .NET Compact Framework и среды разработки Visual
Studio .NET для создания мобильных веб-приложений благодаря
возможности доставки данных на разнообразные мобильные
устройства при помощи технологии ASP.NET. Этот подход позволяет создать в среде Visual Studio .NET единое мобильное вебприложение, автоматически производящее формирование данных
для отображения на разнообразных устройствах: мобильных телефонах, пейджерах, смартфонах, Pocket PC и др. При этом интегрированная среда разработки позволяет создавать мобильные вебприложения, просто перетаскивая управляющие элементы в дизайнер форм.
Система .NET Mobile не устанавливает никаких компонентов
на клиентское устройство. Для адаптации форматирования под
конкретные браузеры используется серверная логика. Она генерирует данные в форматах WML, HTML, и cHTML. Помимо адаптивной генерации Web-страниц, технология .NET Mobile предоставляет богатый набор средств индивидуализации и расширения,
обеспечивая простой способ осуществления поддержки новых
устройств. Кроме того, технология .NET Mobile позволяет разработчикам управлять представлением данных для конкретного
устройства или класса устройств в одной программной модели и
обеспечивает легкую реализацию поддержки новых устройств без
переделки существующих Web-приложений.
105

1. Мобильное устройство. С него исходит запрос на загрузку
Web-страницы.
2. Internet. Запрос передается через сеть соответствующему
Web-серверу.
3. Web-сервер IIS получает запрос от мобильного устройства
и передает его обработчику.
4. .NET Framework выполняет обработку запроса.
5. ASP.NET компилирует запрашиваемый устройством доку-
мент.
6. .NET Mobile. Реализует элементы Web-страницы с учетом
требований конкретного типа мобильного устройства.
7. Web-страница возвращается обратно клиентскому устрой-
ству.
Выводы
1. Подробно рассмотрена история развития технологии AJAX
и ее структура.
2. Дана характеристика базовому объекту XmlHttpRequest в
технологии AJAX.
3. Изучены вопросы безопасности AJAX-безопасности.
4. Рассмотрен инструментарий для разработки AJAX-
приложений.
5. Изучены принципы разработки мобильных Web-
приложений.
Вопросы для самопроверки
1. Охарактеризуйте структуру технологии AJAX.
2. На каких принципах базируется технология AJAX?
3. Каким образом развивалась технология AJAX?
4. Дайте характеристику базовому объекту технологии AJAX –
XmlHttpRequest.
5. Какие факторы сочетаются в AJAX-приложениях?
6. Охарактеризуйте принцип использования объекта
XmlHttpRequest в AJAX-приложениях.
7. В каких форматах возможен ответ при выполнении запроса
HTTP с помощью объекта XmlHttpRequest?
8. Какие компоненты входят в AJAX? Дайте их характеристи-
ку.
106

9. Какими преимуществами обладает технология AJAX при
разработке Web-приложений?
10. С какой целью применяется технология AJAX для разра-
ботки Web-приложений?
11. Каким образом осуществляется защита AJAX-
приложений?
12. Охарактеризуйте инструментарий для разработки AJAX-
приложений.
13. Дайте характеристику процессу разработки мобильных
Web-приложений.
Литература и Internet-ресурсы
Основная: [2, 4].
Дополнительная: [1].
Internet-ресурсы: [7].
8. XML КАК ТЕХНОЛОГИЯ РАЗРАБОТКИ
INTERNET-ПРИЛОЖЕНИЙ
План
8.1. Введение в технологию XML.
8.2. Стандартизация основных направлений XML-технологий.
8.3. Структура XML-документа
8.3.1. Основные синтаксические правила построения XML-
документов.
В 1986 году, задолго до того, как идея создания сети Internet
была воплощена в жизнь, универсальный стандартизированный
язык разметки SGML (Standardized Generalized Markup Language)
был утвержден в качестве международного стандарта (ISO 8879)
определения языков разметки, хотя SGML существовал еще с конца
шестидесятых. Он использовался для того, чтобы описывать языки
разметки, предоставляя при этом автору возможность давать формальные определения каждому элементу и атрибуту языка.
Язык HTML первоначально был всего лишь одним из SGML-
приложений. Он описывал правила, по которым должна быть под-
107

готовлена информация для World Wide Web. Таким образом, язык
HTML – это набор предписаний SGML, сформулированных в виде
определения типа документа (DTD), объясняющих, что именно
обозначают тэги и элементы. Схема DTD для языка HTML хранится в Web-браузере.
К недостаткам языка HTML можно отнести следующие:
1. HTML имеет фиксированный набор тэгов. Нельзя созда-
вать свои тэги, понятные другим пользователям.
2. HTML – это исключительно технология представления дан-
ных. HTML не несет информации о значении содержания, заключенного в тэгах.
3. HTML – «плоский» язык. Значимость тэгов в нем не опре-
делена, поэтому с его помощью нельзя описать иерархию данных.
4. В качестве платформы для приложений используются брау-
зеры. HTML не обладает достаточной мощью для создания Web-
приложений на том уровне, к которому в настоящее время стремятся Web-разработчики. Например, на языке HTML невозможно
разработать приложение для профессиональной обработки и поиска документов.
5. Большие объемы трафика сети. Существующие HTMLдокументы, используемые как приложения, перегружают Internet
большими объемами трафика в системах клиент-сервер. Примером
может служить пересылка по сети большого по объему документа,
в то время как пользователю необходима только небольшая часть
этого документа.
Таким образом, с одной стороны, язык HTML является очень
удобным средством разметки документов для использования в
Web, а с другой – документ, размеченный в HTML, имеет мало
информации о своем содержании. Если тот или иной документ
несет достаточно полную информацию о своем содержании, появляется возможность сравнительно легко провести автоматическую
обобщенную обработку и поиск в файле, хранящем документ.
Язык SGML позволяет сохранять информацию о содержании документа, однако вследствие особой сложности он никогда не использовался так широко, как HTML.
Для создания подмножества языка SGML, которое могло бы
быть принято Web-сообществом, была организована специальная
108

группа экспертов по языку SGML, возглавляемая Джоном Боузэком (Jon Bosak) из компании Sun Microsystems.
8.1. Введение в технологию XML
Рабочая группа по разработке XML была сформирована в
1996 году и при разработке нового языка должна была обеспечить
решение набора требований:
- XML должен быть пригоден как для использования в
Internet, так и поддерживать широкий круг возможных других
применений;
- XML должен быть простым языком, но при этом совмести-
мым с SGML;
- XML документы должны легко создаваться, читаться и быть
понятны людям, просто обрабатываться программно;
- процедура построения XML документа должна быть фор-
мальной и точной, количество факультативных свойств должно
быть минимально, а возможно вообще сведено к нулю.
Важно отметить, что условие обеспечения краткости описания
перед XML не ставилась.
В рекомендации XML возможность его использования в Internet была поставлена на первое место. Однако, как это часто бывает, жизнь распорядилась по-своему. В настоящее время в Internet
существует целый ряд сайтов, разработанных на «чистом» XML.
HTML сам стал эволюционировать в сторону XML. В нем появилась возможность разделения описания и представления информации за счет включения CSS (Cascading Style Sheets – каскадных таблиц стилей (хотя, если переводить дословно, то каскадных
листов стилей)).
Развивались технологии совместного использования HTML с
целым рядом языков программирования, что позволило обеспечить динамичное представление информации, связь с базами данных. Браузеры превратились из программ отображения HTML страниц в мощную среду исполнения.
Для HTML 4 был разработан справочник на основе DTD (см.
лекцию «Document Type Definition»), который является составной
частью XML технологии, т. е. HTML стал одной из реализаций
XML (хотя полностью, 100 %, это можно говорить только применительно к XHTML).
109

XML, не заменив HTML, развивался как язык описания информации, став в этом направлении по сути стандартом де-факто.
Особенно он эффективен при описании информации, имеющей
иерархическую структуру, что очень хорошо отражает взаимоотношения в реальной жизни, в реальных процессах.
XML (eXtensible Markup Language) – рекомендованный W3C
язык разметки. XML – текстовый формат, предназначенный для
хранения структурированных данных, для обмена информацией
между программами, а также для создания на его основе специализированных языков разметки. XML является упрощённым подмножеством языка SGML.
Язык XML имеет следующие достоинства:
- человеко-ориентированный формат документа, он понятен
как человеку, так и компьютеру;
- поддерживает Юникод;
- в формате XML могут быть описаны основные структуры
данных – такие как записи, списки и деревья;
- самодокументируемый формат, который описывает струк-
туру и имена полей также как и значения полей;
- имеет строго определённый синтаксис и требования к анали-
зу, что позволяет ему оставаться простым, эффективным и непротиворечивым;
- широко используется для хранения и обработки документов;
- это формат, основанный на международных стандартах;
- иерархическая структура XML подходит для описания прак-
тически любых типов документов;
- представляет собой простой текст, свободный от лицензиро-
вания и каких-либо ограничений;
- не зависит от платформы;
- является подмножеством SGML, для которого накоплен боль-
шой опыт работы и созданы специализированные приложения.
К известным недостаткам языка можно отнести следующие:
- синтаксис XML избыточен;
- размер XML документа существенно больше бинарного
представления тех же данных (порядка 10 раз);
- размер XML документа существенно больше, чем документа
в альтернативных текстовых форматах передачи данных (напри-
110
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
