Entre las peculiaridades que presentan las BlackBerry como dispositivos programables, la que más quebraderos de cabeza suele causar es la conexión a Internet. El motivo no es la API utilizada, que es la habitual Generic Connection Framework de CLDC 1.0, sino los diferentes tipos de acceso a Internet que se pueden usar en los dispositivos BlackBerry. Los tipos de conexión dependen tanto servicio contratado, del modelo de BlackBerry, de la operadora… De hecho, lo que viene a continuación no es información contrastada, sino conclusiones que he sacado tras investigar en diversas páginas y manuales que he encontrado por Internet. Es además una exposición simplificada, destinada a desarrolladores que quieran programar en la BlackBerry aplicaciones que se conectan a Internet. Cualquier aportación o corrección es como siempre bienvenida.

Existen dos servicios BlackBerry distintos. Uno es el empresarial, llamado BlackBerry Enterprise Solution (o BES para abreviar), en el cual la empresa tiene un servidor (el BlackBerry Enterprise Server) que todas las BlackBerry corporativas usan como punto de acceso. A través de él acceden al correo corporativo o se descargan aplicaciones corporativas. Tambien proporciona un servicio, llamado Mobile Data Service, que actúa de proxy para acceder a Internet. Con BES, las únicas restricciones son las que la empresa configure en su servidor.

Para usuarios individuales, o para pequeñas empresas que no puedan permitirse la infraestructura BES, existe el servicio BlackBerry Internet Service (BIS). Este servicio permite acceder a Internet a través de una pasarela gestionada por RIM, habitualmente con un plan de datos con tarifa plana. Pero, y aquí empieza la complicación, sólo pueden acceder a esta pasarela aquellas aplicaciones que tengan permiso para ello. A día de hoy existen varias aplicaciones que funcionan bajo la pasarela de BIS (por ejemplo, hay una lista, no sé cómo de completa, aquí: ¿Entra en la Tarifa Plana?). Imagino que es neecsario un acuerdo con RIM para que una aplicación tenga acceso a esta pasarela, pero no he conseguido información al respecto.

Además de BIS, las operadoras pueden ofrecer una pasarela propia para acceder a Internet. Esta pasarela puede ser WAP o no (creo que las que ofrecen en España son WAP). Para utilizar estas pasarelas es necesario tener definido un APN (Access Point Name) con los parámetros especificados por el operador (nombre, y opcionalmente ip, puerto, usuario y contraseña), aunque también es posible incluir estos parámetros desde el código que abre la conexión.

El problema de las pasarelas que no son BIS es que se cobran aparte, por lo su coste no va incluido en la tarifa plana de BlackBerry; eso sí, es posible no contratar el servicio BIS y contratar una tarifa plana de datos convencional, que sí cubrirá todas nuestras conexiones a Internet. Pero si no se tiene tarifa plana, lo mejor es asegurarse de que no hay APNs configuradas y de que las aplicaciones que usamos funcionan en BIS.

Como conclusión, las aplicaciones Java que hagamos para BlackBerry no podrán acceder a Internet por BIS. Hay que tener en cuenta, además, que con el emulador de BlackBerry sólo podemos probar conexiones a través del MDS, ya que no hay forma de emular un servicio BIS ni una pasarela directa a Internet. Las diferencias son relevantes en el código, ya que por defecto casi todas las BlackBerry intentan conectarse por Mobile Data Service.  Los parámetros para especificar un tipo de conexión u otro, así como para especificar una pasarela wap se encuentran en este artículo de la base de conocimiento de BlackBerry: What Is – Different ways to make an HTTP or socket connection.

Referencias:

Lo que entra en el plan BB

BESADMIN.es

¿Entra en la Tarifa Plana?