Благодаря открытой и хорошо документированной архитектуре, было разработано множество клиентских и серверных программ для поддержки Jabber. Помимо собственно передачи сообщений от одного пользователя к другому, многие серверы поддерживают так называемые транспорты — шлюзы между Jabber и другими сетями. Например, через такой шлюз пользователь Jabber-клиента может обмениваться сообщениями со своими друзьями в ICQ или AIM. Есть и более интересные применения: отправка писем или SMS-сообщений, общение в IRC-чатах, чтение RSS-лент и даже доступ к хранилищу файлов через Jabber. (Дабы определить, какие транспорты поддерживает тот или иной сервер, в большинстве Jabber-клиентов можно задействовать функцию Service Discovery [рис. 3, клиент Psi].)
Jabber также является расширяемым. Скажем, кроссплатформная программа Coccinella поддерживает совместное рисование на общей «доске» (whiteboard), очень удобное при обсуждении схем, изображений и даже пригодное для игр (рис. 2), — причем никакой специальной поддержки от сервера не требуется, и для использования этой функции достаточно, чтобы ваши корреспонденты использовали тот же клиент. Аналогично можно добавлять другие возможности. Во многом Jabber подтверждает свой статус универсального протокола для двустороннего обмена информацией.
Впрочем, несмотря на все свои преимущества, долгое время он оставался «игрушкой для гиков» и использовался в основном в корпоративном секторе и open source-сообществе, не приемлющем закрытых стандартов и протоколов. Победить «большую тройку» IM-сетей (AIM/ICQ, MSN, YIM) с их огромной пользовательской базой и поддержкой гигантов интернет-рынка в открытом бою «Федерация независимых серверов Jabber» во главе с Jabber.org была не в силах.
Корпоративный Jabber
В Яндексе для «мгновенного» общения внутри компании используется Jabber. Он был выбран по ряду причин. Во-первых, была нужна IM-система, сервер которой можно поставить в организации — глупо пропускать корпоративную переписку, содержащую секретные сведения, через неподконтрольные компании серверы.
Во-вторых, хотелось, чтобы для работы с этой системой можно было использовать привычные для многих сотрудников «мультипротокольные» интернет-пейджеры, такие как Trillian, GAIM, Miranda или SIM. В-третьих, хорошо бы, чтобы это был открытый протокол.
Кажется, этим трем условиям удовлетворяет только Jabber. По первому пункту подошли бы еще ICQ Corporate, MS LCS или SIMPLE, но второй и третий пункты определяют выбор.
В качестве серверного ПО мы используем ejabberd. Это во многом «отечественная» разработка, то есть ведущаяся в основном программистами из России и Украины.
Клиентское ПО — кому какое удобнее, хотя есть и клиент для тех, кто не пользуется «мультипротокольными» пейджерами. Это брэндированный вариант одного из Jabber-клиентов.
Роман Иванов, руководитель отдела коммуникационных сервисов Яндекса
Новое время Jabber
Google оказался первым мускулистым игроком, поддержавшим Jabber на рынке публичных IM-сервисов. Выпустив Google Talk в августе 2005 года, компания также сделала доступной для open source-сообщества разработанное совместно с Jabber Foundation расширение Jingle для XMPP, позволяющее совершать голосовые и видео-звонки. В начале 2006 года Google объявил о подключении GTalk к «федерации» — открытии связности с другими Jabber-серверами и сторонними сервисами. Google также заявляет о поддержке сторонних Jabber-клиентов (в частности, на тех платформах, на которых оригинальный Google Talk не работает). Важно также, что Jingle — полностью «клиентское» решение, не требующее поддержки со стороны сервера. Тем самым, с появлением альтернативных клиентов, поддерживающих эту технологию (уже существующих в виде бета-версий — например, Jabbin [рис. 4] или Jingle-ветвь популярного клиента Psi), голосовой обмен станет также децентрализованным — исчезнет всякая привязка к Google Talk.
Другая серьезная заявка о поддержке Jabber поступила со стороны LiveJournal. Отказавшись от написания собственного клиента, разработчики сделали свое серверное решение, интегрировав Jabber-аккаунт с пользовательским аккаунтом в LJ: синхронизированный список контактов, иконки/юзерпики, уведомления о новых сообщениях и возможность постинга через специального «робота». Подключение к «федерации» — в ближайших планах разработчиков. Заметим, что сверхпопулярная в США социальная сеть MySpace пошла прямо противоположным путем: выпустила собственный IM-клиент — но, увы, основанный на очередном закрытом протоколе.
Читать дальше