XMPP

XMPP ER Extensible Messaging And Presence Protocol, et sett med åpne teknologier for direktemeldinger, tilstedeværelse, chat med flere parter, tale-og videosamtaler, samarbeid, lett mellomvare, innholdssyndikering og generalisert ruting AV XML-data.

XMPP ble opprinnelig utviklet I jabber open source-fellesskapet for å gi et åpent, desentralisert alternativ til de lukkede direktemeldingstjenestene på den tiden. XMPP tilbyr flere viktige fordeler over slike tjenester:

  • Åpne-xmpp-protokollene er gratis, åpne, offentlige og lett forståelige; i tillegg finnes flere implementeringer i skjemaet klienter, servere, serverkomponenter og kodebiblioteker.

  • Standard-Internet Engineering Task Force (Ietf) har formalisert KJERNEN XML streaming protokoller som en godkjent direktemeldinger og tilstedeværelse teknologi. XMPP-spesifikasjonene ble publisert SOM RFC 3920 og RFC 3921 i 2004, OG XMPP Standards Foundation fortsetter å publisere mange XMPP-Utvidelsesprotokoller. I 2011 ble kjernen Rfc revidert, noe som resulterte i de mest oppdaterte spesifikasjonene (RFC 6120, RFC 6121 og RFC 7622).

  • Bevist – De første jabber / XMPP-teknologiene ble utviklet av Jeremie Miller i 1998 og er nå ganske stabile; hundrevis av utviklere jobber med disse teknologiene, det er titusenvis AV XMPP-servere som kjører på Internett i dag, og millioner av mennesker bruker XMPP for direktemeldinger gjennom offentlige tjenester som Google Talk og XMPP-distribusjoner hos organisasjoner over hele verden.

  • Desentralisert – ARKITEKTUREN til xmpp-nettverket ligner på e-post; som et resultat kan alle kjøre sin EGEN XMPP-server, slik at enkeltpersoner og organisasjoner kan ta kontroll over kommunikasjonsopplevelsen.

  • Sikker – ENHVER XMPP-server kan isoleres fra det offentlige nettverket (f. eks. på et firma intranett) og robust sikkerhet ved HJELP AV SASL og TLS er innebygd i CORE XMPP-spesifikasjonene. I TILLEGG JOBBER xmpp-utviklerfellesskapet aktivt med ende-til-ende-kryptering for å øke sikkerhetslinjen enda lenger.

  • Utvidbar-VED HJELP AV KRAFTEN I XML kan hvem som helst bygge tilpasset funksjonalitet på toppen av kjerneprotokollene; for å opprettholde interoperabilitet publiseres vanlige utvidelser i XEP-serien, men slik publisering er ikke nødvendig, og organisasjoner kan opprettholde sine egne private utvidelser hvis ønskelig.

  • Fleksibel-XMPP-applikasjoner utover IM inkluderer nettverksadministrasjon, innholdssyndikering, samarbeidsverktøy, fildeling, spill, ekstern systemovervåking, webtjenester, lett mellomvare, cloud computing og mye mer.

  • Mangfoldig – ET bredt spekter av selskaper og åpen kildekode-prosjekter bruker XMPP til å bygge og distribuere sanntidsapplikasjoner og tjenester; du vil aldri bli «låst inn» når DU bruker XMPP-teknologier.

Denne siden gir en introduksjon til ULIKE XMPP-teknologier, inkludert lenker til spesifikasjoner, implementeringer, opplæringsprogrammer og diskusjonssteder med spesielle formål.

Viktige XMPP-teknologier:

  • Kjerne — informasjon OM kjernen XMPP teknologier FOR XML streaming
  • Jingle — SIP-kompatibel multimedia signalering for tale, video, filoverføring, og andre programmer
  • Multi-User Chat — fleksibel, multi-party kommunikasjon
  • PubSub — varsler og varsler for datasyndikering, rik tilstedeværelse, og mer
  • bosh — en http-binding for xmpp (og annen) trafikk

kjerne

i kjernen er xmpp en teknologi for streaming xml over et nettverk. Protokollen, som kom fra jabber open source-samfunnet i 1999, ble opprinnelig designet for å gi et åpent, sikkert, desentralisert alternativ til forbrukerorienterte direktemeldingstjenester (IM) som ICQ, AIM og MSN. Kjerneteknologiene ble formalisert Under Navnet Extensible Messaging and Presence Protocol (XMPP) ved IETF i 2004. Disse kjerneteknologiene inkluderer:

  • base XML streaming layer
  • Kanalkryptering ved Hjelp Av Transport Layer Security (Tls)
  • Sterk autentisering ved Hjelp Av Sasl (Simple Authentication and Security Layer)
  • Bruk Av Utf-8 for komplett Unicode-støtte, inkludert fullt internasjonaliserte adresser
  • Innebygd informasjon om nettverkstilgjengelighet («tilstedeværelse»)
  • tilgjengelighetsabonnementer for toveisautorisasjon
  • tilgjengelighetsaktiverte kontaktlister («Lister»)

Spesifikasjoner

kjernen XMPP teknologier er definert i to Rfc publisert av IETF:

  • RFC 6120: XMPP Kjerne
  • RFC 6121: XMPP IM
  • RFC 7622: Xmpp Adresseformat

DE første Xmpp Rfc-Ene (RFC 3920 og RFC 3921) ble produsert av IETFS XMPP Working Group i oktober 2004. I 2011 ble de revidert, noe som resulterte i dagens spesifikasjoner.

Implementeringer

det er mange implementeringer av core XMPP-spesifikasjonene. Se følgende sider for detaljer:

  • Klienter
  • Servere
  • Kodebiblioteker

Jingle

I hovedsak Gir Jingle en måte For jabber-klienter å sette opp, administrere og rive ned multimedieøkter. Slike økter kan støtte et bredt spekter av applikasjonstyper (for eksempel stemmechat, videochat og filoverføring) og bruke et bredt spekter av medietransportmetoder (FOR EKSEMPEL TCP, UDP, RTP eller TIL OG MED XMPP i bånd). Signalisering for å etablere En Jingle sesjon sendes OVER XMPP, og vanligvis media sendes direkte peer – to-peer eller gjennom en media relay. Jingle gir et pluggbart rammeverk for både applikasjonstyper og medietransport; i tilfelle av tale-og videochat resulterer En Jingle-forhandling vanligvis i bruk Av Sanntids Transportprotokoll (Rtp) som medietransport og er dermed kompatibel med eksisterende multimedieteknologier som Session Initiation Protocol (SIP). Videre ble semantikken Til Jingle signalering designet for å være i samsvar med BÅDE SIP og Session Description Protocol (SDP), noe som gjør det enkelt å gi signalgateways mellom XMPP-nettverk og SIP-nettverk.

Spesifikasjoner

Jingle er definert i en rekke spesifikasjoner:

  • XEP-0166: Jingle
  • XEP-0167: Jingle RTP Økter
  • XEP-0176: Jingle ICE-UDP Transportmetode
  • XEP-0177: Jingle Rå UDP Transportmetode
  • XEP-0181: Jingle DTMF
  • xep-0234: jingle file transfer

implementeringer

merk: Mange Av Følgende Implementeringer STØTTER Den Eldre Google talk-protokollen og oppgraderes til å støtte jingle som DET ER DEFINERT i spesifikasjonene; kontakt prosjektutviklerne for detaljer.

Klienter

  • Coccinella
  • Gajim
  • Jitsi (tidligere KALT SIP Communicator)
  • Movim
  • Pandion
  • Pidgin (tidligere Kalt Gaim)
  • psi
  • Telepati
  • Yate

Biblioteker

  • Libjingle (C/C++)
  • Smellkyss (Java)
  • Telepati Gabble (c)
  • yjingle (c++)

Samtale Ledere / VoIP-Servere

  • Stjerne
  • FreeSWITCH
  • Yate

Multi-User-Chat (MUC)

MUC er EN xmpp-utvidelse For multi-party informasjonsutveksling ligner På Internet Relay Chat (IRC), der flere XMPP brukere kan utveksle meldinger i sammenheng med et rom eller kanal. I tillegg til standard chatterom funksjoner som rom emner og invitasjoner, protokollen definerer en sterk rom kontroll modell, inkludert muligheten til å sparke og utestenge brukere, for å nevne rom moderatorer og administratorer, for å kreve medlemskap eller passord for å bli med i rommet, etc. FORDI MUC rom er basert PÅ XMPP, kan de brukes til å utveksle ikke bare ren tekst meldingsorganer, men et bredt utvalg AV XML nyttelast.

Spesifikasjoner

MUC er definert i en primær spesifikasjon (XEP-0045) og flere tilleggsspesifikasjoner:

  • XEP-0045: Multi-User Chat
  • XEP-0249: Direkte MUC Invitasjoner
  • XEP-0272: Multi Parti Jingle

Implementeringer

Servere – FØLGENDE XMPP servere inkluderer innebygd støtte FOR MUC:

  • ejabberd
  • Jabber XCP
  • M-Lenke
  • Openfire
  • Prosodi
  • Tigase

eksterne komponenter – følgende frittstående komponenter kan brukes med et bredt utvalg av xmpp-servere:

  • mu-konferanse
  • palaver

Klienter

  • Adium
  • Gajim
  • JWChat
  • mcabber
  • Movim
  • pidgin
  • psi

Biblioteker

  • Anyevent:XMPP (Perl)
  • gloox (c++)
  • Jabber-net (. Net)
  • libpurple (C)
  • Smellkyss (Java)
  • XMPP4R (Rubin)

PubSub

PubSub Er en protokollutvidelse for generisk publish-subscribe-funksjonalitet, spesifisert I XEP-0060. Protokollen gjør DET MULIG FOR XMPP-enheter å opprette noder (emner) på en pubsub-tjeneste og publisere informasjon på disse nodene; et hendelsesvarsel (med eller uten nyttelast) sendes deretter til alle enheter som har abonnert på noden. Pubsub følger derfor Det klassiske Observatørdesignmønsteret og kan tjene som grunnlag for et bredt spekter av applikasjoner, inkludert nyhetsfeeder, innholdssyndikering, rik tilstedeværelse, geolokalisering, arbeidsflytsystemer, nettverksadministrasjonssystemer og andre programmer som krever hendelsesvarsler. Personal eventing protocol (pep), spesifisert I XEP-0163, gir En tilstedeværelsesbevisst Profil Av PubSub som gjør at hver brukers JabberID kan fungere som en virtuell pubsub-tjeneste for rik tilstedeværelse, mikroblogging, sosiale nettverk og sanntidsinteraksjoner.

Spesifikasjoner

PubSub er definert i flere spesifikasjoner:

  • XEP-0060: Publiser-Abonner
  • XEP-0163: Personlig Hendelsesprotokoll
  • XEP-0248: PubSub Samlingsnoder

Nyttelaster

PubSub og Pep er «nyttelast-agnostiker» — du kan bruke Dem som nøytrale transporter For en rekke dataformater. Noen av de mer populære nyttelastene er oppført nedenfor, spesielt for rik tilstedeværelse relatert TIL IM-brukere:

  • Aktiviteter
  • Atom / RSS – Varsler
  • Avatarer
  • Chatterom Besøk
  • Spillaktiviteter
  • Geolokasjon
  • Stemninger
  • Musikk Melodier
  • tv/video aktiviteter
  • Besøk På Nettstedet

Implementeringer

Servere-Følgende Xmpp-Servere Inkluderer Innebygd Støtte For Pubsub Eller Pep:

  • ejabberd
  • Jabber XCP
  • M-Link
  • Openfire
  • Tigase

Serverkomponenter

  • Idavoll

klienter

  • gajim
  • MOVIM
  • Psi

3.4 Biblioteker

  • strophe (C eller JavaScript)
  • XMPP4R (Ruby)

BOSH

BOSH er «Toveis-strømmer Over Synkron HTTP», en teknologi for toveis kommunikasjon over HYPERTEXT Transfer Protocol (HTTP). BOSH emulerer mange av transport primitiver som er kjent Fra Transmission Control Protocol (TCP). FOR applikasjoner som krever både «push» og «pull» – kommunikasjon, ER BOSH betydelig mer båndbreddeeffektiv og responsiv enn de fleste ANDRE toveis HTTP-baserte transportprotokoller og teknikkene KJENT som AJAX. BOSH oppnår denne effektiviteten og lav latens ved å unngå HTTP polling, men det gjør det uten å ty til chunked HTTP svar som er gjort i teknikken kjent som Comet. HITTIL HAR BOSH blitt brukt hovedsakelig som transport for trafikk utvekslet mellom jabber / XMPP klienter og servere (for eksempel for å lette tilkoblinger fra webklienter og fra mobilklienter på intermitterende nettverk). BOSH er imidlertid ikke bundet utelukkende TIL XMPP og kan også brukes til andre typer trafikk.

Spesifikasjoner BOSH er definert i to spesifikasjoner:

  • XEP-0124: Toveis-strømmer Over Synkron HTTP
  • XEP-0206: XMPP Over BOSH

Implementeringer

Servere FØLGENDE xmpp-servere inkluderer innebygd støtte FOR BOSH:

  • ejabberd
  • Jabber XCP
  • M-Lenke
  • Openfire
  • Prosodi
  • Tigase

tilkoblingsadministratorer

følgende frittstående xmpp-tilkoblingsadministratorer kan brukes med et bredt Utvalg AV XMPP-SERVERE:

  • JabberHTTPBind
  • punjab
  • rhb

Klienter

  • Adium
  • Gajim
  • jwchat
  • Pidgin
  • soashable
  • sparkweb
  • rask
  • tigase messenger
  • Tigase Minichat

Biblioteker

  • Emite (Gwt)
  • Gloox (c++)
  • jsjac (javascript)
  • strophe (c eller javascript)
  • Swift (C++)
  • Xiff (Flash)
  • xmpp4gwt (gwt)
  • Xmpp4js (Javascript)
  • XMPP4R (Rubin)

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.