Changes

Jump to navigation Jump to search
m
no edit summary
Line 2: Line 2:     
==Overview==
 
==Overview==
[http://www.xmpp.org/extensions/xep-0124.html BOSH] (or HTTP binding) is a technique designed for asynchronous XMPP communication between client and server using HTTP. Unlike Jabber HTTP Polling ([http://www.xmpp.org/extensions/xep-0025.html XEP-0025]), it uses multiple request/response pairs to improve responsiveness and avoid unnecessary polling. Besides client and server, there is a Connection Manager entity in BOSH architecture, that serves as a mediator handling HTTP requests from clients and communicating with server. Client communicates with CM via HTTP-POST requests/HTTP responses defined in mentioned XEP and CM communicates with XMPP server either acting as ordinary XMPP client or using [http://www.xmpp.org/extensions/xep-0114.html component] protocol. For sake of server-initiated XMPP messages there should be always a HTTP request pending in client-CM connection. In practice, CM can be standalone HTTP server or extension of XMPP server ([http://www.xmpp.org/extensions/xep-0124.html#technique more on the technique])
+
[http://xmpp.org/extensions/xep-0124.html BOSH] (or HTTP binding) is a technique designed for asynchronous XMPP communication between client and server using HTTP. Unlike Jabber HTTP Polling ([http://xmpp.org/extensions/xep-0025.html XEP-0025]), it uses multiple request/response pairs to improve responsiveness and avoid unnecessary polling. Besides client and server, there is a Connection Manager entity in BOSH architecture, that serves as a mediator handling HTTP requests from clients and communicating with server. Client communicates with CM via HTTP-POST requests/HTTP responses defined in mentioned XEP and CM communicates with XMPP server either acting as ordinary XMPP client or using [http://xmpp.org/extensions/xep-0114.html component] protocol. For sake of server-initiated XMPP messages there should be always a HTTP request pending in client-CM connection. In practice, CM can be standalone HTTP server or extension of XMPP server ([http://xmpp.org/extensions/xep-0124.html#technique more on the technique])
    
Possible utilization is in web-based XMPP applications or as an option for users behind restrictive firewalls.
 
Possible utilization is in web-based XMPP applications or as an option for users behind restrictive firewalls.
Line 9: Line 9:  
===Servers===
 
===Servers===
 
Servers with built-in Connection Manager.
 
Servers with built-in Connection Manager.
   
* [http://www.igniterealtime.org/projects/openfire/index.jsp Openfire] - XEP-0124 listed in [http://www.igniterealtime.org/builds/openfire/docs/latest/documentation/protocol-support.html supported XEPs].
 
* [http://www.igniterealtime.org/projects/openfire/index.jsp Openfire] - XEP-0124 listed in [http://www.igniterealtime.org/builds/openfire/docs/latest/documentation/protocol-support.html supported XEPs].
 
* [http://www.ejabberd.im/ ejabberd] - Release notes for version [http://www.process-one.net/en/ejabberd/release_notes/release_note_ejabberd_200/ 2.0.0] mention XEP-0124 support.
 
* [http://www.ejabberd.im/ ejabberd] - Release notes for version [http://www.process-one.net/en/ejabberd/release_notes/release_note_ejabberd_200/ 2.0.0] mention XEP-0124 support.
Line 16: Line 15:  
===Standalone Connection Managers===
 
===Standalone Connection Managers===
 
Act as a proxy between client and XMMP server.
 
Act as a proxy between client and XMMP server.
   
* [http://blog.bluendo.com/ff/bosh-connection-manager-update Araneo] - Minimal CM written in Python using Twisted.
 
* [http://blog.bluendo.com/ff/bosh-connection-manager-update Araneo] - Minimal CM written in Python using Twisted.
 
* [http://www.butterfat.net/wiki/Projects/PunJab Punjab] - Python and Twisted again.
 
* [http://www.butterfat.net/wiki/Projects/PunJab Punjab] - Python and Twisted again.
Line 42: Line 40:     
==Discussion==
 
==Discussion==
   
A small, low-volume discussion list about BOSH technologies is located at bosh@xmpp.org -- join the list by sending email to bosh-subscribe@xmpp.org or by visiting [http://mail.jabber.org/mailman/listinfo/bosh http://mail.jabber.org/mailman/listinfo/bosh].
 
A small, low-volume discussion list about BOSH technologies is located at bosh@xmpp.org -- join the list by sending email to bosh-subscribe@xmpp.org or by visiting [http://mail.jabber.org/mailman/listinfo/bosh http://mail.jabber.org/mailman/listinfo/bosh].
   Line 48: Line 45:  
[http://matthewstechnologyblog.blogspot.com/ Matthew Wild] added BOSH support to the [http://camaya.net/gloox gloox] C++ library as part of Google Summer of Code 2007.
 
[http://matthewstechnologyblog.blogspot.com/ Matthew Wild] added BOSH support to the [http://camaya.net/gloox gloox] C++ library as part of Google Summer of Code 2007.
   −
Tomas Karasek is adding BOSH support to the [http://gajim.org/ Gajim] client as part of Google Summer of Code 2008 ([http://tomk-soc08.blogspot.com/ blog]).
+
[http://tomk-soc08.blogspot.com/ Tomas Karasek] is adding BOSH support to the [http://gajim.org/ Gajim] client as part of Google Summer of Code 2008.
    
[http://gsoc.safasofuoglu.org/ Safa SofuoÄŸlu] updated and improved BOSH support of the [http://www.igniterealtime.org/projects/openfire/index.jsp Openfire] and [http://www.igniterealtime.org/projects/xiff/ XIFF] as part of Google Summer of Code 2008.
 
[http://gsoc.safasofuoglu.org/ Safa SofuoÄŸlu] updated and improved BOSH support of the [http://www.igniterealtime.org/projects/openfire/index.jsp Openfire] and [http://www.igniterealtime.org/projects/xiff/ XIFF] as part of Google Summer of Code 2008.
190

edits

Navigation menu