OBEX
From Wikipedia, the free encyclopedia
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.
Contents |
[edit] Differences between OBEX and HTTP
OBEX is similar in design and function to HTTP in that a client uses a reliable transport to connect to a server and may then request or provide objects. But OBEX differs in many important respects:
- Transports. 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/Link Manager/L2CAP/RFCOMM stack. Other such "bindings" of OBEX are possible.
- Binary transmissions. HTTP uses human-readable text, but OBEX uses binary-formatted type-length-value triplets called "Headers" to exchange information about a request or an object. These are much easier to parse by devices with limited resources.
- Session support. HTTP transactions are inherently stateless; generally a HTTP client opens a connection, makes a single request, receives its response, and closes the connection.[dubious ] 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.
[edit] OBEX profiles
OBEX is the foundation for many higher-layer "profiles":
- In the IrDA:
- Point and Shoot profile
- Infrared Financial Messaging (IrFM) profile
- In the Bluetooth SIG:
- Generic Object Exchange Profile
- Object Push Profile (phone to phone transfers)
- File Transfer Profile (phone to PC transfers)
- Synchronization Profile
- Basic Imaging Profile
- Basic Printing Profile
- In the OMA:
- SyncML binding
[edit] Supported devices
- All Palms since Palm III
- Most Sharp, Motorola, Samsung, Sony Ericsson and Nokia phones with infrared or Bluetooth port
- Many other PDAs since 2003
- Many other phones with infrared or Bluetooth port
[edit] See also
[edit] External links
- www.irda.org – OBEX specification
- OpenOBEX – an open source implementation of the OBEX protocol

