Cambio en la arquitectura y estado del proyecto

01/30/2011

He decidido hacer un cambio en la arquitectura del proyecto, simplificándola bastante. Este cambio no afecta al Núcleo y apenas afecta al Servidor.

Arquitectura de Predesys

He decidido suprimir la Aplicación Web de Administración por insegura y por no aportar más utilidad, ya que las funciones de ésta las cumple la Interfaz de Usuario (y además de forma segura), que es una orden ejecutable por terminal y a la que se puede acceder remotamente por SSH. También he decidido prescindir del Proxy Bluetooth (que ya estaba hecho) y de las bibliotecas para clientes.

Lo que ahora pretende ser el proyecto es un sistema que detecta dispositivos bluetooth por el Radar Bluetooth y ejecuta tareas automáticas cuando se detectan dichos dispositivos y otras tareas que son ejecutables por los usuarios mediante el Servicio Web de Acceso a Servicios. Estas tareas se definen por medio de “servicios”, que son plugins que tiene instalado el Servidor.

Los servicios automáticos sólo los ejecuta el Radar Bluetooth, que lo hace cada cierto tiempo y el resto de servicios los ejecuta el usuario cuando quiera. Todos los servicios se ejecutan por medio del Servicio Web de Acceso a Servicios y pueden requerir autentificación por medio de un nombre de usuario y una contraseña (en el caso de los servicios automáticos se requiere autentificación ya que sólo una máquina estación debería poder ejecutarlos).

Los servicios automáticos pueden, además de realizar alguna tarea, enviar una orden al Radar Bluetooth para que envíe algún mensaje con cualquier información por bluetooth a los dispositivos bluetooth detectados.

Ahora mismo estoy trabajando en el Servidor y está prácticamente acabado. Sólo le falta hacerle una serie de pruebas y lo liberaré. Después de la liberación del Servidor, desarrollaré el Radar Bluetooth y tendremos así una primera versión funcional del proyecto. He modificado el Roadmap (hoja de ruta), ya que era necesario al hacer un cambio tan drástico en el proyecto.

Anuncios

Pequeño cambio en el esquema de la arquitectura

12/13/2010

He cambiado un poco el esquema de la arquitectura aunque, en esencia, sigue siendo la misma:
Arquitectura de Predesys


Introducción al proyecto

10/14/2010

En primer lugar, bienvenido al blog de mi proyecto, Predesys. El proyecto está ya más o menos definido, es decir, ya tengo establecidos los objetivos del proyecto y su arquitectura y voy a explicarlo brevemente.

Este proyecto es también mi proyecto Fin de Carrera y, por ello, supone algo bastante importante para mí.

Predesys será un sistema software para ofrecer servicios de información a determinados usuarios dentro de unas instalaciones físicas (una universidad, una oficina, etc).

El siguiente dibujo describe la arquitectura del proyecto:


Arquitectura de Predesys

Como puede verse en el dibujo, el soporte físico para Predesys consta de un servidor, una estación bluetooth (otro servidor) y 1 ó más clientes (ordenadores o dispositivos móviles con conectividad por Internet o bluetooth).

El Servidor contiene toda la lógica de los servicios y los datos de los mismos. Ofrece los servicios a través del Servicio Público, que no es más que un servidor web al que se hace una petición post desde el cliente para obtener la información deseada por el usuario. El Servidor contiene, entre otros componentes, una página web accesible desde el exterior para que un Administrador configure el sistema como quiera. Todo el control del Servidor lo ejerce el Núcleo, que es el componente principal, y es el que ejecuta los scripts (las Aplicaciones). Las Aplicaciones son realmente los servicios; acceden a los Datos y los modifican. El Núcleo es el intermediario entre las Aplicaciones y los Datos y cualesquiera otros dos componentes, ya que debe controlar y asegurar el correcto funcionamiento del sistema y limitar los datos a los que pueda acceder cada Aplicación.

El cliente hará las peticiones post a través de la Biblioteca de Clientes TCP/IP (requiere conexión a Internet) o bien a través de la Biblioteca de Clientes Bluetooth (requiere conectividad bluetooth). Si el cliente usa la Biblioteca de Clientes Bluetooth, ésta enviará dichas peticiones a una de las estaciones bluetooth a través de una conexión bluetooth que a su vez las enviará al Servicio Público a través de una conexión a Internet (que es lo que hace la Biblioteca de Clientes TCP/IP directamente). La Biblioteca de Clientes Bluetooth, en principio, hace lo mismo que Biblioteca de Clientes TCP/IP pero es la gracia del proyecto, ya que permite al usuario acceder a los servicios sin conexión a Internet (eso sí, el usuario debe estar cerca físicamente de una de las estaciones bluetooth, ya que el alcance de las señales bluetooth es muy limitado.

Las estaciones bluetooth pueden ser 1 ó más, todas con conectividad por Internet con el servidor. Tienen tan sólo 2 funciones muy básicas, aunque muy importantes. La primera, “rebotar” peticiones bluetooth de los clientes hacia el servidor, como se ha explicado en el párrafo anterior y, la segunda, detectar periódicamente la presencia de dispositivos bluetooth que estén físicamente cerca de la máquina estación y enviar sus direcciones MAC al Servidor, a través del Servicio de Comunicación de Estaciones. Ésta última función tiene la finalidad de ejecutar ciertas acciones en el servidor cuando se encuentre cerca de la estación alguno de los usuarios, generalmente para ofrecerle algún servicio concreto asociado a su presencia física (a la presencia física de su dispositivo bluetooth, como su teléfono móvil).