Basic system's architecture
When the planning of the system was carried out, different alternatives to design the application were thought, some of them were the following ones:
As the main idea of the system is to take the scientific information to a greater amount of people and to have a very accessible system, options 1 and 2 were discarded immediately.
- A single-user system to be acceded from an only machine.
- A multiuser system that would be acceded from an only machine.
- A client-server system where the client is an application program.
- A client-server system where the client is a web interface.
- A distributed system where the client can be a web interface.
Option 3 was had in consideration, but the effort to develop clients for different platforms was too much and useless, even using highly portable programming languages, because of the installation and usability test that should be made on each one of them, which would even increase the work and the amount of necessary support, so we decided that the best thing would be a web interface based on HTML that provides similar functionality without its disadvantages.
With this on mind, we only had already left options 4 and 5. Between these it convinced to us the number 5, because a distributed system would cause that the expenses in processing and storage diminished, in addition of that it would improve the cooperation efforts for sharing information of scientific kind. The problem is that the complexity of the system would cause that we took more on the development, which would not have to be very long taking in consideration that it was only a social service project.
So at the end we were decided by option 4, although having in mind that the system could be extended in a future to be a distributed system.
This way ScienSe was designing with the following architecture based on the client-server model:
The system is made up of 3 main parts:
This model was chosen because it makes the administration tasks more easier, since when all the software is only in one point, the updates are reflected immediately in the clients, besides allowing the system works easily in heterogeneous environments where different platforms of hardware and software coexist as happens in most of the universities and research institutes. Another advantages is that the system can be acceded by means of Internet or a intranet.
- Indexing motor, htsciense; based on htdig (http://www.htdig.org), it has two important functions: the first is to index the information of the indicated sites and to store this information on a database in order to make searches, by using a cgi script, later; the second is that it looks for research articles and analyzes them in order to extract their information, that will be kept on a relational database.
- Relational database; Here the information of the research articles (as title, authors, year, references, etc.) is stored, with a consistent format and with a structure that makes the search of information easier. This database is made up from the automatically collected, by the indexing motor, data, after be checked, although the information can also be stored without any checking, in a ``temporary'' database.
- Web application; By means of a web browser with frames support it
allows to consult all the information contained on the relational
database, using for it different criteria search, through any computer
with access to the system.
Furthermore, it reduces the requirements to the most, because a user can enter to the system only by using a computer, with a web browser with frames' support, that can enter by network to the system.
Search By Google