lunes, 15 de junio de 2009

Title

Consumption of a web service from mobile devices and graphic interpretation of the consumption results.

Abstract

This is a project that ends the subject of "Mobile Applications" delivered by Escuela Ingeniería Informática of the San Jorge University.

The main idea is to develop a MIDlet that is able to consume a web service. This consumption occurs as a result of obtaining data that represent the water levels and weight of a chicken farm. With such data must draw a line graph to represent them.

Web Service

El web service desarrollado para la realización de la práctica contiene dos operaciones, agua y peso. Estas operaciones serán las encargadas de simular las operaciones reales. Dichas operaciones reales deberían ser capaces de servir como resultado los datos, obtenidos mediante sensores, de los niveles de agua de la granja y los niveles de peso de los pollos.

Como parámetro de entrada ambas tienen granja, el cual representa el nombre de la granja de la cual se desea obtener las mediciones. En la implementación se ha restringido a porta como la única posible granja valida.

Para simplificar la generación de los datos (en nuestro caso concreto coordenadas) se ha optado por la generación aleatoria de los mismos.

A continuación podemos observar una captura de la vista de "Diseño" del web service FarmChickenWS en NetBeans 6.5:

MIDlet

El MIDlet creado para el consumo del web service FarmChickenWS, denominado ChickenFarm, deberá ser capaz de obtener las respuestas a las invocaciones de las operaciones y presentar dichos resultados al usuario, tanto de manera numerica como de manera grafica (usando una grafica lineal).
La aplicación consta de tres partes principales:

  • ChickenFarmMIDlet: Clase principal, la cual invocara al cliente, procesará la respuesta y contendrá el Canvas capaz de dibujar las graficas.





  • ChickenFarmCanvas: Clase creada para facilitar el dibujado de graficas bidimensionales lineales. Basado en la implementación del MIDlet, Plot2DMIDlet desarrollado por Java2s.

  • FarmChickenWS cliente: es un conjunto de archivos creados a partir del WSDL del web service FarmChickenWS, para ello hace uso de la herramienta wsimport. En la creación del cliente se generán los siguientes archivos:


    • FarmChickenWSService.java: Interfaz creada por la herramienta wsimport para crear el cliente del webservice FarmChickenWS.


    • FarmChickenWSService.wsclient: este archivo XML contiene la configuración, tanto del cliente como del servicio.


    • FarmChickenWSService.wsdl: replica local del wsdl original.


    • FarmChickenWSService_Stub.java: clase generada al compilar, ligada al transporte del XML (HTTP o SOAP).

Código fuente

A continuación se enlaza el código fuente de los distintos componentes del proyecto. Todos estos han sido desarrollados desde el IDE NetBeans 6.5.1.
  1. Aplicación movil (versión AdHoc): código fuente y jar.
  2. Aplicación movil (versión Localhost): código fuente y jar.
  3. Web service: código fuente.

Ciclo de vida de la aplicación

Iniciamos la aplicación:


Esperamos a que ésta esté cargada:


Seleccionamos la operación que deseamos realizar:


En ambos casos se nos solicitara permiso para conectar con la red de datos:


Operación Agua

Alert indicando la correcta invocación de la operación agua:


Respuesta obtenida de la invocación:


Seleccionando la opción "Graph" se dibujara la gráfica lineal:


Operación Peso
Alert indicando la correcta invocación de la operación peso:


Respuesta obtenida de la invocación:


Seleccionando la opción "Graph" se dibujara la gráfica lineal:


Referencias

A continuación se enumeran las distintas fuentes usadas para la realización de la aplicación: