Extensible Messaging and Presence Protocol

Το **Extensible Messaging and Presence Protocol** (**XMPP**) (παλαιότερη ονομασία **Jabber**) είναι ένα σύνολο ανοιχτών πρωτοκόλλων άμεσης επικοινωνίας (instant messaging), βασισμένα στην XML. Λογισμικό Jabber είναι εγκατεστημένο σε χιλιάδες διακομιστές (server) ανά το Διαδίκτυο (Internet) και χρησιμοποιείται από τουλάχιστον 10 εκατομμύρια χρήστες παγκοσμίως, σύμφωνα με τα στοιχεία της Jabber Software Foundation.

Σε αντίθεση με τα περισσότερα πρωτόκολλα άμεσης επικοινωνίας, το Jabber είναι ένα ανοιχτό πρότυπο. Επίσης, όπως και με την ηλεκτρονική αλληλογραφία, μπορείτε να επικοινωνήσετε με οποιονδήποτε χρήστη, όποιοι και αν είναι οι εμπλεκόμενοι διακομιστές (ο δικός σας και ο δικός του).

## Ιστορία
Ο Jeremie Miller άρχισε το πρόγραμμα το 1998˙ η πρώτη βασική δημόσια έκδοση ήρθε δυο χρόνια αργότερα, τον Μάϊο του 2000, και περιείχε κυρίως το *jabberd*, ένα διακομιστή Jabber.

Οι βάσεις του Jabber, που τώρα διαχειρίζεται η Jabber Software Foundation, αναγνωρίστηκαν ως πρότυπο (υπό την ονομασία XMPP) από την IETF τον Οκτώβριο του 2004 (δείτε RFC 3920).

Το 2005, αρκετές εκδοχές διακομιστών Jabber κυκλοφορούν, γραμμένοι σε διάφορες γλώσσες προγραμματισμού.

Τον Αύγουστο του 2005, η Google παρουσίασε μια νέα της υπηρεσία, το Google Talk, ένα συνδυασμό άμεσης επικοινωνίας, βασιζόμενη στο Jabber/XMPP) και το VoIP.

## Χαρακτηριστικά
; Αποκεντρωμένο: Η αρχιτεκτονική του δικτύου Jabber είναι παρόμοια με αυτή της ηλεκτρονικής αλληλογραφίας ˙ ο καθένας μπορεί να τρέξει τον προσωπικό του διακομιστή Jabber.

; Ανοιχτό πρότυπο: Η IETF αναγνώρισε τα πρωτόκολλα επικοινωνίας στα οποία βασίζεται το Jabber ως πρότυπα (υπό την ονομασία XMPP), οι προδιαγραφές των οποίων είναι δημόσια διαθέσιμες : RFC 3920 και RFC 3921. Κανένα δικαίωμα δεν απαιτείται για την ανάπτυξη λογισμικού υποστηρίζοντας αυτές τις προδιαγραφές, και η ανάπτυξη αυτή δεν είναι δεμένη σε κάποιον ενιαίο προμηθευτή.

; Αποδεδειγμένο: Οι τεχνολογίες Jabber χρησιμοποιούνται από το 1998. Πολλαπλάσιες εφαρμογές Jabber (διακομιστές, προγράμματα πελάτες, βιβλιοθήκες) κυκλοφορούν, και δέχονται την υποστήριξη μεγάλων εταιριών, όπως την Sun Microsystems και την Google.

; Ασφαλές: Ένας διακομιστής Jabber μπορεί να χρησιμοποιηθεί σε κλειστό κύκλο (π.χ. πρόσβαση μόνο μέσα από το δίκτυο μιας εταιρείας). Ισχυρή ασφάλεια δια SASL και ΤLS έχει επίσης ενσωματωθεί στα πρότυπα του XMPP.

## Τεχνικά χαρακτηριστικά
Το δίκτυο Jabber ακολουθεί τη λογική πελάτη-διακομιστή (client-server) (δυο προγράμματα πελάτες δεν επικοινωνούν απευθείας το ένα με το άλλο), αλλά παραμένοντας αποκεντρωμένο. Δεν υπάρχει λοιπόν κάποιος κεντρικός διακομιστής όπως σε άλλες υπηρεσίες σαν το AOL Instant Messenger ή το MSN Messenger.

Ένας χρήστης προσδιορίζεται με ένα όνομα χρήστη και ένα όνομα διακομιστή. Τα δυο πεδία αυτά συνδέονται με ένα *@* και αποτελούν το λεγόμενο Jabber ID, ή JID.

Ας υποθέσουμε πως ο *giannis@papagiannis.gr* θέλει να μιλήσει στην *mixaela@papamhxail.gr*. Ο Γιάννης και η Μιχαέλα έχουν από ένα λογαριασμό στους διακομιστές *papagiannis.gr* και *papamhxail.gr* αντιστοίχως. Ορίστε τι γίνεται όταν η Μιχαέλα θέλει να στείλει ένα μήνυμα στον Γιάννη:
# Το πρόγραμμα πελάτης της Μιχαέλας στέλνει το μήνυμα της στον διακομιστή Jabber *papamhxail.gr*.
#* Αν η επικοινωνία με τον *papagiannis.gr* απορρίπτεται από τον *papamhxail.gr*, το μήνυμα χάνεται.
# Ο διακομιστής *papamhxail.gr* ανοίγει μια σύνδεση με τον διακομιστή *papagiannis.gr*.
# Ο διακομιστής *papagiannis.gr* παραδίδει το μήνυμα στον Γιάννη.
#* Αν η επικοινωνία με τον *papamhxail.gr* απορρίπτεται από τον *papagiannis.gr*, το μήνυμα χάνεται.
#* Αν ο Γιάννης δεν είναι συνδεδεμένος, το μήνυμα αποθηκεύεται για να παραδοθεί αργότερα.

### Jabber ID
Το Jabber ID ή JID, είναι το όνομα χρήστη ή όνομα λογαριασμού που χρησιμοποιείται για της πρόσβαση σε έναν λογαριασμό Jabber και, στις περισσότερες περιπτώσεις, είναι του τύπου *χρήστης@δικτυακός_τόπος/πόρος*. Το πεδίο *πόρος (resource)* δίνει την δυνατότητα σε έναν χρήστη να επικοινωνήσει με ένα ιδιαίτερο σημείο πρόσβασης συνδεδεμένο σ' ένα λογαριασμό. Μπορείτε π.χ. να συνδεθείτε από το σπίτι σας με πόρο *home* και, συγχρόνως, από το γραφείο με πόρο *office*, δίνοντας έτσι την δυνατότητα στους άλλους χρήστες να σας στείλουν μήνυμα στο σπίτι, χωρίς να το λάβετε στο γραφείο, παρ' όλο που και στις δύο περιπτώσεις, ο λογαριασμός είναι ο ίδιος. Παρ' όλα αυτά, το πεδίο αυτό δεν είναι απαραίτητο για να επικοινωνήσετε με κάποιον χρήστη (συχνά είναι μάλιστα το όνομα του προγράμματος πελάτη του χρήστη).

Οι μεταφορές ή πύλες (transports), οι πράκτορες (agents), και άλλα αυτοματοποιημένα μέρη του δικτύου Jabber μπορούν να μην έχουν ένα πεδίο χρήστη στο JID τους. Ένα κοινό παράδειγμα είναι η μεταφορά AIM (AOL Instant Messenger) που έχει ένα JID του τύπου *aim.domain.com*, και οι AIM επαφές εμφανίζονται ως *screenname@aim.domain.com*.

## Σύνδεση με άλλα πρωτόκολλα
Ένα μοναδικό χαρακτηριστικό του συστήματος Jabber είναι αυτό των μεταφορών, επίσης γνωστές ως πύλες, οι οποίες επιτρέπουν στους χρήστες την πρόσβαση σε δίκτυα βασισμένα σε άλλα πρωτόκολλα. Αυτά μπορεί να είναι πρωτόκολλα άμεσης επικοινωνίας, αλλά και πρωτόκολλα όπως το SMS ή το ηλεκτρονικό ταχυδρομείο. Σε αντίθεση με τα προγράμματα πελάτες που υποστηρίζουν ταυτοχρόνως πολλά πρωτόκολλα, το Jabber παρέχει αυτήν την υπηρεσία στο επίπεδο του διακομιστή, διαμέσου των ειδικών πυλών που τρέχουν σ' αυτόν. Οποιοσδήποτε χρήστης Jabber μπορεί "να καταχωρηθεί" (register) σε μια από αυτές τις πύλες, παρέχοντας τις πληροφορίες που απαιτούνται για να καταγραφεί στο δίκτυο με τον οποίο τον συνδέει, και μπορεί έπειτα να επικοινωνήσει με τους χρήστες του δικτύου αυτού σαν να ήταν χρήστες Jabber (και αντιστρόφως). Αυτό σημαίνει ότι οποιοδήποτε πρόγραμμα πελάτης που υποστηρίζει πλήρως το πρωτόκολλο Jabber μπορεί να χρησιμοποιηθεί για οποιοδήποτε δίκτυο για το οποίο ο διακομιστής Jabber παρέχει μια πύλη, χωρίς πρόσθετο κώδικα στον πελάτη.

Μπορείτε λοιπόν να συνδεθείτε μέσω του διακομιστή Jabber σας, εφόσον σας παρέχει την δυνατότητα, στο δίκτυο MSN Messenger. Θα μπορείτε να επικοινωνήσετε με όλες τις επαφές σας (το JID τους είναι του τύπου *user%msn.com@msn.jabberserver.gr*).

## Παραπομπές


## Εξωτερικοί Δεσμοί
* XMPP Standards Foundation
* XMPP Extensions
* XMPP Software: Clients
* XMPP Software: Servers
* Public XMPP Services
* Jabber.org (Free XMPP server of the XSF

Κατηγορία:Πρωτόκολλα του ίντερνετ