Extensible Messaging and Presence Protocol
Extensible Messaging and Presence Protocol (XMPP) (старо име Jabber[1]) (джабер) е протокол за моментни съобщения и съобщения за състояние, оформен като свободен стандарт, базиран на XML. По данни на Jabber Software Foundation[2] основан на XMPP софтуер е инсталиран на хиляди сървъри в Интернет и се използва от над десет милиона души по цял свят. Протоколът е проектиран с възможности за разширение, очаква се добавяне на възможности за Voice over IP и прехвърляне на файлове.
История
[редактиране | редактиране на кода]Джереми Милър (Jeremie Miller) започва Jabber проекта през 1998 г.; първата общодостъпна версия е анонсирана през месец май 2000 г. Основният продукт на работата по проекта е jabberd – сървър, към който се свързват XMPP клиентите, и който използват за осъществяване на разговорите. Този сървър може да изгражда както частни XMPP мрежи (например зад защитна стена), така и да е част от общата публична XMPP мрежа. Ключовите характеристики на XMPP са разпределения модел на системата за предаване на съобщения (т.е. без единствен централен сървър); и използването на XML-базирани потоци.
Основните спецификации на протокола Jabber, които днес се управляват от Jabber Software Foundation, бяха утвърдени от IETF като стандарт с име XMPP и стандартизирани през RFC 3920. Когато става дума за стандартен протокол за моментни съобщения и съобщения за състояние XMPP често се посочва като конкурентен стандарт на SIMPLE, който е основан на протокола SIP. Но дизайнът на XMPP все пак цели осигуряването на по-общи и независими от приложенията инструменти.
През 2007 г., Jabber Software Foundation (JSF) сега е XMPP Standards Foundation (XSF)[3].
Връзка с други протоколи
[редактиране | редактиране на кода]Уникална характеристика на XMPP системите са транспортерите, известни също и като шлюзове (gateways), които позволяват на потребителите да осъществяват комуникация с IM мрежи, основани на други протоколи – AIM и ICQ (през протокола OSCAR), MSN Messenger и Windows Messenger (през услугата .NET Messenger Service), SMS, E-mail или IRC. За разлика от многопротоколните клиенти като Trillian или Pidgin, XMPP осигурява този достъп на сървърно ниво, през нарочни услуги-шлюзове на отдалечената сървърна машина.
Всеки XMPP потребител може да се „запише“ за някоя от тези услуги, предоставяйки нужните данни за влизане в чуждата мрежа (най-често име или номер и парола) и може да общува с потребители на тези мрежи все едно са XMPP потребители. Това означава, че всеки клиент, в който има пълна поддръжка на протокола XMPP, може да се използва за достъп до която и да е мрежа, за която има транспортер, без нужда от допълнителен програмен код в самия клиент.
XMPP клиенти
[редактиране | редактиране на кода]„Чисти“ XMPP клиенти
[редактиране | редактиране на кода](по азбучен ред)
- Akeni Jabber Client (междуплатформен, собственически)
- Cabber (междуплатформен, GPL)
- Chatopus (PalmOS, собственически)
- Exodus (Windows, GPL)
- Gabber (Linux/Unix, Gnome, GPL)
- Gajim (междуплатформен, GPL)
- Gossip (Linux/Unix, Gnome, GPL)
- Gush (Linux/Mac OS X/Windows, Creative Commons)
- Imcom (междуплатформен, GPL)
- Iruka (междуплатформен, GPL)
- JabberFoX (Mac OS X, BSD лиценз)
- Я.Онлайн (междуплатформен, GPL)
- Jabberzilla (междуплатформен, MPL/GPL/LGPL)
- Jabber Messenger (Windows, собственически)
- Jabber WindowGram Client ((Mac OS X, Linux/Unix, GPL)
- JAJC (Windows, собственически, но безплатен за употреба)
- JBother (Java, GPL)
- Jeti (Java, GPL)
- Jeti/2 (Java, eComStaton OS/2, GPL)
- Neos (Windows, собственически)
- Nitro (Mac OS X, GPL)
- Pandion (Windows, собственически)
- Psi (междуплатформен, GPL)
- sjabber (междуплатформен, GPL)
- Spark (междуплатформен, GPL)
- The Coccinella (Windows, Mac OS X, Linux/Unix, GPL)
- Tkabber (междуплатформен, GPL)
- Whisper IM (Java, Creative Commons)
Многопротоколни клиенти с поддръжка на XMPP
[редактиране | редактиране на кода](по азбучен ред)
- Adium (Mac OS X, GPL)
- Bitlbee през IRC (междуплатформен, свободен)
- Centericq (междуплатформен, GPL)
- Fire (Mac OS X, GPL)
- Pidgin (Linux/Unix/Windows, GPL)
- Proteus (Mac OS X, собственически)
- qutIM (Linux/Unix/BSD/Windows/Mac OS X, GPL)
- Kopete (Linux/Unix, GPL)
- Miranda IM (Windows, GPL)
- SIM (Linux/Windows, GPL)
- Trillian Pro (Windows, собственически) през приставка
- iChat (Mac OS X v10.4 само за Tiger, собственически)
XMPP сървъри
[редактиране | редактиране на кода](по азбучен ред)
- Antepo OPN (междуплатформен, комерсиален)
- chime (междуплатформен, GPL)
- ejabberd (междуплатформен, GPL)
- Jabber XCP (Linux, Solaris, Microsoft Windows, комерсиален)
- jabberd (междуплатформен, GPL)
- jabberd2 (междуплатформен, GPL)
- Openfire (междуплатформен, GPL)
- Merak IM (Microsoft Windows, комерсиален)
- Tigase (междуплатформен, GPL)
Местни XMPP общности
[редактиране | редактиране на кода]На някои места в света са се заформили общности, чиято цел е подобряването и разпространението на XMPP до крайния потребител. Смята се, че тъй като XMPP е свободен протокол, той е по-правилният начин да се разговаря през мрежата. Всички други протоколи или са много остарели (IRC), или са собственически и не са стандарти на IETF (AIM, ICQ, MSN Messenger, Yahoo Messenger), и съответно не е гарантирано нито бъдещото им развитие, нито включването на нужни на потребителите характеристики. In a few places around the world, communities have evolved where the main focus is advocating XMPP and bringing XMPP closer to the end user. Usually services are offered, such as a XMPP server, a web portal to assist users with signing up to XMPP and forums.
Някои примери за местни XMPP общности:
- Jabber Australia
- Jabber Africa
- JabberES (Испания)
- JabberPL (Полша)
Примерен обмен между клиент и сървър
[редактиране | редактиране на кода]Клиентът (пижо) се свързва в XMPP сървъра (jabber.minus273.org, на TCP порт 5222), изпраща съобщение (Относно: „проба-проба“ и Съдържание: „проба едно-две-три“) до друг клиент (пенда) и излиза.
пижо:
<?xml version="1.0"?> <stream:stream xmlns:stream=„http://etherx.jabber.org/streams“ xmlns="jabber:client" to="jabber.minus273.org">
jabber.minus273.org:
<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' from='jabber.minus273.org' id='1461777714'>
пижо:
<iq type="set" id="auth_2" to="jabber.minus273.org" > <query xmlns="jabber:iq:auth"> <username>pizo</username> <password>mypassword</password> <resource>В офиса</resource> </query> </iq>
jabber.minus273.org:
<iq from="jabber.minus273.org" id='auth_2' type='result'/>
пижо:
<message to="penda@example.com" > <subject>проба-проба</subject> <body>проба едно-две-три</body> </message> <presence type="unavailable" > <status>Logged out</status> </presence> </stream:stream>
jabber.minus273.org:
</stream:stream>
Вижте също
[редактиране | редактиране на кода]Източници
[редактиране | редактиране на кода]- ↑ Jabber Inc. – About Us, архив на оригинала от 3 юли 2007, https://web.archive.org/web/20070703003323/http://www.jabber.com/CE/AboutUs, посетен на 11 октомври 2009
- ↑ Jabber Instant Messaging User Base Surpasses ICQ, архив на оригинала от 3 ноември 2007, https://web.archive.org/web/20071103080257/http://www.xmpp.org/xsf/press/2003-09-22.shtml, посетен на 14 септември 2009
- ↑ Jabber Software Foundation Renamed to XMPP Standards Foundation Архив на оригинала от 2010-06-15 в Wayback Machine. 16 януари, 2007 – jabber.org is still maintained
Външни препратки
[редактиране | редактиране на кода]- XMPP Standards Foundation
- Български публичен XMPP сървър – jabber.minus273.org
- Български публичен XMPP сървър – jabber.bglinux.org Архив на оригинала от 2009-04-07 в Wayback Machine.
- Български публичен XMPP сървър – animerulezzz.org Архив на оригинала от 2008-09-13 в Wayback Machine.
- Jabber.org
- Jabber User Guide – Въведение в използването на XMPP за нови потребители.