В начале 1990-х годов, когда Интернет только появился и лишь начинал играть важную роль в жизни общества, он сразу же изменил способы коммуникаций и получения знаний. И хотя Всемирная паутина оказала сильное влияние на все аспекты нашего существования, особенно значительным было ее воздействие на бизнес.
А для компаний, стремящихся использовать последние технологические достижения и соответствовать меняющимся условиям, Интернет стал представлять особый интерес с момента своего появления.
Сначала Всемирная паутина была главным образом статичной и состояла из простых HTML-страниц. Но по мере того как первые приобщившиеся к ней компании стали входить во вкус, в Сети начали быстро распространяться приложения на базе интерфейса CGI (Common Gateway Interface) и языка Perl. Вместе с новыми технологиями обеспечения безопасности они предоставили целый ряд недоступных прежде возможностей, в том числе и для электронной коммерции.
И как только компании стали привыкать к этим нововведениям, появились XML, SOAP (Simple Object Access Protocol) и другие передовые технологии, открывшие путь в мир сервисно-ориентированной архитектуры (SOA). Последняя полностью меняет способы установления связи между приложениями, системами и компаниями. За ней последовало всё, что относят к Web 2.0, — блоги, вики и социальные сети.
И теперь, когда ваша компания наконец-то освоила технологии 2.0, Интернет опять приходит в движение.
Для Всемирной паутины следующего поколения будут характерны динамические, интерактивные, открытые и очень гибкие прикладные системы. По своим возможностям они будут превосходить не только классические Web-приложения, но и программы для настольных ПК.
Если говорить коротко, то новое поколение Web-приложений значительно приближает нас к использованию Интернета в качестве операционной системы. Сейчас настало время, когда компании должны подготовиться к очередным изменениям Web-технологий.
Мы остановим ваше внимание на их основных характеристиках и дадим несколько советов, которые, надеемся, смогут помочь компаниям подготовиться к использованию новаторских Web-приложений и даже начать создавать и развертывать некоторые из них.
В конце концов, когда речь идет об интернет-технологиях, нельзя стоять на месте.
1. Создавайте функционально насыщенные Web-приложения.
Когда о Web- или интернет-приложении говорят как о “насыщенном”, то в общем случае это означает, что оно отличается высокой степенью интерактивности, снабжено интуитивно понятным пользовательским интерфейсом, не уступающим интерфейсам программ для настольных ПК, и предоставляет массу самых различных возможностей.
При работе в Интернете интерфейс насыщенного приложения должен предусматривать такие функции, как буксировка объектов с помощью мышки, вызов контекстно-зависимых меню, а также генерация интерактивных графиков и отчетов, отражающих состояние данных в реальном времени.
Когда мы говорим о насыщенном Web-интерфейсе, важно понять, что он не обязательно включает множество ярких анимаций и мигающих пиктограмм. Простой и понятный интерфейс приложения, исполняемого на том или ином сервере, может быть весьма насыщенным в смысле предоставления пользователям как доступа к информации, так и возможности задавать настройки и параметры.
Одной из главных технологий в данной области является AJAX (Asynchronous JavaScript and XML) — основанный на стандартах язык, позволяющий разрабатывать насыщенные Web-интерфейсы, которые совершенно одинаковым образом функционируют в любом браузере, созданном с соблюдением стандартов.
Это может прозвучать странно, но в действительности язык AJAX не является новой технологией. Он использует давно известные инструменты, например JavaScript, но таким образом, что дает возможность создавать с их помощью интерактивные Web-приложения.
Одно из существенных достоинств AJAX заключается в том, что он не требует изучения чего-то совершенно нового. С помощью этого языка приложения можно создавать практически в любой среде. А различные наборы инструментов — от Microsoft Visual Studio до Adobe Dreamweaver — включают множество средств разработки и подсказок, помогающих быстро освоить AJAX.
Из других продуктов следует обратить внимание на Adobe Flex и Microsoft Windows Presentation Foundation (WPF). Они предназначены для создания насыщенных Web-приложений, которые могут применяться не только в среде браузера. Учтите, однако, что обе эти платформы используют еще и технологии, не связанные с Интернетом. Для работы Flex требуется, чтобы на компьютере была установлена программа Flash, а для WPF — различные системы Microsoft, такие, например, как WPF/Everywhere.
Наконец, иногда утверждается, что насыщение не знает пределов. Это неверно, когда речь заходит о Web-приложениях. Слишком высокая интерактивность способна вывести из строя любое Web-приложение. Если вы имеете возможность снабдить его множеством меню, дополнительных окошек и прекрасной анимированной графикой, это еще на значит, что вам следует идти по такому пути.
2. Сохраняйте открытость.
Одна из наиболее примечательных технологических революций, произошедших за последние десять лет, связана с появлением Web-сервисов и SOA. Если хотите в этом убедиться, вспомните, какими были приложения и интеграция данных до выхода на сцену языка XML и Web-сервисов в конце 1990-х.
Тогда для интеграции приложений и систем требовалось использовать множество разрозненных заказных оболочек для обмена данными, интерфейсов прикладного программирования и патентованных коннекторов. Во многих случаях компании практически не имели возможности подключить партнеров к своим бизнес-системам из-за проблем с совместимостью.
И всего за несколько лет положение изменилось благодаря Web-сервисам. Теперь в любом современном корпоративном приложении, СУБД или вычислительной среде используются основанные на стандартах технологии, позволяющие легко произвести интеграцию данных и приложений любой степени сложности и надежности.
Как удалось этого достичь? Если сказать коротко, то благодаря открытости. Мир SOA с самого начала провозгласил, что желающие вступить в него компании, разработчики или производители ПО должны руководствоваться открытыми стандартами. Даже те производители, которые традиционно предпочитали создавать фирменные решения, перешли на стандарты, принятые в рамках SOA. Они вполне осознали, что рискуют остаться на обочине, если не будут придерживаться стандартов.
В мире Web-приложений следующего поколения такого рода приверженность открытости имеет важнейшее значение. Прошли те дни, когда сайты и приложения могли взаимодействовать только с одним Web-браузером и только с одной операционной системой.
Основные технологии создания Web-приложений следующего поколения в большинстве своем значительно упрощают соблюдение как давно существующих, так и находящихся в процессе становления стандартов Интернета. Выше уже отмечалось, что язык AJAX сам по себе основан на общепринятых стандартах Всемирной паутины. Наиболее совершенные приложения, созданные с помощью AJAX, должны функционировать абсолютно одинаковым образом независимо от используемых браузеров или платформ.
Кроме того, органы стандартизации, такие как World Wide Web Consortium и OASIS, в настоящее время работают над некоторыми новыми спецификациями форматов и стандартов вроде Compound Document Format, которые позволят наделить Web-приложения следующего поколения отсутствовавшими прежде возможностями.
Некоторые новые продукты — скажем, Flex и WPF — вызывают определенную озабоченность. Поскольку они базируются на технологиях конкретных производителей, нельзя исключать, что они не будут столь же открытыми, как, например, AJAX.
Мы рекомендуем компаниям избирать путь открытости и соблюдения стандартов всегда, когда это только возможно. Приложение, написанное в соответствии с запатентованными стандартами, осложняющими интеграцию с другими прикладными системами, не может быть причислено к передовым Web-технологиям. Если пользователи некоего приложения обнаружат, что оно диктует им способы его применения, они скорее всего откажутся от него. Приверженность открытым стандартам и системам гарантирует, что приложение способно развиваться и приспосабливаться к меняющимся условиям.
3. Сохраняйте динамический характер данных.
Web-приложения, созданные в рамках старой школы, обращались с данными примерно так же, как мы обращаемся с водой, льющейся из крана: они могли получить доступ к данным, но после этого практически не имели возможности ими управлять.
В отличие от них Web-приложения следующего поколения приобретают всё более широкие возможности для обработки данных на лету. Это открывает перед пользователями перспективу взаимодействия с данными в реальном времени, вместо того чтобы для получения новых данных постоянно перезагружать Web-страницу.
Используя такие стандарты, как JSON (JavaScript Object Notation), современные Web-приложения предоставляют пользователям расширенные средства управления поступающими данными. Кроме того, они обеспечивают гораздо более высокий уровень отказоустойчивости, что позволяет хранить данные на клиентских компьютерах. Это отличает их от создававшихся для архитектуры клиент — сервер классических Web-приложений, в которых доступ к приложению и данным полностью утрачивался при разрыве соединения.
Другое немаловажное изменение, затрагивающее проблему данных, связано с появлением концепции Semantic Web и сопутствующих стандартов и технологий.
Технологии “семантического Web” позволят интернет-приложениям направлять запросы и взаимодействовать с данными, содержащимися на сайтах и в приложениях в любой точке Всемирной паутины. Это открывает возможность для разработки совершенно нового поколения приложений, обладающих информацией о характере данных (data-aware).
Способность современных Web-приложений обрабатывать более широкий спектр данных привела к существенному расширению возможностей в области их разработки и тестирования. Многие основанные на стандартах среды разработки допускают использование небольших по объему файлов XML для создания прототипов, отладки и тестирования новых Web-приложений.
Эти усовершенствованные функции управления данными позволяют наделять Web-приложения многими возможностями, больше присущими обычным программам для настольных ПК, — это и локальное хранение данных, и быстрота реагирования, и конечно же возможность работы без подключения к Сети.
4. Обеспечьте работу в офлайновом режиме.
Немного смешно говорить о работе без выхода в Сеть как об особенности приложений нового поколения. В конце концов, разве офлайновый доступ не является характерной чертой программ, разрабатывавшихся прежде для настольных ПК? И разве будущее Интернета видится не в том, что люди будут иметь постоянный доступ к Сети независимо от своего местонахождения?
Ну ладно, в идеале, вероятно, так и должно быть, но реальность выглядит иначе. И останется таковой в течение некоторого времени, во всяком случае в Соединенных Штатах.
Чтобы Web-приложения нового поколения действительно могли стать альтернативой традиционным программам для настольных ПК, а тем более потенциальными операционными системами на базе Интернета, в них необходимо реализовать кажущуюся старомодной идею офлайнового доступа.
Только задумайтесь: вы создали прекрасный новый продукт на основе технологии “ПО в виде сервиса” (Software As а Service, SAAS), предоставляющий пользователям огромные преимущества. Но если сотрудники компании, являющейся вашим клиентом, не могут воспользоваться этим продуктом на протяжении шестичасового перелета, то обычное приложение для ПК может показаться им более привлекательным.
Возникающая на практике необходимость обеспечить возможность работы без подключения к Сети не осталась незамеченной основными производителями ПО. Корпорация Google, один из главных протагонистов Web-приложений следующего поколения, выпустила бета-версию продукта под названием Gears, который позволяет получить офлайновый доступ к приложениям Google.
Кроме того, новая среда исполнения Adobe AIR (Adobe Integrated Runtime) позволяет создавать насыщенные интернет-приложения, которые работают вне браузера и могут использовать офлайновые данные. (Да, это очень похоже на обычные приложения для настольных компьютеров). Вот и Mozilla Foundation планирует дополнить следующую версию своего браузера Firefox поддержкой работы в офлайне.
Сегодня многие инструменты для офлайнового доступа еще не достигли зрелости, а некоторые вообще только запланированы к выпуску. К тому же не наблюдается большой активности в области стандартизации офлайнового режима работы с Web-приложениями. Это означает, что на протяжении некоторого времени будут появляться конкурирующие и несовместимые инструменты для обеспечения офлайнового доступа. Тем не менее компаниям следует приступить к оценке этих технологий уже сейчас. При создании приложений нового поколения не забывайте, что ваши пользователи и клиенты спросят: “А есть ли способ использовать данное приложение, когда я не подключен к Интернету?”.
Представьте себе, что вы являетесь шеф-поваром популярного ресторана. На вечер вы приготовили свои коронные блюда. Вы надеетесь, что они понравятся вашим гостям. Но если этого не случится, то у вас будет очень мало возможностей заменить эти блюда на другие. Во всяком случае, вряд ли вы сможете сделать это быстро. В сущности такая модель используется пока и при разработке классических Web-приложений или программ для настольных ПК.
А теперь вообразите, что многие посетители вашего ресторана решили отправиться на кухню и самостоятельно заменить блюда и привести их в соответствие со своими вкусами. Им понравились ваши макароны, но они считают, что креветки они могут приготовить и получше. Или они готовы съесть ваш гамбургер, но хотели бы дополнить его пиццей из другого ресторана.
По такой модели строятся Web-приложения следующего поколения. Пользователи хотят иметь возможность подстраивать, приспосабливать и изменять их в соответствии со своими конкретными нуждами. Такие приложения часто называют смешанными или составными (mashup).
При подобной модели может оказаться, что ваше прекрасное новое приложение используется совместно с чьей-то учетно-управленческой системой или объединено с популярным бесплатно распространяемым решением, созданным каким-нибудь крупным Web-порталом или разработчиком поисковой машины. Может даже дойти до того, что оно станет применяться в связке с приложением от производителя, которого вы рассматриваете в качестве своего конкурента.
Это жутковатая перспектива, особенно для производителей ПО. В традиционных моделях такие компании стремятся сохранить жесткий контроль над тем, как их прикладные системы используются, обновляются и интегрируются.
Но когда речь идет о Web-приложениях следующего поколения, было бы ошибкой вешать замок на программный продукт. С точки зрения многих пользователей, Web-приложение, которое нельзя легко и просто подстроить под свои потребности или использовать совместно с другими программами, является неполноценным. Его не следует применять или приобретать. Позволить пользователям создавать составные приложения, добавлять к ним новые функции и интегрировать их с другими системами — это способ завоевать лояльность клиентов.
Таков, может быть, самый важный вывод, касающийся Web-приложений следующего поколения. Их способность непрерывно видоизменяться и адаптироваться к новым технологиям, стандартам и пожеланиям конечных пользователей кардинальным образом изменит не только способы применения Web-приложений, но и взгляды на используемое ПО в целом.
С главным техническим аналитиком Джимом Рапозой можно связаться, написав ему по адресу: jim.rapoza@ziffdavisenterprise.com.