Acceder a Internet con Java en una BlackBerry

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?

4 comentarios hasta ahora

  1. miblackberry.com on 14 de Marzo de 2008

    Buenas Javier,

    la lista a la que haces referencia te comento que es muy limitada, la cree solo para poner una serie de aplicaciones típicas que entrar en la tarifa plana a modo de FAQ, son muchas las que hay y por desgracia, que yo sepa no hay una lista oficial de aquellas que entran en la misma.

    Como bien dices para que una aplicación entre en la tarifa plana RIM te ha de dar el permiso para ello, hasta donde se, para hacerlo has de ser partner de BlackBerry, puedes encontrar más información en http://na.blackberry.com/eng/partners/

    Saludos

    Josep Maria

  2. Javier Cancela on 14 de Marzo de 2008

    Hola Josep María.

    Sí, he visto la página de partners, de ahí saqué la conclusión de que era necesario un acuerdo con RIM, aunque no vi ninguna explicación concreta. Habrá que ponerse en contacto con ellos para conocer los términos.

    Ya imagino que la lista no es completa, pero aproveché para enlazarla porque el artículo es muy interesante.

    Gracias por los comentarios.

  3. estronque on 3 de Julio de 2008

    Hola Josep María.

    Solo felicitarte por la informacion de blackberry. Trabajo en una
    compañia que se dedica al tracking de GPS y envio a al centro de
    control y estamos ahora mirando la forma de trincar GPS y enviarlo
    al centro de control, tenemos versiones para otros dispositios Teniamos la esperanza que poner conectar por BIS para blackberry.

    La verdad que sería lo mejor, ya que de esta manera tendriamos una
    muy buena tarifa de envio de datos. Ni las que tenemos machine
    to machine por apn y gprs son tan buenas como las de BIS.

    ¿Una pregunta? No se podria usar desde una aplicacion, el propio
    explorador de la blackberry para hacer un post de datos o un get
    para obtener datos y que sea el explorador web que por BIS se comunicara?

    De todos modos. Un saludo

  4. duvel on 2 de Octubre de 2008

    Hola Javier,
    El articulo me ha parecido muy interesante, estoy intentando conectarme a un webservice en .net con una blackberry con un programa en j2me y no lo consigo, sin embargo el mismo programa si se conecta en un nokia, la conexion la estoy haciendo con ksoap2, me podrias dar alguna pista sobre lo que puedo estar haciendo mal.
    Un saludo

Leave a reply