Cada día la penetración de los dispositivos móviles se hace importante en nuestro país y también a nivel mundial. Por este mismo motivo, las aplicaciones que se desarrollan para celulares son cada vez más variadas y representan un importante sector en el desarrollo de software hoy en día. Es normal que estas aplicaciones requieran algún sistema de comunicación entre ellos mismos o también con computadores fijos en la presencia de arquitecturas del tipo cliente-servidor. La tecnología de comunicación reinante en este tipo de dispositivos hoy es Bluetooth, pero se abre camino la tecnología WiFi con su implementación cada día más común y apetecida en nuestros celulares gracias a su alta velocidad de transferencia y múltiples prestaciones.
El problema que se presenta entonces al momento de querer desarrollar una aplicación que requiera comunicación con arquitectura del tipo cliente-servidor con un computador fijo (por ejemplo un PC), es ¿qué tecnología usar? y ¿cómo usarla?. Puede ser la respuesta más común usar Bluetooth, ya que hoy en día se encuentra presente en todos los celulares que se puedan adquirir en el mercado y es económico comprar una antena Bluetooth para computador. Una manera relativamente sencilla de utilizar Bluetooth es programar con el lenguaje J2ME en el equipo móvil con la implementación que J2ME trae por defecto para esta tecnología de comunicación. Mientras que en el computar que actuará como servidor es prácticamente igual la implementación de Bluetooth gracias a la librería Bluecove que nos permite utilizar todas las prestaciones y características de la programación de Bluetooth que posee J2ME esta vez en JAVA común.
Pero ¿Porqué no usar Wifi?, la respuesta obvia sería, muy pocos celulares traen esta tecnología disponible hoy. Es aquí donde surge la solución propuesta por el presente proyecto, desarrollar un servidor para una arquitectura cliente-servidor que nos permita recibir información desde cualquier dispositivo ya sea utilizando Bluetooth o WiFi para aprovechar así las dos principales características del mercado actual, la tecnología reinante en los dispositivos móviles para la comunicación y la nueva tecnología que sin duda llegará a apoderarse del modo en que intercomunicamos nuestros equipos móviles con el resto del mundo.
Pero esto no es suficiente ya que ¿Qué hacemos con la información que recibimos?, está es la otra funcionalidad del programa desarrollado. La idea es dar la libertad a la persona que desee utilizar este servidor para modificar la clase encargada de hacer algo útil con esta información. Por ejemplo la implementación con la que se presenta está aplicación es realizar una autenticación en una base de datos MySQL y devolver al equipo móvil la autorización o rechazo de dicha autenticación.
Finalmente para poder saber que está ocurriendo en el servidor se despliega una interfaz de usuario que muestra las sesiones que se encuentran activas tanto de Bluetooth como de Wifi y un log con todas las conexiones que se han realizado.