Cet ouvrage fait partie de la bibliothèque YouScribe
Obtenez un accès à la bibliothèque pour le lire en ligne
En savoir plus

Estudio tecnológico y diseño arquitectónico de un sistema de gestión de esquemas semánticos basados en ontologías

De
204 pages

Las ontologías son una parte fundamental de la web semántica al permitir relacionar la información de la web con su significado. Este proceso de cualificación semántica es necesario para lograr la recuperación semántica de información en la web. El proyecto SEMSE propone cualificar semánticamente esquemas de metadatos mediante un sistema informático que permita hacer uso de la semántica incluida en ontologías distribuidas vía web. El presente trabajo se centra, tras el análisis de la problemática existente en la Web actual y la identificación de elementos que pudieran solventar esta situación, en el estudio de las mejores tecnologías para la infraestructura del sistema informático propuesto, así como en el diseño de una arquitectura óptima para el sistema informático de soporte para el proyecto SEMSE.
Ingeniería Técnica en Informática de Gestión
Voir plus Voir moins

UNIVERSIDAD CARLOS III DE MADRID

ESCUELA POLITÉCNICA SUPERIOR

INGENIERÍA TÉCNICA EN INFORMATICA DE GESTIÓN



PROYECTO FIN DE CARRERA




Estudio tecnológico y diseño arquitectónico de un Sistema de Gestión de
Esquemas Semánticos basados en Ontologías






AUTOR: TATIANA FERNÁNDEZ-TOSTADO CANOREA
TUTOR: VICENTE PALACIOS MADRID

26 de Febrero de 2009






















ii
Agradecimientos

Quiero agradecer este trabajo a toda la gente que ha estado apoyándome
incondicionalmente estos últimos años y que no ha dudado de mí en ningún momento.
En primer lugar, agradezco a mi tutor Vicente su ayuda y apoyo durante el desarrollo
del proyecto.
En segundo lugar, a mis padres por todo el esfuerzo que han hecho para que yo pueda
llegar a este momento y a mi hermano Sergio, que sin ser muy consciente de ello,
también ha aportado su granito de arena.
También quiero hacer una mención especial para una persona también muy especial,
David, por aguantarme todo este tiempo y espero que mucho más y haberme apoyado
tanto en los buenos como en los malos momentos.
Tampoco quiero olvidarme del resto de mi familia (especialmente mi abuela Josefa) y
de mis amigos que no han dejado de animarme a tirar para adelante y a sobreponerme
a las adversidades.
Por último quiero dedicar este proyecto a mi hermano Iván: “porque allá donde estés
siempre estarás conmigo”.





iii






















iv
Resumen

Las ontologías son una parte fundamental de la web semántica al permitir relacionar la
información de la web con su significado. Este proceso de cualificación semántica es
necesario para lograr la recuperación semántica de información en la web. El proyecto
SEMSE propone cualificar semánticamente esquemas de metadatos mediante un
sistema informático que permita hacer uso de la semántica incluida en ontologías
distribuidas vía web. El presente trabajo se centra, tras el análisis de la problemática
existente en la Web actual y la identificación de elementos que pudieran solventar
esta situación, en el estudio de las mejores tecnologías para la infraestructura del
sistema informático propuesto, así como en el diseño de una arquitectura óptima para
el sistema informático de soporte para el proyecto SEMSE.



















v
































vi
Índice general
CAPÍTULO 1. INTRODUCCIÓN .................................................................................... 1
1.1. MOTIVACIÓN ....................................................... 2
1.2. OBJETIVOS ........................................................................................... 3
1.3. ESTRUCTURA DEL PROYECTO ................................... 4
CAPÍTULO 2. ESTADO DEL ARTE ................................................................................ 5
2.1. WEB SEMÁNTICA .................................................. 6
2.1.1. ¿Qué es la Web Semántica? .................................................................................................... 7
2.1.2. El intercambio de conocimientos en la Web Semántica ........................... 9
2.1.3. Ontologías .............................................................................................................................. 12
2.2. DISEÑO DE APLICACIONES WEB ............................. 16
2.2.1. Elementos clave de sitios Web centrados en usuario ............................................................ 17
2.2.2. Usabilidad de un sitio Web ..................................................................... 19
2.3. DESARROLLO DE SOFTWARE .................................. 21
2.3.1. Proceso de desarrollo de software ......................................................................................... 22
2.3.2. Ciclo de vida del software ....................................................................................................... 24
2.3.3. UML ....................................... 29
2.3.4. Estilos y Patrones de diseño ................................................................................................. 43
2.4. ANÁLISIS DE TECNOLOGÍAS .................................... 57
2.4.1. Frameworks de desarrollo Web ............................................................................................. 58
2.4.2. Tecnologias para la capa de presentación ............................................................................. 72
2.4.3. Tecnologías para la capa de negocio ..................... 83
2.4.4. Tecnologías para la capa de infraestructura .......................................................................... 83
2.4.5. Tecnologías para la capa de persistencia ............... 89
2.4.6. Introducción a Java ................................................................................................................ 93
CAPÍTULO 3. HERRAMIENTAS PARA LA ELABORACIÓN DEL PROYECTO .................... 97
3.1. INFRAESTRUCTURA DEL SERVIDOR .......................................................................................... 97
vii
3.1.1. Sistema Operativo .................................................................................................................. 98
3.1.2. Servidor Web ........................ 100
3.1.3. Servidor de aplicaciones ....................................................................................................... 102
3.1.4. Sistema Gestor de Base de Datos ......................................................................................... 105
3.1.5. Repositorio semántico .......................................................................................................... 106
3.2. ENTORNO DE TRABAJO ....... 107
3.2.1. Java 6 ................................................................................................................................... 107
3.2.2. NetBeans .............................. 114
3.2.3. Frameworks utilizados ......................................................................................................... 118
3.2.4. Subversion ............................................................................................................................ 122
3.3. OTRAS HERRAMIENTAS....................................................................... 126
3.3.1. Tomcat Manager y Tomcat Admin ....................... 126
3.3.2. PgAdmin III ........................................................................................................................... 127
CAPÍTULO 4. DESARROLLO DEL PROYECTO ............................ 131
4.1. FASE INICIAL .................................................................................................................... 131
4.1.1. Proceso de desarrollo........................................ 133
4.1.2. Especificación de requisitos de usuario ................................................ 133
4.1.3. Diagrama de casos de uso inicial ......................................................... 134
4.2. FASE DE ANÁLISIS .............................................................................. 138
4.2.1. Diagrama de casos de uso en la Fase de Análisis ................................................................. 138
4.3. DISEÑO ARQUITECTÓNICO .................................. 165
4.3.1. Infraestructura Hardware .................................................................... 167
4.3.2. Infraestructura Software ...................................... 168
4.4. PRUEBA DE CONCEPTO ....................................................................... 170
CAPÍTULO 5. CONCLUSIONES ................................................................................ 183
5.1. FUTURAS LÍNEAS DE DESARROLLO ......................... 185
BIBLIOGRAFÍA ...................................................................................................... 187

viii
Lista de Figuras
Figura 2.1. De metadatos a ontologías ........................................................................... 11
Figura 2.2. Triángulo del Significado............... 13
Figura 2.3. Representación de un proceso de desarrollo software ............................... 23
Figura 2.4. Ciclo de vida en cascada ............................................................................... 28
Figura 2.5. Ciclo de vida iterativo-incremental .............................................................. 29
Figura 2.6. Figura de un paquete .................... 31
Figura 2.7. Figura de una clase ....................................................................................... 32
Figura 2.8. Figura de una interfaz ................... 32
Figura 2.9. Ejemplo de diagrama de clases .................................................................... 33
Figura 2.10. Ejemplo de diagrama de objetos 34
Figura 2.11. Ejemplo de diagrama de componentes ...................................................... 35
Figura 2.12. Ejemplo diagrama de despliegue ............................... 36
Figura 2.13. Ejemplo diagrama de casos de uso ............................ 37
Figura 2.14. Ejemplo diagrama de estados .................................................................... 38
Figura 2.15. Ejemplo diagrama de actividades ............................... 39
Figura 2.16. Ejemplo diagrama de secuencia . 40
Figura 2.17. Ejemplo diagrama de colaboración ............................................................ 41
Figura 2.18. Arquitectura MVC Modelo 1 ...................................... 46
Figura 2.19. Arquitectura MVC Modelo 2 ...................................... 46
Figura 2.20. Estructura del patrón capas........ 47
Figura 2.21. Composición y comunicación de capas ...................................................... 48
Figura 2.22. Estructura del Patrón Value Object ............................ 50
Figura 2.23. Estructura del Patrón Factory ..................................................................... 52
Figura 2.24. Propósito del Patrón Facade ...... 53
Figura 2.25. Estructura del Patrón Facade ..... 54
Figura 2.26. Diagrama de clases del Patrón Business Delegate ..................................... 55
Figura 2.27. Estructura del patrón Action ...................................... 57
Figura 2.28. Struts Logo .................................. 58
Figura 2.29. J2EE Logo .................................... 61
Figura 2.30. Spring Logo ................................. 66
ix
Figura 2.31. JSP Logo ...................................................................................................... 73
Figura 2.32. JavaScript Logo ........................... 75
Figura 2.33. JSF Logo ....... 79
Figura 2.34. Hibernate Logo. .......................................................................................... 84
Figura 2.35. Sesame Logo ............................... 85
Figura 2.36. Jena logo ..................................................................................................... 86
Figura 2.37. MySql Logo . 90
Figura 2.38. PostgreSql Logo. ......................................................................................... 91
Figura 2.39. Java Logo ..................................... 93
Figura 3.1. Ubuntu Logo. ................................................................ 99
Figura 3.2. Tomcat Logo ............................... 102
Figura 3.3. Netbeans Logo ............................ 114
Figura 3.4. NetBeans 6.5 ................................................................ 118
Figura 3.5. Estructura de Subversion ............................................ 123
Figura 3.6. Gestor de Aplicaciones Tomcat .. 126
Figura 3.7. Administración del servidor Tomcat .......................................................... 127
Figura 3.8. pgAdmin III .................................................................. 129
Figura 4.1. Diagrama inicial de casos de uso 136
Figura 4.2. Diagrama general de casos de uso ............................................................. 139
Figura 4.3. Diagrama de Consultas ............................................... 141
Figura 4.4. Diagrama de Gestión de ontologías específicas ......................................... 148
Figura 4.5. Diagrama de Gestión de Perfiles de Aplicación .......... 151
Figura 4.6. Diagrama de Gestión de Ontologías de Referencia ... 154
Figura 4.7. Diagrama de Gestión de Documentos ........................................................ 159
Figura 4.8. Diagrama de Gestión de Perfiles ................................ 162
Figura 4.9. Diagrama de gestión de Usuarios ............................................................... 164
Figura 4.10. Arquitectura en capas............................................................................... 167
Figura 4.11. Arquitectura del sistema .......... 170
Figura 4.12. Alta de Ontología ...................................................................................... 171
Figura 4.13. Diagrama de clases "Alta de Ontología" ................... 181


x

Un pour Un
Permettre à tous d'accéder à la lecture
Pour chaque accès à la bibliothèque, YouScribe donne un accès à une personne dans le besoin