Ismerje nyújtható üzenetküldés és jelenlét protokoll (XMPP)

XMPP - nem csak általános célú üzenetek átviteli protokoll. Más népszerű protokollokat, mint az XML-RPC és a SOAP, akkor ezeket a képességeket szemantika hasonló függvényhívás. Újabb módszerek, mint Representational State Transfer (REST), amely szabályozott hozzáférést biztosít a fájlok URL használatával a helyét az objektum és a módszer.

XMPP építészet

XMPP hasonló más alkalmazási réteg protokollok, például SMTP. Ilyen architektúrák, az ügyfél egyedi névvel társított másik ügyfél egy egyedi nevet a hozzá tartozó kiszolgáló. Minden ügyfél végrehajtja az ügyfél formájában a protokoll és a szerver biztosítja a képességét, hogy az útvonalat. Az 1. ábra ezt az egyszerű építészet. Ebben az esetben mindkét kliens része egyetlen domain (discovery.nasa.guv).


1. ábra: Egyszerű XMPP-architektúra, amely magában foglalja a szerver és két kliens.

Szerverek is közli egymás között abból a célból, routing domainek között (például, közötti discovery.nasa.guv és europa.nasa.guv). Továbbá, lehet, hogy az átjárók sugározni más területekre és az azonnali üzenetküldés protokollokat. Példa A 2. ábra azt mutatja, XMPP-hálózat átjárók domének Short Message Service (SMS) és az SMTP. Ebben az összefüggésben átjárók gyakran lefordítani között IM-protokollok (például XMPP az Internet Relay Chat [IRC]). Mivel bővíthető, XMPP ideális kiindulópont protokoll univerzális kommunikációs protokollok különböző végén. Az XMPP gateway lehetővé teszi a cél-end protokoll befejezése a kliens-szerver ülés és elkezd egy új munkamenetet (megfelelő protokoll fordítás).

Ismerje nyújtható üzenetküldés és jelenlét protokoll (XMPP)

2. ábra Egy összetettebb XMPP-architektúra, beleértve XMPP-átjárók.

XMPP protokollt

XMPP - ez egy viszonylag egyszerű protokoll, amely fut a TCP-aljzatok segítségével XML-üzeneteket. Aszinkron kommunikáció végre XML-patakok és XML-versek (versszak). XML-Feed - ez egy borítékot, amely magában váltott XML-adatok a két egység között. XML-adatfolyamok tartalmaz XML-strófa, amelyek különálló egységeket információt. Például az XML-vers használt XMPP üzenetek (szöveg között Internet-pager felhasználó), és tájékoztassa a jelenlétét a felhasználó. Ennek illusztrálására fogalmát, nézzük meg egy egyszerű példát IM-kapcsolat két ügyfél között a XMPP.

A 3. ábra egy egyszerű egyeztetés két entitás között. Megjegyezzük, hogy a tárgyalások részt legalább egy szerver (ebben az esetben, mivel mind az ügyfél ugyanabban a tartományban, az biztos csak egy szerver). A 3. ábrán a bal ügyfél - ez a kezdeményező szervezet (kezdeményezi a XMPP-megosztás a két egység között). Ez az üzenet XML-attribútummal azonosítja a fogadó domain (valamint meghatározására tér XML névtér). Fogadása ügyfél megkapja az XML jobb áramlás, és szintén az XML-patak (használja az attribútum). Ebben a szakaszban, több különböző lehetséges tárgyalásokat, különösen a hitelesítés és titkosítás. Itt hagyja ki ezt a lépést (valamint az üzenetek cseréje a szerverek között, amikor az ügyfelek a különböző területeken).

Ismerje nyújtható üzenetküldés és jelenlét protokoll (XMPP)

3. ábra példa (egyszerűsített) XMPP-üzenetküldés.

Bármelyik fél egy hibaüzenet jelenik meg, hogy hasonlít a következőket. Ebben az esetben a csomópont küldte érvénytelen XML-patak, illetve sor:

Bár ez a példa mutatja, egy egyszerű cseréjét IM-üzenetek, csak azért, hogy az üzenet versszak lehet átalakítani, hogy RPC-üzenetét. Ehelyett a domain felhasználók regisztrálni függvényében csomópontok létrehozására dinamikus Web-szolgáltatások keretet. Most lássuk, hogyan kell elkészíteni egy egyszerű alkalmazás, amely működik a XMPP.

XMPP-például Ruby

Az egyik legérdekesebb aspektusa XMPP - nagy könyvtárak száma több nyelven. Ez a példa van írva Ruby segítségével XMPP4R könyvtárban. Linkek különböző létező könyvtárak találhatók a Resources.

Annak bizonyítására, munka könyvtárakból XMPP, tekintsünk egy egyszerű IM-előhívóoldat kell használni, mint a műszaki szótárban. Ebben az esetben a szabványos Internet-lapozó beír egy szót, és IM-szer visszatér a meghatározása

Ebben a példában az IM megvalósított szert keresztül csatlakozik XMPP másik IM-szer és összekötő kap szót meghatározások:

1. lista Egyszerű XMPP-szer.

Az 1. lista indul létrehozásával egy egyszerű szótárban. Erre a célra a Ruby-grade hash, amely lehetővé teszi, hogy hozzon létre kulcsértékpárokat, majd könnyen hivatkozhat rájuk gombot. Aztán, hogy csatlakozzon a szerverre XMPP4R könyvtárban. A kezdéshez hozzon létre egy JID és egy új ügyfél kapcsolat segítségével az Ügyfél osztályban. Ahhoz, hogy valóban csatlakozni a IM-szerver segítségével a connect módszerrel. Csatlakoztatása után a módszer az úgynevezett jelszóval auth. A kapcsolat most már készen áll üzenetküldés.

4. ábra mutat példát egy futó alkalmazás. Ez a példa a népszerű univerzális kliens Pidgin chat. Pidgin ügyfél támogatja az összes fontosabb protokollokat és beszélgetések is lehet használni a különböző meglévő IM hálózat (akár egyszerre). A 4. ábra az üzenetküldő ablak jön létre, amikor az IM-kliens csatlakozik a szerverhez, és elkezd beszélgetni egy másik felhasználó.

Ismerje nyújtható üzenetküldés és jelenlét protokoll (XMPP)

4. ábra Példa a IM-munkamenet.

Alkalmazása XMPP

XMPP általános keretet az üzenetek cseréje a hálózaton keresztül. Nem meglepő, hogy ez a sok alkalmazás, továbbá a hagyományos IM és információk terjesztését a jelenlétét.

Online játékok is használhatja XMPP. XMPP egy kiindulási készlet jellemzői az online játékok, beleértve a hitelesítést, jelenléti információt, chat, és bővíthető közel valós idejű információcserét az állam a játék.

Végül XMPP - ez a tökéletes protokoll az új korszak a cloud computing. Cloud computing és adattárolási különböző szinteken és kommunikációs formákat, beleértve nem csak a közötti üzenetváltás rendszerek átviteli az állam, hanem a mozgás nagy tárgyak, mint például a tárolás vagy virtuális gépek. Due hitelesítési és adatvédelmi átviteli XMPP lehet használni a különböző szinteken, és ideális egy közepes szintű protokollt.

Megjegyzendő, hogy a legtöbb alkalmazás nincs semmi köze az emberek közötti kommunikációt, és a hangsúly a kölcsönhatás a gépek között. Érdekes, hogy a terv eredetileg célzó azonnali üzenetküldés, talál egy teljesen más alkalmazás.

többnyelvű XMPP

XMPP van megvalósítva egy sor nyújtó könyvtárak XMPP alkalmazások lehetséges. Ha azt mondjuk, hogy az XMPP, a protokoll nagyon hasznos, nagyon könnyű, hogy alapul támogatott nyelvek száma ma. Megtalálható XMPP-könyvtárak hagyományos nyelvek, mint a C és C ++, valamint népszerű programozási nyelvek, mint a Ruby, Java, Python, Perl és Tcl. Vannak még XMPP-könyvtárak nyelvek, mint Erlang, C #, és a Lisp. Így nem számít, hogy milyen közegben használja, akkor valószínű, hogy megtalálja XMPP-könyvtár is. A teljes lista a támogatott nyelvek megtalálható Resources.

megy előre

Bár pihenés - ez inkább egy építészeti modell, mint egy, a megvalósítás gyorsan fejlődött különböző irányokba. Egyszerű modell a távoli menedzsment megtalálta a helyét a cloud computing, ahol a REST modellként tárhozzáférésre és kezelése.

Sok hasznos technológiákat gyakran használják a feltalálók és nem viselt. Például a HTTP az de facto szabványos protokoll megjelenítésére web-oldalak, de ez is használják, mint egy alkalmazás szintű szállítási protokollok, mint a SOAP és az XML-RPC (beleértve a protokoll típusát többit modell). XMPP - egy másik hasznos technológia, amely megkeresi számos alkalmazás, amellett, hogy a szokásos IM. Hogyan kell alkalmazni XMPP a döntéseket?