Post on 13-Jun-2015
description
transcript
Proyecto Fin de Carrera
Sistema de Gestión Distribuida del Patrimonio Cultural bajo Internet
AutorJosé Celano
TutoresProfesor Dr. D. Antonio Ocón Carreras
Profesor Dr. D. Enrique Rubio Royo
¿Qué es?
• Es una aplicación web de gestión del patrimonio cultural.• Las bases de datos están distribuidas.• Todos los usuarios acceden vía web.
Patrimonio Cultural• Contexto jurídico-administrativo
(Leyes y herramientas)
• Contexto tecnológico(Desarrollo de aplicaciones web)
• Aplicación web(Arquitectura y funcionamiento)
Patrimonio Cultural
Contexto jurídico-administrativo
Bienes que integran el patrimonio cultural
Ley de 1985 del Patrimonio Histórico:
• Inmuebles y objetos muebles,• Con interés artístico, histórico, paleontológico,
arqueológico, etnográfico, científico o técnico.
• Patrimonio documental y bibliográfico,• Yacimientos y zonas arqueológicas,• Sitios naturales, jardines y parques,• Con interés artístico, histórico o
antropológico.
Medidas para la conservación
• Medidas económicas (presupuestos e impuestos).
• Medidas legislativas (sanciones).
• Medidas educativas.
• Medidas de promoción y difusión.
Medidas legislativas. Evolución histórica
• 71 D.C. - Emperador Vespasiano prohíbe el despojo de elementos suntuarios de los edificios.
• 1263 - El código de las 7 Partidas de Alfonso X prohíbe construir cerca de edificios emblemáticos.
• 1926 - Real Decreto-Ley 9 de agosto de 1926 sobre protección, conservación y acrecentamiento de la riqueza artística.
• 1933 – Ley del 13 de mayo del Patrimonio Artístico Nacional.• 1978 – Constitución española.• 1985 – Ley 16 del 25 de junio del Patrimonio Histórico Español.• 1999 – Ley 4 del 15 de marzo del Patrimonio Histórico de Canarias.
Contexto jurídico-administrativo
De ámbito nacional
Registro de Bienes de Interés Cultural Bienes de Interés Cultural
El Inventario General Bienes muebles con singular relevancia no declarados de interés cultural
De ámbito autonómico (Canarias)
Registro Canario de Bienes Muebles Bienes de Interés Cultural
Inventario de Bienes Muebles Bienes muebles que ostenten especiales valores no declarados de interés cultural
De ámbito insular (no aparecen explícitamente en la Ley)
Inventarios insulares Bienes inmuebles Etnográficos
Arqueológicos
Arquitectónicos
Bienes muebles
Conocimientos y actividades tradicionales
De ámbito municipal
Catálogos arquitectónicos municipales
Cartas arqueológicas municipales
Cartas etnográficas municipales
Cartas paleontológicas municipales
Patrimonio Cultural
Contexto tecnológico
Ingeniería web
Proceso de integración de la Web en las aplicaciones corporativas
Entrada de informaciónEntrada de información
Procesado deinformación
Procesado deinformación
Salida de informaciónSalida de
información
Empresa/Sistema de información
1
2
3
Ingeniería del software
Modelo incremental
AnálisisAnálisis DiseñoDiseño CódigoCódigo PruebasPruebas MantenimientoMantenimiento
Incremento 1: Inventarios Insulares
AnálisisAnálisis DiseñoDiseño CódigoCódigo PruebasPruebas MantenimientoMantenimiento
Incremento 2
AnálisisAnálisis DiseñoDiseño CódigoCódigo PruebasPruebas MantenimientoMantenimiento
Incremento 3
Tiempo
P.F.C.
Arquitectura MVC
• Modelo Vista Controlador.• Descrito en 1979 en el diseño de Smalltalk.• Modelo: conceptos del dominio.• Vista: representación del modelo.• Controlador: relaciona entradas con las acciones sobre
el modelo.
MODELOMODELO
VISTAVISTA
VISTAVISTA
VISTAVISTA
CONTROLADORCONTROLADOR
CONTROLADORCONTROLADOR
CONTROLADORCONTROLADOR
Arquitectura MVC
Patrimonio Cultural
Aplicación web
Sistema de Gestión Distribuida del Patrimonio Cultural bajo Internet
Antecedentes/Objetivos
Sistema Objetivos
Sistema actual
•Inventario insular de inmuebles etnográficos (Access).
•Inventario insular de inmuebles arqueológicos (Access).
•Inventario insular de inmuebles arquitectónicos (Access).
Nuevo sistema global•Gestión autonómica, insular y municipal (registros, inventarios, etc.).
•Todos los tipos de bienes (inmuebles, muebles e intangibles).
P.F.C.
Patrimonio Cultural
•Inventario insular de inmuebles etnográficos (WWW-PostgreSQL).
•Inventario insular de inmuebles arqueológicos (WWW-PostgreSQL).
•Inventario insular de inmuebles arquitectónicos (WWW-PostgreSQL).
Arquitectura del sistema
Usuarios técnicos
Clientes web
Servidores debases de datos
Servidor deaplicaciones web
Diseño de la aplicación: paquetes
Ext_Libs
PC
iQ_Libs
PerenQen
phpMVC
sQeletor
Motor de persistenciaExtensión phpMVC
Framework web
Núcleo
Librerías de software
Módulo phpMVC
• phpMVC es una traducción a PHP de STRUTS (MVC para J2EE)
Clases de phpmvc-config.xmlphpmvc-config.xml
Acciones
RequestBase
HttpResponseBase
ApplicationConfig
HttpRequestBase ActionServer
AppServerConfig
AppServerContext
ResponseBase
ActionDispatcher
RequestProcessor
ActionForm
Action
Modelo de clases de phpMVC
Módulo sQeletor
• Extensión de phpMVC.
• Integración con motor de plantillas Smarty.
• Menús dinámicos.
• Internacionalización, ficheros de recursos.
• Gestión de ficheros de configuración.
Módulo PC
Subpaquetes:• Acciones: gestión peticiones al sistema.• Autenticación: validación usuarios.• Lógica de negocio: clases del dominio.• Formularios: control y validación datos de entrada.• Pagina base: clase padre de todas las páginas.• Paginas: clases que cargan las páginas con datos.• Vista base: clase padre de las vistas.• Vistas: clases que devuelve el dominio.• Extensiones a sQeletor.
Modelo clases PC
Distribución de datos
Ejemplo de acción: ver listado de bienes etnográficos
URL: http://localhost/PC/Main.php?do=IEtnoShowAction&method=showTable
1 . Obtención de datos
Ejemplo de acción: ver listado de bienes etnográficos
URL: http://localhost/PC/Main.php?do=IEtnoShowAction&method=showTable
1 . Construcción página html de respuesta
Pruebas
El script PHP de la aplicación se divide en varias partes críticas:
Consulta a la base de datos +
Asignar variables a la plantilla+
Resolver la plantilla+
Echo (enviar la página)+
Pequeño tiempo constante
=
Tiempo respuesta
Prueba: tiempo acceso a datosPartes del script que dependen del número de registros
0,316
0,5850,764
1,111
1,426 1,4561,655
1,939
2,924
2,311
2,672 2,7332,951
3,1543,388
0,092 0,098 0,096 0,170 0,192 0,237 0,2430,437
0,319 0,3600,550
0,8190,692
0,5490,705
1,174
1,4761,652
2,055
2,3602,467
2,638
3,127
3,979
3,445
3,970
4,288 4,380 4,475
4,845
1,414
1,963 1,884
2,295
2,5972,706
2,879
3,365
4,285
3,691
4,237
4,540 4,630 4,724
5,097
0
1
2
3
4
5
Tie
mpo
(sg
)
Resolver plantilla 0,316 0,585 0,764 1,111 1,426 1,456 1,655 1,939 2,924 2,311 2,672 2,733 2,951 3,154 3,388
Echo 0,092 0,098 0,096 0,170 0,192 0,237 0,243 0,437 0,319 0,360 0,550 0,819 0,692 0,549 0,705
Suma de parciales 1,174 1,476 1,652 2,055 2,360 2,467 2,638 3,127 3,979 3,445 3,970 4,288 4,380 4,475 4,845
Total 1,414 1,963 1,884 2,295 2,597 2,706 2,879 3,365 4,285 3,691 4,237 4,540 4,630 4,724 5,097
10 20 30 40 50 60 70 80 90 100 110 120 130 140 150
Prueba: tiempo acceso a datosPartes del script que no dependen del número de registros
0,634 0,645 0,658 0,625 0,595 0,633 0,600 0,600 0,597 0,638 0,598 0,598 0,599 0,6310,598
0,132 0,148 0,134 0,149 0,147 0,141 0,140 0,151 0,139 0,136 0,150 0,138 0,138 0,1410,154
1,174
1,4761,652
2,055
2,3602,467
2,638
3,127
3,979
3,445
3,970
4,288 4,380 4,475
4,845
1,414
1,963 1,884
2,295
2,5972,706
2,879
3,365
4,285
3,691
4,237
4,540 4,630 4,724
5,097
0
1
2
3
4
5T
iem
po (
sg)
Consulta a la base de datos 0,634 0,645 0,658 0,625 0,595 0,633 0,600 0,600 0,597 0,638 0,598 0,598 0,599 0,631 0,598
Asignar variables a plantilla 0,132 0,148 0,134 0,149 0,147 0,141 0,140 0,151 0,139 0,136 0,150 0,138 0,138 0,141 0,154
Suma de parciales 1,174 1,476 1,652 2,055 2,360 2,467 2,638 3,127 3,979 3,445 3,970 4,288 4,380 4,475 4,845
Total 1,414 1,963 1,884 2,295 2,597 2,706 2,879 3,365 4,285 3,691 4,237 4,540 4,630 4,724 5,097
10 20 30 40 50 60 70 80 90 100 110 120 130 140 150
Prueba: caché de páginas
Páginas estáticas: totales
0,100
0,150
0,200
0,250
0,300
0,350
0,400
0,450
Tie
mpo
(sg
)
Agradecimientos 0,429 0,112
Principal etnografía GC 0,282 0,115
Descargas 0,329 0,125
Inicio 0,231 0,120
Acerca de 0,367 0,128
Enlaces 0,345 0,124
Sin caché Con caché
Conclusiones y trabajo futuroConclusiones:
• Es viable y conveniente el uso de frameworks para aplicaciones web en PHP.
• Los conceptos de ingeniería del software son válidos también para aplicaciones web en PHP.
Trabajo futuro:
• Caché para objetos obtenidos de las bases de datos.
• Consultas en varias zonas simultáneamente.
• Gestión de cartas y catálogos municipales.
• Gestión de Registros Regionales e Inventarios Regionales.
FIN
Partes del script que dependen del número de registros
0
50
100
150
200
Tie
mpo
(sg
)
Resolver plantilla 12,500 22,670 37,230 48,410 72,580 118,700 89,110 103,300 119,500 134,500 152,500 168,600
Echo 2,133 4,112 6,191 8,218 10,510 13,570 17,010 20,340 24,390 28,370 31,060 35,540
Suma de parciales 15,364 27,559 44,168 57,427 83,868 133,091 106,954 124,493 144,810 163,798 184,472 205,043
Total 15,680 27,970 44,680 58,020 84,550 133,900 107,080 125,500 145,900 164,900 185,700 206,300
500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500 6000
Tiempos de respuesta para más de 500 registros
Partes del script que no dependen del número de registros
0,5950,625
0,5940,631
0,5950,629 0,624 0,625
0,664 0,6570,625 0,625
0,136 0,152 0,153 0,168 0,183 0,1920,210 0,228
0,256 0,271 0,287 0,278
0,000
0,500
1,000
Tie
mpo
(sg
)
Consulta a la base de datos 0,595 0,625 0,594 0,631 0,595 0,629 0,624 0,625 0,664 0,657 0,625 0,625
Asignar variables a plantilla 0,136 0,152 0,153 0,168 0,183 0,192 0,210 0,228 0,256 0,271 0,287 0,278
Suma de parciales 15,364 27,559 44,168 57,427 83,868 133,091 106,954 124,493 144,810 163,798 184,472 205,043
Total 15,680 27,970 44,680 58,020 84,550 133,900 107,080 125,500 145,900 164,900 185,700 206,300
500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500 6000
Tiempos de respuesta para más de 500 registros