Алферов В. БКарташов А. Г. RICH INTERNET APPLICATION В КАЧЕСТВЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ: ТЕКУЩЕЕ СОСТОЯНИЕ И ПЕРСПЕКТИВЫ
Богатые интернет-приложения быстро становятся важным дифференциатором в области сетевого присутствия. Статья рассматривает технологию RIA в областях прикладной пригодности, организационной готовности, воздействия на производственную инфраструктуру, и дает обзор возможностям применения данной технологии для разработки не только сетевого, но и десктопного прикладного программного обеспечения. Исследуется текущее состояние и возможные перспективы развития.
В настоящее время объединение различных вычислительных устройств, имеющих операционную систему (ОС), в сеть сейчас стало обычным делом. Развитие интернет-приложений происходит бурными темпами. Все больше пользователей ожидают, что Всемирная паутина (World Wide Web, WWW, веб) будет динамичной вследствие более быстрых каналов связи и переходу к мультимедийным технологиям. Таким образом, в компьютерной индустрии становится потребность в создании нового типа приложений, которые могут предоставить возможность динамического взаимодействия в сети.
Веб-приложения по удобству использования становятся все ближе к настольным приложениям. Данная тенденция с нарастающей прогрессией охватывает Интернет и уже сегодня можно говорить о наступлении эры веб-приложений нового типа, обогащенных веб-приложений или RIA.. Появившаяся несколько лет назад концепция "Богатых Интернет-Приложений" - Rich Internet Application (RIA) позволяет создавать приложения, независящие от представительского уровня, данные которого поставляются через интернет-подключение. Богатое веб-приложение - современная модель взаимодействия в приложении, которое выглядит и функционирует как настольное приложение, но располагается в веб-браузере.
Традиционно прикладные программы оказывают поддержку пользователям, информируют и развлекают, они - ядро всех компьютерных операций. Однако, делая работу с помощью них, обнаруживаются большие проблемы для компьютерного пользователя среднего уровня. Эти проблемы исходят из способов, которыми эти приложения были разработаны и развернуты за эти годы. Традиционные приложения привязаны к компьютеру . Часто, они привязаны к операционной и файловой системам. Они требуют длительных и утомительных инсталляций, и почти весь контент, который они генерируют или используют, сохраняется локально на компьютере, делая затруднительным его разделение с другими пользователями или программами.
Проблема состоит в том, что такая организация вынуждает пользователей разработать понимание уровня ниже приложения. Чтобы получить выполненную работу, или сделать что-то большое, человек должен знать о типах файлов, кодеках, драйверах, и других вещах, которые действительно не имеют никакого отношения к задаче, которую он пытается выполнить. Кроме того, что пользователи уже являются экспертами в своей области деятельности, они еще и должны быть компьютерными экспертами в целом.
Напротив, Всемирная паутина вызвала огромное изменение в обработке данных для среднего человека. Пользователи получили большие компьютерные возможности, которые просто реализовать. С появлением стандартов, на которых были разработаны веб-браузеры, люди могут ожидать быть в состоянии сделать информационный контент сети сообразно, где угодно и в любое время.
Вначале сеть использовалась для информирования пользователями друг друга, но теперь она также очень эффективно используется для поддержки и развлечений. Богатые Интернет-Приложения (RIA) являются новым поколением приложений, которые появились, получив лучшее как из сетевых, так и из традиционных десктопных прикладных программ.
Ключевая работа RIA - переместить в сеть возможность выполнить работу. Процесс, который использует пользователь, чтобы что-то сделать, должен быть доступным для него всюду независимо от того, какую ОС он может использовать. Его данные, или контент, который он создал, должны также быть всегда доступными, перемещая все делопроизводство от компьютера до некоего хранилища. Когда приложения и связанные с ними данные действительно постоянно находятся в хранилище, появляются новые радикальные возможности. Способность совместно использовать данные, или сотрудничать с другими становится намного проще. Люди могут взаимодействовать на задачах в реальном времени или асинхронно, так же как использовать потоковое видео, аудио, и текст, чтобы общаться друг с другом, поскольку они работают совместно.
Крупные богатые интернет-приложения также абстрагируются от идеи файлов. Данные хранятся контекстуально, и обычно доступны для поиска в пределах этого контекста. Пользователь действительно никогда не имеет дела с необработанными файлами при работе с RIA, вместо этого он имеет дело со своими идеями. Такие трудовые процессы могут быть радикально более производительными, поскольку они сохраняют фокусировку на работе, и не требуют никакого знания нижележащего уровня платформы со стороны конечного пользователя. Пример RIA в виде редактора таблиц от фирмы Google, представлен на рисунке
1.
.....
!«• И* IP— 1«ь
Co glc Doc» A Untitled »pr*adtb**t -t4» I Оиа-ttgt 1 »83С-ЙЙ WroKh -r. I * 5-*.* 4 »»«
*<*• tdH Swt Іншій KtvMwi £ P>r— PK Ц
г» г. 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 1
a
| •
**
1 °
4
.1
« ,
о
Рис. 1 - Google spreadsheets
Некоторыми общими методиками RIA являются:
Динамически меняющийся клиент и асинхронная передача данных
Хотя это и не требование RIA, однако получило распространение то, что богатые интернет-приложения имеют динамически изменяющиеся клиенты и асинхронную передачу данных для достижения своих задач. Клиентский интерфейс поддерживает состояние приложения полностью на клиентской стороне. Он не пола-
гается на сервер, чтобы поддержать информацию о том, что делает текущий пользователь. Внутренние службы могут выполнять определенные действия или логику, основанную на полученных параметрах независимо от того, кто их вызвал. Пользовательский интерфейс также не должен ждать внутреннюю логику.
Асинхронные службы данных выполняются негласно, в то время как пользователь ский интерфейс все еще доступен для пользователя. Пользователь может не знать, что был вызван удаленный метод сервиса. Это дает возможность пользователю продолжить использовать приложение без резких переходов, что позволяет чувствовать, как будто он работает за десктопной прикладной программой.
Дополнительно, асинхронные службы данных обычно содержат только данные, никаких объявлений пользовательского интерфейса. Это уменьшает размер запросов на сервер, и часто приводит к уменьшенной загрузке сервера и лучшему отклику интерфейса. Клиент-приложение не освобождает свое место, когда запрос сервиса был сделан. Пользователь в это время может продолжить работать с приложением.
Парадигма Drag-and-Drop
Также не требованием, а общей парадигмой, осуществленной в пределах богатых интернет-приложений, является перетаскивание - «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, или некоторые другие появляющиеся технологии, будут включать расширения с трехмерной производительностью, методами разработки, компонентным представлением проектируемой системы, измерением, и приложениями, которые поддерживают случайно подключаемые функциональные возможности.
3D
Трехмерные среды могут позволить создать очень захватывающие конфигураторы продуктов, виртуальные миры и навигационные системы. Однако, достижение трехмерности должно быть сделано очень тщательно, интерфейсы не должны быть сложны или слишком футуристичны. Следующие версии flash player должны включать немного поддержки пространственному рендерингу чтобы не отставать от WPF.
Производительность
Аппаратная поддержка ускорения поможет flash player, но, это не панацея для большинства сетевых приложений. С аппаратным ускорением получается выигрыш в производительности, но проигрыш в совместимости. При выборе платформы необходимо соблюдать баланс между этими факторами.
Индексирование
Стандарты для индексирования RIA находятся в их начальном развитии. Некоторые компании имеют инструментальные средства измерения, но они останавливаются в html. У этих средств существуют трудности в отслеживании случайно управляемой структуры RIA. Измер Индексирование будет важно для принятия технологии, таким образом, компании смогут усилить и измерить свой доход в инвестициях.
Усиление технологий RIA
По мнению экспертов, RIA взяла на удивление медленный старт. В действительности, большинство компаний очень самоцентрированны и создают несоответствующую коммуникацию для своих клиентов. Персонализация, упрощение и изысканность будут следующей волной потребителя, правительства и корпоративных приложений.
Появится больше специализированных рынков и клиенты будут требовать программное обеспечение, которое лучше соответствует их потребностям. У интернета есть способность индивидуализировать потребительский интерес. Процессы определения требований потребителей очень персональные. Богатые интернет-приложения будут критически важны для приспособления товаров к конкретным требованиям клиентов и продукционных конфигураторов будущего. Те же самые продвижения можно применить к здравоохранению, правительственным службам, средствам информации и издательскому делу, финансовым службам и др. Персонализация и индивидуальное управление будут более обычными чем в любое другое время до этого.
ЛИТЕРАТУРА
1. O'Reilly - Inside RIA
2. www.adobe.com - Planning for RIA success
3. www.anthonyfranco.wordpress.com
4. www.blogs.zdnet.com
5. www.okitweb.ru
6. www.realcoding.net - Rich Internet Application и контент-менеджмент
7. www.regulatoryreform.com - e*RIA