Jabber

Co to jest?
Jabber to otwarty protokół wymiany informacji w czasie rzeczywistym pomiędzy dwoma punktami Internetu. Zastosowanie znalazł głównie w komunikatorach. Czy mamy więc do czynienia z kolejnym systemem instant messaging typu Gadu-Gadu lub ICQ? Jabber nie jest systemem komunikacyjnym, do jakich się zdążyliśmy przyzwyczaić. Jego możliwości i zalety są znacznie szersze.

Dlaczego właśnie Jabber?
Jabber jest otwartym protokołem - nie ma więc problemów z pisaniem klientów i serwerów, są one dostępne na każdą popularną platformę, jest z czego wybierać. Nie ma więc banerów czy okienek pop-up z reklamami. Kto posiada odpowiednie umiejętności programistyczne, może napisać swojego własnego klienta czy nawet serwer. Jabber oparty jest na XMLu i każdy może go rozwijać.
Nie ma jednego głównego serwera, jest ich wiele, każdy może postawić swój własny serwer Jabbera. Ruch jest rozłożony na wiele serwerów, ich praca jest więc szybka i stabilna, a jeśli nawet zdarzy się awaria, to wpłynie ona tylko na użytkowników mających konta na danym serwerze, a nie zakłóci komunikacji reszty użytkowników Jabbera. Jeśli postawimy swój serwer, możemy go odseparować od innych serwerów i wykorzystać np. jako chat w naszym LANie. Widać tutaj duże podobieństwo do poczty elektronicznej.
Przesyłane wiadomości mogą być szyfrowane przy użyciu SLLa, PGP/GPG czy innych technologii kryptograficznych.
Podobnie jak w innych systemach IM dostępne są funkcje takie jak przesyłanie plików, rozmowy głosowe, konferencje, nie mówiąc już o statusach, tworzeniu grup kontaktów itp.
Adresu użytkowników wyglądają jak adresy e-mail, są więc łatwiejsze do zapamiętania od klasycznych numerków.
OK, ale jeśli mam już jeden lub więcej komunikatorów, to po co mi następny? Otóż jedną z ważniejszych zalet Jabbera jest to, że istnieją serwery pełniące rolę bramek do innych systemów instant messagingu, jak ICQ, MSN czy Gadu-Gadu. Możemy więc nasz komunikator(y) zastąpić jednym klientem Jabbera. Jakim klientem? Wybór jest duży, należy się kierować naszymi osobistymi preferencjami, wygodą obsługi oraz możliwościami, w tym obsługiwanymi systemami innymi niż Jabber.

Tylko komunikatory?
Jabber można wykorzystać nie tylko do komunikatorów. Jest przeznaczony do natychmiastowego przesyłania informacji z jednego zakątka sieci do innego, może więc np. służyć do wymiany danych między programami uruchomionymi na różnych komputerach. Ale przecież do tego nie potrzeba Jabbera! To zależy od danej sytuacji, jeśli takich programów, czy raczej komputerów, na których zostały te programy uruchomione, będzie więcej, a nie wszystkie będą jednocześnie włączone, do wymiany danych Jabber będzie dobrym rozwiązaniem. Można łatwo zarządzać rozproszonymi systemami, zbierać i rozsyłać dane, synchronizować operacje itp.

Jak to działa?
Działanie Jabbera przypomina trochę e-mail. Tak jak są serwery pocztowe, na których zakładane są konta e-mail, tak istnieją serwery Jabbera, na których można założyć sobie konto. Jak wspomniałem wcześniej, można też uruchomić swój własny serwer Jabbera i zakładać konta innym. Identyfikatory w Jabberze (Jabber ID, JID) wyglądają tak jak adresy e-mail - nazwa użytkownika, małpa, adres serwera, np. janekk@jabber.serwer.com. Gdy wysyłamy komuś wiadomość, nasz klient wysyła ją do naszego serwera, a ten do serwera odbiorcy. Jeśli odbiorca jest dostępny, dostaje naszą wiadomość; jeśli nie, dostaje ją gdy połączy się ze swoim serwerem. W przeciwieństwie do e-maila, informacje są przesyłane bardzo szybko, możliwa jest więc rozmowa na żywo. Wysłanie wiadomości nie uda się, jeśli serwer odbiorcy lub nadawcy jest serwerem prywatnym i została w nim wyłączona możliwość połączeń z innymi serwerami.
Konta w Jabberze zakłada się zwykle przy użyciu klientów, a nie np. wypełniając formularz na stronie WWW.
Klienty łączą się z serwerami na porcie 5222 dla połączeń standardowych i 5223 dla SSL.

Bramki
Jabber pozwala swoim użytkownikom na komunikację także z użytkownikami innych technologii wymiany informacji, takimi jak MSN, ICQ czy Gadu-Gadu. Realizowane jest to przez bramki - serwery tłumaczące Jabbera na inne protokoły. Aby z nich korzystać, nie musimy mieć na nich kont, musimy tylko mieć konta w tamtych systemach. Bramka będzie udawać klienta danego systemu, pośrednicząc między nami a serwerem np. Gadu-Gadu. Do tego jest wymagane podanie bramce swojego loginu i hasła. Kto nie ufa bramce, może postawić swoją, na własnym komputerze. Bramka może znajdować się na tym samym komputerze/serwerze co nasze konto Jabbera, lub innych. Jeśli np. chcemy mieć możliwość rozmowy z użytkownikami Gadu-Gadu i ICQ, sprawdzamy, czy odpowiednich bramek nie ma na naszym serwerze Jabbera, a jeśli nie będzie, to szukamy na innych serwerach. Gdy znajdziemy bramkę, podajemy dane naszego konta i odtąd mamy możliwość rozmów nie tylko z użytkownikami Jabbera. Dzięki temu możemy korzystać z jednego klienta zamiast z kilku.
Należy pamiętać, że nie każdy klient Jabbera obsługuje inne systemy IM, nie każdy poradzi sobie z ICQ a tym bardziej Gadu-Gadu. Dlatego dobierając go trzeba zwrócić uwagę na obsługiwane systemy.

Sprawdzanie statusu
Sprawdzenie, czy dana osoba jest w danej chwili online, nie jest takie proste jak w GG, wygląda trochę podobnie do ICQ. Ze względu na zachowanie prywatności, musimy otrzymać od danego użytkownika Jabbera zezwolenie na sprawdzanie statusu, podobnie w drugą stronę. Wysyłamy do drugiej osoby odpowiednie żądanie, najczęściej przy dodawaniu jej do kontaktów. Wówczas ta osoba może zezwolić nam lub nie na sprawdzanie jej statusu. Jeśli zezwoli, wówczas wysyła żądanie do nas. Jeśli je zaakceptujemy, będziemy mieli możliwość sprawdzania statusu drugiej strony, jeśli któraś ze stron nie zgodzi się, żadna z nich nie będzie mogła sprawdzać statusu drugiej.

Echo
Do przetestowania poprawności komunikacji z naszym serwerem, możemy wykorzystać jego funkcję echo. W tym celu należy wysłać wiadomość podając adres serwera, a następnie "/echo" jako odbiorcę, np. jabber.serwer.com/echo. Jeśli wszystko jest w porządku, serwer będzie nam odsyłał wszystko, co do niego wyślemy.

Chaty grupowe
Możemy prowadzić rozmowę nie tylko z pojedynczymi użytkownikami, ale także z całą grupą, podobnie jak na tradycyjnych chatach. Jak i tam, tak i tutaj wybieramy serwer a następnie szukamy interesującego nas pokoju (chatroomu). Można używać dowolnych serwerów, nie tylko tego, na którym mamy konto.

Rozwój Jabbera
Początki sięgają roku 1998 gdy rozpoczęto nad nim prace. Od tego czasu przeszedł długą ewolucję, zyskując uznanie i rzesze entuzjastów. Ponieważ jest otwarty, został wykorzystany m.in. w komunikatorach WPKontakt i Tlen.pl chociaż nie są one typowymi klientami Jabbera.
Cały czas zarówno protokół jak i oprogramowanie (klienty i serwery) są rozwijane, pojawiają się nowe funkcje i możliwości, a to wszystko za darmo, bez reklam i bez uzależnienia od jednej firmy/organizacji.

Oficjalna strona Jabbera: http://www.jabber.org/
Polskie strony o Jabberze: http://jabber.itn.pl/ http://www.task.gda.pl/uslugi/jabber/ http://jabberpl.org/
Tworzenie oprogramowania dla Jabbera: http://www.jabberstudio.org/
Publiczne serwery Jabbera (na niektórych są też strony o tym protokole): jabberpl.org, jabber.task.gda.pl, jabber.org, jabber.atman.pl, chrome.pl, histeria.pl, jabber.wp.pl, jabber.gda.pl, jabber.uznam.net.pl, jabber.2000-plus.pl, jabber.cz, amessage.info
Popularne klienty: Exodus (Windows), JAJC (Windows), Gaim (Windows, Linux), PSI (Windows, Linux), Gabber (Linux), Tkabber, Miranda, RhymBox WPKontakt GNU Gadu