Utente:Frack/work

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Jabber Logo
Jabber Logo

Jabber è un protocollo Open source basato sull'XML per la messaggistica istantanea. Software basato su Jabber è installato su migliaia di server in Internet e, secondo la Jabber Software Foundation, è usato da circa dieci milioni di persone[1]. Attualmente questo protocollo viene usato da Google Talk per il proprio sistema di messaggistica.

Jeremie Miller ha iniziato il progetto nel 1998 ed ha rilasciato la prima versione funzionante al pubblico nel Maggio 2000. Il prodotto principale del progetto, jabberd è un server usato dai client jabber per connettersi. Il server può sia far parte di una rete privata (ad esempio dietro ad un firewall) sia entrare a far parte della rete globale Jabber. Punti chiave del sistema Jabber sono la natura distribuita del sistema e l'utilizzo di XML come protocollo.

Una funzione unica del sistema Jabber è l'utilizzo dei trasporti, detti anche gateway, che permettono agli utenti di accedere la rete di altri protocolli, come AIM, ICQ, MSN Messanger, Yahoo! Messanger, SMS o E-Mail. Contrariamente ad altri sistemi che sfruttano il client per la gestione di protocolli aggiuntivi, in Jabber queste funzionalità sono implementate nel server.

Ogni utente Jabber si può regustrare in uno di questi trasporti fornendo le informazioni necessarie per connettersi alla rete, a quindi può comunicare con gli utenti di quella rete come se fossero utenti Jabber. Questo significa che ogni client che supporta il protocollo Jabber può essere usato per accedere a una qualsiasi rete per la quale esistano trasporti, senza la necessità di codice aggiuntivo nel client.

Nel 2005, Google ha introdotto Google Talk, programma di Instant Messaging basato su Jabber. Si spera che questo permetta una crescita della comunita jabber globale. Putroppo, al momento del lancio, il sistema non supporta la comunicazione inter-server, una delle caretteristiche fondamentali di jabber, rendendo la rete di Google Talk una delle tante reti proprietarie di messaggistica.

Le basi del protocollo Jabber, ora gestite dalla Jabber Software Foundation, sono state accettate come standard dalla IETF con il nome di XMPP, con l'RFC 3920. Spesso lo si è visto in competizione cone SIMPLE, basato sul protocollo SIP, ma il protocollo XMPP è visto come un sistema più generale per lo scambio di dati tra applicazioni.

Un aspetto interessante del protocollo Jabber è l'implementazione a pooling che avviene per utenti dietro a firewall.

Il polling implica che i messaggi vengano salvati dal server jabber e che sia il client che si collega (mediante normale connessione HTTP) al server per leggerli. L'uso del protocollo HTTP permette alla connessione di potersi instaurare anche quando firewall/proxy restrittivi non permettono la connessione Jabber diretta.

Client Jabber

[modifica | modifica wikitesto]

Client solamente Jabber

[modifica | modifica wikitesto]

Multi-Protocol clients with Jabber support

[modifica | modifica wikitesto]

Jabber Server Software

[modifica | modifica wikitesto]

Esempio di conversazione client-server con il protocollo Jabber

[modifica | modifica wikitesto]

Un client (kuusipuu) si connette ad un server jabber (amessage.de port 5222/tcp), manda un messaggio(Soggetto: "test 1449" e Testo: "test 1449") ad un altro client(tero) e quindi si disconnette

kuusipuu:

<?xml version="1.0"?>
<stream:stream xmlns:stream="http://etherx.jabber.org/streams"
xmlns="jabber:client" to="amessage.de">

amessage.de:

<stream:stream xmlns='jabber:client'
xmlns:stream='http://etherx.jabber.org/streams' from='amessage.de'
id='1461777714'>

kuusipuu:

<iq type="set" id="auth_2" to="amessage.de" >
  <query xmlns="jabber:iq:auth">
    <username>kuusipuu</username>
    <password>mypassword</password>
    <resource>Work</resource>
   </query>
</iq>

amessage.de:

<iq from="amessage.de" id='auth_2' type='result'/>

kuusipuu:

<message to="tero@example.com" >
  <subject>test 1449</subject>
  <body>test 1449</body>
</message>
<presence type="unavailable" >
  <status>Logged out</status>
</presence>
</stream:stream>

amessage.de:

</stream:stream>


Collegamenti esterni

[modifica | modifica wikitesto]