UNIVERSIDAD DE CASTILLA-LA MANCHA
ESCUELA SUPERIOR DE INFORMÁTICA
INGENIERÍA
EN INFORMÁTICA
PROYECTO FIN DE CARRERA
FreeStation. Plataforma para el desarrollo de sistemas de
distribución de software libre en puntos de información
Ángel Guzmán Maeso
Septiembre, 2012
UNIVERSIDAD DE CASTILLA-LA MANCHA
ESCUELA SUPERIOR DE INFORMÁTICA
Departamento de Tecnologías y Sistemas de Información
PROYECTO FIN DE CARRERA
FreeStation. Plataforma para el desarrollo de sistemas de
distribución de software libre en puntos de información
Autor: Ángel Guzmán Maeso
Director: Carlos González Morcillo
Septiembre, 2012
II
TRIBUNAL:
Presidente:
Vocal 1:
Vocal 2:
Secretario:
FECHA DE DEFENSA:
CALIFICACIÓN:
PRESIDENTE
VOCAL 1
VOCAL 2
SECRETARIO
Fdo.:
Fdo.:
Fdo.:
Fdo.:
III
IV
Ángel Guzmán Maeso
Ciudad Real – España
[email protected]
E-mail:
Web site: http://shakaran.net/blog/freestation/
© 2012 Ángel Guzmán Maeso
Permission is granted to copy, distribute and/or modify this document under the terms
of the GNU Free Documentation License, Version 1.3 or any later version published by
the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no
Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free
Documentation License".
Se permite la copia, distribución y/o modificación de este documento bajo los términos
de la Licencia de Documentación Libre GNU, versión 1.3 o cualquier versión posterior
publicada por la Free Software Foundation; sin secciones invariantes. Una copia de esta
licencia esta incluida en el apéndice titulado «GNU Free Documentation License».
Muchos de los nombres usados por las compañías para diferenciar sus productos y ser-
vicios son reclamados como marcas registradas. Allí donde estos nombres aparezcan en
este documento, y cuando el autor haya sido informado de esas marcas registradas, los
nombres estarán escritos en mayúsculas o como nombres propios.
V
VI
Agradecimientos
A L pueblo de Manzanares que me vio crecer día a día en su sol manchego. A aquellos
profesores que pusieron los conocimientos en mi mente y me enseñaron que: «la mí-
nima posibilidad de soñar una idea, podía con certeza, convertirse en una realidad». A cada
granito de arena aportado por aquellos que consiguieron y consiguen hacer cada día una
montaña mayor de aportes al mundo del software libre y que sin duda no hubiera podido
formarme sin sus grandes contribuciones.
A mis padres,
por recordarme a diario que
«no hay nada imposible para los corazones valientes»
VII
VIII
Resumen
L A librenería o FreeStation (FS) es un software para centros o Puntos de Acceso para
Distribución (PAD) de información de software libre orientado a centros de enseñanza
y universidades.
La posibilidad de una herramienta genérica para la distribución de software, permite un
gran abanico de posibilidades para extender de forma más sencilla el uso del software libre
en diferentes organizaciones e instituciones.
En la actualidad la mayoría de sistemas similares son propietarios y suelen caer en la
obsolescencia por la falta de personalizaciones propias a determinados problemas.
La erradicación de estos problemas proponiendo una herramienta robusta y configurable,
cubre la futura demanda desde pequeñas a grandes empresas o organismos.
Los repositorios de software modularizables configurados bajo la preferencia del usua-
rio, permiten a traves de un Point Of Interest (POI) un rápido acceso sin complicaciones.
IX
X
Abstract
T HE librenería or FreeStation (FS) is a software for centers or Access Points for Distri-
bution (APD) to free software information oriented to teaching centers and universi-
ties.
The possibility of a generic tool for software distribution, allows a wide range of possi-
bilities to expand more easily the use of free software in different organizations and institu-
tions.
Currently most systems are proprietary and often similar fall into obsolescence by the
lack of customization specific to certain problems.
The eradication of these problems by proposing a robust and configurable, meet future
demand from small to large companies or agencies.
Modularized software repositories configured under the preference the user, let through
a Point Of Interest (POI) quick access without complications.
XI
XII
Índice general
Índice general
Índice de cuadros
Índice de figuras
Listados de códigos fuente
1
Introducción
1.1 QUÉ ES LA DISTRIBUCIÓN DE SOFTWARE . . . . . . . . . . . . . . .
1.2
INTRODUCCIÓN HISTÓRICA . . . . . . . . . . . . . . . . . . . . . . .
1.3 PROBLEMÁTICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4 ESTRUCTURA DEL DOCUMENTO . . . . . . . . . . . . . . . . . . . .
2 Objetivos
2.1 OBJETIVO PRINCIPAL . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 SUBOBJETIVOS .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
Antecedentes y estado del arte
3.1
INTRODUCCIÓN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 POI Y PROCESO DE DISTRIBUCIÓN . . . . . . . . . . . . . . . . . . .
3.3 CARACTERIZACIÓN DE LOS POIS . . . . . . . . . . . . . . . . . . . .
XIII
XIII
XVII
XIX
XXIII
1
2
3
4
5
9
9
10
11
13
14
17
3.4 EL DISEÑO DE INTERFACES NATURALES . . . . . . . . . . . . . . .
3.5 GENERACIÓN DINÁMICA DE INTERFACES . . . . . . . . . . . . . .
3.6 CASO DE ESTUDIO DE AMERICAN AIRLINES . . . . . . . . . . . . .
4 Método de trabajo
4.1 METODOLOGíA DE TRABAJO Y DESARROLLO . . . . . . . . . . . .
4.2 REQUISITOS FUNCIONALES . . . . . . . . . . . . . . . . . . . . . . .
4.3 REQUISITOS ESTRUCTURALES . . . . . . . . . . . . . . . . . . . . .
4.4 CASOS DE PRUEBA .
.
.
4.5 MEDIOS UTILIZADOS .
.
.
. . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . .
5
Arquitectura
5.1
INTRODUCCIÓN .
.
.
.
.
. . . . . . . . . . . . . . . . . . . . . . . . .
5.2 DESCRIPCIÓN GENERAL . . . . . . . . . . . . . . . . . . . . . . . . .
5.3 ARQUITECTURA DEL SERVIDOR . . . . . . . . . . . . . . . . . . . .
5.4 ARQUITECTURA DEL CLIENTE . . . . . . . . . . . . . . . . . . . . .
5.5 ARQUITECTURA DE WIDGETS . . . . . . . . . . . . . . . . . . . . . .
5.6 PATRONES DE INGENIERíA DEL SOFTWARE UTILIZADOS . . . . .
5.7 CAPA DE PERSISTENCIA . . . . . . . . . . . . . . . . . . . . . . . . .
5.8 ARQUITECTURA APACHE COUCHDB . . . . . . . . . . . . . . . . . .
26
30
33
39
39
40
41
41
42
53
53
54
56
59
61
74
96
97
5.9 CASO DE EXPLOTACIÓN POI UCLM . . . . . . . . . . . . . . . . . . .
106
6
Evolución y costes
113
6.1 FASES E ITERACIONES .
. . . . . . . . . . . . . . . . . . . . . . . . .
113
6.2 RECURSOS Y COSTES .
.
. . . . . . . . . . . . . . . . . . . . . . . . .
131
XIV
6.3 RESULTADOS . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
138
7
Conclusiones y propuestas
141
7.1 OBJETIVOS ALCANZADOS . . . . . . . . . . . . . . . . . . . . . . . .
141
7.2 PROPUESTAS DE TRABAJO FUTURO . . . . . . . . . . . . . . . . . .
143
7.3 CONCLUSIÓN PERSONAL . . . . . . . . . . . . . . . . . . . . . . . . .
144
Bibliografía y Referencias
Apéndices
A Apéndice A: Instalación y ejecución
145
151
152
A.1 INSTALACIÓN DEL ENTORNO SERVIDOR . . . . . . . . . . . . . . .
152
A.2 INSTALACIÓN DEL ENTORNO CLIENTE . . . . . . . . . . . . . . . .
154
A.3 FUNCIONAMIENTO Y EJECUCIÓN . . . . . . . . . . . . . . . . . . . .
155
B Apéndice B: Manual de usuario
159
B.1 FRONTEND SERVIDOR . . . . . . . . . . . . . . . . . . . . . . . . . . .
159
C Apéndice C: Código fuente
165
C.1 INSTALACIÓN DEL ENTORNO SERVIDOR . . . . . . . . . . . . . . .
165
D GNU Free Documentation License
GNU Free Documentation License
167
167
1. APPLICABILITY AND DEFINITIONS . . . . . . . . . . . . . . . . . . . .
168
2. VERBATIM COPYING . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
169
3. COPYING IN QUANTITY . . . . . . . . . . . . . . . . . . . . . . . . . . .
169
4. MODIFICATIONS .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
170
5. COMBINING DOCUMENTS . . . . . . . . . . . . . . . . . . . . . . . . . .
171
XV
6. COLLECTIONS OF DOCUMENTS . . . . . . . . . . . . . . . . . . . . . .
171
7. AGGREGATION WITH INDEPENDENT WORKS . . . . . . . . . . . . . .
172
8. TRANSLATION . .
. .
. .
. .
. . . . . . . . . . . . . . . . . . . . . . . . .
172
9. TERMINATION . .
. .
. .
. .
. . . . . . . . . . . . . . . . . . . . . . . . .
172
10. FUTURE REVISIONS OF THIS LICENSE . . . . . . . . . . . . . . . . . .
173
11. RELICENSING .
.
.
. .
. .
. . . . . . . . . . . . . . . . . . . . . . . . . .
173
ADDENDUM: How to use this License for your documents . . . . . . . . . . . .
174
XVI
Índice de cuadros
5.1 Transferencias de chunks para diferentes tamaños de archivo . . . . . . . .
89
6.1 Estimación horas laborables por día y mes . . . . . . . . . . . . . . . . . .
132
6.2 Estimación horas laborables por día y mes . . . . . . . . . . . . . . . . . .
132
6.3 Costes por equipos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
133
6.4 Costes por servidores . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
133
6.5 Costes por licencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
133
6.6 Coste material fungible . . . . . . . . . . . . . . . . . . . . . . . . . . . .
134
6.7 Resumen costes del proyecto . . . . . . . . . . . . . . . . . . . . . . . . .
134
6.8 Tabla líneas de código FreeStation web . . . . . . . . . . . . . . . . . . . .
137
6.9 Tabla líneas de código FreeStation client . . . . . . . . . . . . . . . . . . .
137
XVII
Índice de figuras
3.1 Mapa conceptual
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 POI de la Policía para DNIe . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 POIs de la estación de trenes ADIF (a), Sescam (b) y (c)
. . . . . . .
Comentarios de: FreeStation. Plataforma para el desarrollo de sistemas de distribución de software libre en puntos de información (0)
No hay comentarios