Extensible Messaging and Presence Protocol: Porovnání verzí

typografie, výslovnost a doplnění
(typografie, výslovnost a doplnění)
[[Soubor:XMPP logo.svg|náhled|Logo protokolu XMPP]]
'''Extensible Messaging and Presence Protocol''' ('''XMPP''') (dříve známý jako '''Jabber'''<ref> [http://www.jabber.com/CE/AboutUs Jabber Inc. – About Usˈdžæbə(r)] {{Wayback|url=http://www.jabber.com/CE/AboutUs |date=20070703003323 }} – neplatný odkaz !</ref>), neboli „rozšiřitelný [[protokol (informatika)|protokol]] pro posílání zpráv a zjištění [[Stav účastníka|stavu]]“, původně vznikl jako protokol pro [[instant messaging]]ovou síť Jabber. Brzy se ale ukázalo, že kromě IM může být s&nbsp;výhodou použit i pro vzájemnou komunikaci programů nebo pro ovládání různých automatických služeb ([[Internetový bot|botů]]). Později byl adoptován jakožto standard Internetu do [[Request for Comments|RFC]] dokumentů – základní normy jsou [[rfc:3920|RFC 3920]] (obecná specifikace protokolu) a [[rfc:3921|RFC 3921]] (samotný [[instant messaging]] a zobrazení [[Stav účastníka|stavu]]). RFC obsahující některá další rozšíření XMPP protokolu jsou například [[rfc:3922|RFC 3922]] a [[rfc:3923|RFC 3923]]. O &nbsp;vývoj protokolu se stará [http://xmpp.org/ XMPP Standards Foundation]. Rozšíření nad rámec RFC jsou vydávána v&nbsp;podobě tzv. XEP (XMPP Extension Protocol), kterých je momentálně kolem dvou set (v&nbsp;různém stavu, od prvních návrhů až po standardy). XMPP je implementací obecného značkovacího jazyka [[Extensible Markup Language|XML]]. Specifikace jsou zcela otevřené a dostupné všem, kdo mají zájem o &nbsp;implementaci software s&nbsp;podporou XMPP. Servery XMPP protokolu běží standardně na TCP portu 5222. Pro vzájemnou komunikaci serverů je pak vyhrazen port 5269.
 
[[Soubor:Jabber xml.png|náhled|XMPP zapouzdřuje zprávy do [[Extensible Markup Language|XML]]]]
 
Síť využívající XMPP protokol není centralizovaná do jednoho místa, jako je zvykem u &nbsp;většiny ostatních IM, ale je distribuovaná na servery po celém světě, na kterých je možno si založit uživatelské konto. Identifikátory uživatelů (takzvané [[Jabber ID]], zkráceně JID) jsou v&nbsp;základním tvaru syntakticky i sémanticky podobné [[e-mail]]ovým adresám, tedy uzivatel@server. Uživatel si může dále své konto rozdělit podle potřeby, například se může jeho klient z&nbsp;domova hlásit jako <code>uzivatel@server/doma</code>, a &nbsp;zároveň třeba i <code>uzivatel@server/prace</code>. Na jedno uživatelské konto může tedy být přihlášeno i více klientů najednou a mezi nimi se rozhoduje buď podle celé adresy, pokud ji druhá strana zadá, nebo podle nastavené priority.
 
Uživatel se připojuje vždy pouze ke svému serveru, protože jenom tento server je schopen ověřit jeho identitu například pomocí uživatelského jména a hesla. Pokud vznikne potřeba komunikovat s&nbsp;uživateli na jiných serverech, připojí se uživatelův server na vzdálený server a předá si s&nbsp;ním potřebné informace. Toto je nutné vykonávat například i v&nbsp;případě, že je třeba zjistit ''[[Stav účastníka|prezenci]]'', tedy zdali je uživatel na vzdáleném serveru přihlášen a v&nbsp;jakém je stavu. Kromě serverů a klientů se v&nbsp;síti vyskytují ještě různé služby – například služba víceuživatelských diskuzí (funkčně velmi podobné [[Internet Relay Chat|IRC]]), uživatelské adresáře a transporty. Transporty jsou vlastně brány mezi XMPP sítí a IM sítí pracující na jiném protokolu.
[[Soubor:Wie ein Jabber-Transport funktioniert.svg|náhled|střed|600px|Ukázka transportu do [[ICQ]]]]
 
== Jak XMPP pracuje? ==
[[Soubor:JabberNetwork.svg|náhled|Síť XMPP]]
Síť XMPP je založena na architektuře [[klient-server]] (klienti zpravidla nekomunikují přímo) a je [[Decentralizace|decentralizována]] stejně jako [[e-mail]]. To znamená, že neexistuje žádný centrální server, který by spojoval uživatele, jako je tomu například u &nbsp;[[ICQ]]. Každý může zřídit svůj vlastní server, přičemž bude moci komunikovat s&nbsp;uživateli na jiných serverech. Uživatel tak má svobodu volby serveru, ke kterému má důvěru a který mu nabízí lepší služby, a &nbsp;možnost změny stejně jako v&nbsp;případě e-mailu. Samozřejmě existuje spousta serverů, na kterých se lze zdarma zaregistrovat bez potřeby tvorby vlastního serveru.
 
Uživatel je identifikován uživatelským jménem a názvem serveru. Tyto dvě hodnoty jsou odděleny znakem ''<code>@''</code>. Tedy např. ''<code>pepa@jehoserver.cz''</code>. Tento [[textový řetězec|řetězec]] se nazývá [[#Jabber ID|Jabber ID]] nebo také '''JID'''.
 
Co se děje při komunikaci mezi dvěma uživateli, ukazuje názorný příklad. Uživatelka Julie má účet na serveru <code>Kapuletova.cz</code>, takže její JID má tvar <code>julie@kapuletova.cz</code>. Chce si povídat s&nbsp;Romeem, jehož JID je <code>romeo@montek.com</code>. Když Julie napíše zprávu a pošle ji Romeovi, provede se několik akcí:
# XMPP klient Julie pošle její zprávu serveru Kapuletova.cz.
#* Pokud je Montek.com blokován, zpráva je smazána (zpět je zasláno chybové hlášení).
 
== Jabber ID ==
Jabber ID neboli také '''JID''' jsou uživatelská jména, pomocí kterých se přistupuje k&nbsp;XMPP účtu. Obvykle se skládají ze tvaru <code>uzivatel@domena/zdroj</code>. Jsou podobná [[e-mail]]ovým adresám. Část zdroj dovoluje uživateli individuální připojení na jeden účet z&nbsp;více míst. Například <code>uzivatel@domena/doma</code> a <code>uzivatel@domena/prace</code>. Zdroj není nutný uvádět pro kontaktování uživatele, ale může být vyžadován například při přenosu souborů. JID může, až na několik výjimek, obsahovat libovolné znaky [[unicode]], tzn. i česká písmena s&nbsp;diakritikou.
 
== Historie XMPP ==
* rok 1998 – [[Jeremie Miller]] založil projekt Jabber.
* srpen 1999 – Jeremie podepsal prohlášení zaručující podporu Jabber komunity [[Internet Engineering Task Force|IETF]] standardizaci.
* květen 2000 – Uvolněn první software.
* červen 2000 – Jeremie a další členové projektu Jabber se upsali koncepci [[IMPP]] dokumentující Jabber protokol. Kvůli nesoustředěnosti tehdejší komunity se však nepodařilo plně následovat [[IMPP]] či jiné [[Internet Engineering Task Force|IETF]] snahy.
* rok 2001 – Vytvořena Jabber Software Foundation (JSF) pro zajištění organizace nad rostoucím počtem open source projektů a komerčních entit budujících či používajících technologie XMPP. Jedním z&nbsp;hlavních cílů JSF byla dokumentace XML protokolu a jeho další rozvíjení.
* únor 2002 – Nově podepsána koncepce [[IETF]]. Výsledkem úspěchu tohoto podpisu bylo rozhodnutí prozkoumat možnosti zformování [[IETF]] Working Group pro diskuse o &nbsp;Jabber protokolu pod názvem XMPP, výsledkem čehož byly podepsány tři nové koncepce 21.&nbsp;6. 2002
* 29.&nbsp;leden 2004 – [[IESG]] uznala XMPP Core a XMPP IM jako navrhované standardy
* 4.&nbsp;říjen 2004 – [[IETF]] uznala XMPP jako standard pro IM.
 
== Jabber v ČR ==
* 21.&nbsp;červenec 2001 – založen server njs.netlab.cz, provozovaný společností HumboldTec.
* 16.&nbsp;září 2005 – njs.netlab.cz, který se stal největším serverem v&nbsp;ČR, pohltil server jabber.cz.
* 1.&nbsp;září 2006 – za spolufinancování provozu obou serverů, sjednocených pod projekt [http://www.jabbim.cz/ jabbim.cz], jsou uživatelům nabídnuty rozšířené služby.
* 23.&nbsp;dubna 2007 – [[Jabbim]] oznámil dosažení 70&nbsp;000 registrací, 14&nbsp;000 aktivních uživatelů a přes 5&nbsp;000 přihlášených ve špičce.
 
== Google Talk ==
{{Viz též|Google Talk}}
Společnost [[Google]] uvedla koncem roku 2005 nový projekt Google Talk. Tato služba pro Instant Messaging využívá protokolu XMPP. Dále přidala možnost hlasové komunikace, na jejíž specifikaci spolupracuje s&nbsp;[[XMPP Standards Foundation]]. Později přibyla i možnost video hovorůvideohovorů.
 
== Klienti XMPP ==
* [[Bombus]] (pro [[mobilní telefon]]y s&nbsp;[[Java ME]])
* [[Bombus-ng]] (pro zařízení s&nbsp;[[Windows Mobile]]; httpshttp://web.archive.org/web/20101104160136/http://bombus-im.org/wiki/bombus/pocketpc) – neplatný odkaz !
* [[Coccinella]] (http://coccinella.im/)
* [[Empathy]] (klient s&nbsp;podporou hlasu a videa, kompatibilní s&nbsp;Google Talkem; http://live.gnome.org/Empathy]
* [[Gajim]] (http://www.gajim.org/)
* [[Jabbim]]
* [[JWChat]] (webový klient; některé servery provozují vlastní verzi pro své uživatele; http://jwchat.org)
* [[mcabber]] (http://lilotux.net/~mikael/mcabber/)
* [[Psi (program)|Psi]] (http://psi-im.org/)
* [[Spark (software)|Spark]]
* [[Tkabber]] (http://tkabber.jabber.ru/)
* [[Xeus Messenger]]/[[Glu (klient)|glu]] (http://xeus-messenger.blogspot.com/) – neplatný odkaz !
* [[Xabber]] (open-source klient pro operační systém [[Android (operační systém)|Android]]; http://www.xabber.com)
 
Tento seznam není ani zdaleka kompletní. Další klienty naleznete např. na [http://www.jabber.cz/wiki/Kategorie:Klienti Jabber.cz Wiki].
 
=== Multi-protokolovíMultiprotokoloví klienti s podporou XMPP ===
* [[Adium]] (http://www.adium.im/)
* [[BitlBee]] (http://www.bitlbee.org/)
* [[CenterIM]] (pokračovatel [[CenterICQ]]; http://www.centerim.org/)
* [[Digsby]]
* [[Empathy]]
* [[iChat]] (nahrazen aplikací [[Messages (Apple)|Messages]])
* [[iChat]] (http://www.apple.com/macosx/features/ichat/) – neplatný odkaz !
* [[Kopete]]
* [[Meebo]] (webovýodkoupen klient;Googlem http://www.meebo.coma následně zrušen)
* [[Miranda IM|Miranda]]
* [[Mozilla Thunderbird]] (poštovní a IM klient, česky: httpshttp://www.thunderbird.net/cs/)
* [[Pidgin]] (dříve Gaim)
* [[qutIM]]
== Externí odkazy ==
* {{Commonscat}}
* {{en}} [http://xmpp.org/ Oficiální stránky] – XMPP Standards Foundation
* {{cs}} [http://www.jabber.cz/wiki/ Jabber.cz – Wiki] – velké množství informací o &nbsp;XMPP/Jabberu v&nbsp;češtině
* {{cs}} [http://zmsoft.cz/?str=jabber&hid=5&idmh=5 Jabber/XMPP] – návod, jak začít komunikovat s&nbsp;Jabberem pro úplné začátečníky.
* {{sk}} [http://www.root.cz/serialy/jabber-komunikacny-protokol/ Seriál Jabber – komunikačný protokol] {{sk}}
 
{{Internetové protokoly}}