Технология ASP.NET AJAX
Термин Ajax был введен в 2005 году в статье Jesse James Garrett. Первоначально он использовался для обозначения семейства взаимосвязанных технологий, реализующих различные формы удаленного исполнения сценариев. В наши дни все разновидности удаленных сценарных технологий обычно помечаются префиксом AJAX. Современные решения на базе AJAX для платформы Windows основаны на объекте XmlHttpRequest.
В AJAX-приложениях сочетаются два фактора. С одной стороны, приложение должно передавать пользователям свежие данные, полученные с сервера. С другой стороны, новые данные должны интегрироваться в существующую страницу без ее полного обновления.
Браузер обычно выдает новый запрос при отправке формы HTML, инициированной либо сценарием, работающим на стороне клиента, либо действием пользователя (скажем, щелчком на кнопке). Получив ответ, браузер заменяет старую страницу новой.
Основным фактором, заложенным в основу удаленного исполнения сценариев, является возможность выдачи внеполосных запросов HTTP. В данном контексте под внеполосным вызовом понимается запрос HTTP, который выдается за пределами встроенного модуля, обеспечивающего отправку форм HTTP. Внеполосный вызов инициируется событием страницы HTML и обслуживается компонентом-посредником (proxy component). В новейших AJAX-решениях таким посредником является объект XmlHttpRequest ; в самых первых реализациях RS им был апплет Java
Данная технология построена на принципе выполнения запроса к серверу с использованием JavaScript и получению результата опять же, с помощью JavaScript, что позволяет избежать перегрузки страницы и следовательно имеет несколько неоспоримых преимуществ:
- На сервер отправляются не все элементы страницы (точнее не их значения), а только те минимальные данные, которые необходимы для выполнения того или иного запроса и в ответ принимается не вся страница, а только необходимые данные, что позволяет уменьшить трафик в десятки (а иногда и в сотни) раз.
- Не происходит перегрузка страницы в браузере и у пользователя создается впечатление, что все происходит на его компьютере.
Объектная модель браузера
Мы решили дать краткую характеристику спецификации DOM, необходимую для понимания последующего материала и не только в рамках данной лекции.
Document Object Model (DOM) – это спецификация, стандартизированная W3C комитетом, которая является кроссплатформенной и описывает вызовы и описания, касающиеся действиям с самим документом, его структурой, HTML, XML и стилями. Как следует из названия, основой спецификации DOM являются объекты.
Спецификация DOM (Document Object Model) определяет общий интерфейс обновления содержимого, структуры и стиля документов HTML и XML, не зависящий от языка и платформы. Стандарт DOM получил признание и был ратифицирован комитетом W3C, поэтому сейчас он поддерживается все большим количеством браузеров. DOM определяет стандартный набор объектов для представления элементов, образующих документы HTML и XML. Совокупность этих объектов образует стандартный интерфейс для работы с элементами страниц HTML, или на более общем уровне — документов XML.
Следует заметить, что хотя первые работоспособные прикладные среды удаленного исполнения сценариев появились около десяти лет назад, ограниченная поддержка динамического изменения отображаемого документа в браузере тормозила массовое принятие таких технологий в масштабах отрасли. До сегодняшнего дня.
Общие сведения о ASP.NET AJAX
Возможности AJAX в ASP.NET позволяют быстро создавать веб-страницы с обогащенным пользовательским интерфейсом, содержащим известные элементы пользовательского интерфейса. К числу возможностей AJAX относятся библиотеки клиентских сценариев, включающие не зависящие от обозревателя технологии ECMAScript (JavaScript) динамического HTML (DHTML), также интеграцию с серверной платформой разработки ASP.NET. Используя возможности AJAX, можно улучшить пользовательский интерфейс веб-приложений и повысить их эффективность.
Приложения с поддержкой AJAX обладают следующими достоинствами:
- повышенная эффективность благодаря тому, что значительная часть обработки веб-страницы выполняется в обозревателе;
- знакомые элементы пользовательского интерфейса, такие как индикаторы хода выполнения, подсказки и всплывающие окна;
- частичное обновление страницы, при котором обновляются лишь отдельные части изменившейся веб-страницы;
- интеграция клиента со службами приложения ASP.NET для проверки подлинности с помощью форм, управления ролями и пользовательскими профилями;
- автоматически создаваемые прокси-классы, упрощающие вызов методов веб-службы из клиентского сценария;
- структура, позволяющая настраивать серверные элементы управления для включения клиентских возможностей;
- поддержка наиболее популярных и распространенных обозревателей, включая Microsoft Internet Explorer, Mozilla Firefox и Apple Safari.
Архитектура возможностей AJAX в ASP.NET
Архитектура возможностей AJAX в ASP.NET состоит из двух частей: библиотек клиентских сценариев и серверных компонентов. Благодаря интеграции этих двух частей образуется надежная структура разработки.
Рис 3.1демонстрирует функциональность клиентской Microsoft AJAX (библиотека), включающей поддержку создания клиентских компонентов, совместимость с обозревателями, сетевые и базовые службы. Также показана функциональность серверных элементов AJAX, включая поддержку сценариев, веб-службы, службы приложения и серверные элементы управления. В следующих разделах эти возможности описаны более подробно.
AJAX, как практически все в Интернет - технологиях, можно условно разделить на AJAX на стороне клиента и AJAX на стороне сервера. Рассмотрим более подробно эти составляющие.