Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Технологии разработки Internet-приложений. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
Технология 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 возможность его использования в Inter­net была поставлена на первое место. Однако, как это часто быва­ет, жизнь распорядилась по-своему. В настоящее время в 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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]