Tras meses de trabajo GNULab está cerca de su primera liberación. Estará liberado tan pronto el core de la aplicación esté totalmente acabado.
Actualmente estoy acabando la pestaña de edición de análisis y montando el motor de plugins. Haciendo una implementación similar a la utilizada por Gedit, pero algo más simplificada. Ya que en principio los plugins soportados sólo podrán ser clases de JAVA que hereden de la interfaz GNULabPlugin. Además el desarrollador de plugins dispondrá de una serie de APIs para interactuar con el resto del sistema. Podrá modificar libremente la interfaz del panel para Doctores y añadir nuevas pestañas al panel de Administrador en caso de ser necesario.
La arquitectura de GNULab es cliente/servidor a dos niveles. En el servidor está todo el sistema de acceso a base de datos utilizando el patrón DAO e implementado sobre JDBC (Los datos se guardan cifrados). Para la comunicación entre los dos lados de la aplicación se utiliza RMI (Remote Method Invokation) donde se registran cuatro implementaciones donde se agrupan los diferentes casos de uso. Además se cuenta con la posibilidad de trabajar con RMI sobre SSL.
En el lado del cliente, a nivel de implementación está el cliente RMI, vuelve a haber una réplica del modelo de la aplicación. La interfaz está implementada utilizando MVC, con el toolkit de Swing. Además al nivel de la interfaz está el motor de plugins, que se encargará de cargar los plugins buscando los descriptores en el directorio plugins (ficheros xml que indiquen el nombre del plugin, dependencias, etc.).
















