Компания Google разработала инструментарий совместной работы, который называется Wave («Волна»). Это Web-приложение хранит данные на серверах Google, позволяет клиентам совместно создавать и редактировать тексты, изображения, видео и даже схемы бизнес-процессов — такой модуль для Wave реализовала компания SAP. Система уже работает и находится в стадии ограниченного тестирования. Подключиться к ней могут только те, кого пригласят уже существующие пользователи Wave. В компании предполагали, что в таком тестировании примут участие около 100 тыс. человек, однако уже сейчас их число превысило 3 млн. Общий доступ к системе планируется открыть во второй половине 2010 года.
По своей сути, работа с Google Wave очень похожа на диалог в системе мгновенных сообщений, однако в данном случае предусмотрена возможность всем пользователям редактировать тексты, изображения и другие объекты, включенные в Wave-сеанс (его и называют «волной»). Сервер ведет историю изменений, и любой участник сеанса может «отмотать» назад и проиграть заново все выполняемые в сеансе изменения. Wave позволяет пользователям одновременно работать со всеми объектами, включенными в «волну», обеспечивая разрешение конфликтов.
В основе технологии Wave лежит протокол взаимодействия Google Wave Federation Protocol, основанный на XML. Он позволяет описать любой объект, обрабатываемый клиентами Wave, и модификации, которые выполняет с ним пользователь. Протокол по своей сути является надстройкой над Jabber (точнее, над принятым в качестве стандарта IETF протоколом XMPP); его описание доступно на специальном сайте сообщества www.waveprotocol.org. Открытость протокола позволяет сторонним компаниям создавать собственные Wave-серверы, которые будут взаимодействовать друг с другом. В частности, о поддержке этого протокола в своих программных продуктах уже заявили в Novell.
Важная часть технологии Wave — API, позволяющие разрабатывать модули расширения двух типов: роботы и Wave-приложения.
Робот, то есть программа, которая по определенным правилам модифицирует содержание Wave-сеанса, может работать в «волне» так же, как и другие участники, выполняя отведенную для него часть работы. Например, сами разработчики Google создали робота, проверяющего орфографию и подчеркивающего неправильные, с его точки зрения, фрагменты текстов.
Wave-приложение (их еще называют wavelet) может быть добавлено в сеанс, с которым могут работать пользователи Wave. Примером подобного модуля может служить инструмент, предложенный компанией SAP, — он позволяет из графических примитивов собрать схему бизнес-процесса. Его дополняют два робота: для проверки корректности получившегося графа и для конвертации полученной схемы в формат приложений SAP. В результате пользователи Wave имеют возможность совместно работать над схемой бизнес-процессов и выполнять свою часть задания.
Однако свобода действий, которую допускает Wave, имеет и обратную сторону. Если в одном сеансе работает больше двух пользователей, то может возникнуть ощущение хаоса, поскольку пользователю трудно отследить, какая именно часть «волны» изменилась, и адекватно отреагировать на это изменение. Поэтому, хотя потенциал технологии достаточно высок, для применения ее в корпоративных информационных системах, скорее всего, потребуется дополнительная дисциплина взаимодействия с «волной» плюс набор модулей, обеспечивающих эту дисциплину.
Впрочем, пока в Google заняты реализацией лишь базовых функций среды взаимодействия и рассчитывают на помощь сообщества разработчиков. В частности, чтобы работать в «волне» с документами классических офисных форматов, необходимо реализовать соответствующие модули для конвертации данных в формат Wave и обратно. Без возможности работать с уже привычными форматами документов использование технологии Wave в офисных целях будет затруднено.