Aplicación de Respuesta a Preguntas


1.- Resumen


1.1.- Primera Presentación
  •  Bluetooth
      • Caracteristicas Técnicas
      • Ejemplo de Aplicaciones
  • J2ME
      • MIDlet y ciclo de vida
      • Herramienta de desarrollo WTK
  • JSR-82 (API de Bluetooth para J2ME)
      • Ejemplo cliente-servidor
      • Iniciando servidor
      • Búsqueda de servicios y dispositivos
      • Establecimiento de conexión
1.2- Segunda Presentación
  • Simulador Impronto
      • Permite simulación J2SE-J2ME
  • Bluecove Stack
      • Implementación de la API  de Bluetooth para Windows
      • Modo de instalarlo
      • Ejemplos
2.- Objetivos Tercera Presentación
 
  • Mostrar arquitectura de atención de múltiples servicios
  • Mostrar aplicación de respuesta a preguntas
  • Trabajo a futuro

3.- Arquitectura de múltiples servicios   

  • Código
  • Al momento de desarrollar una aplicación, se figuro la idea de pensar en como sería una arquitectura que permitiese de la forma más genérica posible crear aplicaciones para el celular, permitiendo de esta forma sentar bases para desarrollos futuros más complejos.
  • En este sentido se presenta en la figura a continuación, el esquemático de la idea desarrollada en código.
  • El sistema funciona  perfectamente en sistema  simulado (WTK), y  en comunicación entre celulares.
  • Con el adaptador Bluetooth que se dispone no permite especificar más de un servicio por vez. Pero esto es facilmente solucionable por software, dado que se podrían escoger los servicios como una opción dentro de un unico servicio especificado.
  • Un servicio se refiere a la url que lo especifica es decir "btspp://localhost:" + uuid.toString() +";name="+ appName"

pictures/arquitecturamultiservicios


4.- Programa Cliente-Servidor para responder preguntas

El programa que se presenta permite responder preguntas que se plantean en el lado del servidor, los clientes son celulares con soporte J2ME y Bluetooth, en los cuales se carga un programa cliente que permite recepcionar la pregunta, las alternativas y responder al servidor con la alternativa seleccionada.
El programa consta de 3 etapas:
  • Iniciando el servicio
  • Recepcionando conexiones de clientes y esperando respuestas
  • Gráficando los resultados y mostrando alternativa correcta
4.1.-Descripcion Componentes
  • Servidor
    • Corresponde a aquel que provee el servicio de preguntas
    • Via  linea de comandos se le pasan los parametros relacionados con la pregunta
    • Gestiona las conexiones establecidas por el cliente
    • Informa de la pregunta que se debe contestar
    • Recepciona las respuestas de los clientes
    • Gráfica los resultados
    • Muestra la alternativa correcta
  • Cliente
    • Corresponde al celular que solicita el servicio de preguntas
    • Busca dispositivos, dentro de los cuales se encuentra el servicio
    • Busca el servicio de preguntas dentro del dispositivo seleccionado
    • Se escoge la alternativa a la pregunta planteada
    • Permite navegar dentro del programa en el celular
4.2.- Diagrama de la solución  propuesta

pictures/arquitecturapregunta

4.3.- Casos de Uso


Son dos:
  • En el caso en que sea una pregunta sencilla, de sólo texto y de alternativas con no demasiado texto. Por ejemplo
    • ¿Quien descubrio America?
      • a.- Americo Vespucio
      • b.- Diego del Almagro
      • c.- Cristobal Colon
      • d.- Pedro de Valdivia
      • e.- Placido Domingo
  • En el caso en que la pregunta requiere mucha información u otros recursos (sonidos, imágenes). Por ejemplo:
mapa la

5.- Archivos y Documentacion
  •   ClientePreguntas
  • ServidorPreguntas
    • Javadoc
    • Archivos
    • Código Comprimido
    • Ejecutar programa
      • En la linea de comandos se debe ejecutar escribiendo:
        • java -cp lib\bluecove-1.2.3.jar;lib\jfreechart-1.0.6.jar;lib\jcommon-1.0.10.jar;classes servidorpreguntas.SPP_Main  pregunta numero_alternativas alternativa_correcta numero_clientes_se_espera atender <opcional contenido_alternativa1 contenido_alternativa2 ...>
        • Si se agrega el contenido de las alternativas, debe hacerse para todas las especificadas en numero_alternativas
        • Ejemplo de uso:
          • java -cp lib\bluecove-1.2.3.jar;lib\jfreechart-1.0.6.jar;lib\jcommon-1.0.10.jar;classes servidorpreguntas.SPP_Main "¿Quien descubrio America?" 5 3 2 "Americo Vespucio" "Diego de Almagro" "Cristobal Colon" "Pedro de Valdivia" "Placido Domingo"



6.- Trabajo a futuro

  • Configurar a través de una interfaz gráfica los parámetros de una pregunta.
  • Ingreso de varias preguntas que se almacenen en una base de datos a través de la interfaz grafica, así alguien puede ingresarlas antes de una clase e ir publicando las preguntas en función de  si es el momento que se contesten o no.
  • Estadistica de la evolución de la participación en clases, por ejemplo en función de la participación en clases y del resultado de preguntas respondidas previamente, se podría mejorar la dinámica de la asignatura.
  • Depurar el código.

7.- Conclusiones

  • La Herramienta de desarrollo WTK es bastante robusta, en el sentido que al momento de trasladar los programas al celular no se requiere ninguna modificación al código o no se presentan problemas, es decir el emulador funciona practicamente de forma idéntica al celular
  • La documentación de las APIs de Java fue esencial para el desarrollo del programa. Ésta represento una fuente escencial para sacar adelante la aplicación
  • Con la sencilla aplicación presentada es posible observar un sin fin de potencialidades y aplicaciones posibles entre la combinación JAVA y Bluetooth. Sobre todo porque la tecnología todavia no se ha diversificado lo suficiente, existiendo muchos nichos a los cuales comercialmente se podría ingresar.
  • En la medida que los celulares y los dispositivos con Bluetooth se masifican cada vez más y los precios de los primeros que  incluyen bluetooth siguen desciendendo, se prevé en el futuro el despegue de un sinnuúmero de aplicaciones en todas las áreas de desarrollo, tales como: telemedicina, servicios, etc.