Primeras imágenes de Oolong

Desde que retomé el proyecto las cosas están yendo bastante bien. Mientras sigo con el tercer Technical Report acerca de la instalación avanzada de Linux en la BeagleBoard voy añadiendo funcionalidades a las aplicaciones.

Aquí muestro algunas capturas de Oolong funcionando, aunque de momento sea poco más que una prueba de concepto. Lo positivo es que es muy rápido y fácil ampliar la aplicación hasta hacerla poco a poco una aplicación completa.

La ventana principal con la lista de plugins cargados:

Nada espectacular de momento, sin embargo lo que hace es muy interesante aunque no se vea. Más adelante explico el funcionamiento.

El “acerca de”:

El plugin Thermometer cargado y funcionando:

Los directorios de plugins disponibles e instalados:

¿Cómo funciona la aplicación? Muy sencillo. Con un script de ejecución “oolong.sh” se lanza el framework Apache Felix y este arranca dos bundles OSGi al inicio: oolong.jar (la aplicación) y meter_api.jar (la interfaz que han de implementar los plugins).

Aparece entonces la ventana principal con la lista de plugins vacía inicialmente. Si queremos cargar algún plugin (de momento sólo hay dos: Thermometer y Barometer) sólo hay que copiarlos desde el directorio “dist”, donde se incluyen los plugins disponibles, al directorio “dropins”. En ese momento la aplicación carga el plugin y crea un objeto de tipo Thermometer o Barometer (según cuál se haya copiado).

Ahora si se pulsa el botón “Update”, el plugin o los plugins instalados aparecerán en la lista de disponibles. Para crear un medidor de temperatura o de presión sólo hay que seleccionar el que queramos de la lista y pulsar en “Create”, y tendremos así un widget que nos mostrará gráficamente la medición que está tomando el servidor.

Una de las ventajas de esta tecnología es que cualquiera puede programar sus propios plugins de una forma sencillísima. Además estos pueden ser tan sencillos o complejos como se deseen (con unas 50 líneas de código en Java podemos tener un plugin perfectamente funcional aunque básico). Lo único que se necesita conocer para crear un plugin es la interfaz Meter, que consta de 4 ó 5 métodos sencillos. No hay que tocar la aplicación principal en absoluto, ya que esta está preparada para funcionar con cualquier objeto que implemente dicha interfaz.

Una vez programado el plugin y creado un activador OSGi para él ya lo podemos utilizar en Oolong. En alguna entrada próxima haré un tutorial acerca de esto.

Por otro lado también hice un servidor virtual de Tea, ya que aún no puedo utilizar la BeagleBoard como servidor.

El servidor virtual proporciona una interfaz en línea de órdenes sencilla a través de la cual podemos simular los cambios en los sensores. Estos datos se publican mediante Web Services para que cualquier cliente (como Oolong) los consulte.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: