www.SAMURAJ-cz.com 

25.04.2024 Marek Translate to English by Google     VÍTEJTE V MÉM SVĚTĚ

Články

Popis Instant Messagingu Jabber se zaměřením na firemní nasazení

Pondělí, 16.07.2007 18:09 | Samuraj - Petr Bouška |
Heslem dnešní doby jsou komunikace a pro firmu k tomu přibývá spolupráce. Mobilní telefony se prosadili během krátké doby a masově se prosadila i služba SMS (krátké textové zprávy), která byla původně plánována jako drobný doplněk hovorů. Lidé používají řadu komunikačních prostředků (jako email, telefon, IM apod.) a velké firmy se snaží vytvářet spojené komunikace. Jedním z komunikačních prostředků, většině lidí známý, je Instant Messaging. Tento systém komunikace se z osobního použití pro zábavu dostal i do firemního prostředí. Jedním typem IM je i Jabber, který je ve světě na špičce v počtu uživatelů. Tento systém má řadu výhod a je možno jej nasadit i ve firmě.

Instant Messaging (IM)

Instant Messaging (IM) je forma komunikace v reálném čase. Primárně se jedná o textovou komunikaci mezi dvěmi osobami v počítačové síti. V dnešní době je však rozšiřována o přenos souborů, hlasu i obrazu a často můžeme komunikovat s více osobami najednou. Jedná se o efektivní metodu spolupráce, která má řadu výhod oproti obdobným metodám, jako je email nebo chat. Plně odpovídá heslu dnešní doby, kterým je "komunikace a spolupráce". IM systémů existuje celá řada, příkladem je ICQ, MS Messanger, Skype, AIM, Google Talk či Jabber.

Skype logo ICQ logo MSN logo Google Talk logo

Pro funkci IM potřebujeme účet v daném systému, klientský software, který zajistí připojení do sítě (může se jednat i o webového klienta) a komunikační infrastrukturu (servery a propojení). Princip je takový, že zasíláme textové zprávy, které druhá strana okamžitě obdrží, a může hned reagovat odpovědí. Jednoduše by se dal princip IM přirovnat k SMS zprávám v GSM síti.

Dobrou vlastností většiny IM je tzv. presence, tedy informace o stavu přítomnosti a připravenosti k hovoru. Tento stav se nastavuje buď automaticky (pokud nějakou dobu nepracujeme na počítači) nebo ručně (např. nerušit).

Výhodou oproti emailu je, že můžeme vést víceméně online efektivní komunikaci, na což email není navržen. IM je optimalizován na zasílání krátkých zpráv, pomocí kterých vedeme konverzaci. Většinou si také můžeme ukládat historii.

Výhodou oproti chatu je, že máme seznam našich kontaktů a můžeme kdykoliv psát jednomu nebo více z nich. Ve většině systémů můžeme psát zprávy i kontaktu, který není připojen.

Někdo by si mohl myslet, že je jednodušší použít telefon, ale jak ukazuje praxe, tak to není vždy pravda. Výhody oproti telefonu jsou například, že na zprávy, které obdržíme pomocí IM, můžeme odpovědět ihned, ale také později, až budeme mít čas. Můžeme jednoduše vést několik hovorů najednou. Navíc dnešní rozšíření IM dovolují zasílat soubory (třeba obrázky), přejít do hlasového nebo video hovoru. Jednoduše také můžeme zasílat odkazy a obdobné věci, které se po telefonu těžko sdělují.

IM Jabber a protokol XMPP

Jedním z IM systémů je Jabber Instant Messaging and Presence technology (krátce Jabber). Jabber je založen na protokolu Extensible Messaging and Presence Protocol (XMPP), což je otevřený standardizovaný protokol založený na XML. XMPP je již od základu plánovaný pro rozšiřování (o funkce jako je VoIP apod.). Základ XMPP je specifikován v RFC 3920 a RFC 3921, ale řada vlastností je popsána v dalších RFC. IETF (Internet Engineering Task Force) vytvořilo několik pracovních skupin, které se věnují XMPP. Význačná je XMPP Standards Foundation jejímiž hlavními sponzory jsou Google, Hewlet Packard a Jabber inc.

Jabber logo

Díky tomu, že se jedná o otevřený standard, může kdokoliv vytvářet aplikace, které využívají XMPP. Situace je tedy obdobná jako v případě emailu a protokolu SMTP. Navíc princip funkce i použití je obdobné jako u elektronické pošty. Tyto výhody vedou k tomu, že Jabber je dnes (podle některých studií) nejpoužívanější IM systém. Navíc je asi jediný založený na standardizovaném protokolu.

Jabber pracuje na trochu jiném principu než běžné veřejné IM systémy, které mají většinou proprietální protokol a centrální servery, ke kterým se všichni připojují. Základní princip Jabberu je obdobný jako u emailu. Máme řadu serverů (například každá firma má svůj vlastní) a při komunikaci se kontaktuje server, na kterém je cílový učet.

Výhodou Jabberu je jeho univerzálnost a otevřenost. Můžeme jej jednoduše používat pro soukromé účely jako jiné IM systémy (a nahradit například ICQ). Najdeme nějakého veřejného poskytovatele (server), kde si zřídíme (zdarma) účet. Ale stejně dobře můžeme Jabber nasadit ve firemním prostředí a vybudovat tak komunikační infrastrukturu, která může být uzavřená nebo připojená do veřejné sítě (a komunikovat s ostatními účty v Jabberu).

Pozn.: Samozřejmě dnes existují i jiné IM systémy určené pro komerční nasazení, například od firem Microsoft, Lotus či IBM.

Podrobněji o fungování Jabberu

Jak jsem již řekl, princip komunikace v Jabberu je obdobný jako u elektronické pošty. Důležitým termínem je Jabber ID (JID), jednoznačný identifikátor v síti Jabber. Vypadá obdobně jako emailová adresa a má i podobnou funkci. Skládá se ze tří částí jméno@server/zdroj, ale většinou se používá pouze jméno@server. Příkladem může být bouska@gmail.com. Jednotlivé části znamenají:

  • jméno - přezdívka nebo jméno uživatele, unikátní na daném serveru.
  • server - jméno serveru (domény), kde má uživatel vedený účet nebo transport. Jinak řečeno adresa, kam je směrována komunikace server - server.
  • zdroj - rozlišuje jednotlivá připojení k serveru. K jednomu účtu můžeme být (například) připojeni z několika klientů najednou.

Celý systém je založen na distribuovaných serverech po internetu, ke kterým jsou připojeni klienti, a které mezi sebou komunikují. Ale je možno použít i pouze jeden server uvnitř organizace a komunikovat pouze v rámci této organizace. Výhodou je, že výpadek serveru ovlivní pouze uživatele, kteří mají účet na tomto serveru. Oproti tomu v případě centrálních serverů, kde výpadek ovlivní celou část klientů.

Jak probíhá komunikace, když chci zaslat zprávu jednomu příjemci:

  • klient se přihlásí k serveru, kde se ověří
  • pokud pošlu zprávu, tak ji můj klient zašle na můj server
  • ten provede směrování
  • spojí se s cílovým serverem (pokud není cílový on sám), dle adresy serveru v JID
  • odešle zprávu na cílový server
  • cílový server předá zprávu klientovi (ve chvíli, kdy bude přihlášen)

Organizace mají svůj vlastní server, kde mohou nastavit požadované politiky a bezpečnost pro komunikaci klientů v rámci tohoto serveru. Dále existují veřejné servery, kde je možno si vytvořit účet. Příkladem je Google Talk, který využívá XMPP a je tedy kompatibilní jak s klienty, tak s celou sítí, i když přináší některá vlastní rozšíření. V Čechách jsou veřejné servery například jabber.cz či jabbim.cz.

Připojení k serveru

Myslím, že může být trochu matoucí, že je možno mít dvě adresy serveru. A to adresu (a k ní FQDN), na které mezi sebou komunikují servery, to je adresa obsažená v JID. A pak adresu, přes kterou připojujeme klienta.

Aby naše JID pěkně vypadalo, tak je dobré, aby adresa serveru byla naše doména. Stejně to bývá v případě emailové adresy. Je pak také pěkné, když máme stejný email jako JID. V DNS můžeme mít speciální záznam, mail exchanger (MX), který ukazuje na poštovní server. Ale jinak pouze jednu adresu pro doménu. Tuto adresu většinou používáme pro webový server a další služby. Standardní Jabber port sice můžeme přesměrovat na firewallu na jinou IP, ale pokud chceme použít např. port 443, tak je většinou obsazený. Proto je na klientech možno zadat jinou adresu a port pro připojení na Jabber server.

Příkladem může být JID bouska@gmail.com. Když někdo posílá zprávu na toto JID, tak se jeho server připojí na adresu gmail.com a standardní port. Ale když nastavuji klienta, tak jako adresu serveru používám talk.google.com.

Doplněno 24.7. 2007 díky Pavlixovi:

Pro Jabber existuje několik typů Service Location (SRV) záznamů. SRV záznam umožňuje identifikovat nějakou službu pro danou doménu, takže nemusíme znát její adresu ani port. Také v případě, kdy se změní adresa služby, tak nemusíme měnit žádné nastavení v klientovi. SRV záznam je jakýsi odkaz, který pro určité jméno (definované jméno služby) vrací, kde běží a několik dalších hodnot, jako prioritu a váhu (pro load-balancing). Důležité je, že jako cíl (hostitele, kde běží služba) musíme zadat FQDN a ne IP adresu. Musíme tedy mít adresu a záznam v DNS (jak je popsáno výše), ale pro uživatele se celá situace zjednodušuje. Pro XMPP protokol máme SRV jména _xmpp-client a _xmpp-server, oboje pod protokolem TCP.

Používané porty

Portů, které se používají v Jabberu je celá řada. Většinu si můžeme nastavit dle vlastních potřeb. Nejdůležitější porty, a jejich hodnoty, pro komunikaci:

  • server - server [5269] - pokud máme vlastní server a chceme, aby naše síť byla propojena s celým okolním světem, musíme povolit tento port (na serveru a FW), který nemůžeme modifikovat. Pokud někdo z venku chce kontaktovat naše klienty, tak se jeho server spojuje s naším přes tento port.
  • klient - server [5222] - standardní port pro komunikaci klientů se serverem, komunikace může být šifrovaná i nešifrovaná, port můžeme změnit dle potřeby, třeba na 80 či 443. Pokud se připojujeme na veřejný server, je toto většinou běžná hodnota.
  • klient - server [5223] - stará nestandardní metoda pro připojení klientů na server, zvaná old SSL method, je šifrovaná, ale nedoporučuje se používat

Dle serveru se může používat řada dalších portů. Například proxy pro přenos souborů, když se tyto přenáší přes server (třeba kvůli NATu), přístup na administrační rozhranní serveru, http binding je speciální metoda pro přístup přes http(s) protokol, STUN služba pro zajištění komunikace mezi stranami za NATem (pokud nejde přímo).

Výhody Jabberu oproti ICQ

Myslím, že výhody pro firemní nasazení, jsem popsal dostatečně a jsou jasné. Jiná situace je, proč by měl člověk, který již delší dobu používá ICQ (nebo podobný IM) pro osobní potřebu, přejít na Jabber. Na internetu, a hlavně českém, nalezneme na toto téma řadu článků a diskuzí, kde se účastníci předhánějí ve vyzdvihování Jabberu a zatracování všeho ostatního. Já osobně řadu běžně uváděných důvodů nepovažuji za výhodu, a kdybych neměl problémy popsané níže, tak bych od ICQ neodcházel. Používám jej již více než 10 let a mám desítky kontaktů, které budu těžko přesvědčovat, aby přešli na Jabber.

Hlavní problémy ICQ

  • licenční smlouva, mimo jiné obsahuje
    • zákaz použití alternativního klienta
    • zákaz využití pro komerční účely
    • na cokoliv, co napíšete či pošlete přes ICQ, získává autorská práva firma ICQ
  • časté výpadky nebo problémy na serveru
  • občas se ICQ klient "zasekne" a vytíží procesor na 100%

Problém Skypu

U Skypu je zase problém, na mnoha místech popsaný, že jejich klient zasílá informace z počítače bez vašeho vědomí a neexistuje alternativní klient.

Obecně uváděné výhody Jabberu oproti ICQ a ostatním

  • decentralizovaný systém
  • existuje řada nezávislých poskytovatelů (nejsem vázán na jednoho jako u ICQ)
  • používá se kódování UTF-8, takže by neměl být problém s češtinou
  • dobře zapamatovatelný identifikátor
  • autorizace pro zjištění vaší presence (statusu)
  • komunikace je (či může být) šifrována
  • můžete provozovat vlastní server
  • existuje řada klientů a serverů
  • nejedná se o komerční aktivitu (i když existují komerční řešení), nevyžaduje se reklama
  • díky rozšiřitelnosti se dají doplňovat nové funkce

Transporty

Samozřejmě, když někdo používal delší dobu třeba ICQ a rozhodne se přejít na Jabber, tak nechce ztratit kontakty, které měl v ICQ. Sice, když se již rozhodnu přejít (asi z některých důvodů popsaných výše), tak by bylo lepší ICQ úplně zrušit, ale nejde to hned. Pro současné používání Jabberu a dalších IM máme dvě možnosti:

  • multiklient - máme jednoho klienta, který se umí připojit do několika sítí najednou. Příkladem je Miranda či Pidgin. U ICQ však porušujeme licenční ujednání.
  • transport - na serveru můžeme mít třeba ICQ transport, což je jakási brána do jiné sítě. Klient se připojuje k našemu serveru přes Jabber a ten teprve zprostředkovává komunikaci do jiné sítě. Myslím, že zde je opět problém s ICQ licencí. Navíc jsem neviděl transport, který by fungoval stejně dobře jako samostatný ICQ klient.

Transporty jsou však mnohem univerzálnější. Jsou to určitá rozšíření serveru, která umožňují komunikaci s nějakým jiným systémem. Existují například transporty pro informace o počasí či posílání SMS.

Nasazení IM ve firemním prostředí

V dnešní době je používání nějakého Instant Messagingu velice oblíbené a běžné. Některé firmy zabraňují používání IM v zaměstnání, ale řada jiných jej naopak využívá pro pracovní účely. Běžné veřejné systémy pro IM (jako je MS Messenger či ICQ), mají pro použití v korporátním prostředí řadu nevýhod. Například: data, často důvěrná, jsou nešifrována a na cizím serveru, nemůžeme globálně spravovat uživatele a klienty, licenční ujednání k veřejným systémům.

Výhodou veřejných systémů je právě to, že jsou zaměřeny na soukromé použití. Není problém si vytvořit účet. Účet máme stále a přístupný odkudkoliv. Je to obdoba veřejných emailů.

Že má IM nezanedbatelný význam pro firemní komunikaci je patrné nejen z toho, že na světě jsou desítky milionů uživatelů, ale že i velké firmy jako Cisco integrují IM do svých systémů pro komunikaci. IM je často efektivnější nežli použití emailu či telefonu. Velice užitečná je například funkce presence, tedy informace o stavu uživatele (přítomen, nepřijímá zprávy, apod.).

Pro nasazení ve firmě tedy můžeme uvažovat o nějakém specializovaném komerčním systému pro IM, který je většinou nazývaný jako systém pro komunikaci a spolupráci. Příkladem je například Microsoft Office Live Communications Server. V poslední době přichází i Microsoft se sjednocenými komunikacemi, pěkný popis je v článku Microsoft Unified Communications.

Druhou možností, je již zmiňovaná firma Cisco (a nejen ona) a její sjednocený komunikační systém, jehož základem je IP telefonie, ale obsahuje také IM, jedná se o Cisco Unified Communications.

A třetí možnost je využití Jabberu. Můžeme získat kvalitní a funkční server zdarma pod licencí GNU GPL nebo si zaplatit komerční verzi s rozšířenými funkcemi a podporou. Výhodou je, že pokud chceme systém vybudovat otevřený, tak u Jabberu není problém, abychom komunikovali se všemi, co používají Jabber (případně i jiné sítě).

Odkazy

zobrazeno: 12556krát | Komentáře [10]

Autor:

Související články:

IM Jabber

Články o Instant Messagingu, které se primárně věnují populárnímu systému Jabber.

Pokud se chcete vyjádřit k tomuto článku, využijte komentáře níže.

Komentáře

  1. [1] pavlix

    Pěkný článek.

    S tím Jabberem a XMPP to není úplně přesný, ale v tom se nikdo pořádně nevyzná :) a navíc to není moc důležitý.

    Co ale možná nevíš je, že vedle MX záznamů pro mail jsou ještě novější SRV záznamy pro libovolné služby. A právě SRV záznamy se na Jabberu hodně využívají. Zkus dát na nějakym unixu "host -t SRV název" - za název postupně dosaď třeba _xmpp-client._tcp.xmpp.cz, _xmpp-server._tcp.xmpp.cz a _xmpp-server.google.com.

    Pátek, 20.07.2007 17:23 | odpovědět
  2. [2] Samuraj

    odpověď na [1]pavlix: Díky.

    Vazba a co přesně znamená Jabber ku XMPP jsem nemusel napsat správně. To co jsem napsal, je jak jsem to pochopil po přečtení řady článku a nahlédnutí do specifikace.

    Za doplnění SRV records děkuji, na ty jsem nevzpomněl a nevěděl jsem, že existují zrovna pro Jabber. Vyzkouším to u nás ;-).

    Neděle, 22.07.2007 18:15 | odpovědět
  3. [3] jaromir

    Lotus je obch znacka IBM :)

    Pátek, 25.07.2008 12:28 | odpovědět
  4. [4] Stefan

    Dobrý...

    Priznám sa,že neviem či svoje otázky adresujem správne, ale nepodarilo sa mi zatial naďabiť na fórum,

    ktoré by ma obohatilo o informácie...ako v komunite zaviesť vlastnú decentralizovanú komunikáciu na báze XMPP(jabber).

    Zaujíma ma čo presne je potrebné na jednom PC1(server) (sys. windows NT....) nainštalovať (nakonfigurovať) aby potom jabber klienti na

    jednotlivých PCxxx (Win..NT..) v komunite (plánujem dať PSI či Gajim) boli schopný komunikovať. Návodou ako nastaviť účet v jabber klientovi

    na kopec rozmanitých_jabber servroch je habadej....ale info ohladom nastavenia internej siete s vlastným jabb. servrom je málo.

    Predpokladám,že na servri(Klasik.. PC) musí asi bežať neaký program podporujúci XMPP...ja som nainštaloval JabberD-1.4.2.exe na http://web.archive.org/web/20061010224610/jabberd.jabberstudio.org/1.4/ no ako založiť server napr... "komunita.kk" na PC1 aby zvyšný klienti PCxxx

    sa mohli pripojiť na: "komunita.kk"

    no Každopádne sa poteším odkazu na ľudí (fóra) vo veci znalých a ochotou

    poradiť, príp. návodu pre začiatočníka.

    Diik s pozdravom Stefan

    Čtvrtek, 30.10.2008 15:48 | odpovědět
  5. [5] Samuraj

    odpověď na [4]Stefan: V mém následujícím článku www.samuraj-cz.com/clanek/jabber-server-openfire-ve-firme/ je vše popsáno. Není na tom nic složitého, pokud budete mít dotazy, ptejte se.

    Čtvrtek, 30.10.2008 15:54 | odpovědět
  6. [6] Stefan

    odpověď na [5]Samuraj: Zdravým..

    Dík za odkaz: http://www.samuraj-cz.com/clanek/jabber-server-openfire-ve-firme/

    na podrobný návod ako vytvoriť (IM) server.Skúšal som rozbehnúť komunikáciu na

    jednom z PC1, ktoré bude servrom...

    Poznámky a Dotazy:

    -Databázu som volil integrovanú nakolko z konfigurácie

    externej som mal aj napriek web_odkazom zmiešané pocity, i keď neskúšal som priznávam :-(

    -Profil. nastavenie som nechal Default pretože pocity rovnaké..

    -čo ma len zaujíma je snáď či je možné meniť lokal adresu 127.0.0.1:9090, port meniť som

    skúšal cez spomínaný konfigurač. súbor *.xml.

    -Komunikácia mi beží zatial na PC1(server) IP mam na sieti tzv. "volné" t.j. 192.168.xxx.xxx,s maskou

    klasika 255.255.255.0,gateway je rooter na 192.168.xxx.xyz. Neviem či je treba ešte inštalovať

    inú službu,okrem stávajúcich...ClientMicrosoftNetworks,File&Print Scharing,QoS pack.schedul. a samozrejme

    TCP/IP,členstvo je v "Pracovnej skupine-firma"

    ...!!problem je momentálne to rozchodiť ešte na iných PCxx.Klienta

    som si zatial nechal Spark.Potrebujem poradiť s relatívne bezpečne

    nastavenou firewall, porty a čo ja viem aký ešte guláš...tak aby to bežalo.

    ....S poďakovaním aj za mynulú pomoc ...Stefan

    Čtvrtek, 06.11.2008 14:04 | odpovědět
  7. [7] Samuraj

    odpověď na [6]Stefan: Z tohoto příspěvku jsem vůbec nepochopil, co máte za problém. Adresy a domény můžete nastavit libovolné. Pokud chcete komunikovat z dalšími Jabber servery v internetu, tak musíte publikovat adresu na routeru/FW a to pod IP adresou, která je v DNS pro jméno domény z JID. Aby se mohli připojit klienti, tak je to to samé. Myslím, že v článku je vše popsáno. Navíc Openfire je vytvořen opravdu přehledně a jednoduše se konfiguruje.

    Neděle, 09.11.2008 12:31 | odpovědět
  8. [8] Stefan

    Je možné pomocou jabberKlienta komunikovať vzájomne aj takto?...PC1(server_OpenFire) a iba PC2(klient).

    PC1 a PC2 sú priamo prepojené bez routera,bez switch_u,bez pripojenia

    na internet proste len priamo káblom...bežiac pod jednou pracovnou skupinou..

    Čtvrtek, 13.11.2008 08:48 | odpovědět
  9. [9] Samuraj

    odpověď na [8]Stefan: Samozřejmě. Musíme zadat přímo adresu serveru a port (ve Sparku - Advanced > zruším Automatically discover a zadám host a port). Jako server na logovací stránce se dává doména (tu jsme vyplnili při instalaci OpenFire).

    Čtvrtek, 13.11.2008 09:06 | odpovědět
  10. [10] Stefan

    ..Super, ďakujem...ono to funguje:-).Klient Spark funguje bezproblémovo.Už u klientov

    ako Psi, Gajim som musel zadať meno pre server v tvare:"host.domena1" napr. (pc1.test).Nepomohlo ani zadať meno servra v tvare (IP:5222).Klienti

    neboli schopný komunikovať, ba dokonca tvorba účtu mrzla a padala. pc1 je členom pracovnej skupiny,tak ako aj pc2. Vytvoriť doménu na pc1 neviem.

    Akým iným prístupom by bolo možné takýto problém riešiť pri priamom komunikovaní sieťovka,kábel,sieťovka...(pc1<->pc2) ?

    S pozdravom...

    Pátek, 14.11.2008 10:12 | odpovědět
Přidat komentář

Vložit tag: strong em link

Vložit smajlík: :-) ;-) :-( :-O

Nápověda:
  • maximální délka komentáře je 2000 znaků
  • HTML tagy nejsou povoleny (budou odstraněny), použít se mohou pouze speciální tagy (jsou uvedeny nad vstupním polem)
  • nový řádek (ENTER) ukončí odstavec a začne nový
  • pokud odpovídáte na jiný komentář, vložte na začátek odstavce (řádku) číslo komentáře v hranatých závorkách