Jabber

Из проекта Викизнание

Jabber, Джа́ббер — система для быстрого обмена сообщениями и информацией о присутствии (в контакт-листе) между пользователями Интернет на основе открытого протокола XMPP, обеспечивающий как личное общение один-на-один, так и групповое, и множество прочих сопутствующих сервисов.

Cходен по возможностям с коммерческими системами мгновенного обмена сообщениями (IM), такими, как AIM, ICQ, MSN и Yahoo.

В основе протокола лежит язык XML, обеспечивающий неограниченные возможности по расширению и наращиванию функциональности. В частности, существуют расширения, обеспечивающие:

  • цветовое и шрифтовое оформление текста;
  • графические смайлы;
  • аудио- и видеосвязь.

Защищённость обмена обеспечивается посредством SSL, PGP/GnuPG на уровне протокола.

В протокол заложена поддержка служб на стороне сервера, именуемых агентами. Система агентов обеспечивает дополнительные сервисы:

  • транспортные агенты, обеспечивающие прозрачный обмен сообщениями и прочей информацией с прочими сетями — ICQ, IRC, AIM, Yahoo messenger, MSN, Mail.ru-агент и т. д.;
  • конференции;
  • поиск собеседников;
  • трансляции новостных лент RSS;
  • напоминатель о приходящей почте;
  • прогноз погоды;
  • размещение сообщений в ЖЖ;
  • и др.


Jabber имеет ряд преимуществ по сравнению с коммерческими системами IM:

  • Открытость: протокол Jabber открыт, общедоступен и достаточно лёгок для понимания; существует множество реализаций серверов и клиентов, а также библиотек с открытым исходным кодом.
  • Расширяемость: с помощью пространств имён в XML можно расширить протокол Jabber для выполнения требуемых задач и для обеспечения поддержки взаимодействия между различными системами. Общие расширения разрабатываются под контролем Jabber Software Foundation.
  • Децентрализованность: кто угодно может запустить свой собственный сервер Jabber, что позволяет организациям и частным лицам заниматься любыми экспериментами с IM.
  • Безопасность: любой сервер Jabber может быть изолирован от общедоступной сети Jabber, многие из вариантов реализации сервера используют SSL при обмене между клиентом и сервером, и немалоPsi, Kopete OTR plugin, Miranda клиентов поддерживают шифрование с помощью PGP/GPG внутри протокола.

Jabber удовлетворяет многие потребности частных лиц и организаций. Но важно понимать, что он не является универсальным решением всех задач. В частности, Jabber не является:

  • Универсальным решением проблем взаимодействия с различными IM-системами — некоторые сервера Jabber предоставляют возможность взаимодействия с другими системами IM через шлюзы, которые транслируют протокол Jabber в протокол этих систем; однако только от самих систем зависит осуществление взаимодействия (к чему они подчас не стремятся, и даже наоборот).


Открытость протокола обеспечила появление большого количества разнообазных клиентских программ, которые существуют практически на всех компьютерных платформах, начиная от семейства Linux, BSD, Windows, заканчивая мобильными — PalmOS, Symbian. Также отличительной чертой является отсутствие централизации — работыет большое количество назависимых Jabber-серверов как общедоступных, так и закрытых, и плюс ко всему, свой сервер может установить любой желающий, при этом пользователи различных серверов не будут испытывать затруднений в общении.

Семейство протоколов Jabber [принято] как стандарт RFC. Стандартный порт для Jabber — 5222[1]. Также возможно использовать порт 80 и/или 443[2], если возникают проблемы с фаерволом.

Протокол планируется как стандарт обмена короткими сообщениями в Internet2.


Оглавление

История

Проект Jabber был основан Джереми Миллером в начале 1998 года с разработки сервера jabberd. Первое сообщение о проекте появилось 4 января 1999 года на Slashdot. Вскоре после этого к проекту присоединилось несколько основных разработчиков, которые стали работать над сервером jabberd, клиентами Jabber для Windows и GNU/Linux, а также шлюзами в основные системы IM (AIM, ICQ, MSN, и Yahoo). Позже, в 1999, Webb Interactive Services начало спонсировать основных разработчиков, что ускорило процесс создания проекта. В то время появилась основа протокола Jabber, а также сервер jabberd и ранние клиенты, такие, как WinJab (устарел и получил своё развитие в Exodus) и Gabber. Этот ранний период постоянных изменений закончился в мае 2000 с выпуском jabberd 1.0.

С тех пор протокол Jabber продолжает развиваться (с августа 2001 под контролем Jabber Software Foundation). Например, в 2003 году было, по крайней мере, четыре реализации сервера, несколько библиотек для немалого количества языков программирования, клиенты Jabber для многих платформ от Amiga до Microsoft Windows.

16 января 2007 года, «Jabber Software Foundation» была переименована в «XMPP Standards Foundation» [1] , для более точного описания своей работы развития расширений собственно протокола, в отличие от линии развития программы с одноименным названием. Jabber, Inc. занимается развитием двух проектов — Jabber Extensible Communications Platform™ (Jabber XCP™) и JabberNow. Проще говоря, первый является фреймворком, а второй — програмно-аппаратное решение (специально собранный и настроенный компьютер).

Об истории развития проекта можно прочесть тут.


Адресация

Каждый пользователь в сети имеет уникальный идентификатор — Jabber ID (сокращенно JID). Во избежание необходимости существования сервера с полным списком всех адресов, JID, подобно адресу электронной почты, содержит имя пользователя и доменное имя сервера, на котором зарегистрирован пользователь, разделённые знаком @. Например, пользователь user, зарегистрированный на сервере example.com, будет иметь следующий JID: user@example.com.

Пользователь может иметь несколько подключений, для идентификации которых сервер позволяет определять дополнительное значение JID, называемое ресурсом и добавляемое через слэш в конец JID. К примеру, пусть полный адрес пользователя будет user@example.com/work, тогда сообщения, посланные на адрес user@example.com, дойдут на указанный адрес вне зависимости от имени ресурса, но сообщения для user@example.com/work дойдут на указанный адрес только при соответствующем подключенном ресурсе.

JID могут также использоваться без явного указания имени пользователя (с указанием имени ресурса или без такового) для системных сообщений и для контроля специальных возможностей на сервере.



Программное обеспечение

Jabber-серверы

(приведены в алфавитном порядке)

  • DJabberd ([2]) — высокоскоростной расширяемый каркас для создания Jabber-серверов, разработанный компанией Danga Interactive. Применяется для общения пользователей ЖЖ.
  • Ejabberdсвободный распределённый и отказоустойчивый Jabber-сервер, написанный на Erlang.
  • jabberd
  • jabberd2
  • Openfire (ранее Wildfire) — свободный многофункциональный и отказоустойчивый Jabber-сервер, написанный на Java. Занимал первое место в рейтинге по возможностям на jabber.org (по состоянию рейтинга на конец марта 2007 года).

Jabber-клиенты

(приведены в алфавитном порядке)

  • Adium — свободный jabber-клиент для Mac OS X, также поддерживает и другие распространённые протоколы.
  • Bombus — свободная программа для обмена сообщениями по протоколу Jabber, предназначенная для мобильных телефонов и смартфонов с поддержкой Java/MIDP.
  • Coccinella — свободная программа для обмена сообщениями по протоколу Jabber, написана на Tcl/Tk.
  • Exodus — свободный (GPL) jabber клиент для ОС Microsoft Windows, поддерживающий плагины, на основе WinJab.
  • Gajim — свободная программа для обмена сообщениями по протоколу Jabber, основанная на Python и PyGTK.
  • Google Talk — Jabber-совместимая программа Google, поддерживающая функции голосового общения.
  • JAJC — Jabber-клиент для ОС Microsoft Windows, написан на Delphi. Поддерживает плагины и скины.
  • LJTalk — программа для обмена сообщениями по протоколу XMPP проекта Livejournal.
  • Pandion — Jabber-клиент для Microsoft Windows, обладает многоязычным интерфейсом, поддержкой смайлов, аватаров и разметки текста. Для работы использует Internet Explorer. Имеется возможность создавать расширения с использованием HTML и JScript.
  • Psi — свободная программа для обмена сообщениями по протоколу Jabber, основанная на библиотеке Qt.
  • SieJC — свободная программа для обмена сообщениями по протоколу Jabber, для телефонов Siemens с установленным эльфпаком.
  • Spark — свободная программа для обмена сообщениями по протоколу Jabber, основанная на Java.
  • Talkonaut — программа для обмена сообщениями по протоколу Jabber, Google Talk и Gizmo Project, с возможностью использования IP-телефонии (VoIP), для мобильных телефонов с поддержкой Java.
  • Tkabber — свободная программа для обмена сообщениями по протоколу Jabber, написана на Tcl/Tk.
  • mcabber — консольный jabber-клиент.
  • Я.Онлайн — Jabber-клиент плюс программа уведомления о новых письмах на Яндекс.
  • QIP Infium — jabber-клиент для Windows, также поддерживает и другие распространённые протоколы.

Многофункциональные клиенты, поддерживающие протокол Jabber

(приведены в алфавитном порядке)

  • Adium — клиент для ОС Mac OS X для обмена мгновенными сообщениями сервисов Jabber, Google Talk, LiveJournal, Bonjour, Gadu-Gadu, ICQ, Lotus Sametime, .Mac, MeBeam, MySpaceIM, Novell GroupWise, Tencent QQ, SIP / SIMPLE, Tlen, Xfire, .NET Messenger Service, Yahoo! Messenger, Zephyr.
  • iChat — программа, поставляемая вместе с операционной системой Mac OS X.
  • Instantbird — свободная программа для мгновенного обмена сообщениями в Интернете, поддерживающая протоколы XMPP, Google Talk, ICQ, Yahoo!, AIM, MSN, Gadu-Gadu и т. д. базирующаяся на Pidgin и Mozilla Firefox.
  • Gizmo — свободная программа для мгновенного обмена сообщениями в Интернете, поддерживающая протоколы AIM, Windows Live (MSN), Yahoo!, MySpace IM, GoogleTalk, ICQ, iChat, QQ, Gadu-Gadu и Jabber.
  • Kopete — свободная программа для мгновенного обмена сообщениями в Интернете, работающая в KDE. Работает с протоколами Jabber, ICQ, AIM, Yahoo, MSN, IRC, Gadu-Gadu, Novell GroupWise Messenger и др.
  • mChat — свободная программа под Windows Mobile для мгновенного обмена сообщениями в Интернете понимающая протоколы ICQ, MSN, Jabber, Mail.ru Агент. Правда, программа давно не обновлялась, и в настоящее время она актуальна только для поддержки Jabber. Ссылка на программу - [3]
  • Miranda IM — свободная программа для мгновенного обмена сообщениями в Интернете или в локальной сети, понимающая протоколы ICQ, IRC, AIM, MSN, Jabber, Google Talk, Yahoo, Skype, Gadu-Gadu, Tlen, Netsend и т. д.
  • Pidgin — свободная программа для мгновенного обмена сообщениями в Интернете, понимающая протоколы ICQ, IRC, AIM, MSN, Jabber, Yahoo, Gadu-Gadu и т. д.
  • QIP Infium — поддерживает Jabber, начиная с версии Infium Beta, вышедшей 22.06.2007 (основан на исходниках модуля Jabber из Miranda IM).
  • SIM — свободная программа для мгновенного обмена сообщениями в Интернете, понимающая протоколы ICQ, AIM, MSN, Jabber, Yahoo и др.
  • Trillian — программа для мгновенного обмена сообщениями в Интернете, понимающая протоколы ICQ, MSN, Jabber, Yahoo и т. д.
  • qutIM — кроссплатформенный клиент мгновенного обмена сообщениями с открытым исходным кодом (поддержка Jabber включена с версии 0.1.99).

Серверы доступа


См. также: