|This article does not cite any references or sources. (October 2008)|
OBEX (abbreviation of OBject EXchange, also termed IrOBEX) is a communications protocol that facilitates the exchange of binary objects between devices. It is maintained by the Infrared Data Association but has also been adopted by the Bluetooth Special Interest Group and the SyncML wing of the Open Mobile Alliance (OMA). One of OBEX's earliest popular applications was in the Palm III personal digital assistant. This PDA and its many successors use OBEX to exchange business cards, data, even applications.
Comparison to HTTP
OBEX is similar in design and function to HTTP in providing the client with a reliable transport for connecting to a server and may then request or provide objects. But OBEX differs in many important respects:
- HTTP is normally layered above a TCP/IP link. OBEX is commonly implemented on an IrLAP/IrLMP/Tiny TP stack on an IrDA device. In Bluetooth, OBEX is implemented on a Baseband/ACL/L2CAP/RFCOMM stack. Other such "bindings" of OBEX are possible.
- HTTP uses human-readable text, but OBEX uses binary-formatted type-length-value triplets named "Headers" to exchange information about a request or an object. These are much easier to parse by resource-limited devices.
- HTTP transactions are inherently stateless; generally a HTTP client opens a connection, makes a single request, receives its response, and either closes the connection or makes other unrelated requests. In OBEX, a single transport connection may bear many related operations. In fact, recent additions to the OBEX specification allow an abruptly closed transaction to be resumed with all state information intact.
OBEX is the foundation for many higher-layer "profiles":
|IrDA||Point and Shoot profile|
|Infrared Financial Messaging (IrFM) profile|
|Bluetooth SIG||Generic Object Exchange Profile|
|Object Push Profile (phone to phone transfers)|
|File Transfer Profile (phone to PC transfers)|
|Basic Imaging Profile|
|Basic Printing Profile|
- All Palms since Palm III, except the Palm Pre, Palm Pre Plus, Palm Pixi and Palm Pixi Plus.
- Most Sharp, Motorola, Samsung, Sony Ericsson, HTC and Nokia phones with infrared or Bluetooth port
- LG EnV Touch (VX11000)
- Many other PDAs since 2003
- Many other phones with infrared or Bluetooth port
- Android devices in version 2.1 and above
- Windows Phone 7.8 and 8 devices (limited to the transferring of pictures, music and videos via a 'Bluetooth Share' app).