Genişletilebilir Mesajlaşma ve Durum Protokolü XMPP protokolü logosu.
Fonksiyon | Anlık mesajlaşma |
---|---|
Kısaltma | XMPP |
Oluşturulma tarihi | 1999 |
Liman | 5222 (istemci - sunucu) ve 5269 (sunucu - sunucu) |
RFC | RFC 6120 - RFC 6121 - RFC 6122 - RFC 3922 - RFC 3923 |
Genişletilebilir Mesajlaşma ve Varlık Protokolü sıklıkla olarak kısaltılır ( "varlığı ve mesajlaşma genişletilebilir protokolü" ile tercüme edilebilir),XMPP, bir kümesidiraçıkstandartprotokoller arasında Internet Engineering Task Force için (IETF)anlık mesajlaşmadaha genel bir ve merkezi olmayan veri alışverişi mimarisi. XMPP aynı zamandaJingleuzantısı aracılığıyla gerçek zamanlıya yakın bir işbirliği ve multimedya değişim sistemidir; bunlardanIP üzerinden ses(İnternet telefonu),video konferansve dosya alışverişi uygulama örnekleridir.
XMPP, Genişletilebilir Biçimlendirme Dili (XML) biçiminde istemciler arasında anlık veya anlık olmayan mesajların merkezi olmayan alışverişine izin veren bir istemci-sunucu mimarisine dayalı bir TCP / IP protokolünden oluşur . XMPP, IETF içinde sürekli ve açık bir gelişim içindedir .
Sunucular özel ( intranet ) veya halka açık olabilir, yani İnternet üzerinden diğer halka açık sunuculara bağlanabilir ( Facebook'ta olduğu gibi ). Tüm genel sunucular, Jabber ağını (veya XMPP ağını) oluşturur.
XMPP bu nedenle dünya çapında yüzlerce genel ve özel sunucu ve milyonlarca kullanıcı tarafından kullanılmaktadır. Apple , Cisco , Gizmo5 , GNOME , Google , IBM , Oracle Corporation gibi birçok endüstriyel oyuncu XMPP kullanıyor .
XMPP protokolü iki farklı bölüme ayrılmıştır:
XMPP, yalnızca popüler, tescilli anlık mesajlaşmadan daha geniş ve açık bir şekilde tasarlanmıştır . Bu nedenle, şirketler ve idareler tarafından bilgi sistemleri içindeki uygulamalar ( ETL , EAI , ESB ) arasındaki veri alışverişi bağlamında , aynı zamanda şebeke bilişim , uyarı bildirimleri veya 'bilgi, sistem ve ağ denetimi veya bulut bilişim bağlamında kullanılır. . Son olarak, XMPP aynı zamanda interaktif beyaz tahta (TBI) veya işbirliğine dayalı düzenleme ve geliştirme gibi neredeyse gerçek zamanlı paylaşım ve işbirliği alanında ve aynı zamanda İnternet'teki oyunlar (özellikle kart oyunları) ve plato) alanında da kullanılmaktadır.
1998'de Jeremie Miller , XML tabanlı bir anlık mesajlaşma protokolü olan Jabber'ı icat etti . Çalışmaları esinlenerek ICQ , 1996 yılında oluşturulan, türünün ilk sistem.
Ocak 1999'da, Slashdot'ta " diğer IM (Anlık Mesajlaşma) sistemlerine şeffaf iletişim ile anında mesajlaşma için eksiksiz bir açık kaynak hesaplama platformu " nu kamuoyuna duyurdu . Protokol, işlevsel bir sunucu ( jabberd ) ve test istemcileri (WinJab ve Gabber) ile birlikte tasarlandı.
Ağustos 1999'da Jeremie Miller, açık standartları ve birlikte çalışabilirliği teşvik etmek için protokolün IETF tarafından standartlaştırılması çağrısında bulundu. IMPP ÇG daha sonra oluşturulmuş ve Şubat 2000'de 2778 ve 2779 sayılı RFC'ler yayınlanmış, ancak bir fikir birliğine varamamıştır.
Açık kaynak jabberd 1.0 sunucusu Mayıs 2000'de piyasaya sürüldü ve protokolü stabilize etti. Haziran ayında, Jeremie Miller bir İnternet Taslağı yayınladı, ancak son tarih geçti. 1.2 sürümü jabberd ait tanıtıldı dialback sunucu kimliklerin engeller hırsızlık söyledi.
Jabber Software Foundation artan sayıda koordine etmek Ağustos 2001 yılında kuruldu açık kaynak geliştiricileri ve Jabber teknolojilerini benimseyen şirketlerin yanı sıra dokümantasyon, oluşturma ve XML protokolleri bakımını yönetmek için.
2002'de Internet Taslakları , IETF'e XMPP Core ve XMPP IM olarak yeniden gönderildi ve bir XMPP WG oluşturuldu.
RFC 3920 XMPP Çekirdek ve XMPP IM 3921 ve RFC 3922 ve 3923 CPIM E2E Ekim 2004 yılında kabul edilmektedir.
2007'de JSF, XMPP Standartları Vakfı için XSF oldu ve TLS / SSL sertifikası aracı kurum hizmetleri sundu.
Apple , Mayıs 2005'te OS X Tiger ile birlikte gelen iChat mesajlaşma yazılımında Jabber desteğini tanıttı.
2005'ten 2013'e GoogleGoogle şirketi , Google'ın sunucularına bağlı özel bir XMPP istemcisi olan Google Talk'u Ağustos 2005'te piyasaya sürdü . Bu istemci , özellikleri kütüphane ile birlikte yayınlanan Jingle protokolü üzerinden ses (İnternet telefonu) sağlar libjingle. JSF daha sonra standardizasyonunun sorumluluğunu üstlenir. Birkaç ay sonra bu sunucular Jabber ağına açılır. Mayıs 2013'te Google, tescilli Google+ Hangouts protokolü lehine XMPP'yi terk etme niyetini duyurdu .
2008'den 2015'e FacebookMayıs 2008'de Facebook geliştiricileri , sohbet uygulamaları için XMPP'yi desteklediklerini duyurdular . Uygulama 10 Şubat 2010'da yürürlüğe girecek, ancak sunucu Jabber ağının geri kalanına bağlı değil. Temmuz 2015'te Facebook, XMPP desteğini kaldırarak onu kendi API'sinden geçmeye zorladı.
ICQ / AIM ve Yahoo!Ocak 2008'de, anlık mesajlaşma yazılımı ICQ ve AIM (uyumlu ve OSCAR protokolüne dayalı) tedarikçisi olan AOL , XMPP üzerinden bağlantıya izin veren deneysel bir sunucu kurdu. Bu nedenle, 50 milyondan fazla kullanıcının Jabber ağını genişleten . Şubat 2008'de Yahoo! , Yahoo! Messenger , XMPP'ye olan ilgisini de duyurdu. O zamandan beri, sunucular diğer XMPP sunucularına bağlanabilir
2011'de SkypeHaziran 2011'de Skype , geliştirilmekte olan istemci yazılımının Windows sürümünde bir XMPP bağlayıcısının oluşturulduğunu duyurdu. Ancak, kullanım metinle sınırlıdır ve video / sesle sınırlandırılmaz. Bu entegrasyon, XMPP .
2011'de WLMEylül 2011'de Microsoft, Windows Live Messenger'ın (MSN (MicroSoft Network'ten) olarak da anılır) , yeni Windows 8 işletim sistemi bağlamında OAuth kimlik doğrulama sistemini kullanarak XMPP protokolü aracılığıyla anlık mesajlaşmalarına bağlanmak için bir yol sunacağını duyurdu ve özellikle onunla ilişkili çevrimiçi hizmetler. Bununla birlikte, entegrasyon yalnızca istemci-sunucu düzeyinde yapılacak ve diğer XMPP etki alanlarında (gmail.com veya jabber.org gibi) bulunan kişilerin onlarla etkileşim kurmasını yasaklayacak, spesifikasyonlar az kaldı.
Bu duyuruyu, birden çok protokolü destekleyen alternatif e-posta istemcileriyle entegrasyon izledi.
Microsoft'un Facebook'ta hisseleri olduğunu ve Mayıs 2011'de Skype'ı satın aldığını not etmek ilginç olabilir.
Eylül 2008'de Cisco , Jabber Inc. şirketini satın almak için bir anlaşma yaptığını duyurdu . Ne XSF, kar amacı gütmeyen kuruluş ne de XMPP protokolü bu devralmadan etkilenmez.
XMPP, Jabber'ın kalbidir; XMPP, Jabber'a , World Wide Web'e Köprü Metni Aktarım Protokolü'nün (HTTP) ne olduğunu ifade eder .
Protokol, XMPP Standards Foundation (eski adıyla Jabber Software Foundation ) tarafından korunur ve XMPP adı altında Internet Engineering Task Force (IETF) tarafından standartlaştırılır .
Jeremie Miller projeye 1998'de başladı ve ilk genel sürümü Mayıs 2000'de yayınlandı. Projenin ana çıktısı, istemci yazılımının bağlanmasına ve sohbet etmesine izin veren ücretsiz bir sunucu olan jabberd'dir . Bu sunucu, ya özel bir Jabber ağı oluşturmak (bir güvenlik duvarının arkasında ) ya da internetteki diğer federe genel sunuculara katılmak, muhabirleriyle çevrimiçi sohbet etmek için kullanılır.
Birçok Jabber uygulaması oluşturulabilir:
XMPP'nin multimedya uzantısı Jingle sayesinde akışları herhangi bir ikili içeriğe genişletmek mümkündür: İnternet telefonu , video konferans , vb.
Jabber'ın kullanıcı ağı merkezi değildir, yani birbirine bağlı birkaç sunucudan oluşur. E-postaya benzer şekilde çalışır : anlık mesajlar bir kullanıcıdan diğerine kendi sunucuları aracılığıyla aktarılır. Başka bir benzerlik, bir kullanıcı, bir kullanıcı adı ve bir sunucu adı ile tanımlanır, iki alan bir "@" işaretiyle ayrılır . Bu tanımlayıcıya Jabber ID veya daha basitçe "Jabber adresi" denir .
Örneğin, [email protected] kullanıcısı [email protected] ile iletişim kurmak isterse , Bob'un istemci yazılımı önce mesajını sunucusuna ( jabber.org ) gönderir . Ardından Bob'un sunucusu Gilles'in sunucusuyla ( jabber.cz ) İnternet üzerinden iletişime geçecek ve mesajı ona iletecektir. Son olarak, jabber.cz sunucusu çevrimiçi ise Gilles'in istemci yazılımıyla iletişim kurabilir ve mesajı kendisine iletebilir (aksi takdirde mesaj sunucuda beklemede tutulur ve Gilles çevrimiçi olduğunda teslim edilir). Açıkçası, tüm bu adımlar, tıpkı e-postalar gibi, kullanıcı için anında ve şeffaf bir şekilde yapılır.
|
↔ |
|
← |
|
→ |
|
↔ |
|
Bir "Jabber adresi", bir Jabber kullanıcısının tanımlayıcısıdır.
İki veya üç bölümden oluşur:
Bu iki veya üç alan, bir e-posta adresi gibi, kullanıcı @ sunucu / kaynak veya daha basit bir şekilde kullanıcı @ sunucu olarak sunulur .
Örneğin , İş kaynağını kullanan jabber.org sunucusundaki kullanıcı bob şu Jabber adresine sahip olacaktır: [email protected]/Work veya daha fazlası , bir e-posta adresi olarak [email protected] .
Bir Jabber kullanıcısının kişi listesi sunucuda saklanır. Bir kullanıcı, Jabber'a başka iş istasyonlarında veya diğer istemcilerle bağlanırsa, kişi listesini bulacaktır.
Varlık ve durumlarBir Jabber istemcisi bir sunucuya bağlandığında (veya bağlantıyı kestiğinde), sunucu otomatik olarak kullanıcının çevrimiçi varlığını (sırasıyla bağlantısının kesildiğini) tüm kişilerine duyurur.
Kendini "görünmez" yapmak da mümkündür: kullanıcı daha sonra, kontaklarının mevcudiyet bildirimlerini görebilirken, muhabirlerinin gözünde bağlantısız görünür.
Birkaç varlık durumu vardır : "çevrimiçi", "çevrimdışı", "yok" vb.
Kaynaklar ve önceliklerKaynak bir Jabber adresin isteğe bağlı bir parçasıdır. Bu, diğerlerinden eğik çizgi ("/") ile ayrılmış son alanıdır.
Kullanıcı tarafından istemci yazılımında serbestçe yapılandırılabilen bir kaynak, genellikle bir Jabber kullanıcısının bulunduğu konumu belirtir. Örneğin, Ev , İş , Dizüstü Bilgisayar veya Yazılım değerleri yaygındır. Kaynak, bir kullanıcı aynı anda birden çok konumdan veya birden çok istemciyle oturum açtığında kullanışlı hale gelir. Kişileri daha sonra kaynaklarının birine veya diğerine veya varsayılan olana, yani en yüksek önceliğe sahip olana bir mesaj gönderme seçeneğine sahiptir . Aynı anda bağlanan birkaç kaynak eşit önceliklere sahipse, mesaj son bağlanan kaynağa yönlendirilir.
Öncelik -128 ve +127 arasında bir tam sayıdır. Çoğu Jabber istemcisinde isteğe bağlıdır ve yapılandırılabilir. Yokluk durumunda, sunucu önceliğini 0 olarak kabul eder. Ana kullanımı, kaynak olmadan bir Jabber adresi için amaçlanan mesajların teslimatı içindir.
UlaşımÇoğu Jabber sunucusu , kullanıcının diğer anlık mesajlaşma sistemlerinin kullanıcılarıyla sohbet etmesine olanak tanıyan bir taşıma hizmeti ( ağ geçitleri de denir ) sunar.
Kullanıcı, hedef ağa kendi özel bilgilerini sağlayarak bu aktarımlara kaydolabilir (örneğin, ICQ için, UIN ( Kullanıcı Tanımlama Adı ) ve parolayı sağlamak gerekir). Bu yapıldıktan sonra, kullanıcı, Jabber kullanan bir kişi için yapacağı gibi, bu diğer ağı kullanarak kişileri ekleyebilir. Şu anda, IRC , MSN Messenger , Yahoo! Messenger ve ICQ / AOL Instant Messenger (AIM). E-posta hizmetleri gibi başka taşımalar da vardır.
Bir taşıma kullanarak, kullanıcı, müşterinin ve kullanılan ulaşımın kapasiteleri ile sınırlıdır; muhtemelen hedef ağın resmi istemcisinin tüm işlevlerine sahip olmayacaktır.
Diğer ağlardan gelen kişiler, kişi listesinde, belirli Jabber adreslerine sahip Jabber kişileri olarak görünür: tanımlayıcı @ aktarım . Yani mesela:
Ancak, bu tescilli protokolleri ve hizmetleri çalıştıran bazı Şirketler, ağlarındaki jabber.org ve jabber.com gibi önemli Jabber sunucularına erişimi engelliyor veya engelliyor . Bu nedenle, ilgili aktarımların bu sunucularda kullanılmasını imkansız hale getirir. Bazı Şirketler , ağlarının alternatif müşteriler veya Jabber taşımaları tarafından kullanılmasına karşı koymak için bazı göre protokollerini de değiştirdi .
Odak gruplarıTartışma grupları veya konferanslar ( "için "MUC" Çoklu Kullanıcı Sohbet " veya " groupchat ") kanallar gibi, ikiden fazla kullanıcıya konuşmaları oluşturmak IRC .
Herkese açık veya özel gruplar oluşturmak, kişileri bir gruba davet etmek, grupları denetlemek ( IRC'de olduğu gibi " kick " ve " yasaklamak "), tartışmaları günlüğe kaydetmek ve odayı kalıcı hale getirmek mümkündür.
Dosya transferleriJabber, dosyaların doğrudan kullanıcılar arasında veya bir ara proxy kullanılarak aktarımı kesintiye uğratma ve devam ettirme olasılığıyla aktarılmasına izin verir.
JingleJingle, IP ağı üzerinden ses ve video konferans oturumlarına izin verir . Jingle, 2008'den beri Psi , Kopete , Spark ve Pidgin gibi birkaç Jabber istemcisine entegre edilmiştir . Google Hangout ile değiştirilmeden önce 2014 yılına kadar Google Talk tarafından kullanıldı .
Yayın-abonelikBir yayınlama-abone olma mekanizması geliştirme ve standartlaştırma aşamasındadır, XEP-0060 bu, Jabber sunucularında bilgi dağıtma ve depolama ve bu haber akışlarına abone olma becerisine sahip olmayı içerir.
Bu mekanizma, diğer şeylerin yanı sıra, özetlerin ve makalelerin yayınlarını, bu konulara abonelikleri, genişletilmiş mevcudiyet, paylaşılan yer imleri, açık artırma ve değişim sistemleri, çevrimiçi kataloglar, iş akışı sistemleri , etkinlik bildirimleri ...
Uzatılmış mevcudiyetGenişletilmiş bir varlık mekanizması geliştirme ve standardizasyon aşamasındadır , kullanıcının durumu, yani ruh hali, etkinliği, coğrafi konumu, dinlenen müziği, profili, takma adı, web'de gezinme, grup sohbetleri, oyunlar, videolar gibi dinamik bilgileri yayınlama becerisine sahip olmayı içerir. izlendi ve kesinlikle daha fazlası gelecek.
Genişletilmiş mevcudiyet, yayın abonelik mekanizmasının basitleştirilmesine ve uzmanlaşmasına dayanmaktadır.
Jingle, geniş tasarımı, ölçeklenebilirliği ve standardizasyonu sayesinde geniş bir uygulama yelpazesi sunar:
XMPP protokolü (Jabber), bir anlık mesajlaşma standardı haline gelebilmesi için IETF tarafından bir " taslak " olarak yayınlandı .
In 2002 , XMPP grup kuruldu ve protokol standardizasyonu üzerinde çalıştı. 4 Ekim 2005'te protokol özellikleri RFC olarak yayınlandı . O tarihten bu yana, XMPP Standartları Vakfı , protokol için çok sayıda uzantı geliştirmeye devam ederken (XEP serisi) ana teknolojilerinin kontrolünü IETF'e devretti.