Всегда трудно понять, что стоит за модными техническими словечками. Даже если предмет сам по себе достойный, поднимающийся ажиотаж быстро его искажает и становится сложно отличить надуманное от первоначальной идеи.
Специалисты по связям с общественностью, изо всех сил старающиеся связать свой новый продукт с «последней горячей технологией», используют термин даже тогда, когда он, в общем-то, не подходит. В отраслевых изданиях пишут, что технология с модным названием навеки изменит вычисления.
Этот феномен определенно затронул семейство технологий и услуг, объединенных под определением Web 2.0.
Почему вокруг Web 2.0 столько шумихи?
Пойдем от общего. Многие считают, что Web 2.0 — серьезное изменение в области вычислений, так как по новой схеме Internet сам становится вычислительной платформой. То есть «настоящее» приложение Web 2.0 невозможно отличить от приложения для настольного компьютера. Как и программа для ПК, приложение Web 2.0 реагирует незамедлительно и актуализирует информацию без обновления. Такие приложения иногда называют обогащенными Internet-приложениями (rich Internet applications, RIA).
Но Web 2.0 не предназначено для полной замены приложений, установленных на вашем компьютере. Новый вид приложений, работающих главным образом на Internet-серверах и во внутренних сетях компаний, обычно считается динамичным (то есть контент обновляется автоматически) и коллаборативным (получающим информацию из различных источников и у пользователей), имеет «длинный хвост» (то есть ориентируется на небольшие ниши в сообществе, а не только на самую крупную аудиторию) и при этом остается простым и интуитивно понятным.
Может быть полезно разграничить технологии разработки программного обеспечения, как правило, связанные с Web 2.0, и функциональность, которой такие технологии позволяют добиться программистам. Эти технологии (мы скоро до них дойдем) — просто инструменты, помогающие программистам создавать Web-сайты, которые, как они надеются, улучшат условия работы пользователей. Если программисты могут достичь той же цели, используя «старые» технологии или (черт возьми) соединив проволочную сетку с вешалкой, сайт останется все тем же Web 2.0.
Возможно, стоит, по крайней мере, взглянуть на основополагающее определение Web 2.0, хотя бы такое, каким оно представляется одному из придумавших этот термин и назвавших Web 2.0 новым общепринятым стандартом. В статье «Что такое Web 2.0» Тим О’Рейлли (Tim O’Reilly. What Is Web 2.0. Design Patterns and Business Models for the Next Generation of Software. 09/30/2005. O’Reilly Media, Inc.), основатель и генеральный директор компании O’Reilly Media, объясняет его принципы и формы существования. Недавно он также сказал: «Web 2.0 — это, в конце концов, переломный момент, а не отправная точка. И в нем не менее, чем технологии, важны модели бизнеса и уровень принятия обществом».
Какие технологии используются в Web 2.0?
У многих менеджеров наибольшее удивление вызывает то, что Web 2.0 не основывается на недавно изобретенной новой технологии. Скорее в его основе лежит удачная перегруппировка старых технологий в сочетании с возгласом «ага!».
Это «ага!» впервые было произнесено Джессом Джеймсом Гарретом в феврале 2005 года и увековечено в Сети в его эссе «Ajax: Новый подход к Web-приложениям» (Jesse James Garrett. Ajax: A New Approach to Web Applications. February, 18, 2005. Adaptive Path Inc.). В нем он описал технику сетевого программированного Ajax — асинхронное JavaScript и XML — как способ создания интерактивных Web-приложений.
Возможно, вы в какой-то степени знакомы с каждым из этих компонентов. По крайней мере достаточно, чтобы кивать, когда ваши разработчики упоминают термины. CSS и HTML (или XHTML) используются для контроля за представлением данных на Web-странице.
Клиентский скриптовый язык, обычно JavaScript, или JScript, динамически отображает информацию и взаимодействует с ней. Ключевой компонент — объект JavaScript XMLHttpRequest, благодаря которому разработчики могут производить асинхронный обмен данными между страницей и Web-сервером. (Некоторые приложения Ajax используют вместо XMLHttpRequest объект IFrame. Но не надо путаться — цель одна и та же.) Как менеджеру вам не нужно знать о сложностях внутреннего устройства XMLHttpRequest. Важно понимать, что он позволяет Web-странице синхронизировать свои данные с данными на сервере компании, используя Web-сервис бизнес-партнера или любой общественный онлайн-источник с открытой информацией.
Обычно данные хранятся и обмениваются при помощи XML, часто в сочетании с Web-сервисами. Другие форматы обмена данными будут работать, если они поддерживают ту или иную форму серверных скриптов.
Разработчики могут работать напрямую с Ajax или другими инструментами Web-разработок. Или же они могут использовать растущее число инструментов и средств, дающих им возможность добавлять функции Web 2.0 в существующую среду разработки. Вероятно, инструменты разработки, используемые в вашей компании, уже имеют поддержку.
Еще один элемент разработок Web 2.0 — использование интерфейсов прикладного программирования (application program interfaces, API). Лежащий в их основе код не обязательно является открытым кодом в его истинном понимании, но API предоставляют доступ к внутренним данным и системной динамике сайта. Так разработчик получает возможность, скажем, вызвать уникальное отображение данных о продажах книг; он может воспользоваться Web-сервисами Amazon Web Services через соответствующий API.
Если все эти технологии для вас немного новы и вы привыкли к более старым принципам обработки данных, может помочь иное представление. Думайте о Web 2.0 в терминологии UNIX: каналы и команды переадресации, соединяющие вывод множества небольших сервисов и процессов, — Сеть как гигантское скопление сценариев оболочки, если хотите.
Это немного напоминает техническую лекцию для программистов. Не бойтесь. На этом мы прекращаем говорить на языке программирования. Ведь Web 2.0 по-настоящему не определяется использованием Ajax. Важно то, чего вы можете достичь с его помощью.
Что дают вам эти технологии?
Ajax — все лишь отвертка, позволяющая программисту добавлять Web-сайту определенные функции. Основные элементы, благодаря которым сайт считается Web 2.0 — по крайней мере при поверхностном подходе — включают «коллажи» (Mashup — это Web-приложение, объединяющее данные из нескольких источников в один интегрированный инструмент; например использует картографические данные Google Maps для добавления к ним данных о недвижимости с Cragislist, в результате создавая новый уникальный Web-сервис, изначально не предлагаемый ни одним из источников. — Википедия), обновление данных в реальном времени, теги, пользовательский контент и обмен ресурсами.
Коллажи (mashup) — достаточно новый термин для сетевой функции, которая существует уже какое-то время: объединение элементов из нескольких онлайн-источников на одной Web-странице. Если ваша домашняя страничка автоматически отображает окошко с местным прогнозом погоды, технически ваш сайт — коллаж.
Тем не менее, как правило, коллажи создаются как неотъемлемая часть сайта, а не как полезное бесплатное добавление. Обычно они также сочетают имеющиеся данные в новом удобном формате, например, график, объединяющий открытую демографическую информацию с почтовыми кодами, либо поисковик ресторанов, в котором используется информация об адресах и списки ресторанов Yahoo.
Обновление данных в реальном времени создает непрекращающийся поток информации. Обычно данные поступают из внешнего источника, такого как постоянно меняющееся текстовое окошко с последними новостями или ссылка с сайта на самые популярные фотографии. Однако можно с тем же успехом показывать корпоративную информацию, например, статус разработки ПО, период работоспособности сети или другие данные, представляемые в виде панели.
На стандартных Web-сайтах присутствует дизайнерская структура, называемая таксономией, которая организует поиск и отображение информации на Web-сайте. На сайтах Web 2.0 вместо этого часто используются теги, представляющие собой обычные слова, выбранные создателем контента для описания объекта. Например, пользователь может добавить к фото теги «кошка», «клей», «Бостон», чтобы обозначить предмет, местоположение или событие на картинке. А блоггер присоединяет к своей записи ключевые слова для обозначения темы: «политика», «награда Академии киноискусств», «мост «Золотые Ворота». Ни одному из этих пользователей не надо думать, вставлять ли новый контент в рубрику «домашние животные» или «туризм», которые могли быть предустановленными таксономическими категориями.
Когда есть теги, пользователи могут организовывать данные так, как понятно им. Кроме того, они почти моментально становятся своего рода источником данных в реальном времени. Сайты Web 2.0 часто отображают самые популярные теги, размер шрифта которых определяет популярность сюжета (так называемые облака тегов), благодаря чему очень удобно находить интересные вещи или замечать тенденции. Тем не менее теги, как и все, что связано с поиском, несовершенны, поскольку зависят от выбранных пользователями ключевых слов, которые другие должны опознать. Нужно ли тому, кто кликает на теге «Сан-Франциско» автоматически показывать объекты с тегом «мост «Золотые Ворота»? Это только один из примеров того, над чем еще нужно работать.
Использование тегов влечет за собой еще один важный элемент Web 2.0 — построение сайта на контенте, создаваемом пользователями. Деятельность онлайн — не новый феномен; виртуальные сообщества существуют с тех пор, как в середине 1980-х впервые приобрели популярность электронные доски объявлений и такие компании, как CompuServe, построили весь свой бизнес на форумах, создаваемых и поддерживаемых пользователями. Но в Web 2.0 деятельность сообщества становится главной звездой, и сайт существует только затем, чтобы вызывать и обслуживать эту деятельность.
Например (это, безусловно, характерно для мириадов сайтов по обмену фотографиями), если люди не станут загружать фото «я и моя собака», там не на что будет смотреть. То же самое относится к десяткам Web-сайтов, где посетители делятся ссылками на статьи и Web-страницы, кажущиеся им забавными.
Раньше взаимодействие пользователей сводилось в основном к разговору. В Web 2.0 важная составляющая — обмен данными (файлами, музыкой, интересными статьями, видео), желательно «смешанным» образом с «богатой интерактивностью» — эти термины намеренно завуалированы, а потому создают почву как для критики, так и для инноваций.
Как Web 2.0 меняет работу пользователя?
Все эти технологии и принципы дизайна, конечно же, существуют для того чтобы улучшать способы взаимодействия с другими пользователями и с компьютерными системами. В идеале сайты Web 2.0 (созданы они для внутрикорпоративного или для общественного использования) упрощают связь и обмен опытом между людьми. К примеру, пользовательский контент называют коллективным интеллектом или мудростью, возникшей в результате согласованного принятия решений. (Те, кто следит за возникновением модных слов, припомнит, что когда-то было популярно называть это коллаборативной работой.)
Будь то нечто тривиальное, вроде рецензий на кинокартины, или более важные деловые вопросы, преимущество в том, что люди могут работать лучше и коллективно принимать более умные решения.
Среди прочего RIA, расположенные в Сети и работающие на хостинговых серверах (хотя элементы пользовательского интерфейса и находятся в Web-браузере клиента), приводят к популяризации понятия ПО как услуги (software-as-a-service, SaaS). Возможно, эти технологии, написанные для домашнего пользования или приобретенные у поставщика услуг, помогут упростить модернизацию и поддержку приложений, решение вопросов безопасности и использование возможностей сервис-ориентированной архитектуры, в которые инвестировала ваша компания. Ваши разработчики могут создавать приложения, которые будут опираться на общественно доступные Web-сервисы, воспринимая Internet как обычную операционную систему.
Какую пользу Web 2.0 может принести моему бизнесу?
Для стороннего наблюдателя Web 2.0 — прежде всего потребительская тенденция. А вот выделить очевидные преимущества Web 2.0 для традиционного бизнеса сложнее.
Безусловно, Web 2.0 имеет значение, если вы строите очередной Web-сайт для обмена цифровыми фотографиями. Так же оно важно для компаний, которые создают бизнес- пользователю онлайн-ресурсы, такие как сайты для бронирования отелей, где посетителям разрешается динамически менять критерии поиска и поощряется добавление пользовательского контента, например рецензий. Тем не менее, Web 2.0 весьма существенно и для информационных технологий B2B.
В компаниях Web 2.0 часто переплетается с сервис-ориентированной архитектурой или другими технологиями Web-сервисов. Главное — сочетать гибкость Web 2.0 с сервис-ориентированными принципами слабой связи, инкапсуляции и повторного использования кода.
Web 2.0 генерирует богатую аудиовизуальную информацию, объединяя источники данных и предоставляемые из Internet (и, соответственно, из интранета) сервисы. Это означает, что Web 2.0 может функционировать как гибкий и простой пользовательский интерфейс, базирующийся на доступных через сеть сервисах, которые основаны на сервис-ориентированной архитектуре. Взаимодействие этих двух элементов позволяет компаниям создавать бизнес-процессы и управлять ими с большей свободой. Пользователи могут организовывать корпоративные мэшапы, собирая, комбинируя и распространяя существующий контент компании для того, чтобы упростить интеграцию бизнеса или создать порталы, которые мониторят и улучшают системную информацию и потоки транзакций.
Все это дает преимущества корпорациям. В конце концов то, что делает Web 2.0 привлекательным для потребителей — например, возможность добавлять контекстную персональную информацию и использовать сообщество и общественные связи для более эффективной коммуникации, — настолько же важно и в бизнесе.
Как различить выдумки и реальность?
Одна из первых преград, которые необходимо преодолеть, — это сам термин. Некоторые убежденные консерваторы внутри отрасли (к которым я иногда отношу и себя) считают название «Web 2.0» немного претенциозным. С одной стороны, циники вопрошают, не был ли настоящим переломным моментом в эволюции Сети тот день, когда разделились контент и презентация — иначе говоря, возникли вложенные таблицы стилей (cascading style sheets, CSS)? В то же время они говорят, что история сама решит, когда отрасль перешла на новый этап и то, что мы зовем Web 2.0, в будущем может показаться не очень значительной переменой.
И все же Web 2.0 что-то да значит, хотя и сложно определить, что именно — даже тем, кто придумал этот термин. По словам, О’Рейлли: «Многие сегодня прикрываются термином Web 2.0 и его не понимают. Например, если кто-то говорит, что работал с JavaScript и XML (то есть с Ajax), это не значит, что он работал с Web 2.0. Web 2.0 подразумевает использование Internet как платформы и применение сетевых эффектов для того, чтобы приложение совершенствовалось по мере его эксплуатации».
Чем бы еще ни было Web 2.0 — это определенно следующая ступень на пути использования нами технологий.
Esther Schindler. An introduction to Web 2.0. CIO Magazine. 2 July 2007