Страницы

Счетчики


Jabber и XEP

Jabber и XEP

Хочу рассказать о протоколе XMPP и типе расширений для него под названием XEP.

Немножко теоретической базы из Вики:
XMPP — Extensible Messaging and Presence Protocol (англ. расширяемый протокол обмена сообщениями и информацией о присутствии), ранее известный как Jabber джа́ббер(англ. болтовня, трёп; тарабарщина) — это основанный на XML открытый, свободный для использования протокол для мгновенного обмена сообщениями и информацией о присутствии (см. список контактов) в режиме, близкому к режиму реального времени. Изначально спроектированный легко расширяемым, протокол, помимо передачи текстовых сообщений, поддерживает передачу голоса, видео и файлов по сети.

Применяется среди достаточных крупных проектов, такие как Google Talk, LiveJournal, Gizmo5, Google Wave и Quake Live(чат).

Также у протокола XMPP есть XEP (XMPP Extension Protocol), это расширения (extensions), которые содержат много чего интересного и об я расскажу далее под катом.

Например
Stream Management — которое позволяет исправить минус jabber’a, который исправляет ошибку с потреблением лишнего трафика при доставке сообщений о присутствии (то есть «статус-сообщений») нескольким пользователям. Его суть такова, что благодаря нему компрессия передаваемых данных протокола сжимается алгоритмами lzw и zlib, и шифруется. Как результат, потребление трафика снижается.

Сейчас я сделаю небольшой обзор, какие расширения есть в QIP Infuim и какие интересные расширения в него не включены:

Data Forms — расширение для формы ввода и вывода данных. Необходима в различных плагинах для настройки дополнительных транспортов.

Last Activity — Указывает время последней активности пользователя за компьютером.

Service Discovery -Возможность просматривать информацию об узлах в Jabber и содержит информацию о транспорте.

Multi-User Chat -Поддержка групповых чатов (конференций), которая стала очень актуальна.

In-Band Bytestreams — Позволяет двум клиентам устанавливать между собой виртуальное потоковое соединение путём кодирования данных в Base64.
Это дает шанс людям за закрытым прокси-сервером общаться и путем кодирования передавать данные как обычные сообщения.

a href=«xmpp.org/extensions/xep-0050.html» class=«more-link»>Ad-Hoc Commands(Удаленное управление)

Одно из моих любимых расширений, так как Jabber поддерживает дополнительные статусы, к примеру, vasyapupkin@jabber.ru/home или work. И сидя на работе, вы можете оставить джаббер дома включенным, сменить статус, либо прочитать сообщения, которые пришли на другой клиент.
Мой любимый мобильный джаббер клиент — Bombus, эту функцию поддерживает и это очень удобно.

vcard-temp(Визитка контакта)-vCard — это аналог визитной карточки, в которую пользователь может вписать персональные сведения о себе или то, что посчитает нужным сообщить. Данные vCard используются при поиске контакта. Так же правильно оформленная vCard способствует более удобному общению в конференциях. Позволяет указывать аватар, имя, место жительства и т.д.

SOCKS5 Bytestreams -поддержка промежуточного прокси-сервера.

Out of Band Data — Позволяет двум клиентам устанавливать между собой прямое потоковое соединение. Мало актуальное расширение, требующее внешнего IP адреса, так как у многих провайдеров внешние IP стоят денег и как мне кажется не особо пользуются популярностью среди обычных пользователей.

Chat State Notifications -Отвечает за уведомление о наборе сообщения собеседником.

Software Version — Определение версии клиента собеседника и его операционной системы.

Entity Capabilities — Определение возможностей (поддерживаемых XEP) клиента собеседника.

Jingle — Голосовой чат, видео чат, передача файлов.
Самое лучшее расширение. Надеюсь в qutim 3.0 или в бетках пораньше его добавят, оно позволяет общаться через VoIP, дабы убежать от Google Talk и SIP-провайдеров. За этим будущее.

XMPP Ping — Позволяет определять состояние подключения к серверу путём его пингования. Клиент периодически отправляет небольшие пакеты данных на сервер и получает от него ответ. Если ответа от сервера нет в течение определенного времени, клиент может считать что соединение с сервером потеряно и начать процедуру подключения заново. Данный метод поддерживается не всеми серверами.

Entity Time -Позволяет определить локальное время клиента собеседника.

Теперь я расскажу о по-настоящему полезных расширениях.

OAuth Over XMPP

Немного о протоколе OAuth
OAuth — это открытый протокол авторизации, который позволяет предоставить третьей стороне доступ к защищенным ресурсам пользователя, без необходимости передавать ей (третьей стороне) логин и пароль.
Необходимая вещь, как серьезная замена OpenID, для участия в мульти-чатах (конференциях) через интернет сайты и т.д.

User Tune — Позволяет узнавать о музыке играющей у пользователя. Также можно выкладывать название песни на Juick.

Language Translation

Революционное расширение, позволяющее переводить вручную. Правда, находиться все это еще в стадии набросков (черновика).

В GoogleWave уже есть боты, которые переводят моментально, но у них не слишком большой запас словарных слов, что сказывается на правильности перевода.

На днях хочу поковыряться в XML Console и посмотреть на ее
возможности взаимодействия с Джуйком.

User Location — Данное расширение тоже находится в разработке.
Оно позволяет пользователю выложить свои координаты, взаимодействуя с GPS. Я думаю если поковырять код, то можно привязать и к Google Latitude.

Я считаю за XMPP будущее.

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>