Detalles de diseño
ScienSe es un sistema desarrollado bajo en modelo cliente-servidor. Del lado del cliente tiene una interfaz web basada en HTML, CSS y JavaScript que permite manipular la información contenida en el sistema. HTML es utilizado para organizar la información de menus, formas y tablas de presentación. CSS se encarga de la presentación gráfica al usuario y con JavaScript se validan los datos de entrada y se presentan elementos que facilitan al usuario interactuar con la aplicación. Esta validación de los datos se lleva a cabo únicamente para mejorar la interfaz de usuario, pues por motivos de seguridad en los componentes que manipulan la información se vuelve a hacer validaciones. Toda la interfaz se encuentra incorporada en los servlets, por lo que para poder modificarla es necesario conocer esta tecnología.
Del lado del servidor el sistema consta de 3 componentes principales:
El primero de ellos es una base de datos relacional que almacena información sobre publicaciones de carácter científico, la base de datos, y todos los enunciados que manipulan los elementos contenidos en la base de datos se encuentra desarrollados utilizando SQL92 para permitir independencia del sistema manejador de bases de datos. Dentro del código fuente de la aplicación se encuentran las tablas y los diagramas entidad-relación de la base de datos.
El segundo componente es una aplicación web del lado del servidor que permite manipular la información contenida en la base de datos. Esta aplicación se encuentra desarrollada utilizando como lenguaje Java y utiliza las tecnologías de J2EE, Java Servlets y Java Server Pages. La conexión con la base de datos se realiza por medio de JDBC.
El tercer componente es un programa que genera un indice de una serie de sitios web dados por el usuario y busca información de publicaciones científicas y almacena esta información para posteriormente ser añadida a la base de datos previa revisión por parte del usuario, si encuentra archivos en formatos HTML, PDF, PS, DOC, entre otros, usa un filtro para convertirlos a texto plano y luego aplica el algoritmo de identificación de datos. Toda la información generada es almacenada en una archivo temporal que luego es leída por la aplicación web en el proceso de revisión de publicaciones. Utiliza wget para bajar los documentos y analizarlos. Se encuentra desarrollado utilizando ANSI/ISO C/C++ y hace uso de las bibliotecas de interfaz con el sistema POSIX.
|