Rich internet application что это
Перейти к содержимому

Rich internet application что это

  • автор:

Насыщенные интернет-приложения Текст научной статьи по специальности «Компьютерные и информационные науки»

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Безъязыкова Н.А., Яковлева М.С., Багаева А.П.

Рассмотрены примеры технологий для создания насыщенных интернет-приложений, преимущества, недостатки, примеры веб-сайтов, проблемы и перспективы их разработки.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Безъязыкова Н.А., Яковлева М.С., Багаева А.П.

Rich Internet Application в качестве программного обеспечения: текущее состояние и перспективы
Обзор современных технологий создания RIA-приложений

Использование веб-ГИС-технологий для разработки информационно-вычислительных систем для анализа пространственно-привязанных данных

Особенности реализации архитектурного шаблона Thin web client на платформе Java ee 6
К вопросу о достижении максимальной производительности AJAX-приложений
i Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

RICH INTERNET APPLICATION

Reviewed еxamples of technologies for building rich Internet applications, advantages, disadvantages, examples of websites, problems and prospects of their development.

Текст научной работы на тему «Насыщенные интернет-приложения»

Н. А. Безъязыкова, М. С. Яковлева Научный руководитель — А. П. Багаева

Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева

Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31

Рассмотрены примеры технологий для создания насыщенных интернет-приложений, преимущества, недостатки, примеры веб-сайтов, проблемы и перспективы их разработки.

Ключевые слова: браузер, веб-сервер, приложение.

RICH INTERNET APPLICATION

N. A. Bezyazykova, M. S. Yakovleva

Scientific supervisor — A. P. Bagaeva

Reshetnev Siberian State Aerospace University 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660037, Russian Federation Е-mail: nataliya.bezyazykova@yandex.ru

Reviewed ехашр1ея of technologies for building rich Internet applications, advantages, disadvantages, examples of websites, problems and prospects of their development.

Keywords: browser, web server, application.

Общая тенденция к мобильности, а также повышение уровня требований к компьютерным программам различной направленности приводят к изменениям в сети Internet. И теперь web-приложения по своему функционалу приближаются к традиционным настольным приложениям. Всё это может ознаменовать наступление эры web-приложений нового типа, обогащенных веб-приложений или Rich Internet application [1].

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

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

• отсутствие необходимости устанавливать приложение на персональный компьютер;

• автоматическое обновление версий приложения;

• возможность использования приложения на любом устройстве, подключенному ксети Internet;

• возможность работы в приложении без предварительной установки на устройство, что помогает обезопасить его от заражения вирусами;

• более богатый и интерактивный пользовательский интерфейс;

• одновременно возможно проводить значительно большее количество сеансов за счет баланса между вычислительными ресурсами;

• возможность пользователя работать RIA-формой методом асинхронной коммуникации, при котором обмен данными между клиентом и сервером может осуществляться без ожидания пользователя [3].

Секция «Информационно-экономические системы»

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

• использование виртуальной машины может привести к неправильному взаимодействию с системными ресурсами;

• необходимость подключения активных сценариев в браузере с целью корректной работы приложения;

• скорость загрузки скрипта зависит от размера и типа передачи данных;

• возможность утраты целостности, вызванная конфликтами между целями приложения и X/HTML, если приложение основано на X/HTML;

• клиентская возможность изменения состояния программы может привести к некорректной работе приложения;

• непостоянство содержимого обогащенных приложений может привести к невозможности его индексации поисковыми системами;

• работа в насыщенном интернет-приложении напрямую зависит от состояния подключения к сети Internet;

• невозможность расширяемости обогащенных интернет-приложений [3].

Возможности Rich Internet application могут быть достигнуты с помощью AJAX, Adobe Flex, Windows Presentation Foundation, Flash, Java-апплетов, Java и некоторых декларативных языков, таких как XUL, MXML.

Наиболее распространенными известными технологиями для создания насыщенных интернет-приложений являются AJAX, AdobeFlash, AdobeFlex.

AJAX (асинхронный JavaScript и XML) представляет собой совокупность функционала языка JavaScript и объекта XML HttpRequest, что позволяет RIA получать данные с сервера и отображать их без перезагрузки страницы. Использование технологии AJAX позволяет значительно обогатить традиционные веб-страницы и сделать работу с ними более комфортной [5]..

AdobeFlash — это среда, позволяющая создавать Flash-приложения, основной особенностью которой является наличие иерархически-организованной временной шкалы, благодаря которой удается получать анимации различного уровня сложности. AdobeFlash обладает широким спектром возможностей создания и редактирования графики, импорта аудио- и видеофайлов. С помощью AdobeFlash можно создавать анимационные ролики и достаточно сложные интерактивные приложения [4].

AdobeFlex — это инструмент, позволяющий создавать Flash-приложения, но без применения временной шкалы. Кроме того, отличительной чертой является возможность использования языка разметки MXML, который позволяет задавать изменения состояний и переходы в декларативной форме. С помощью AdobeFlex создаются сложные интернет-приложения, применяющиеся для решения бизнес-задач или для повседневных целей [4].

Windows Presentation Foundation (WPF) — это система для построения клиентских приложений Windows с визуально привлекательными возможностями взаимодействия с пользователем. WPF позволяет создавать широкий спектр как настольных, так и насыщенных интернет-приложений. В основе WPF лежит векторная система создания графики, не зависящая от разрешения и созданная с расчетом на возможности современного графического оборудования. WPF расширяет базовую систему полным набором функций разработки приложений, в том числе Язык XAML (Extensible Application Markup Language), элементами управления, привязкой данных, макетом, двухмерной и трехмерной графикой, анимацией, стилями, шаблонами, документами, мультимедиа, текстом и оформлением. WPF входит в состав Microsoft .NET Framework и позволяет создавать приложения, включающие другие элементы библиотеки классов .NET Framework [5].

Примерами RIA веб-сайтов можно назвать сайт графического редактора Adobe Photoshop Express (URL: www.photoshop.com/express/), интернет-магазин новозеландских сыроделов (URL: www.whitestonecheese.co.nz), программное обеспечение для построения диаграмм (URL: http://visudemos.ilog.com/webdemos/charts3d/charts3d.html).

Развитию Rich Internet application препятствует ряд факторов, в первую очередь, связанных с отсутствием единого норматива для разработки, что ведет к некой изолированности между разработчиками. Также к сложностям можно отнести: высокий порог вхождения для разработчиков и незрелость инструментария.

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

и функционалом стандартного настольного приложения, находящегося в web-браузере. Кроме того, с помощью Rich Internet application возможно увеличение надежности и комфорта использования систем управления содержимым на новый уровень, который был доступен только стандартным настольным приложениям, что продолжит привлекать внимание всё новых пользователей и разработчиков, а значит, будет перспективно развиваться.

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

1. Rich Internet Application и контент-менеджмент // Cmsart.ru [Электронный ресурс]. URL: http://cmsart.ru/articles/html-articles/rich-internet-application-i-kontent-menedzhment (дата обраще-ния:20.12.2014).

2. RIA — Rich Internet Applications «Обогащенные интернет-приложения» // Официальный сайт компании DataArt [Электронный ресурс]. URL: http://www.dataart.ru/downloads/RIA_2.pdf (дата обра-щения:20.12.2014).

3. Обзор современных технологий создания RIA-приложений // Ресурс для IT-специалистов «Хабрахабр» [Электронный ресурс]. URL: http://habrahabr.ru/post/84320/ (дата обращения: 20.12.2014)

4. Константин Ковалев. RIA — значит свобода // Мир ПК. 2008. № 3 [Электронный ресурс]. URL: http://www.osp.ru/pcworld/2008/03/4950952/ (дата обращения: 20.12.2014).

5. Введение в WPF // Официальный сайт Microsoft [Электронный ресурс]. URL: http://msdn.microsoft.com/ru-ru/library/aa970268(v=vs.110).aspx (дата обращения: 20.12.2014).

© Безъязыкова Н. А., Яковлева М. С., 2015

Rich Internet Application в качестве программного обеспечения: текущее состояние и перспективы Текст научной статьи по специальности «Компьютерные и информационные науки»

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Алферов В. Б., Карташов А. Г.

Насыщенные интернет-приложения
Обзор современных технологий создания RIA-приложений
Система проведения соревнований и проверки решений задач по программированию
Проблема устаревания информационных систем
Особенности реализации архитектурного шаблона Thin web client на платформе Java ee 6
i Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Rich Internet Application в качестве программного обеспечения: текущее состояние и перспективы»

Алферов В. БКарташов А. Г. RICH INTERNET APPLICATION В КАЧЕСТВЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ: ТЕКУЩЕЕ СОСТОЯНИЕ И ПЕРСПЕКТИВЫ

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

В настоящее время объединение различных вычислительных устройств, имеющих операционную систему (ОС), в сеть сейчас стало обычным делом. Развитие интернет-приложений происходит бурными темпами. Все больше пользователей ожидают, что Всемирная паутина (World Wide Web, WWW, веб) будет динамичной вследствие более быстрых каналов связи и переходу к мультимедийным технологиям. Таким образом, в компьютерной индустрии становится потребность в создании нового типа приложений, которые могут предоставить возможность динамического взаимодействия в сети.

Веб-приложения по удобству использования становятся все ближе к настольным приложениям. Данная тенденция с нарастающей прогрессией охватывает Интернет и уже сегодня можно говорить о наступлении эры веб-приложений нового типа, обогащенных веб-приложений или RIA.. Появившаяся несколько лет назад концепция «Богатых Интернет-Приложений» — Rich Internet Application (RIA) позволяет создавать приложения, независящие от представительского уровня, данные которого поставляются через интернет-подключение. Богатое веб-приложение — современная модель взаимодействия в приложении, которое выглядит и функционирует как настольное приложение, но располагается в веб-браузере.

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

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

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

Вначале сеть использовалась для информирования пользователями друг друга, но теперь она также очень эффективно используется для поддержки и развлечений. Богатые Интернет-Приложения (RIA) являются новым поколением приложений, которые появились, получив лучшее как из сетевых, так и из традиционных десктопных прикладных программ.

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

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

Co glc Doc» A Untitled »pr*adtb**t -t4» I Оиа-ttgt 1 »83С-ЙЙ WroKh -r. I * 5-*.* 4 »»«

г» г. 1 (U fy Гола*• ■ / u J- it- W • О X **•«• •**«»* о**»- / ип»т«< Э A • С 0 • 9 0 ■

■Mm* Imtl : Otrmt sotn 4i02«imn»Ac«xcn > Murt btfMtvtntMc* com ■1

Рис. 1 — Google spreadsheets

Некоторыми общими методиками RIA являются:

Динамически меняющийся клиент и асинхронная передача данных

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

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

Асинхронные службы данных выполняются негласно, в то время как пользователь ский интерфейс все еще доступен для пользователя. Пользователь может не знать, что был вызван удаленный метод сервиса. Это дает возможность пользователю продолжить использовать приложение без резких переходов, что позволяет чувствовать, как будто он работает за десктопной прикладной программой.

Дополнительно, асинхронные службы данных обычно содержат только данные, никаких объявлений пользовательского интерфейса. Это уменьшает размер запросов на сервер, и часто приводит к уменьшенной загрузке сервера и лучшему отклику интерфейса. Клиент-приложение не освобождает свое место, когда запрос сервиса был сделан. Пользователь в это время может продолжить работать с приложением.

Также не требованием, а общей парадигмой, осуществленной в пределах богатых интернет-приложений, является перетаскивание — «Drag-and-Drop». Если выяснять, что проще: печатание информации в связку

форм, или перемещение элемента на форму с последующим автоматическим заполнением информации, то ответом будет перетаскивание. Эта методика варьируется на основе исполнений и ограничений, но ее преимущества видны. Возможность перетаскивания не существовала в господствующих сетевых приложениях до «Революции RIA». Теперь она повсюду.

Черчение и аналитические инструментальные средства

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

На сегодняшний день существующими популярными технологиями для создания RIA являются Adobe Flash, Flex, AJAX, Microsoft Silverlight и Java. Многие из технологий Богатых Интернет-Приложений обеспечивают способность выполнить RIA на настольном компьютере как обычную прикладную программу. Adobe предоставляет Adobe AIR — технологию, расширяющую Adobe Flash Player, и включающую поддержку AJAX и формат PDF. Это позволяет встраивать Богатые Интернет-Приложения, которые работают на настольном компьютере, как родные приложения на любой ОС. Microsoft предлагает Windows Presentation Foundation (WPF), JavaFX позволяет выполнять приложения Java локально, Mozilla предлагает Prism, и Google предлагает Google Gears. Все эти технологии соединяют промежуток между RIA и традиционным настольным компьютером.

Модель RIA является очень хорошей, но часто недооцениваемой в применении для SaaS (Software as a Service — концепция «программа как сервис») приложений.

RIA — приложения, расположенные удаленно на веб-серверах, обладают следующими преимуществами:

возможность повсеместной работы с приложением посредством любых браузеров, независимо от установленной ОС;

приложения не требуют никакой инсталляции на стороне клиента,

приложения своевременно и симметрично обновляются

экономия времени и финансов по управлению аппаратными средствами и средствами репликации данных

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

e*RIA — первое интегрированное программное решение для того, чтобы систематизировать весь процесс развивающихся законопроектов и других инструкций через лучший дизайн, RIA, консультацию заинтересованных лиц, и контроль качества так, чтобы правительства могли произвести более качественные, более рыночно-ориентированные правила за меньшую стоимость. Чтобы произвести эту инновационную платформу электронного правительства, были использованы ресурсы ведущего технологического поставщика услуг в сфере электронного правительства. Схема проекта представлена на рисунке 2.

Рисунок 2 — схема e*RIA

e*RIA — платформа электронного правительства, спроектированная с учетом реального опыта и лучших методов ОЭСР (Организация экономического сотрудничества и развития), и дополненная в соответствии с решениями, уже осуществленными в Мексике.

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

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

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

ных лиц. Это может быть спроектировано, чтобы произвести сетевой реестр регулирований, чтобы развернуть доступ для фирм и граждан.

регуляторы справок через процесс рассмотрения, форматирования, и передачи проекта к регулируему предмету надзора (регулирующий обзор и функция управления, рекомендуемая ОЭСР).

Системы и приложения, ориентированные на пользователя, очень важны, и разработчики должны быть в состоянии обеспечить пользователям максимум интерактивности, возможность выполнять их задачи наиболее естественно. Интерфейс не должен становиться препятствием между работниками и действительностью, которую они в рамках своей деятельности регулярно транслируют через этот интерфейс в информационные системы средствами чисел, слов и предложений.

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

Исследовательские и традиционные модели Forrester Research показывают, что хорошо спроектированные RIA могут привести к великолепным результатам, которые могут помочь доказать важность текущих инвестиций, дать аргументы за будущие проекты RIA. Богатые Интернет-Приложения создают выгоду: Бизнес-менеджерам

увеличивают удовлетворение клиентов;

доступны каждому практически на любой платформе;

уменьшают время вывода на рынок инновационных решений;

увеличивают доход с помощью приложений, уменьшающих отказ процесса и позволяющих выполнять интуитивное самообслуживание;

позволяет пользователям, делать более обоснованные решения и быстрее отвечать на изменения; Информационным технологиям

расширяют бизнес-процессы до богатых пользовательских интерфейсов;

создает более интерактивный, динамический, и привлекательный пользовательский опыт; увеличивает удовлетворение клиента и делает пользователей более продуктивными; использует языки программирования отраслевого стандарта и шаблоны дизайна;

эффективное создание богатых приложений, используя высокопроизводительную, соответствующую стандартам, модель программирования;

объединение богатых элементов управления данными, визуальных переходов, и интегрированных компонентов мультимедиа;

настраивает впечатление и ощущение от использования программы, используя основанную на CSS модель интерфейсов и стилей;

Прогнозируя развитие RIA втечение 4 лет, некоторые эксперты делают заключения, что к 2010 году по крайней мере 60 процентов новых прикладных проектов будут включать технологию RIA. Кроме того, дается нижеследующая оценка по развитию дальнейшему технологий.

Победа в гонке технологий

В возможностях построения эффективного пользовательского интерфейса выигрывают продукты Adobe. Это происходит благодаря удачной конструкции и распространенности flash player в различных операционных системах и браузерах. Microsoft видит реальную угрозу своему бизнесу со стороны RIA, но в этой гонке совместимость будет слабой стороной ее программных продуктов. Microsoft фокусирует WPF прежде всего на браузер Internet Explorer в операционной системе Windows с надеждой, что WPFE (Windows Presentation Foundation, Everywhere) начнет получать долю на рынке через другие не-Microsoft системы. Несмотря на то, что Windows есть на большом количестве настольных компьютеров, возрастающий рост мобильных платформ, популярность Mac и других систем создадут большие сложности в совместимости для внедряемой платформы Silverlight, которая использует аппаратные ресурсы компьютера.

Также не лишена недостатков и технология AJAX. Многие разработчики при ее использовании имели большие проблемы с совместимостью, производительностью, масштабируемостью, или временем разрабоки. Проблемы прежде всего базируются вокруг совместимости. У каждой ОС и браузера есть небольшие нюансы, которые делают почти невозможным единичное написание программы (особенно на большом, сложном развертывании). Разработчики пишут различные варианты чтобы обойти несогласованности браузера. Таким образом, эксперты считают, что из-за проблем с совместимостью остальных технологий, лидирующими будут продукты фирмы Adobe.

Большая часть технологии выполняет 99 % того, что требуется сегодняшним потребителям и компаниям. Задача стоит не в создании новых платформ, а в расширении текущих к их полному потенциалу. Преобладающие платформы — flash player, javascript, WPF, или некоторые другие появляющиеся технологии, будут включать расширения с трехмерной производительностью, методами разработки, компонентным представлением проектируемой системы, измерением, и приложениями, которые поддерживают случайно подключаемые функциональные возможности.

Трехмерные среды могут позволить создать очень захватывающие конфигураторы продуктов, виртуальные миры и навигационные системы. Однако, достижение трехмерности должно быть сделано очень тщательно, интерфейсы не должны быть сложны или слишком футуристичны. Следующие версии flash player должны включать немного поддержки пространственному рендерингу чтобы не отставать от WPF.

Аппаратная поддержка ускорения поможет flash player, но, это не панацея для большинства сетевых приложений. С аппаратным ускорением получается выигрыш в производительности, но проигрыш в совместимости. При выборе платформы необходимо соблюдать баланс между этими факторами.

Стандарты для индексирования RIA находятся в их начальном развитии. Некоторые компании имеют инструментальные средства измерения, но они останавливаются в html. У этих средств существуют трудности в отслеживании случайно управляемой структуры RIA. Измер Индексирование будет важно для принятия технологии, таким образом, компании смогут усилить и измерить свой доход в инвестициях.

Усиление технологий RIA

По мнению экспертов, RIA взяла на удивление медленный старт. В действительности, большинство компаний очень самоцентрированны и создают несоответствующую коммуникацию для своих клиентов. Персонализация, упрощение и изысканность будут следующей волной потребителя, правительства и корпоративных приложений.

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

1. O’Reilly — Inside RIA

Rich Internet Application и управление контентом

Ныне модно говорить о Web 2.0. В то время как идея коллективного разума, заложенная в это определение его же автором Тимом О’Рейли, по-прежнему остается темой досужих разговоров, нельзя не заметить, что всемирная паутина меняется. Веб-приложения по удобству использования становятся все ближе к настольным приложениям. Данная тенденция с нарастающей прогрессией охватывает Интернет и уже сегодня можно говорить о наступлении эры веб-приложений нового типа, «обогащенных» интернет-приложений или RIA. Впрочем, популярность таких терминов как Web 2.0 и RIA столь высока, что разработчики спешат повесить привлекательные ярлычки на свои продукты, порой толком не разбираясь в том, что подразумевается под этими терминами. Так, что же такое RIA на самом деле?

Термин Rich Internet Applications (RIA) впервые был упомянут в рекламных материалах компании Macromedia в марте 2002 года. Менеджеры Macromedia тем самым подчеркнули, что хорошо известная технология Flash – это не только способ получения красочных визуальных эффектов на сайтах, но и инструмент создания полноценных бизнес-приложений на базе Web. Статические страницы сайтов старого типа предоставляют информацию пользователю и имеют весьма скудные возможности, в сравнении настольными приложениями, для организации взаимодействия пользователя с этой информацией. Когда вы запрашиваете дополнительную информацию (выполняете навигацию по сайту) или передаете данные на сервер, происходит перегрузка страниц сайта. Это неудобно, но так же и не безопасно, так как в момент перегрузки страниц можно потерять данные (скажем, из-за утери соединения с сервером). Однако именно так устроен Web 1.0. Сервер получает инструкции, когда вы набираете адрес страницы или сохраняете данные в вебформе. На их основе сервер формирует страницу, которую вы затем увидите. В обогащенных интернет-приложениях перегрузки страниц не требуется. Когда вы нажимаете кнопку для получения дополнительной информации или для отправки данных, сервер получает соответствующие инструкции и возвращает на страницу результаты своей работы. Программа на странице получает ответ севера и изменяется соответствующим образом.

К примеру, если вы просматриваете каталог продукции в электронном магазине старого образца вы будете вынуждены ожидать перегрузку и формирование новой страницы при каждом нажатии кнопки «следующие 20 товаров». На сайте, построенном в традициях RIA вы сможете запросить выборку товаров с 50-80 позиции или же всех товаров отвечающих заданному диапазону цен. При этом страница сайта будет оставаться неизменной, но список с товарами будет меняться при каждом новом запросе.

Сегодня реализация «обогащенных» интернет-приложений возможна посредством AJAX, Adobe Flex, Windows Presentation Foundation, Flash, Java-апплетов, Java и некоторых декларативных языков, таких как XUL, MXML. Из всех перечисленных инструментов широчайшую популярность приобрели лишь AJAX и Flash – в первую очередь, благодаря их доступности. Причем, если создание приложений целиком во Flash весьма ресурсоемкий и дорогостоящий процесс, разработка с применением AJAX едва ли занимает больше времени, нежели разработка классических сайтов старого типа. В большинстве современных проектов Flash используется лишь по мере необходимости. Как, например, на сайте журнала Elle (http://www.elle.ru/).

Уже в самом названии AJAX (асинхронный JavaScript и XML) отражена суть технологии. Она позволяет клиентской и серверной сторонам веб-приложения взаимодействовать асинхронно. Т.е. ваш браузер может обратиться к серверу в любой момент времени (скажем, когда вы навели мышь на ссылку в тексте) и, наоборот, сервер может передать данные браузеру в любой момент, а не только лишь тогда, когда запрашивается новая страница. Как это бывает на практике?

Одно из наиболее популярных применений AJAX – реализация в Web технологии drag & drop («перетянул и оставил»). Вы наверняка уже видели сервисы виртуального рабочего стола, такие как www.netvibes.com, www.pageflakes.com, www.yourminis.com или, по крайней мере, www.pusk.ru. Они позволяют нам располагать виджеты (полезную информацию с других серверов) на экране, настраивать их размеры таким же образом, каким мы привыкли делать это с окнами Microsoft Windows.

Данные возможности постепенно мигрируют и в бизнес-приложения. Так, к примеру, на портале www.atlas.cz пользователи могут настраивать стартовую страницу с той же легкостью, как и в случае виртуального рабочего стола.

Благодаря возможности конструировать внешний вид страниц из заранее заготовленных дизайн-шаблонов, пользователи CMS (систем управления контентом) теперь меньше зависят от разработчиков их сайтов. Администратор CMS может расположить различные информационные блоки в рамках заданной страницы с помощью мыши, задать их размеры, цвет и прочие атрибуты и сохранить состояние страницы, чтобы пользователи сайта видели ее в заданном виде. Однако еще большие преимущества администраторам CMS дает Drag&Drop при управлении содержанием сайта. В современной CMS для того, чтобы задать новое положение для документа в структуре или же для записи в списке, достаточно лишь «зацепить» эту позицию мышью и «перетащить» на новое место. Точно так же, как это делается с файлами в Проводнике Microsoft Windows.

Как уже было сказано, в «обогащенных» интернет-приложениях нет необходимости загружать сразу все данные. Их можно будет «догрузить» тогда, когда они потребуются пользователю. Например, при переходе в интерфейс управления структурой сайта в CMS загружается лишь первый уровень дерева структуры. Однако если пользователь пожелает раскрыть какую-либо ветвь дерева, ее данные будут «догружены» в тот же момент.

Данная возможность еще более востребована при управлении списками. Приложение возвращает в интерфейс лишь тот диапазон записей, который пользователь запросил. Более того, даже формы ввода данных обретают новые черты. В современных веб-приложениях всё чаще встречается форма ввода строки данных, известная благодаря популярному сервису Google Suggest. Как только вы начинаете набирать что-либо в этой форме, под ней появляется выпадающий список с запросами, содержащими набранную подстроку. Те, кому приходилось выбирать, скажем, производителя товаров посредством нескончаемого выпадающего списка в SELECT, могут оценить эффективность новой формы.

Отсутствие необходимости перегрузки страницы при любом действии пользователя меняет представление о веб-интерфейсах. Вы можете вносить данные в нескольких формах на странице, размещенных, скажем, на различных «закладках». Затем все введенные данные можно одновременно отправить на сохранение. И обратите внимание: если отправленные данные по какой-либо причине (обрыв соединения с сервером, внутренняя ошибка и т.д.) не будут сохранены, интерфейс сообщит вам об этом и позволит повторить попытку. А ведь ненадежность передачи данных была одним из основных недостатков веб-интерфейсов старого образца.

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

Возможности RIA поднимают надежность и удобство использования систем управления контентом на новый уровень, уровень, ранее доступный лишь настольным приложениям. Однако следует помнить, что интерфейсы эпохи RIA способны взаимодействовать не только с собственным серверным программным обеспечением, но и со сторонними приложениями. Это обстоятельство позволяет надеяться, что нынешние CMS постепенно будут развиваться в сторону ECM (управление корпоративным контентом) и, соответственно, начнет сокращаться разрыв между сайтами компаний и информационными ресурсами их корпоративных сетей.

Rich Internet Application

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

Как правило, приложение RIA:

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

В настоящее время тремя наиболее распространенными подобными платформами являются Adobe Flash, JavaFX и Microsoft Silverlight с уровнем проникновения 96 %, 70 % и 70% соответственно (по состоянию на июль 2012 года) [1] .

История

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

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

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

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

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

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

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

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

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

  • Богаче. RIA предлагают пользовательский интерфейс, не ограниченный лишь использованием языка HTML, применяемого в стандартных веб-приложениях. Расширенная функциональность позволяет использовать такие возможности пользовательского интерфейса, как drag-and-drop, использование ползунка для изменения данных, а также возможность производить вычисления, которые не отправляются обратно на сервер, а выполняются прямо на машине пользователя (например, ипотечный калькулятор).
  • Более интерактивные. Интерфейсы RIA более интерактивны, чем стандартные интерфейсы веб-браузеров, которые требуют постоянного взаимодействия с удалённым сервером.
  • Наиболее сложные приложения RIA предлагают внешний вид и функциональность, близкие к настольным приложениям. Использование движка клиента позволяет добиться и других преимуществ в производительности:
  • Сбалансированность клиент-сервера. Использование вычислительных ресурсов клиента и сервера лучше сбалансировано. Поэтому сервер не должен быть «рабочей лошадкой», как в традиционных веб-приложениях. Это освобождает вычислительные ресурсы сервера, позволяя обрабатывать большее количество сессий одновременно за счёт одного и того же аппаратного обеспечения.
  • Асинхронная коммуникация. Движок клиента может взаимодействовать с сервером, не дожидаясь, пока пользователь совершит действие в приложении, нажав на кнопку или ссылку. Это позволяет пользователю просматривать страницу и взаимодействовать с ней асинхронно с помощью коммуникации между движком и сервером. Эта возможность позволяет разработчикам RIA передавать данные между клиентом и сервером без ожидания пользователя. В Google Maps эта техника используется для того, чтобы подгружать прилегающие сегменты карты, прежде чем пользователь пролистает, чтобы их посмотреть.

Недостатки

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

  • «Песочница». Поскольку RIA загружаются в локальной среде безопасности — «песочнице» — они имеют ограниченный доступ к системным ресурсам. Если права на доступ к ресурсам некорректны, RIA могут работать неправильно.
  • Подключение скриптов. Как правило, для работы RIA требуется JavaScript или другие скриптовые языки. Если пользователь отключил активные сценарии в своем браузере, RIA может не функционировать должным образом или вообще не работать.
  • Скорость обработки клиентом. Чтобы обеспечить платформенную независимость, некоторые RIA используют скриптовый язык на стороне клиента, например, такой как JavaScript, с частичной потерей производительности (серьёзная проблема для мобильных устройств). Однако такая проблема не возникает при использовании встроенного языка, скомпилированного на стороне клиента, такого как Java, где производительность сопоставима с использованием традиционных встроенных языков, либо с Flash или с Silverlight, в которых программный код запускается непосредственно в плагине Flash Player или Silverlight соответственно.
  • Время загрузки скрипта. Даже если нет необходимости в установке скрипта, движок клиента RIA должен быть передан клиенту сервером. Поскольку большинство скриптов сохраняются в кэше, он должен быть передан хотя бы один раз. В зависимости от размера и типа передачи, загрузка скрипта может занять довольно много времени. Разработчики RIA могут уменьшить последствия этой задержки посредством сжатия скриптов, а также за счёт разбиения передачи приложения на несколько страниц.
  • Утрата целостности. Если приложение основано на X/HTML, возможны конфликты между целями приложения (которое, естественно, хочет иметь контроль над его представлением и действиями) и целями X/HTML (которое хочет отдать контроль). Интерфейс DOM для X/HTML делает возможным создание RIA, но это не даёт никаких гарантий, что оно будет работать корректно. Из-за того, что клиент RIA может изменять основную структуру приложения и переопределять его действия и представление, это может привести к ошибке приложения на стороне клиента. В конце концов, эта проблема может быть решена за счёт нового механизма клиент-сервер, предоставляющего клиенту RIA ограниченный доступ к изменению тех ресурсов, которые не входят в сферу его полномочий. Работа родного стандартного ПО не вызывает подобных проблем, поскольку они по определению автоматически обладают всеми необходимыми правами на локальные ресурсы.
  • Утрата видимости для поисковых систем. Поисковые системы могут оказаться не в состоянии проиндексировать содержимое приложения RIA.
  • Зависимость от подключения к Интернету. Идеальная замена для настольных приложений должна позволять пользователям подключаться к сети «эпизодически», покидая хот-споты, уходя и приходя в офис. Однако к 2007 году типичные приложения RIA требовали постоянного подключения.
  • Доступность. Известно множество проблем веб-совместимости с RIA. Одна из распространённых заключается в том, что пользователю, читающему текст с экрана, сложно выявлять динамические изменения (вызванные JavaScript) в контенте HTML.
  • Сложность расширяемости. RIA сложно расширять плагинами и модами, как это делается в традиционных приложениях. Возможно использование пользовательских JavaScript, внедряемым iFrame контентом, и т д.

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

Появление технологии 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 может быть получено только с использованием инструментов, которые находятся на стороне клиента и наблюдателя в обоих циклах.

См. также

Примечания

  1. Rich Internet Application Market Share

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *