OBEX (abreviatura de OBject EXchange, intercambio de datos; también denominado IrOBEX) es un protocolo de comunicaciones que facilita el intercambio de objetos binarios entre dispositivos. Es mantenido por la Infrared Data Association (IrDA) pero ha sido adoptada también por el Bluetooth Special Interest Group y por la sección SyncML de la Open Mobile Alliance (OMA). Una de las primeras aplicaciones populares de OBEX tuvo lugar en la Personal Digital Assistant Palm III. Esta PDA y sus múltiples sucesoras utilizaron OBEX para intercambiar tarjetas de negocio, datos e incluso aplicaciones.
OBEX es similar en diseño y funcionalidad a HTTP, protocolo en el que el cliente utiliza un transporte fiable para conectarse a un servidor y así recibir o proporcionar objetos. No obstante, OBEX difiere en algunos puntos importantes:
- Transporte: HTTP funciona normalmente sobre un puerto TCP/IP. OBEX, en cambio, es comúnmente implementado sobre una pila IrLAP/IrLMP/Tiny TP de un dispositivo IrDA; mientras que funcionando con Bluetooth, OBEX se suele implementar sobre una pila en Banda Base/Link Manager/L2CAP/RFCOMM. En cualquier caso, ofrece otras posibilidades.
- Transmisiones binarias: HTTP utiliza texto legible por el ser humano, mientras que OBEX utiliza tripletes binarios llamadas cabeceras (del inglés, headers) para intercambiar información sobre una petición o un objeto. Éstos, resultan más simples de elaborar para dispositivos con características limitadas.
- Soporte para realizar sesiones: Las transacciones HTTP carecen inherentemente de estado. Generalmente, un cliente HTTP establece una conexión, efectúa una sola petición, recibe respuesta y cierra la conexión. En OBEX, una sola conexión de transporte podría utilizarse para efectuar varias operaciones relacionadas entre sí. De hecho, las últimas novedades de la especificación OBEX permiten almacenar la información del estado de una conexión intacta incluso si la conexión finalizó inesperadamente.
- Procesamiento de datos: Mientras que las transacciones de HTTP están diseñadas principalmente para recuperar datos, OBEX ofrece un enfoque más equilibrado, facilitando tanto el envío como la recepción de datos.
Perfiles
OBEX es el conjunto de varios perfiles de alto nivel:
- En IrDA:
- Perfil Point and Shoot
- Perfil Infrared Financial Messaging (IrFM)
- En Bluetooth SIG:
- En OMA:
- SyncML Binding
La última versión de la especificación pública de OBEX está disponible en http://www.irda.org/.
Dispositivos soportados
- Todas las Palms desde Palm III
- La mayoría de los teléfonos con infrarrojos o Bluetooth de Motorola, Samsung, Sony Ericsson, Blackberry y Nokia.
- Muchas otras PDA desde 2003
- Muchos otros teléfonos con puerto de infrarrojos o Bluetooth.
Véase también
- OpenOBEX, una implementación open source del protocolo OBEX.