Насыщенные интернет-приложения


Насыщенные интернет-приложения

Rich Internet application (RIA, «богатое Интернет-приложение» ) — это приложение, доступное через Интернет, богатое функциональностью традиционных настольных приложений, не поддерживаемой браузерами непосредственно. Как правило, приложение RIA:

  • передаёт веб-клиенту необходимую часть пользовательского интерфейса, оставляя большую часть данных (ресурсы программы, данные и пр.) на сервере;
  • запускается в браузере и не требует дополнительной установки ПО;
  • запускается локально в среде безопасности, называемой «песочница» (sandbox).

Содержание

История

Термин «RIA» впервые был упомянут компанией Macromedia в официальном сообщении от марта 2002 года. Эта концепция существовала несколькими годами ранее со следующими названиями:

  • Remote Scripting, 1998 года
  • X Internet, Forrester Research в октябре 2000 года
  • Rich (web) client
  • Rich web application

Работа традиционных веб-приложений сконцентрирована вокруг клиент-серверной архитектуры с тонким клиентом. Такой клиент переносит все задачи по обработке информации на сервер, а сам используется лишь для отображения статического контента (в нашем случае HTML). Основной недостаток этого подхода в том, что все взаимодействие с приложением должно обрабатываться сервером, что требует постоянной отправки данных на сервер, ожидания ответа сервера, и загрузки страницы обратно в браузер. При использовании технологии запуска приложений на стороне клиента, RIA могут обойти этот медленный цикл синхронизации за счет большего взаимодействия с пользователем. Эта разница примерно аналогична разнице между клиент-серверной архитектурой и архитектурой с «толстым клиентом» (Fat client), а также между терминалом и мейнфреймом.

Постепенное развитие стандартов сети Интернет привело к возможности реализовать подобные технологии на практике, однако сложно провести четкую границу между тем, какие именно технологии включают в себя приложения RIA, и какие нет. Но все RIA имеют одну схожую особенность: они включают в себя некую промежуточную часть кода приложения, находящуюся между пользователем и сервером, которую обычно называют «движком клиента». Этот движок загружается в самом начале и в дальнейшем может догружаться по ходу работы приложения. Движок клиента выступает в роли надстройки браузера и обычно отвечает за отрисовку пользовательского интерфейса и взаимодействие с сервером.

То, что может быть выполнено RIA, может быть ограничено возможностями пользовательской системы. Но в целом, интерфейс пользователя создавался для выполнения функций, которые по надеждам разработчиков должны были улучшить пользовательский интерфейс и ускорить обработку пользовательских запросов, по сравнению с возможностями стандартного веб-браузрера. Также, простое добавление движка клиента не запрещает приложению уходить с нормальной синхронной модели взаимодействия браузера и сервера, большинство движков RIA позволяют выполнить дополнительные асинхронные запросы серверу.

Преимущества

Несмотря на то что разработка веб-приложений для браузера имеет ограничения, более сложна и запутана по сравнению с разработкой стандартных приложений, тем не менее, усилия обычно оправдываются потому что:

  • Не требуется установка приложения — обновление и распространение приложения — быстрый и автоматизированный процесс
  • Обновления версий автоматическое
  • Пользователи могут использовать приложение на любом компьютере, имеющем соединение с Интернет, причем обычно не важно какая операционная система на нем установлена
  • Веб-приложения гораздо меньше подвержены вирусному заражению, чем при запуске exe-файлов.

Поскольку RIA используют движок клиента для взаимодействия с пользователем, они:

Недостатки

Основными недостатками и ограничениями RIA являются:

Сложности разработки приложений

Появление технологии RIA сопровождалось значительными сложностями в разработке веб-приложений. Традиционные веб-приложения, созданные на основе стандартного HTML, имеющего сравнительно простую архитектуру и довольно ограниченный набор функций, были относительно просты в разработке и управлении. Лица и организации, внедряющие веб-приложения на основе технологии RIA, часто сталкиваются с дополнительными сложностями в разработке, тестировании, измерениях и поддержке.

Применение технологии RIA ставит новые задачи по управлению услугами SLM (service level management), не все из которых решены на сегодняшний день. Вопросы касательно SLM не всегда учитывается разработчиками приложений, и почти не воспринимаются его пользователями. Однако они жизненно важны для успешного внедрения приложения в сети Интернет. Основными аспектами, осложняющими процесс разработки RIA являются:

  • Большая технологическая сложность делает разработку труднее. Возможность передавать код приложения непосредственно клиентам дает большую творческую свободу разработчикам и дизайнерам. Но это, в свою очередь, усложняет разработку приложения, увеличивает вероятность ошибок при внедрении и затрудняет тестирование программного обеспечения. Эти осложнения удлиняют процесс разработки вне зависимости от специфики методологии и процесса разработки. Некоторые из этих проблем могут быть сокращены за счет использования каркаса программной системы под веб (web 'application 'framework) для стандартизации разработки RIA. Тем не менее, растущая сложность в программных решениях, может усложнить и удлинить процесс тестирования при увеличении числа тестируемых вариантов использования (use cases). Неполное тестирование снижает качество и надежность приложения в ходе его использования. Можно спорить о том, что замечание выше относится не только к RIA-технологии, но к сложности разработки в целом. Например, точно такой же аргумент приводился, когда Apple и Microsoft независимо друг от друга объявили о GUI в 1980х, и возможно даже тогда, когда компания Ford представила свою Model T. Тем не менее, человечество продемонстрировало замечательную способность впитывать все технологические новшества в течении десятилетий, если не столетий.
  • Архитектура RIA ломает парадигму веб-страницы. Традиционные веб-приложения представляют из себя набор веб-страниц, каждая из которых, требует отдельного скачивания, инициированного запросом HTTP GET. Эта модель была описана как парадигма веб-страницы. RIA ломает эту парадигму, внося дополнительный сервер асинхронной коммуникации для поддержки более интерактивного интерфейса. Должны быть разработаны новые технологии измерения для RIA, предоставляющие информацию о количестве потрченного времени. При отсутствии подобных стандартных средств, разработчики RIA должны добавить в свои приложения средсва измерения данных, необхоимые для SLM
  • Асинхронная коммуникация осложняет выявление проблем производительности. Парадоксально, но меры, принимаемые для снижения времени отклика приложения затрудняют само его определение, измерение и управление. Некоторые RIA не делают никаких дальнейших HTTP GET запросов из браузера после получения первой страницы, используя асинхронные запросы с помощью движка клиента для последующих загрузок. Клиент RIA может быть запрограммирован таким образом, чтобы постоянно загружать новый контент и обновлять дисплей, или (в приложениях использующих подход Comet) движок на стороне сервера может постоянно передавать новый контент браузеру через постоянно открытое соединение. В этом случае концепция «загрузки страницы» более не применима. Все это привносит определенные трудности в измерение и разделение времени отклика приложения, которые являются фундаментальными требованиями для изоляции проблем и SLM. Инструменты, созданные для измерения традиционных веб-приложений, в зависимости от специфики и инструментария приложения, могут рассматривать каждую веб-страницу, запрошенную по HTTP в отдельности, или как набор несвязанных между собой показателей. Однако, ни один из этих подходов не показывает, что в действительности происходит на уровне приложения.
  • Движок клиента усложняет измерение времени отклика приложения. Для традиционных веб-приложений, измерительное программное обеспечение может располагаться на машине клиентской и на машине, близкой к серверу, таким образом, оно может наблюдать за потоком сетевого трафика на TCP и HTTP уровнях. Поскольку это синхронизированные и предсказуемые протоколы, пакет со снифером может читать и интерпретировать данные пакетного уровня и выводить заключение о времени отклика с помощью средств отслеживания сообщений HTTP и времени подтверждения пакетов TCP на нижнем уровне. Но архитектура RIA уменьшает возможности подхода с использованием пакетного снифиинга, поскольку движок пользователя прерывает взаимодействие между клиентом и сервером на два отдельных цикла, работающих асинхронно — цикл переднего плана (пользователь-движок) и цикл заднего плана (движок-сервер). Оба этих цикла имеют важное значение, поскольку их общая взаимосвязь определяет поведение приложения. Но это отношение зависит только от построения самого приложения, которое в большинстве случаев не может быть спрогнозированно измерительными инструментами, в особенности первым, который может наблюдать только один из двух циклов. Поэтому наиболее полное измерение RIA может быть получено только с использованием инструментов, которые находятся на стороне клиента и наблюдателя в обоих циклах.

Wikimedia Foundation. 2010.

Смотреть что такое "Насыщенные интернет-приложения" в других словарях:

  • РИА (значения) — РИА: Организации Различные агенства: РИА  российское информационное агентство: РИА «Новости» РИА «РосБизнесКонсалтинг» РИА Ореанда РИА «Новый регион» РИА  региональное информационное агентство: РИА «7 новостей»  Рязанское информационно …   Википедия

  • РИА — РИА: Организации Различные агентства РИА  российское информационное агентство: РИА «Новости» РИА «РосБизнесКонсалтинг» РИА Ореанда РИА «Новый регион» РИА  региональное информационное агентство: РИА «Днестр»[1] РИА «7 новостей»[2] РИА …   Википедия

  • Риа (значения) — РИА: Организации Различные агенства: РИА  российское информационное агентство: РИА «Новости» РИА «РосБизнесКонсалтинг» РИА Ореанда РИА «Новый регион» РИА  региональное информационное агентство: РИА «7 новостей»  Рязанское информационно …   Википедия

  • РИА — редакционно информационное агентство РИА «Стандарты и качество» Источник: http://www.stq.ru/riasite/index.phtml?page=8&submenu= РИА рекламно информационное агентство Словарь: С. Фадеев. Словарь сокращений современного русского языка. С. Пб.:… …   Словарь сокращений и аббревиатур

  • Управление цветом — В системах цифрового представления цвета, управление цветом  это контролируемое преобразование между разными моделями представления цвета различных устройств, таких как сканеры, цифровые видеокамеры, мониторы, Экраны телевизоров, принтеры… …   Википедия

Книги

Другие книги по запросу «Насыщенные интернет-приложения» >>