ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA DE SISTEMAS DESARROLLO DE UN NODO DE INFORMACIÓN DE ESTUDIOS DE RECURSOS NATURALES AMAZÓNICOS DEL ECUADOR PROYECTO PREVIO A LA OBTENCIÓN DEL TITULO DE INGENIERO EN SISTEMAS INFORMATICOS Y DE COMPUTACION LEONARDO MARCELO MUÑOZ MAYANQUER [email protected] MARCO EDUARDO SIMBAÑA MUÑOZ [email protected] DIRECTOR: Msc. Ing. María Hallo [email protected] Quito, septiembre 2010 1 DECLARACIÓN Nosotros, Leonardo Marcelo Muñoz Mayanquer y Marco Eduardo Simbaña Muñoz, declaramos bajo juramento que el trabajo aquí descrito es de nuestra autoría; que no ha sido previamente presentada para ningún grado o calificación profesional; y, que hemos consultado las referencias bibliográficas que se incluyen en este documento. A través de la presente declaración cedemos nuestros derechos de propiedad intelectual correspondientes a este trabajo, a la Escuela Politécnica Nacional, según lo establecido por la Ley de Propiedad Intelectual, por su Reglamento y por la normatividad institucional vigente. _______________________________ __________________________ Leonardo Marcelo Muñoz Mayanquer Marco Eduardo Simbaña Muñoz 2 CERTIFICACIÓN Certifico que el presente trabajo fue desarrollado por Leonardo Marcelo Muñoz Mayanquer y Marco Eduardo Simbaña Muñoz, bajo mi supervisión. _______________________ Msc. Ing. María Hallo DIRECTOR DE PROYECTO 1. INTRODUCCION .............................................................................1 2. SELECCIÓN DE METODOLOGÍA Y HERRAMIENTAS ..................5 2.1. ANÁLISIS DE LA METODOLOGÍA A UTILIZARSE .................................................................. 5 2.1.1. METODOLOGÍA .................................................................................................................. 5 2.1.1.1. Proceso Unificado de Desarrollo (PU) ................................................................................ 5 2.2. ANÁLISIS DE LA PLATAFORMA DE DESARROLLO............................................................... 7 2.3. SELECCIÓN Y DESCRIPCIÓN DE HERRAMIENTAS................................................................ 8 2.3.1. PHP ...................................................................................................................................... 8 2.3.2. JAVA ..................................................................................................................................... 8 2.3.3. CUADRO COMPARATIVO.................................................................................................. 9 2.3.4. MORPHO ............................................................................................................................. 9 2.3.5. CARACTERÍSTICAS MORPHO ......................................................................................... 10 2.3.6. CUADRO COMPARATIVO BASE DE DATOS.................................................................. 10 2.3.6.1. Extensible Markup Language (XML).................................................................................. 11 2.3.6.2. EXIST.................................................................................................................................. 11 2.3.7. XQuery................................................................................................................................ 12 2.3.8. XPath .................................................................................................................................. 12 2.3.9. Extensible Stylesheet Language (XSL)................................................................................ 12 3. ANÁLISIS Y DISEÑO.....................................................................13 3.1. ESPECIFICACIÓN DE REQUERIMIENTOS .............................................................................. 13 3.1.1. DESCRIPCIÓN DEL PROBLEMA..................................................................................... 13 3.1.1.1. Objetivo General................................................................................................................. 13 3.1.1.2. Objetivos Específicos .......................................................................................................... 13 3.1.1.3. Descripción de Requerimientos .......................................................................................... 14 3.1.1.3.1. Administración de Metadatos ............................................................................................. 14 3.1.1.3.2. Administración de Usuarios ............................................................................................... 16 3.2. ANÁLISIS...................................................................................................................................... 18 3.2.1. MODELO DEL NEGOCIO................................................................................................. 18 3.2.2. MODELO DE CASOS DE USO DEL SISTEMA ................................................................ 20 3.2.2.1. Descripción de Actores del Sistema.................................................................................... 21 3.2.2.2. Descripción de los Casos de Uso del Sistema .................................................................... 21 3.2.2.2.1. Caso de Uso Iniciar Sesión................................................................................................. 21 3.2.2.2.2. Caso de Uso Cambiar Password ........................................................................................ 22 3.2.2.2.3. Caso de Uso Recuperar Password...................................................................................... 23 3.2.2.2.4. Caso de Uso Consultar Metadato....................................................................................... 24 3.2.2.2.5. Caso de Uso Descargar Archivo XML ............................................................................... 25 3.2.2.2.6. Caso de Uso Acceder Referencia Metadato........................................................................ 26 3.2.2.2.7. Caso de Uso Mostrar Metadato Íntegramente.................................................................... 27 3.2.2.2.8. Caso de Uso Ingresar Palabra Clave ................................................................................. 28 3.2.2.2.9. Caso de Uso Crear Metadato ............................................................................................. 29 3.2.2.2.10. Caso de Uso Modificar Metadato....................................................................................... 29 3.2.2.2.11. Caso de Uso Subir Metadato .............................................................................................. 30 3.2.2.2.12. Caso de Uso Eliminar Metadato......................................................................................... 31 3.2.2.2.13. Caso de Uso Descargar Herramienta ................................................................................ 32 3.2.2.2.14. Caso de Uso Crear Nuevo Usuario .................................................................................... 32 3.2.2.2.15. Caso de Uso Modificar Usuario ......................................................................................... 33 3.2.2.2.16. Caso de Uso Eliminar Usuario........................................................................................... 34 3.2.3. DIAGRAMAS DE COLABORACIÓN ................................................................................. 35 3.2.3.1. Iniciar Sesión ...................................................................................................................... 35 3.2.3.2. Cambiar Password ............................................................................................................. 35 3.2.3.3. Recuperar Password........................................................................................................... 36 3.2.3.4. Consultar Metadato ............................................................................................................ 36 3.2.3.5. Descargar Archivo XML..................................................................................................... 37 3.2.3.6. Acceder Referencia Metadato............................................................................................. 37 3.2.3.7. Mostrar Metadato Íntegramente......................................................................................... 37 3.2.3.8. Ingresar Palabra Clave ...................................................................................................... 38 3.2.3.9. Crear Metadato................................................................................................................... 38 3.2.3.10. Modificar Metadato ............................................................................................................ 39 3.2.3.11. Subir Metadato ................................................................................................................... 39 3.2.3.12. Eliminar Metadato.............................................................................................................. 40 3.2.3.13. Descargar Herramienta...................................................................................................... 40 3.2.3.14. Crear Nuevo Usuario.......................................................................................................... 41 3.2.3.15. Modificar Usuario .............................................................................................................. 41 3.2.3.16. Eliminar Usuario ................................................................................................................ 42 3.2.4. DIAGRAMAS DE SECUENCIA ......................................................................................... 43 3.2.4.1. Iniciar Sesión ...................................................................................................................... 43 3.2.4.2. Cambiar Password ............................................................................................................. 44 3.2.4.3. Recuperar Password........................................................................................................... 45 3.2.4.4. Consultar Metadato ............................................................................................................ 46 3.2.4.5. Descargar Archivo XML..................................................................................................... 47 3.2.4.6. Acceder Referencia Metadato............................................................................................. 48 3.2.4.7. Mostrar Metadato Íntegramente......................................................................................... 49 3.2.4.8. Ingresar Palabra Clave ...................................................................................................... 50 3.2.4.9. Crear Metadato................................................................................................................... 51 3.2.4.10. Modificar Metadato ............................................................................................................ 52 3.2.4.11. Subir Metadato ................................................................................................................... 53 3.2.4.12. Eliminar Metadato.............................................................................................................. 54 3.2.4.13. Descargar Herramienta...................................................................................................... 55 3.2.4.14. Crear Nuevo Usuario.......................................................................................................... 56 3.2.4.15. Modificar Usuario .............................................................................................................. 57 3.2.4.16. Eliminar Usuario ................................................................................................................ 58 3.2.5. DIAGRAMAS DE ACTIVIDAD .......................................................................................... 59 3.2.5.1. Ingresar Palabra Clave ...................................................................................................... 59 3.2.5.2. Consultar Metadato ............................................................................................................ 60 3.2.5.3. Modificar Metadato ............................................................................................................ 61 3.2.5.4. Eliminar Metadato.............................................................................................................. 62 3.3. DISEÑO ......................................................................................................................................... 63 3.3.1. DIAGRAMAS DE COLABORACIÓN ................................................................................. 63 3.3.1.1. Iniciar Sesión ...................................................................................................................... 63 3.3.1.2. Cambiar Password ............................................................................................................. 63 3.3.1.3. Recuperar Password........................................................................................................... 64 3.3.1.4. Consultar Metadato ............................................................................................................ 64 3.3.1.5. Descargar Archivo XML..................................................................................................... 65 3.3.1.6. Acceder Referencia Metadato............................................................................................. 65 3.3.1.7. Mostrar Metadato Íntegramente......................................................................................... 66 3.3.1.8. Ingresar Palabra Clave ...................................................................................................... 67 3.3.1.9. Crear Metadato................................................................................................................... 68 3.3.1.10. Modificar Metadato ............................................................................................................ 69 3.3.1.11. Subir Metadato ................................................................................................................... 70 3.3.1.12. Eliminar Metadato.............................................................................................................. 71 3.3.1.13. Descargar Herramienta...................................................................................................... 72 3.3.1.14. Crear Nuevo Usuario.......................................................................................................... 72 3.3.1.15. Modificar Usuario .............................................................................................................. 73 3.3.1.16. Eliminar Usuario ................................................................................................................ 74 3.3.2. DIAGRAMA DE SECUENCIA ........................................................................................... 75 3.3.2.1. Iniciar Sesión ...................................................................................................................... 75 3.3.2.2. Cambiar Password ............................................................................................................. 76 3.3.2.3. Recuperar Password........................................................................................................... 77 3.3.2.4. Consultar Metadato ............................................................................................................ 78 3.3.2.5. Descargar Archivo XML..................................................................................................... 79 3.3.2.6. Acceder Referencia Metadato............................................................................................. 79 3.3.2.7. Mostrar Metadato Íntegramente......................................................................................... 80 3.3.2.8. Ingresar Palabra Clave ...................................................................................................... 81 3.3.2.9. Crear Metadato................................................................................................................... 82 3.3.2.10. Modificar Metadato ............................................................................................................ 83 3.3.2.11. Subir Metadato ................................................................................................................... 84 3.3.2.12. Eliminar Metadato.............................................................................................................. 85 3.3.2.13. Descargar Herramienta...................................................................................................... 86 3.3.2.14. Crear Nuevo Usuario.......................................................................................................... 86 3.3.2.15. Modificar Usuario .............................................................................................................. 87 3.3.2.16. Eliminar Usuario ................................................................................................................ 88 3.3.3. DIAGRAMA DE CLASES ................................................................................................... 89 3.3.4. DISEÑO DE INTERFASES................................................................................................. 90 3.3.4.1. Interfaz de Ingreso al nodo AAGWP – Ecuador General................................................... 90 3.3.4.2. Interfaz Crear nuevo usuario al nodo AAGWP – Ecuador................................................. 91 3.3.4.3. Interfaz Ingresar Palabra Clave al nodo AAGWP – Ecuador............................................ 92 3.3.4.4. Interfaz Crear metadato en el nodo AAGWP – Ecuador .................................................... 92 3.3.4.5. Interfaz Mostrar metadato consultado en el nodo AAGWP – Ecuador .............................. 93 4. CONSTRUCCIÓN Y PRUEBAS ....................................................94 4.1.1. MODELO CONCEPTUAL ................................................................................................. 94 4.1.2. MODELO FISICO .............................................................................................................. 94 4.1.3. DIAGRAMA DE COMPONENTES .................................................................................... 95 4.1.4. DIAGRAMA DE DESPLIEGUE ......................................................................................... 95 5. CONCLUSIONES Y RECOMENDACIONES .................................95 5.1. 5.2. CONCLUSIONES ............................................................................................................................... 95 RECOMENDACIONES ........................................................................................................................ 96 REFERENCIAS BIBLIOGRAFICAS ....................................................97 BIBLIOGRAFIA ...................................................................................98 INDICE DE TABLAS Tabla 2-1 Tabla 3-1 Tabla 3-2 Tabla 3-3 Tabla 3-4 Tabla 3-5 Tabla 3-6 Tabla 3-7 Tabla 3-8 Tabla 3-9 Tabla 3-10 Tabla 3-11 Tabla 3-12 Tabla 3-13 Tabla 3-14 Tabla 3-15 Tabla 3-16 Tabla 3-17 Tabla 3-18 Tabla 3-19 Tabla 3-20 Tabla 3-21 Tabla 3-22 Tabla 3-23 Tabla 3-24 Tabla 3-25 Tabla 3-26 Tabla 3-27 Tabla 3-28 Cuadro Comparativo Java vs PHP .................................................................... 9 Requerimiento Crear Metadato ....................................................................... 14 Requerimiento Consultar Metadato ................................................................ 14 Requerimiento Modificar Metadato................................................................ 15 Requerimiento Eliminar Metadato.................................................................. 15 Requerimiento Subir Metadato ....................................................................... 16 Requerimiento Registrar Usuario.................................................................... 16 Requerimiento Modificar Usuario .................................................................. 17 Requerimiento Eliminar Usuario .................................................................... 17 Requerimiento Mantenimiento del Sistema .................................................... 17 Diccionario de Actores del Negocio ............................................................. 18 Descripción del Modelo de Negocio............................................................. 19 Descripción de Actores ................................................................................. 21 Caso de uso Iniciar Sesión ............................................................................ 22 Caso de uso Cambiar Password .................................................................... 23 Caso de Uso Recuperar Password................................................................ 24 Caso de uso Consultar Metadato................................................................... 25 Caso de uso Descargar Archivo XML .......................................................... 26 Caso de Uso Acceder Referencia Metadato.................................................. 27 Caso de Uso Mostrar Metadato Íntegramente............................................... 27 Caso de Uso Ingresar Palabra Clave ............................................................. 28 Caso de Uso Crear Metadato ........................................................................ 29 Caso de Uso Modificar Metadato ................................................................. 30 Caso de Uso Subir Metadato......................................................................... 31 Caso de Uso Eliminar Metadato ................................................................... 31 Caso de Uso Descargar Herramienta ............................................................ 32 Caso de Uso Crear Nuevo Usuario ............................................................... 33 Caso de Uso Modificar Usuario.................................................................... 34 Caso de Uso Eliminar Usuario...................................................................... 34 INDICE DE GRÁFICOS Gráfico 2-1 Gráfico 2-2 Gráfico 2-3 Gráfico 3-1 Gráfico 3-2 Gráfico 3-3 Gráfico 3-4 Gráfico 3-5 Gráfico 3-6 Gráfico 3-7 Gráfico 3-8 Gráfico 3-9 Gráfico 3-10 Gráfico 3-11 Proceso Unificado de Desarrollo ................................................................... 6 Modelos del Proceso Unificado de Desarrollo .............................................. 6 Fases e Iteraciones del Ciclo de Vida ............................................................ 7 Modelo del Negocio..................................................................................... 18 Modelo de Casos de Uso.............................................................................. 20 Caso de Uso Iniciar Sesión .......................................................................... 21 Caso de Uso Cambiar Password .................................................................. 22 Caso de Uso Recuperar Password................................................................ 23 Caso de Uso Consultar Metadato................................................................. 24 Caso de Uso Descargar Archivo XML ........................................................ 25 Caso de Uso Acceder Referencia Metadato................................................. 26 Caso de Uso Mostrar Metadato Íntegramente.............................................. 27 Caso de Uso Ingresar Palabra Clave .......................................................... 28 Caso de Uso Crear Metadato ..................................................................... 29 Gráfico 3-12 Gráfico 3-13 Gráfico 3-14 Gráfico 3-15 Gráfico 3-16 Gráfico 3-17 Gráfico 3-18 Gráfico 3-19 Gráfico 3-20 Gráfico 3-21 Gráfico 3-22 Gráfico 3-23 Gráfico 3-24 Gráfico 3-25 Gráfico 3-26 Gráfico 3-27 Gráfico 3-28 Gráfico 3-29 Gráfico 3-30 Gráfico 3-31 Gráfico 3-32 Gráfico 3-33 Gráfico 3-34 Gráfico 3-35 Gráfico 3-36 Gráfico 3-37 Gráfico 3-38 Gráfico 3-39 Gráfico 3-40 Gráfico 3-41 Gráfico 3-42 Gráfico 3-43 Gráfico 3-44 Gráfico 3-45 Gráfico 3-46 Gráfico 3-47 Gráfico 3-48 Gráfico 3-49 Gráfico 3-50 Gráfico 3-51 Gráfico 3-52 Gráfico 3-53 Gráfico 3-54 Gráfico 3-55 Gráfico 3-56 Gráfico 3-57 Gráfico 3-58 Gráfico 3-59 Gráfico 3-60 Casos de Uso Modificar Metadato............................................................. 29 Caso de Uso Subir Metadato...................................................................... 30 Caso de Uso Eliminar Metadato ................................................................ 31 Caso de Uso Descargar Herramienta ......................................................... 32 Caso de Uso Crear Nuevo Usuario ............................................................ 32 Caso de Uso Modificar Usuario................................................................. 33 Caso de Uso Eliminar Usuario................................................................... 34 Diagrama de Colaboración Iniciar Sesión ................................................. 35 Diagrama de Colaboración Cambiar Password ......................................... 35 Diagrama de Colaboración Recuperar Password....................................... 36 Clase de Análisis Consultar Metadato ....................................................... 36 Diagrama de Colaboración Descargar Archivo XML ............................... 37 Diagrama de Colaboración Acceder Referencia Metadato........................ 37 Diagrama de Colaboración Mostrar Metadato Íntegramente..................... 37 Diagrama de Colaboración Ingresar Palabra Clave ................................... 38 Diagrama de Colaboración Crear Metadato .............................................. 38 Diagrama de Colaboración Modificar Metadato ....................................... 39 Diagrama de Colaboración Subir Metadato............................................... 39 Diagrama de Colaboración Eliminar Metadato ......................................... 40 Diagrama de Colaboración Descargar Herramienta .................................. 40 Diagrama de Colaboración Crear Nuevo Usuario ..................................... 41 Diagrama de Colaboración Modificar Usuario.......................................... 41 Diagrama de Colaboración Eliminar Usuario............................................ 42 Diagrama de Secuencia Iniciar Sesión....................................................... 43 Diagrama de Secuencia Cambiar Password............................................... 44 Diagrama de Secuencia Recuperar Password ............................................ 45 Diagrama de Secuencia Consultar Metadato ............................................. 46 Diagrama de Secuencia Descargar Archivo XML..................................... 47 Diagrama de Secuencia Acceder Referencia Metadato ............................. 48 Diagrama de Secuencia Mostrar Metadato Íntegramente .......................... 49 Diagrama de Secuencia Ingresar Palabra Clave ........................................ 50 Diagrama de Secuencia Crear Metadato.................................................... 51 Diagrama de Secuencia Modificar Metadato............................................. 52 Diagrama de Secuencia Subir Metadato .................................................... 53 Diagrama de Secuencia Eliminar Metadato............................................... 54 Diagrama de Secuencia Descargar Herramienta........................................ 55 Diagrama de Secuencia Crear Nuevo Usuario........................................... 56 Diagrama de Secuencia Modificar Usuario ............................................... 57 Diagrama de Secuencia Modificar Usuario ............................................... 58 Diagrama de Actividad Ingresar Palabra Clave......................................... 59 Diagrama de Actividad Consultar Metadato.............................................. 60 Diagrama de Actividad Modificar Metadato ............................................. 61 Diagrama de Actividad Modificar Metadato ............................................. 62 Diagrama de Colaboración Iniciar Sesión ................................................. 63 Diagrama de Colaboración Cambiar Password ......................................... 63 Diagrama de Colaboración Recuperar Password....................................... 64 Diagrama de Colaboración Consultar Metadato........................................ 64 Diagrama de Colaboración Descargar Archivo XML ............................... 65 Diagrama de Colaboración Acceder Referencia Metadato........................ 65 Gráfico 3-61 Gráfico 3-62 Gráfico 3-63 Gráfico 3-64 Gráfico 3-65 Gráfico 3-66 Gráfico 3-67 Gráfico 3-68 Gráfico 3-69 Gráfico 3-70 Gráfico 3-71 Gráfico 3-72 Gráfico 3-73 Gráfico 3-74 Gráfico 3-75 Gráfico 3-76 Gráfico 3-77 Gráfico 3-78 Gráfico 3-79 Gráfico 3-80 Gráfico 3-81 Gráfico 3-82 Gráfico 3-83 Gráfico 3-84 Gráfico 3-85 Gráfico 3-86 Gráfico 3-87 Gráfico 3-88 Gráfico 3-89 Gráfico 3-90 Gráfico 3-91 Gráfico 3-92 Gráfico 3-93 Gráfico 4-1 Gráfico 4-2 Gráfico 4-3 Gráfico 4-4 Diagrama de Colaboración Mostrar Metadato Íntegramente..................... 66 Diagrama de Colaboración Ingresar Palabra Clave ................................... 67 Diagrama de Colaboración Crear Metadato .............................................. 68 Diagrama de Colaboración Modificar Metadato ....................................... 69 Diagrama de Colaboración Subir Metadato............................................... 70 Diagrama de Colaboración Eliminar Metadato ......................................... 71 Diagrama de Colaboración Descargar Metadato ....................................... 72 Diagrama de Colaboración Crear Nuevo Usuario ..................................... 72 Diagrama de Colaboración Modificar Usuario.......................................... 73 Diagrama de Colaboración Eliminar Usuario............................................ 74 Diagrama de Secuencia Iniciar Sesión....................................................... 75 Diagrama de Secuencia Cambiar Password............................................... 76 Diagrama de Secuencia Recuperar Password ............................................ 77 Diagrama de Secuencia Consultar Metadato ............................................. 78 Diagrama de Secuencia Descargar Archivo XML..................................... 79 Diagrama de Secuencia Acceder Referencia Metadato ............................. 79 Diagrama de Secuencia Mostrar Metadato Íntegramente .......................... 80 Diagrama de Secuencia Ingresar Palabra Clave ........................................ 81 Diagrama de Secuencia Crear Metadato.................................................... 82 Diagrama de Secuencia Modificar Metadato............................................. 83 Diagrama de Secuencia Subir Metadato .................................................... 84 Diagrama de Secuencia Eliminar Metadato............................................... 85 Diagrama de Secuencia Descargar Herramienta........................................ 86 Diagrama de Secuencia Crear Nuevo Usuario........................................... 86 Diagrama de Secuencia Modificar Usuario ............................................... 87 Diagrama de Secuencia Eliminar Usuario ................................................. 88 Diagrama Clases de Diseño ....................................................................... 89 Interfaz del Nodo AAGWP – Ecuador ...................................................... 90 Interfaz de Acceso al Nodo AAGWP - Ecuador........................................ 91 Interfaz Crear nuevo usuario en Nodo AAGWP – Ecuador ....................... 91 Interfaz Consultar metadato en Nodo AAGWP - Ecuador ........................ 92 Interfaz Crear Metadato en Nodo AAGWP – Ecuador.............................. 92 Interfaz Mostrar Metadato del Nodo AAGWP - Ecuador ......................... 93 Modelo Conceptual Base de Datos Relacional ............................................ 94 Modelo Físico Base de Datos Relacional .................................................... 94 Diagrama de Componentes .......................................................................... 95 Diagrama de Despliegue .............................................................................. 95 1 1. INTRODUCCION En la actualidad existe un gran número de aplicaciones que tienen como finalidad el preservar, compartir y distribuir información referente a diversas áreas, como por ejemplo la ecológica que es el caso de nuestro estudio, en las que se hace imprescindible el manejo de datos y metadatos que las instituciones y la comunidad científica poseen y utilizan. El nodo AAGWP – ECUADOR se crea con la finalidad de obtener información estandarizada y poderla distribuir e intercambiar con el resto de la comunidad científica, para ello se hizo un estudio de los estándares que actualmente están teniendo gran acogida por los diferentes portales internacionales enfocados a este tipo de manejo de información, lo que nos llevo a que el nodo AAGWP – ECUADOR utilice el estándar EML para manejar los metadatos y otras herramientas que permitan el manejo adecuado de los metadatos que en el se almacenen ya sea para su consulta, registro o el mantenimiento de los mismos. Con la creación de el nodo AAGWP – ECUADOR se pretender poner un punto de partida para que instituciones educativas, privadas y otras puedan generar otros proyectos que ayuden a la masificación del intercambio de información que colabore con la comunidad científica y diversas instituciones que de alguna manera utilizaran dicha información para el mejoramiento y el beneficio de la sociedad en general. La necesidad de poseer una fuente de consulta verídica y sobre todo la necesidad imperiosa de poder compartir, agrupar la información sobre los estudios de recursos naturales amazónicos que posee el Ecuador, han hecho que la EPN a través de un convenio con la Universidad Internacional de la Florida diseñe un portal que permita documentar los datos que están siendo capturados o generados por los científicos u organizaciones pertenecientes a una red internacional de intercambio de datos y metadatos, para ello se debe hacer uso de los estándares, tecnologías de información y comunicación adecuadas para facilitar las tareas de recopilación de datos y documentación de los mismos a nivel 2 centralizado. Así mismo se deben proporcionar facilidades de consulta e intercambio a través de Internet como los son las interfaces Web del portal que manejan las colecciones de datos o metadatos. Los documentos fruto de la creación de metadatos e importación de documentos al nodo de información se deberán guardar con la especificación EML misma que está basada en un trabajo previo de la Ecological Society of America, este estándar está desarrollado por la disciplina de ecología y para la disciplina de ecología. EML está implementado como una serie de documentos XML que pueden ser usados de manera modular y extensible para documentos de datos ecológicos. Cada módulo EML está diseñado para describir una parte lógica del metadato total. La ventaja de desarrollar el nodo con especificación EML es que los documentos pueden contener árboles completos de otros estándares por lo que facilitará la conversión de documentos EML a otros lenguajes de metadatos tales como Dublin Core, FGDC, Biological Profile CSDGM, estándares internacionales como el ISO 19115, estándares de fecha y hora ISO-8601, OpenGIS Consortiums's Geography Markup Language (GML) entre otros. El registro, consulta, modificación y difusión de metadatos ecológicos se los puede representar con el siguiente diagrama el mismo que permite determinar los actores y las acciones de cada uno de ellos durante el proceso de crear y compartir información. El nodo AAGWP-Ecuador da solución al requerimiento planteado anteriormente por medio de dos módulos principales Administración de Usuarios y Administración de Metadatos siendo este último el encargado de la creación y difusión de la información por medio de los siguientes procesos: El formulario de ingreso de datos tiene campos obligatorios y opcionales que s e encuentran claramente etiquetados, así como áreas de trabajo en grillas o tablas que pueden ser reutilizadas dentro del formulario para el ingreso de información con las mismas características. 3 Si los campos ingresados cumplen con los requerimientos mínimos de la especificación EML se procede a guardar el documento y posteriormente la información del necesaria en el Log para dejar una huella para futuras auditorías. El proceso de consulta que permite buscar uno o varios metadatos existentes en la base de datos eXist por varios criterios de búsqueda puedo ser: palabras clave, autor, fechas o la combinación de las mismas. Una vez establecido el criterio de búsqueda el sistema devolverá al usuario un listado con todos aquellos metadatos cumplan dicho criterio pudiendo a continuación abrir el documento en formato XML, visualizarlo en forma de tablas, o abrir la pagina oficial del proyecto relacionado con la investigación del metadatos encontrado siempre y cuando dicha dirección URL este disponible en el documento. Para la visualización del metadatos en forma de tablas se utilizará transformaciones XSLT aplicado al documento XML con especificación EML, adicionalmente una vez desplegado el documento este podrá ser guardado o abierto en una nueva página pero con estructura XML. El desarrollo del nodo AAGWP-ECUADOR ha sido realizado siguiendo el proceso unificado de desarrollo (PU) el mismo que permite seguir los lineamientos necesarios para obtener un producto de software de calidad, partiendo desde la forma de obtener los requerimientos así como seleccionar la mejor plataforma de desarrollo. Esta selección también consideró y tomó en cuenta que nos encontramos atravesando por diferentes etapas de la tecnología, sus avances vertiginosos y sus nuevas tendencias nos animan a mirar la propuesta de Software Libre que esta tomando mucha fuerza en América Latina y el Ecuador no es la excepción. Después de analizar una variedad de propuestas tanto en herramientas propietarias como Open Source se ha seleccionado como herramientas para la construcción del nodo una gama de productos tecnológicos de código abierto los mismos que se ajustan a las necesidades tanto para la fase de desarrollo como para su implantación en producción. En la actualidad se necesita organizar todo tipo de información de acuerdo a estándares que permitan tener colecciones que faciliten tanto su búsqueda como 4 su distribución y para ello se ha desarrollado el nodo AAGWP el cual se basa en el manejo de datos y metadatos utilizando la especificación EML. La misma que permitirá tener un mejor control de de la información en el campo de la Ecología. Esta especificación se automatizado utilizando los esquemas propios del estándar los mismo que han sido implementados utilizando como lenguaje de programación Java apoyado de los frameworks JSF y RchFaces los mismo que se encuentran embebidos en páginas JSP. Para la persistencia de los datos se utiliza para la administración del sistema la base de datos PostgreSQL y para la administración de los metadatos la base de datos XML nativa eXist que será la encargada de soportar tanto los documentos de la especificación actual así como los documentos de futuras liberación EML que se vayan ajustando a las necesidades de la comunidad científica. 5 2. SELECCIÓN DE METODOLOGÍA Y HERRAMIENTAS 2.1. ANÁLISIS DE LA METODOLOGÍA A UTILIZARSE 2.1.1. METODOLOGÍA1 Es un conjunto de procedimientos, técnicas, herramientas y un soporte documental que ayuda a los desarrolladores a construir nuevo software 2.1.1.1. Proceso Unificado de Desarrollo (PU) Es un proceso Orientado a Objetos, guiado por casos de uso, centrado en la arquitectura, con un ciclo de vida iterativo e incremental. Constituye la metodología estándar más utilizada para el análisis, implementación y documentación de sistemas orientados a objetos. El PU guía a los equipos de proyecto en cómo administrar el desarrollo iterativo de un modo controlado mientras se balancean los requerimientos del negocio. Además describe los diversos pasos involucrados en la captura de los requerimientos y en el establecimiento de una guía arquitectónica, para diseñar y probar el sistema hecho de acuerdo a los requerimientos y a la arquitectura. El PU es Guiado a través de los casos de uso que a su vez constituyen la pieza de funcionalidad de un sistema con la finalidad de proporcionar a un determinado usuario un determinado valor. Los casos de uso al juntarse constituyen el modelo de casos de uso del sistema que deja ver la funcionalidad completa del sistema. Los casos de uso capturan requisitos que se especifican (analizan), se diseñan, se implementan y se prueban. 1 [ ] Fuente: UCLM, Ingeniería de Software I, http://alarcos.inf-cr.uclm.es/doc/ISOFTWAREI/Tema04.pdf, actualización marzo 2007 6 Gráfico 2-1 Proceso Unificado de Desarrollo2 Centrado en la arquitectura, la arquitectura es una vista de cada uno de los modelos del sistema que da una idea de cómo es el sistema completo. Gráfico 2-2 Modelos del Proceso Unificado de Desarrollo3 [2] Universidad Carlos III de Madrid – España, http://www.wikilearning.com/tutorial/desarrollo_orientado_a_objetos_con_uml-diagrama_de_casos_de_uso/6321 7 Fuente: http://tvdi.det.uvigo.es/~avilas/UML/node25.html Un Ciclo de vida iterativo por que se repiten varios mini proyectos e incremental ya que cada mini proyecto va ampliando el producto. El ciclo de vida del proceso unificado se repite a lo largo del tiempo, tras cada ciclo este da una nueva versión del producto. El ciclo de vida se divide en fases, a su vez cada fase se divide en iteraciones y en cada una de las iteraciones se realiza un flujo de trabajo. Gráfico 2-3 Fases e Iteraciones del Ciclo de Vida4 El producto no es sólo código ejecutable, son los modelos o representación del software que debe ajustarse a todas las personas implicadas 2.2. ANÁLISIS DE LA PLATAFORMA DE DESARROLLO Hoy en día nos encontramos atravesando por diferentes etapas de la tecnología, sus avances vertiginosos y sus nuevas tendencias nos animan a mirar la propuesta de Software Libre que esta tomando mucha fuerza en América Latina y el Ecuador no es la excepción ya que por resolución emitida por el Presidente de la República, es política de estado su implementación. Es por ello hay que tomar 3 4 http://tvdi.det.uvigo.es/~avilas/UML/node25.html IBM RUP Rational Unified Process 8 en cuenta el hecho de implementar nuestras aplicaciones con herramientas de libre difusión. Software Libre se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software; lo cual podemos resumirlo en: La libertad de usar el programa con cualquier propósito. La libertad de estudiar cómo funciona el programa, y adaptarlo a nuestras necesidades. El acceso al código fuente es una condición previa para esto. La libertad de distribuir copias, con lo que puedes ayudar a mucha gente que puede necesitarlo. La libertad de mejorar el programa y hacer públicas las mejoras a los demás, de modo que toda la comunidad se beneficie. Siendo nuestra aplicación un producto de código abierto es imperativo que el desarrollo de la misma sea realizada sobre una plataforma de código abierto como lo es el sistema operativo Linux. 2.3. SELECCIÓN Y DESCRIPCIÓN DE HERRAMIENTAS 2.3.1. PHP PHP es un lenguaje de script interpretado en el lado del servidor utilizado para la generación de páginas Web dinámicas, similar al ASP de Microsoft o el JSP de Sun, embebido en páginas HTML y ejecutado en el servidor. 2.3.2. JAVA Está desarrollado por la compañía Sun Microsystems enfocado a cubrir las necesidades tecnológicas, Java está desarrollándose incluso para distintos tipos de dispositivos además del ordenador como móviles, agendas y en general para cualquier cosa que se le ocurra a la industria. Un lenguaje independiente de la plataforma, con Java podemos programar páginas Web dinámicas, con accesos a bases de datos, utilizando XML, con cualquier tipo de conexión de red entre cualquier sistema. 9 2.3.3. CUADRO COMPARATIVO CARACTERÍSTICA JAVA PHP Simple X X Orientado a Objetos X X Distribuido X X Robusto X X Arquitectura Neutral X X Seguro X X Portable X X Multithreaded X X Dinámico X X Software Libre X X Tabla 2-1 Cuadro Comparativo Java vs PHP Analizadas las características de cada uno de los posibles lenguajes de desarrollo y teniendo como antecedente la experiencia en el lenguaje de desarrollo Java se opta por utilizar este lenguaje para implementar el nodo. 2.3.4. MORPHO Morpho es una aplicación multiplataforma que permite a los ecólogos crear y organizar metadatos y datos y almacenarlos localmente o en un servidor de red compartido. Los metadatos pueden ser buscados y recuperados tanto localmente como a través de la red. Morpho puede ser obtenido gratuitamente a través del sitio Web de KNB (knb.ecoinformatics.org). Morpho es parte de un esfuerzo de la KNB (Knowledge Network for Biocomplexity) para ayudar a manejar datos ecológicos estandarizando los metadatos usados para describirlos, y proveer métodos para compartir datos y metadatos. 10 El proceso de creación de metadatos en formato estándar EML es transparente al usuario. No tiene que conocer detalles de EML ni de XML para crear archivos de metadatos. Facilidades de publicación de colecciones en red KNB-LTER. Programa gratuito que se puede usar tanto a nivel individual como a nivel de red y flexible ante futuros cambios en el estándar. 2.3.5. Multiplataforma (Windows, Linux, Macintosh). CARACTERÍSTICAS MORPHO Perfiles: Identificación individual de entrada para Morpho (personas o roles). Incluye identificación de usuario. Paquetes de datos: Agrupación lógica de datos (colecciones de datos). Bajo un perfil se pueden crear muchos paquetes (colecciones) de datos. Usuarios: Identificación individual de personas. Asociados a un perfil. 2.3.6. CUADRO COMPARATIVO BASE DE DATOS CARACTERÍSTICA POSTGRES EXIST PostgreSQL no tiene un tipo Una de las razones para de datos XML especializado. almacenar datos en una Los usuarios deben almacenar base de datos nativa XML los documentos XML en los es para evitar la ineficiencia campos de texto normal. Si y el desperdicio de espacio necesita dividir el documento de sus datos cuando es Almacenamiento de separación en sus estructurado. Ya que EXIST componentes de manera que al tiene XML como su cada elemento se almacena unidad fundamental de la por separado. (lógica) de almacenamiento, así como una base de datos relacional tiene una fila en 11 una tabla como la unidad fundamental de la (lógica) de almacenamiento. Importar Hay que utilizar una Se puede utilizar el cliente herramienta externa para ello. java que posee EXIST. Validación No soporta la validación La validación de contra un esquema XML. documentos XML se puede ejecutar automáticamente cuando los documentos se están insertados en la base de datos, o se pueden realizar utilizando XQuery. Tabla 2-2 Cuadro Comparativo EXIST vs Postgres Analizadas las características de estas bases de datos podemos decir que EXIST es el gestor de base de datos que la aplicación necesita, ya que maneja las estructuras XML con mayor rendimiento, a continuación detallamos que es EXIST y sus características principales. 2.3.6.1. Extensible Markup Language (XML)5 Es un Lenguaje desarrollado por el World Wide Web Consortium (W3C) muy simple pero estricto, permite la compatibilidad entre sistemas para compartir la información de una manera segura, fiable y fácil. 2.3.6.2. EXIST6 Es una base de datos de código abierto basado en tecnología XML, es altamente compatible con el XQuery estándar. El motor de búsqueda es extensible y cuenta con una gran colección de funciones XQuery que permiten con facilidad invocarlas, utilizarlas y aplicarlas a nuestros documentos almacenados. Proporciona un potente entorno para el desarrollo de aplicaciones web y es liberado al público bajo los términos de la licencia GNU LGPL (GNU is Not Unix) 5 [ ] W3C, Extensible Markup XML, http://www.w3c.org/XML/, última actualización octubre 2008 6 [ ] eXist, Open Source Native XML Database, http://exist.sourceforge.net/, última actualización febrero 2009 12 Lesser General Public License 7 cuando hablamos de Software Libre, nos estamos refiriendo a la libertad de uso, no a la ausencia de costes. La habilidad para describir datos estructurados en un formato abierto basado en texto y distribuir estos datos usando el protocolo http estándar, es muy importante por dos razones: XML facilita declaraciones más precisas de los contenidos y permite obtener resultados de búsquedas más precisas a través de múltiples plataformas. Una vez que los datos son localizados se pueden manipular y visualizar de múltiples maneras. El poder de XML se basa en que mantiene separados la interfaz de usuario de los datos estructurados, permitiendo la integración de datos provenientes de diversas fuentes. XML también facilita el intercambio de datos estructurados entre servidores. XML permite definir un conjunto ilimitado de etiquetas para datos. 2.3.7. XQuery8 Proporciona los medios para extraer y manipular información de documentos XML, o de cualquier fuente de datos que pueda ser representada mediante XML. Utiliza expresiones XPath para acceder a determinadas partes del documento XML conocidas como expresiones FLWOR. Las expresiones FLWOR toman su nombre de los 5 tipos de sentencias de las que pueden estar compuestas: FOR, LET, WHERE, ORDER BY y RETURN, incluye la posibilidad de construir nuevos documentos XML a partir de los resultados de la consulta. 2.3.8. XPath9 XPath, o XML Path Language, es un lenguaje que permite construir expresiones que recorren y procesan un documento XML. 2.3.9. Extensible Stylesheet Language (XSL)10 Es una familia de lenguajes basados en el estándar XML que permite describir cómo la información contenida en un documento XML cualquiera debe ser transformada o formateada para su presentación en un medio. 7 [ ] GNU, LGLP, http://www.es.gnu.org/modules/content/index.php?id=9, actualización febrero 1999 8 [ ] XQuery, http://es.wikipedia.org/wiki/XQuery, última actualización enero 2009 9 [ ] XPath, http://es.wikipedia.org/wiki/XPath, última actualización diciembre 2008 10 [ ] XSL, http://es.wikipedia.org/wiki/XSL, última actualización noviembre 2008 13 3. ANÁLISIS Y DISEÑO 3.1. ESPECIFICACIÓN DE REQUERIMIENTOS 3.1.1. DESCRIPCIÓN DEL PROBLEMA La necesidad de poseer una fuente de consulta verídica, sobre todo, la necesidad imperiosa de agrupar la información sobre los estudios de recursos naturales amazónicos que posee el Ecuador y poderla compartir, han hecho que la EPN a través de un convenio con la Universidad Internacional de la Florida deba diseñar un sistema que permita documentar los datos que están siendo capturados o generados por los científicos u organizaciones pertenecientes a una red de colaboración científica. Se debe hacer uso de los estándares y tecnologías de información y comunicación adecuadas para facilitar las tareas de recopilación de datos y documentación de los mismos a nivel centralizado. Así mismo se deben proporcionar facilidades de consulta e intercambio a través de Internet (interfaces Web principalmente) de las colecciones de datos o los metadatos. 3.1.1.1. Objetivo General Desarrollar un nodo, de una red internacional de información, que permita el registro y consulta de información de estudios de recursos naturales amazónicos para intercambio y difusión entre la comunidad científica nacional e internacional. 3.1.1.2. Objetivos Específicos Analizar, diseñar e implementar un nodo de información requerida para el intercambio y difusión entre la comunidad científica nacional e internacional de estudios de recursos naturales amazónicos. Permitir el registro, mantenimiento y consultas de información geográfica generada de los estudios de recursos naturales amazónicos. Permitir el intercambio de información de estudios de recursos naturales amazónicos con organizaciones e investigadores nacionales y extranjeros. 14 3.1.1.3. Descripción de Requerimientos 3.1.1.3.1. Administración de Metadatos Crear Metadato Especificaciones Almacenamiento de la recolección de datos que se obtenga de una de las redes de colaboración científica. Formularios de captura de datos Ingresar información de los formularios de datos Introducción Entradas Procesos Requerimientos de interfaces externas Interfaces de usuario Interfaces de hardware Interfaces de software Pantalla Creación de Metadatos Computador Browser Tabla 3-1 Requerimiento Crear Metadato Consultar Metadato Especificaciones Introducción Entradas Consulta los metadatos disponibles en el nodo Palabra clave de búsqueda Consultar Base de Datos Procesos Presentar información Requerimientos de interfaces externas Interfaces de usuario Interfaces de hardware Interfaces de software Pantalla Consultar Metadatos Computador Browser Tabla 3-2 Requerimiento Consultar Metadato Modificar Metadato Especificaciones Introducción Entradas Modifica la información de un metadato de propiedad del usuario que ha iniciado una sesión en el sistema Palabra clave de búsqueda Seleccionar metadato a modificar 15 Formulario de captura de datos Consultar Base de Datos Presentar Coincidencias de búsqueda Presentar metadato seleccionado Procesos Ingresar información de los formularios de datos Actualizar Base de Datos Requerimientos de interfaces externas Interfaces de usuario Interfaces de hardware Interfaces de software Pantalla Editar Metadatos Formulario editar Metadatos Computador Browser Tabla 3-3 Requerimiento Modificar Metadato Eliminar Metadato Especificaciones Hace un borrado lógico de la información de un metadato de propiedad del usuario que ha iniciado una sesión en el sistema Palabra clave de búsqueda Introducción Entradas Seleccionar metadato Consultar Base de Datos Presentar Coincidencias de búsqueda Presentar metadato seleccionado Procesos Deshabilitar acceso al metadato Actualizar Base de Datos Requerimientos de interfaces externas Interfaces de usuario Pantalla Eliminar Metadatos Interfaces de hardware Interfaces de software Computador Browser Tabla 3-4 Requerimiento Eliminar Metadato 16 Subir Metadato Especificaciones Entradas Sube un archivo de formato XML para verificar si cumple con el estándar EML. Archivo XML Leer archivo Procesos Verificar estructura EML Introducción Almacenar metadato en Base de Datos Requerimientos de interfaces externas Interfaces de usuario Interfaces de hardware Pantalla subir archivo XML Computador Interfaces de software Browser Tabla 3-5 Requerimiento Subir Metadato 3.1.1.3.2. Administración de Usuarios Registrar Usuario Especificaciones Crea un usuario dentro del sistema con mayores privilegios que un usuario invitado Información del contacto Ingresar información del usuario Introducción Entradas Procesos Actualizar Base de Datos Requerimientos de interfaces externas Interfaces de usuario Interfaces de hardware Pantalla Crear Nuevo Usuario Computador Interfaces de software Browser Tabla 3-6 Requerimiento Registrar Usuario Modificar Usuario Especificaciones Introducción Entradas Procesos Modifica la información personal del usuario. Información del contacto Ingresar información del usuario Actualizar Base de Datos 17 Requerimientos de interfaces externas Interfaces de usuario Interfaces de hardware Pantalla Modificar Usuario Computador Interfaces de software Browser Tabla 3-7 Requerimiento Modificar Usuario Eliminar Usuario Especificaciones Deshabilitar las opciones que tiene un usuario dentro del nodo. Información del contacto Ingresar información del usuario Introducción Entradas Procesos Actualizar Base de Datos Requerimientos de interfaces externas Interfaces de usuario Interfaces de hardware Pantalla Modificar Usuario Computador Interfaces de software Browser Tabla 3-8 Requerimiento Eliminar Usuario Mantenimiento del Sistema Especificaciones La información general, enlaces, otras fuentes de consulta que posee el nodo debe mantenerse actualizada. Información del contacto, comunidad científica y otros. Actualizar Base de Datos Introducción Entradas Procesos Requerimientos de interfaces externas Interfaces de usuario Interfaces de hardware Pantalla Mantenimiento del sistema Computador Interfaces de software Browser Tabla 3-9 Requerimiento Mantenimiento del Sistema 18 3.2. ANÁLISIS 3.2.1. MODELO DEL NEGOCIO Proyecto: AAGWP Modelo: Modelo del Negocio Fecha: 16-01-2008 Realizar inventario de Recursos Naturales Recolectar Metadatos Solicitante Solicitar informacion de Recursos Naturales Comunidad Cientifica Administrador Sistema Verificar Informacion Proporcionar Metadatos Gráfico 3-1 Gestionar Sistema Modelo del Negocio Diccionario de Actores y Trabajadores del Negocio Proceso del Negocio Solicitante Comunidad Científica Administrador Sistema Descripción Pueden ser científicos, instituciones y/o personas tanto nacionales como extranjeros in tersadas en obtener información de los Recursos Naturales Amazónicos del Ecuador Red encargada de publicar, proveer e intercambiar información, en este caso de los Recursos Naturales Amazónicos del Ecuador. Persona encargada de mantener el sistema funcionando de acuerdo a las necesidades que se presenten. Tabla 3-10 Diccionario de Actores del Negocio 19 Diccionario del Modelo del Negocio Proceso del Negocio Descripción Permite a la comunidad científica o personas independientes obtener libremente información sobre los Recursos Naturales Amazónicos del Ecuador. Este proceso consiste en levantar nueva información en base a estudios anteriores sobre los recursos Realizar Inventario de naturales amazónicos del Ecuador y con ello Recursos Naturales preparar los respectivos planes de contingencia para salvaguardarlos. Los miembros de la comunidad científica mediante procesos establecidos son los encargados de Recolectar Metadatos recolectar información, de cuerdo a estándares que manejen o utilicen en cada uno de sus lugares de acción. Los metadatos pueden ayudar a los científicos, a los investigadores y en general, al ciudadano común a encontrar y utilizar los datos que apoyen las Proporcionar investigaciones y la toma de decisiones. Benefician Metadatos al creador de ellos y a mantener el valor de los mismos y poder asegurar su uso continuo a lo largo del tiempo. La comunidad científica y personas involucradas con el manejo de metadatos ayudan a organizar y mantener las grandes inversiones en datos, evitan la Verificar Información duplicación de esfuerzos y proveen, la información sobre la posesión de datos y productos de una organización Actualización de contenidos, crear funcionalidades Gestionar Sistema nuevas, respaldar información tanto de los metadatos como de los usuarios registrados. Solicitar Información de Recursos Naturales Tabla 3-11 Descripción del Modelo de Negocio 20 3.2.2. MODELO DE CASOS DE USO DEL SISTEMA Proyecto: AAGWP Modelo: Diagrama de Casos de Uso Fecha: 31-01-2009 <<include>> crearNuevoUsuario KNB descargarArchivoXML descargarHerramienta <<extend>> Visitante devolverCoincidenciasBusqueda() <<extend>> accederReferenciaMetadato <<extend>> consultarMetadato <<include>> mostrarMetadatoIntegramente modificarMetadato ingresarPalabraClave crearMetadato Usuario Registrado <<include>> subirMetadato eliminarMetadato <<extend>> iniciarSesion cambiarPassword modificarUsuario Administrador recuperarPassword eliminarUsuario Gráfico 3-2 Modelo de Casos de Uso 21 3.2.2.1. Descripción de Actores del Sistema Actor Descripción Visitante Usuario Registrado Administrador KNB Usuario que puede navegar con ciertas restricciones en el nodo AAGWP-Ecuador, este usuario podrá realizar libremente tareas como: consultar y obtener metadatos, descargar herramientas Usuario que tiene los privilegios del visitante y otros adicionales tales como subir información de los metadatos al nodo AAGWP-Ecuador, debiendo iniciar sesión al sistema. Usuario encargado de gestionar a los usuarios registrados en el nodo, así como también eliminar metadatos existentes. Usuario correspondiente al sistema externo de Knowledge Network for Biocomplexity (KNB). Tabla 3-12 Descripción de Actores 3.2.2.2. Descripción de los Casos de Uso del Sistema 3.2.2.2.1. Caso de Uso Iniciar Sesión Proyecto: AAGWP Proyecto: AAGWP Modelo: Caso de Modelo: Casos de Uso Uso Fecha: 31-01-2009 17-01-2008 Fecha: Usuario Registrado <<extend>> iniciarSesion Administrador Gráfico 3-3 Caso de Uso Actor Caso de Uso Iniciar Sesión Iniciar Sesión Usuario Registrado Administrador cambiarPassword 22 Ninguna Precondición Navegar y utilizar las opciones disponibles para Poscondición el perfil con que se ingresó al sistema. Flujos Principales Flujos Secundarios 1. Digitar el nombre de usuario o login. 2. Digitar el password para el nombre de usuario ingresado. 3. Se valida si el nombre de usuario y 3.1. Si el nombre de usuario y password son correctos. password son incorrectos se presenta un mensaje de error. 3.2. Se debe volver a ingresar los datos desde el paso 1. 4. Se ingresa al sistema Tabla 3-13 Caso de uso Iniciar Sesión 3.2.2.2.2. Caso de Uso Cambiar Password Proyecto: Proyecto: AAGWP AAGWP Modelo: deUso Uso Modelo: Casos Caso de Fecha: Fecha: 17-01-2008 31-01-2009 Usuario Registrado <<extend>> iniciarSesion Administrador Gráfico 3-4 Caso de Uso Actor Caso de Uso Cambiar Password Cambiar Password Usuario Registrado Administrador cambiarPassword 23 Estar logueado en el sistema Precondición El password de ingreso al sistema se cambiará Poscondición en la base de datos. Flujos Principales Flujos Secundarios 1. Digitar el password actual 2. Digitar el nuevo password y 2.1. Se verifica que el password que se confirmar el password que se está ingresó como actual sea digitando. exactamente el mismo que esta registrado para el usuario, en caso de no ser así se desplegará un mensaje de error. 2.2. Necesita volver a ingresar la información requerida en el paso 1 y2 3. Se guarda el nuevo password para el usuario. Tabla 3-14 Caso de uso Cambiar Password 3.2.2.2.3. Caso de Uso Recuperar Password Proyecto: Proyecto: AAGWP AAGWP Modelo: Caso CasosdedeUso Uso Modelo: Fecha: 31-01-2009 17-01-2008 Fecha: Usuario Registrado recuperarPassword Administrador Gráfico 3-5 Caso de Uso Actor Caso de Uso Recuperar Password Recuperar Password Usuario Registrado Administrador 24 Precondición Poscondición El usuario debe tener creada una cuenta dentro del sistema El usuario dispondrá de su password para poder loguearse en el sistema. Flujos Principales Flujos Secundarios 1. Digitar el nombre de usuario 2. Digitar el correo electrónico con 2.1. Se verifica que el nombre de que se registró al crear la cuenta usuario y correo electrónico de usuario. correspondan efectivamente a ese usuario, en caso de no ser igual se despliega un mensaje de error. 2.2. Se debe ingresar nuevamente los datos de los pasos 1 y 2 3. Obtiene Login y Password. Tabla 3-15 Caso de Uso Recuperar Password 3.2.2.2.4. Caso de Uso Consultar Metadato ingresarPalabraClave descargarArchivoXML <<extend>> Visitante <<include>> <<extend>> accederReferenciaMetadato consultarMetadato <<extend>> Usuario Registrado Proyecto: AAGWP Proyecto: AAGWP Modelo: Casos de Uso Modelo: Caso de Uso Fecha: 17-01-2008 Fecha: 31-01-2009 Gráfico 3-6 mostrarMetadatoIntegramente Caso de Uso Consultar Metadato 25 Caso de Uso Consultar Metadato Visitante Actor Usuario Registrado Precondición Ninguna Poscondición Obtener coincidencias de búsqueda Flujos Principales Flujos Secundarios 1. Ejecuta el caso de uso ingresarPalabraClave. 2. Muestra las coincidencias de búsqueda 3. Visualiza el metadato que se 3.1. Si se quiere ver el metadato desea de la lista de coincidencias. completo en pantalla se ejecutará el caso de uso mostrarMetadatoIntegramente. 3.2. Si se quiere obtener el archivo XML se ejecuta el caso de uso descargarArchivoXML 3.3. Si lo que se quiere es acceder a la URL de referencia del metadato se ejecuta el caso de uso accederReferenciaMetadato. Tabla 3-16 Caso de uso Consultar Metadato 3.2.2.2.5. Caso de Uso Descargar Archivo XML <<extend>> Visitante consultarMetadato descargarArchivoXML Proyecto: AAGWP Proyecto: AAGWP Modelo: Casos Uso Modelo: Casodede Uso Fecha: 17-01-2008 Fecha: 31-01-2009 Usuario Registrado Gráfico 3-7 Caso de Uso Descargar Archivo XML 26 Caso de Uso Descargar Archivo XML Visitante Actor Usuario Registrado Que se encuentre en ejecución el caso de uso Precondición consultarMetadato. Ninguna Poscondición Flujos Principales Flujos Secundarios 1. Generar un archivo con estructura XML según el estándar EML. 2. Descargar el archivo en la maquina local del usuario que solicita el metadato. Tabla 3-17 Caso de uso Descargar Archivo XML 3.2.2.2.6. Caso de Uso Acceder Referencia Metadato <<extend>> Visitante consultarMetadato accederReferenciaMetadato Proyecto: AAGWP Proyecto: AAGWP Modelo: Casos de Uso Modelo: Caso de Uso Fecha: 17-01-2008 Fecha: 31-01-2009 Usuario Registrado Gráfico 3-8 Caso de Uso Actor Precondición Poscondición Caso de Uso Acceder Referencia Metadato Acceder Referencia Metadato Visitante Usuario Registrado Que se encuentre en ejecución el caso de uso consultarMetadato. Ninguna 27 Flujos Principales Flujos Secundarios 1. Abre una nueva página con la URL de enlace para ese metadato en particular. Tabla 3-18 Caso de Uso Acceder Referencia Metadato 3.2.2.2.7. Caso de Uso Mostrar Metadato Íntegramente <<extend>> Visitante consultarMetadato mostrarMetadatoIntegramente Proyecto: Proyecto: AAGWP AAGWP Modelo: Casos Modelo: Caso de deUso Uso Fecha: 17-01-2008 Fecha: 31-01-2009 Usuario Registrado Gráfico 3-9 Caso de Uso Caso de Uso Mostrar Metadato Íntegramente Mostrar Metadato Íntegramente Visitante Actor Usuario Registrado Que se encuentre en ejecución el caso de uso Precondición consultarMetadato. Se muestra en pantalla el contenido de un Poscondición metadato Flujos Principales Flujos Secundarios 3. Abre una nueva pantalla con toda la información disponible para un metadato en particular Tabla 3-19 Caso de Uso Mostrar Metadato Íntegramente 28 3.2.2.2.8. Caso de Uso Ingresar Palabra Clave consultarMetadato Usuario Registrado Visitante <<include>> ingresarPalabraClave Proyecto: AAGWP Modelo: Caso de Uso Fecha: 31-01-2009 <<include>> eliminarMetadato Administrador Gráfico 3-10 Caso de Uso Actor Precondición Poscondición Caso de Uso Ingresar Palabra Clave Ingresar Palabra Clave Visitante Usuario Registrado Se encuentre ejecutando el caso de Uso consultarMetadato o modificarMetadato Obtener coincidencias de búsqueda Flujos Principales Flujos Secundarios 1. Digitar la palabra clave por la cual se desea realizar la búsqueda. 2. Busca todas las coincidencias de búsqueda para la palabra clave 3. Si encuentra al menos una 3.1. Si no encuentra coincidencias para esa palabra clave muestra el coincidencia devuelve las respectivo mensaje de error y búsquedas al caso de uso que lo vuelve al paso 1. invocó previamente Tabla 3-20 Caso de Uso Ingresar Palabra Clave 29 3.2.2.2.9. Caso de Uso Crear Metadato crearMetadato Usuario Registrado Proyecto: Proyecto: AAGWP AAGWP Modelo:Caso Casosde de Uso Uso Modelo: Fecha: 17-01-2008 Fecha: 31-01-2009 Gráfico 3-11 Caso de Uso Crear Metadato Caso de Uso Crear Metadato Actor Usuario Registrado Precondición El usuario debe iniciar sesión Se actualiza Base de Datos con un nuevo Poscondición metadato. Flujos Principales Flujos Secundarios 1. Digitar la información del metadato 1.1. Si los campos requeridos no han de acuerdo al estándar EML que sido ingresados se desplegará el se presenta en el formulario respectivo mensaje de error y se deberá volver al paso 1. 2. Se guarda la información del metadato en la base de datos. Tabla 3-21 Caso de Uso Crear Metadato 3.2.2.2.10. Caso de Uso Modificar Metadato Proyecto: AAGWP Modelo: Caso de Uso Fecha: 31-01-2009 Usuario Registrado Gráfico 3-12 modificarMetadato Casos de Uso Modificar Metadato 30 Caso de Uso Modificar Metadato Actor Usuario Registrado Precondición El usuario debe iniciar sesión Se actualiza la información de un metadato Poscondición específico en la Base de Datos. Flujos Principales Flujos Secundarios 1. Ejecuta el caso ingresarPalabraClave de uso 2. Muestra las coincidencias de búsqueda para los metadatos del usuario inicio la sesión. 3. Muestra un formulario para 3.1. Si la información ingresada no es modificar los datos de un metadato correcta de acuerdo al estándar específico. EML se presentara el respectivo mensaje de error 4. Se guarda la información del metadato modificado en la base de datos Tabla 3-22 Caso de Uso Modificar Metadato 3.2.2.2.11. Caso de Uso Subir Metadato subirMetadato Usuario Registrado Proyecto: AAGWP Proyecto: AAGWP Modelo: Casos deUso Uso Modelo: Caso de Fecha: 17-01-2008 Fecha: 31-01-2009 Gráfico 3-13 Caso de Uso Subir Metadato Caso de Uso Subir Metadato Actor Usuario Registrado Precondición El usuario debe iniciar sesión Poscondición Se actualiza Base de Datos con un nuevo metadato. 31 Flujos Principales Flujos Secundarios 1. Especificar la ubicación del archivo 1.1 Si la estructura del archivo no es XML a subir que cumpla con el correcta de acuerdo al estándar estándar EML. EML se presenta el respectivo mensaje de error 2. Se guarda la información del metadato en la Base de Datos Tabla 3-23 Caso de Uso Subir Metadato 3.2.2.2.12. Caso de Uso Eliminar Metadato <<include>> eliminarMetadato ingresarPalabraClave Administrador Proyecto: AAGWP Proyecto: AAGWP Modelo: Casos dede Uso Modelo: Caso Uso Fecha: 17-01-2008 Fecha: 31-01-2009 Gráfico 3-14 Caso de Uso Eliminar Metadato Caso de Uso Eliminar Metadato Actor Administrador Precondición El usuario debe iniciar sesión Poscondición Se elimina de la Base de Datos un metadato. Flujos Principales Flujos Secundarios 1. Ejecuta el caso de uso ingresarPalabraClave. 2. Muestra las coincidencias de búsqueda 3. Muestra el metadato que se selecciono para ser eliminado 4. Se confirma si realmente se desea eliminar el metadato seleccionado. 4.1 Si la confirmación de eliminar ese metadato es negativa, se volverá al paso 2. 5. Elimina lógicamente el metadato de la Base de Datos Tabla 3-24 Caso de Uso Eliminar Metadato 32 3.2.2.2.13. Caso de Uso Descargar Herramienta <<include>> Visitante descargarHerram ienta KNB Proyecto: AAGWP Proyecto: AAGWP Modelo: Casos Modelo: Caso de deUso Uso Fecha: 17-01-2008 Fecha: 31-01-2009 Usuario Registrado Gráfico 3-15 Caso de Uso Caso de Uso Descargar Herramienta Descargar Herramienta Usuario Registrado Actor Visitante Precondición Ninguna Poscondición Ninguna Flujos Principales Flujos Secundarios 1. Se direcciona hacia la página de descargas de KNB donde se encuentra disponible la aplicación Morpho. Tabla 3-25 Caso de Uso Descargar Herramienta 3.2.2.2.14. Caso de Uso Crear Nuevo Usuario crearNuevoUsuario Visitante Proyecto: AAGWP Proyecto: AAGWP Modelo: Casos Modelo: Caso de de Uso Uso Fecha: 17-01-2008 Fecha: 31-01-2009 Gráfico 3-16 Caso de Uso Crear Nuevo Usuario 33 Caso de Uso Crear Nuevo Usuario Actor Visitante Precondición Ninguna Se crea un nuevo registro de usuario en la Base Poscondición de Datos Flujos Principales Flujos Secundarios 1. Escribir los datos respectivos para la cuenta de usuario que se quiere crear. 2. Se actualiza la base de datos con un nuevo registro de usuario. Tabla 3-26 1.1 Si los datos solicitados no son correctos o están incompletos se presenta un mensaje de error. Caso de Uso Crear Nuevo Usuario 3.2.2.2.15. Caso de Uso Modificar Usuario modificarUsuario Usuario Registrado Administrador Proyecto: Proyecto: AAGWP AAGWP Modelo: Casos Modelo: Casode deUso Uso Fecha: 17-01-2008 Fecha: 31-01-2009 Gráfico 3-17 Caso de Uso Caso de Uso Modificar Usuario Modificar Usuario Administrador Actor Usuario Registrado Precondición Poscondición El usuario debe iniciar sesión. Se actualiza la Base de Datos con la nueva información de un usuario determinado. Flujos Principales 1. Muestra un formulario para modificar los datos de la cuenta del usuario que inicio la sesión. Flujos Secundarios 34 2. Verifica que se desea realmente guardar los datos del usuario con los cambios realizados. 3. Actualiza la base de datos con los nuevos datos del usuario. Tabla 3-27 2.1 Si la confirmación de los cambios es falsa sale sin realizar ningún cambio en la Base de Datos. Caso de Uso Modificar Usuario 3.2.2.2.16. Caso de Uso Eliminar Usuario eliminarUsuario Administrador Proyecto: AAGWP Proyecto: AAGWP Modelo: Casos Uso Modelo: Casodede Uso Fecha: 17-01-2008 Fecha: 31-01-2009 Gráfico 3-18 Caso de Uso Eliminar Usuario Caso de Uso Eliminar Usuario Actor Administrador Precondición El usuario debe iniciar sesión. Poscondición Se actualiza la Base de Datos deshabilitando la cuenta de un usuario específico. Flujos Principales Flujos Secundarios 1. Digitar el nombre o correo 1.1 Si no se encuentra ninguna electrónico del usuario a eliminar. coincidencia se presenta el respectivo mensaje de error y se vuelve al paso 1. 2. Se muestra la información de la cuenta de usuario. 3. Verifica si la cuenta de usuario 1.2 Si la confirmación de eliminar esa encontrado realmente se desea cuenta de usuario es falsa, se eliminar. regresa al paso 1 sin hacer ninguna modificación. 4. Elimina lógicamente la cuenta de usuario de la Base de Datos Tabla 3-28 Caso de Uso Eliminar Usuario 35 3.2.3. DIAGRAMAS DE COLABORACIÓN 3.2.3.1. Iniciar Sesión GUI_HomePage Proyecto: AAGWP Modelo: Diagrama de Colaboración Caso de Uso: iniciarSesion Fecha: 31-01-2009 1: Cargar Formulario Iniciar Sesion 2: Ingresar login y password 6: Cargar pagina de inicio segun el perfil del usuario 3: Validar login y password GUI_Iniciar Sesion 4: Autenticar login y password C_Gestionar Usuario 9: Cargar Formulario Iniciar Sesion E_Usuario 5: True 7: False : Usuario Registrado 8: ErrorUsuarioNoValido GUI_Error Gráfico 3-19 Diagrama de Colaboración Iniciar Sesión 3.2.3.2. Cambiar Password 1: CargarFormularioCambiarPassword 2: Ingresar actual y nuevo password GUI_Cambiar Password Proyecto: AAGWP Modelo: Diagrama de Colaboración Caso de Uso: cambiarPassword Fecha: 31-01-2009 : Usuario Registrado 10: CargarFormularioCambiarPassword 3: Verificar datos ingresados 4: Verificar password actual 6: Guardar nuevo password GUI_Error C_Gestionar Usuario 7: Password cambiado satisfactoriamente 9: Error password actual no coincide Gráfico 3-20 E_Usuario 5: True 8: False Diagrama de Colaboración Cambiar Password 36 3.2.3.3. Recuperar Password 1: CargarFormularioRecuperarPassword 2: Ingresar Login y Correo Electronico GUI_Recuperar Password Proyecto: AAGWP Modelo: Diagrama de Colaboración Caso de Uso: recuperarPassword Fecha: 31-01-2009 : Usuario Registrado 9: CargarFormularioRecuperarPassword 3: ObtenerPassword 4: VerificarLoginCorreoElectronico C_Gestionar Usuario GUI_Error E_Usuario 8: ErrorUsuarioNoValido 5: True 7: False 6: MostrarPassword GUI_VerPassword Gráfico 3-21 Diagrama de Colaboración Recuperar Password 3.2.3.4. Consultar Metadato GUI_Descargar ArchivoXML Proyecto: AAGWP Modelo: Diagrama de Colaboración Caso de Uso: consultarMetadato Fecha: 31-01-2009 4: CrearArchivoXML 1: MostrarCoincidenciasBusqueda 3: CargarFormularioDescargarArchivoXML 5: CargarFormularioReferenciaMetadato 7: CargarFormularioMostrarMatadatoIntegramente 2: BuscarCoincidenciasBusqueda GUI_MostrarCoincidencias : Visitante 8: MostrarInformacionCompletaMetadato GUI_Mostrar Metadato Gráfico 3-22 6: AccesarReferenciaMetadato GUI_Referencia Metadato Clase de Análisis Consultar Metadato C_GestorConsultas 37 3.2.3.5. Descargar Archivo XML 6: GenerarArchivoXML 2: BuscarMetadatoEML 5: Descargar Archivo EML 1: DescargarArchivoXML C_GestorConsulta GUI_Descargar ArchivoXML 7: DescargarArchivoEML : Visitante 3: ObtenerInformacion 4: True Proyecto: AAGWP Modelo: Diagrama de Colaboración Caso de Uso: deacargarArchivoXML Fecha: 20-02-2009 Gráfico 3-23 E_Metadato Diagrama de Colaboración Descargar Archivo XML 3.2.3.6. Acceder Referencia Metadato 1: AccesarReferenciaMetadato 2: BuscarReferenciaMetadato C_Gestionar Metadato GUI_ReferenciaM etadato 5: AbrirURLMetadato : Visitante Proyecto: AAGWP Modelo: Diagrama de Colaboración Caso de Uso: accederReferenciaMetadato Fecha: 31-01-2009 4: Retorna Respuesta 3: ObtenerURL E_Metadato Gráfico 3-24 Diagrama de Colaboración Acceder Referencia Metadato 3.2.3.7. Mostrar Metadato Íntegramente 1: MostrarInformacionCompletaMetadato 2: BuscarInformacionMetadato GUI_Mostrar Metadato C_Gestionar Metadato 5: MostrarMetadatoCompleto : Visitante 4: True 3: ObtenerMetadato Proyecto: AAGWP Modelo: Diagrama de Colaboración Caso de Uso: mostrarMetadatoIntegramente Fecha: 31-01-2009 E_Metadato Gráfico 3-25 Diagrama de Colaboración Mostrar Metadato Íntegramente 38 3.2.3.8. Ingresar Palabra Clave Proyecto: AAGWP Modelo: Diagrama de Colaboración Caso de Uso: ingresarPalabraClave Fecha: 31-01-2009 7: DevolverCoincidenciasDeBusqueda : Visitante 1: CargarFormularioIngresarPalabraClave 2: IngresarCriteriosDeBusqueda 4: BuscarPorFecha 5: BuscarPorPalabraClave 6: BuscarPorAutor 3: BuscarCoincidenciasDeBusqueda GUI_PalabraClave C_GestorConsultas E_Metadat o 9: CargarFormularioIngresarPalabraClave 8: ErrorNoExistenCoincidenciasDeBusqueda GUI_Error Gráfico 3-26 Diagrama de Colaboración Ingresar Palabra Clave 3.2.3.9. Crear Metadato GUI_Error Proyecto: AAGWP Modelo: Diagrama de Colaboración Caso de Uso: crearMetadato Fecha: 31-01-2009 6: MetadatoCreadoSatisfactoriamente 7: ErrorDatosNoCum plenEstandarEML 1: CargarFormularioCrearMetadato 2: IngresarInformacionMetadato 3: VerificarDatosCumplanEstandarEML C_Gestionar Metadato GUI_Crear Metadato E_AAGWP 8: IngresarInformacionMetadato : Usuario Registrado 4: GuardarMetadato 5: Guardar Log E_Log Gráfico 3-27 Diagrama de Colaboración Crear Metadato 39 3.2.3.10.Modificar Metadato 1: CargarFormularioCoincidenciasModificacion 6: ModificarMetadato GUI_Coincidencias Modificacion E_Log : Usuario Registrado 5: MostrarCoincidencias 10: IngresarDatosModificados 2: BuscarMetadatosPropios 7: BuscarMetadato 3: obtenerArchivosPorUsuario 15: GuardarLog 4: obtenerMetadatosPropios 8: ObtenerMetadato 14: ModificarMetadato 11: VerificarDatosIngresadosMetadato GUI_Modificar Metadato C_GestionarMetadato E_Metadato 9: MostrarMetadato 17: MostrarDatosModificados 19: MostrarDatosModificados 12: ConfirmarGuardarDatos 18: ErrorDatosNoCumplenEstandarEML Proyecto: AAGWP Modelo: Diagrama de Colaboración Caso de Uso: modificarMetadato Fecha: 31-01-2009 13: True 16: False GUI_Confirmar Modificacion GUI_Error Gráfico 3-28 Diagrama de Colaboración Modificar Metadato 3.2.3.11.Subir Metadato GUI_Error 5: ArchivoCumpleEstandarEML 6: ErrorArchivoNoCumpleEstandarEML 1: CargarFormularioSubirMetadato 2: DeterminarUbicacionArchivoXML 3: VerificarEstandarEML 4: GuardarMetadato GUI_SubirMetadato C_Gestionar Metadato : Usuario Registrado Proyecto: AAGWP Modelo: Diagrama de Colaboración Caso de Uso: subirMetadato Fecha: 20-02-2009 Gráfico 3-29 Diagrama de Colaboración Subir Metadato E_Metadato 40 3.2.3.12.Eliminar Metadato 1: CargarFormularioCoincidenciasEliminacion 4: VerMetadato 2: CargarFormularioIngresarPalabraClave GUI_GestorBusqueda Metadato GUI_Coincidencias Eliminacion 3: MostrarCoincidenciasDeBusqueda : Administrador 7: EliminarMetadato 15: VerMetadato GUI_Confirmar Eliminacion 5: BuscarMetadato 9: ConfirmarEliminarMetadato 8: EliminarMetadato 10: True 14: False C_GestionarMetadato GUI_Eliminar Metadato 11: EliminarMetadato 6: MostrarMetadatoParaEliminar E_AAGWP 12: GuardarLog 13: MetadatoEliminadoSatisfactoriamente Proyecto: AAGWP Modelo: Diagrama de Colaboración Caso de Uso: eliminarMetadato Fecha: 31-01-2009 Gráfico 3-30 E_Log GUI_Error Diagrama de Colaboración Eliminar Metadato 3.2.3.13.Descargar Herramienta Proyecto: AAGWP Modelo: Diagrama de Colaboración Caso de Uso: descargarHerramienta Fecha: 31-01-2009 : Visitante 3: Abrir url solicitada 1: Llamar pagina de KNB 2: Buscar url especifica GUI_DescargarHer ramienta : KNB Gráfico 3-31 Diagrama de Colaboración Descargar Herramienta 41 3.2.3.14.Crear Nuevo Usuario Proyecto: AAGWP Modelo: Diagrama de Colaboración Caso de Uso: crearNuevoUsuario Fecha: 31-01-2009 : Visitante 1: CargarFormularioNuevoUsuario 2: Ingresar Informacion del usuario 3: VerificarDatosUsuario GUI_Nuevo Usuario 7: UsuarioCreadoSatisfactoriamente 9: ErrorUsuarioNoVálido C_Gestionar GUI_Error Usuario 4: VerificarUsuarioExiste 6: GuardarDatosUsuario 5: False 8: True E_Usuario Gráfico 3-32 Diagrama de Colaboración Crear Nuevo Usuario 3.2.3.15.Modificar Usuario GUI_Confirmar Modificacion 9: True 8: ConfirmarGuardarDatos 11: False 1: CargarFormularioModificarUsuario 6: IngresarNuevaInformacionUsuario 2: BuscarInformacionUsuario 7: VerificarDatosIngresados C_Gestionar Usuario GUI_Modificar Usuario 5: MostrarInformacionUsuario : Usuario Registrado Proyecto: AAGWP Modelo: Diagrama de Colaboración Caso de Uso: modificarUsuario Fecha: 31-01-2009 4: Retorna respuesta 3: ObtenerDatosUsuario 10: GuardarDatos E_Usuario Gráfico 3-33 Diagrama de Colaboración Modificar Usuario 42 3.2.3.16.Eliminar Usuario Proyecto: AAGWP Modelo: Diagrama de Colaboración Caso de Uso: eliminarUsuario Fecha: 31-01-2009 E_Usuario 13: CargarFormularioInformacionUsuario 1: CargarFormularioInformacionUsuario 2: Ingresar nombre o correo electronico del usuario 4: ObtenerUsuario 10: EliminarLogicamenteUsuario 5: True 14: False 3: BuscarUsuario 7: EliminarUsuario C_Gestionar Usuario GUI_Informacion Usuario 6: MostrarInformacionUsuario 16: CargarFormularioInformacionUsuario : Administrador 12: False 9: True 11: UsuarioEliminadoSatisfactoriamente 15: ErrorUsuarioNoEncontrado 8: ConfirmarEliminarUsuario GUI_Eliminar Usuario Gráfico 3-34 GUI_Error Diagrama de Colaboración Eliminar Usuario GUI_IniciarSesion Gráfico 3-35 2: Ingresar login y password 1: Cargar Formulario Iniciar Sesion : Usuario Registrado DIAGRAMAS DE SECUENCIA 3.2.4.1. Iniciar Sesión 3.2.4. GUI_Error 8: ErrorUsuarioNoValido Diagrama de Secuencia Iniciar Sesión Proyecto: AAGWP Modelo: Diagrama de Secuencia Caso de Uso: iniciarSesion Fecha: 31-01-2009 9: Cargar Formulario Iniciar Sesion E_Usuario 7: False 5: True 4: Autenticar login y password C_GestionarUsuario 6: Cargar pagina de inicio segun el perfil del usuario 3: Validar login y password GUI_HomePage 43 GUI_CambiarPassword GUI_Error ConexionBDD 7: False 6: True 5: Conectar E_Usuario Diagrama de Secuencia Cambiar Password Proyecto: AAGWP Modelo: Diagrama de Secuencia Caso de Uso: cambiarPassword Fecha: 02-02-2009 13: CargarFormularioCambiarPassword 12: Error password actual no coincide 11: False 10: Password cambiado satisfactoriamente 9: Guardar nuevo password 8: True 4: Verificar password actual C_GestionarUsuario 3: Verificar datos ingresados Gráfico 3-36 2: Ingresar actual y nuevo password 1: CargarFormularioCambiarPassword : Usuario Registrado 3.2.4.2. Cambiar Password 44 GUI_Recuperar Password GUI_Error Diagrama de Secuencia Recuperar Password Proyecto: AAGWP Modelo: Diagrama de Secuencia Caso de Uso: recuperarPassword Fecha: 31-01-2009 9: CargarFormularioRecuperarPassword E_Usuario 7: False 5: True 4: VerificarLoginCorreoElectronico C_GestionarUsuario 8: ErrorUsuarioNoValido 6: MostrarPassword 3: ObtenerPassword GUI_VerPassword Gráfico 3-37 2: Ingresar Login y Correo Electronico 1: CargarFormularioRecuperarPassword : Usuario Registrado 3.2.4.3. Recuperar Password 45 GUI_MostrarCoincidencias C_GestorConsultas Gráfico 3-38 7: CargarFormularioMostrarMatadatoIntegramente Si quiere ver el Metadato completo 5: CargarFormularioReferenciaMetadato GUI_Descargar ArchivoXML GUI_Referencia Metadato Diagrama de Secuencia Consultar Metadato Proyecto: AAGWP Modelo: Diagrama de Secuencia Caso de Uso: consultarMetadato Fecha: 31-01-2009 8: MostrarInformacionCompletaMetadato 6: AccesarReferenciaMetadato 4: CrearArchivoXML Si quiere accesar a la referencia del Metadato 3: CargarFormularioDescargarArchivoXML Si quiere descargar archivo XML 2: BuscarCoincidenciasBusqueda 1: MostrarCoincidenciasBusqueda : Visitante 3.2.4.4. Consultar Metadato GUI_MostrarMetadato 46 47 3.2.4.5. Descargar Archivo XML : Visitante GUI_Descargar ArchivoXML C_GestorConsulta E_Metadato 1: DescargarArchivoXML 2: BuscarMetadatoEML 3: ObtenerInformacion 4: True 5: Descargar Archivo EML 6: GenerarArchivoXML 7: DescargarArchivoEML Proyecto: AAGWP Modelo: Diagrama de Secuencia Caso de Uso: descargarArchivoXML Fecha: 20-02-2009 Gráfico 3-39 Diagrama de Secuencia Descargar Archivo XML 48 3.2.4.6. Acceder Referencia Metadato : Visitante GUI_Referencia Metadato C_GestionarMetadato E_Metadato 1: AccesarReferenciaMetadato 2: BuscarReferenciaMetadato 3: ObtenerURL 4: Retorna Respuesta 5: AbrirURLMetadato Proyecto: AAGWP Modelo: Diagrama de Secuencia Caso de Uso: accederReferenciaMetadato Fecha: 31-01-2009 Gráfico 3-40 Diagrama de Secuencia Acceder Referencia Metadato 49 3.2.4.7. Mostrar Metadato Íntegramente : Visitante GUI_MostrarMetadato C_GestionarMetadato E_Metadato 1: MostrarInformacionCompletaMetadato 2: BuscarInformacionMetadato 3: ObtenerMetadato 4: True 5: MostrarMetadatoCompleto Proyecto: AAGWP Modelo: Diagrama de Secuencia Caso de Uso: mostrarMetadatoIntegramente Fecha: 31-01-2009 Gráfico 3-41 Diagrama de Secuencia Mostrar Metadato Íntegramente GUI_PalabraClave GUI_Error Proyecto: AAGWP Modelo: Diagrama de Secuencia Caso de Uso: ingresarPalabraClave Fecha: 31-01-2009 Diagrama de Secuencia Ingresar Palabra Clave 9: CargarFormularioIngresarPalabraClave Gráfico 3-42 6: BuscarPorAutor 5: BuscarPorPalabraClave 8: ErrorNoExistenCoincidenciasDeBusqueda Si la búsqueda no devuelve coincidencias 7: DevolverCoincidenciasDeBusqueda Si la búsqueda devuelve coincidencias E_Metadato 4: BuscarPorFecha C_GestorConsultas 3: BuscarCoincidenciasDeBusqueda 2: IngresarCriteriosDeBusqueda 1: CargarFormularioIngresarPalabraClave : Visitante 3.2.4.8. Ingresar Palabra Clave 50 3.2.4.9. Crear Metadato GUI_CrearMetadato C_GestionarMetadato E_AAGWP 5: Guardar Log 4: GuardarMetadato Diagrama de Secuencia Crear Metadato Proyecto: AAGWP Modelo: Diagrama de Secuencia Caso de Uso: crearMetadato Fecha: 31-01-2009 7: ErrorDatosNoCumplenEstandarEML Si los datos no cumplen con el estandar EML 6: MetadatoCreadoSatisfactoriamente 8: IngresarInformacionMetadato Gráfico 3-43 GUI_Error Si los datos cumplen con el estandar EML 3: VerificarDatosCumplanEstandarEML 2: IngresarInformacionMetadato 1: CargarFormularioCrearMetadato : Usuario Registrado E_Log 51 GUI_Coincidencias Modificacion 8: ObtenerMetadato 4: obtenerMetadatosPropios 15: GuardarLog 14: ModificarMetadato Diagrama de Secuencia Modificar Metadato 19: MostrarDatosModificados 18: ErrorDatosNoCumplenEstandarEML 17: MostrarDatosModificados 16: False 13: True GUI_Error E_Metadato 3: obtenerArchivosPorUsuario GUI_Confirmar Modificacion 12: ConfirmarGuardarDatos 11: VerificarDatosIngresadosMetadato Gráfico 3-44 Proyecto: AAGWP Modelo: Diagrama de Secuencia Caso de Uso: modificarMetadato Fecha: 31-01-2009 C_GestionarMetadato 9: MostrarMetadato 7: BuscarMetadato 5: MostrarCoincidencias 10: IngresarDatosModificados 6: ModificarMetadato GUI_ModificarMetadato 2: BuscarMetadatosPropios 1: CargarFormularioCoincidenciasModificacion : Usuario Registrado 3.2.4.10.Modificar Metadato E_Log 52 GUI_SubirMetadato 6: ErrorArchivoNoCumpleEstandarEML Diagrama de Secuencia Subir Metadato Proyecto: AAGWP Modelo: Diagram a de Secuencia Caso de Uso: subirMetadato Fecha: 20-02-2009 Gráfico 3-45 E_Metadato Si el archivo XML no cumple con el estructura del estándar EML 5: ArchivoCumpleEstandarEML 4: GuardarMetadato GUI_Error Si el archivo XML cumple con estructura del estándar EML C_GestionarMetadato 3: VerificarEstandarEML 2: Determ inarUbicacionArchivoXML 1: CargarFormularioSubirMetadato : Usuario Registrado 3.2.4.11.Subir Metadato 53 GUI_Coincidencias Eliminacion GUI_GestorBus quedaMetadato 4: VerMetadato 7: EliminarMetadato GUI_Error GUI_ConfirmarEli minacion 10: True Diagrama de Secuencia Eliminar Metadato 14: False 13: MetadatoEliminadoSatisfactoriamente Proyecto: AAGWP Modelo: Diagrama de Secuencia Caso de Uso: eliminarMetadato Fecha: 31-01-2009 15: VerMetadato C_GestionarMetadato E_AAGWP 12: GuardarLog 11: EliminarMetadato 9: ConfirmarEliminarMetadato 8: EliminarMetadato 6: MostrarMetadatoParaEliminar 5: BuscarMetadato GUI_EliminarMe tadato Gráfico 3-46 3: MostrarCoincidenciasDeBusqueda 2: CargarFormularioIngresarPalabraClave 1: CargarFormularioCoincidenciasEliminacion : Administrador 3.2.4.12.Eliminar Metadato E_Log 54 55 3.2.4.13.Descargar Herramienta GUI_Descargar Herramienta : Visitante : KNB 1: Llamar pagina de KNB 2: Buscar url especifica 3: Abrir url solicitada Proyecto: AAGWP Modelo: Diagrama de Secuencia Caso de Uso: descargarHerramienta Fecha: 31-01-2009 Gráfico 3-47 Diagrama de Secuencia Descargar Herramienta 56 3.2.4.14.Crear Nuevo Usuario : Visitante GUI_NuevoUsuario C_GestionarUsuario GUI_Error 1: CargarFormularioNuevoUsuario 2: Ingresar Informacion del usuario 3: VerificarDatosUsuario 4: VerificarUsuarioExiste 5: False 6: GuardarDatosUsuario 7: UsuarioCreadoSatisfactoriamente 8: True 9: ErrorUsuarioNoVálido Proyecto: AAGWP Modelo: Diagrama de Secuencia Caso de Uso: crearNuevoUsuario Fecha: 31-01-2009 Gráfico 3-48 Diagrama de Secuencia Crear Nuevo Usuario E_Usuario 3.2.4.15.Modificar Usuario Gráfico 3-49 6: IngresarNuevaInformacionUsuario GUI_Confirmar Modificacion 10: GuardarDatos 4: Retorna respuesta Diagrama de Secuencia Modificar Usuario Proyecto: AAGWP Modelo: Diagrama de Secuencia Caso de Uso: modificarUsuario Fecha: 31-01-2009 9: True E_Usuario 3: ObtenerDatosUsuario C_GestionarUsuario 8: ConfirmarGuardarDatos 7: VerificarDatosIngresados 5: MostrarInformacionUsuario 2: BuscarInformacionUsuario 11: False GUI_ModificarUsuario 1: CargarFormularioModificarUsuario : Usuario Registrado 57 GUI_Informacion Usuario GUI_Error Gráfico 3-50 Diagrama de Secuencia Modificar Usuario Proyecto: AAGWP Modelo: Diagrama de Secuencia Caso de Uso: eliminarUsuario Fecha: 22-01-2008 5: True 14: False 10: EliminarLogicam enteUsuario 15: ErrorUsuarioNoEncontrado 16: CargarFormularioInform acionUsuario 13: CargarFormularioInform acionUsuario E_Usuario 4: ObtenerUsuario C_GestionarUsuario 11: UsuarioEliminadoSatisfactoriamente 9: True 8: ConfirmarElim inarUsuario 7: Elim inarUsuario 6: MostrarInformacionUsuario 3: BuscarUsuario GUI_Elim inarUsuario 12: False 2: Ingresar nombre o correo electronico del usuario 1: CargarFormularioInform acionUsuario : Administrador 3.2.4.16.Eliminar Usuario 58 59 3.2.5. DIAGRAMAS DE ACTIVIDAD 3.2.5.1. Ingresar Palabra Clave Abrir Formulario Palabra Clave Ingresar Criterio de Busqueda BuscarPorFecha BuscarPorPalabr aClave MostrarError BuscarPorUsuari oCreador Buscar Campos Encontro Coincidencia Devolver Coincidencias Proyecto: AAGWP Modelo: Diagrama de Actividad Caso de Uso: ingresarPalabraClave Fecha: 31-01-2009 Gráfico 3-51 Diagrama de Actividad Ingresar Palabra Clave 60 3.2.5.2. Consultar Metadato Abrir Formulario Palabra Clave (from State/Activity Model) Ingresar Criterio de Busqueda (from State/Activity Model) BuscarPorFecha BuscarPorPalabr aClave MostrarError (from State/Activity Model) BuscarPorUsuari oCreador Buscar Campos (from State/Activity Model) Encontro Coincidencia Devolver Coincidencias (from State/Activity Model) Ir a URL Abrir URL GenerarArchivoX ML Descargar Archivo Ver Metadato Mostrar Metadato Proyecto: AAGWP Modelo: Diagrama de Actividad Caso de Uso: consultarMetadato Fecha: 31-01-2009 Gráfico 3-52 Diagrama de Actividad Consultar Metadato 61 3.2.5.3. Modificar Metadato Proyecto: AAGWP Modelo: Diagrama de Actividad Caso de Uso: modificarMetadato Fecha: 31-01-2009 Abrir Formulario Palabra Clave (from State/Activity Model) Ingresar Criterio de Busqueda (from State/Activity Model) Mostrar Mensaje Exito BuscarPorFecha Confirm a Desea Guardar BuscarPorPalabr aClave Guardar Metadato MostrarError (from State/Activity Model) BuscarPorUsuari oCreador MostrarError Cumple (from State/Activity Model) Buscar Campos (from State/Activity Model) Verificar Estandar EML Encontro Coincidencia Llenar los campos Devolver Coincidencias (from State/Activity Model) Gráfico 3-53 Abrir Formulario de Edicion Diagrama de Actividad Modificar Metadato 62 3.2.5.4. Eliminar Metadato Abrir Formulario Palabra Clave (from State/Activity Model) Ingresar Criterio de Busqueda (from State/Activity Model) BuscarPorFecha BuscarPorPalabr aClave MostrarError BuscarPorUsuari oCreador (from State/Activity Model) Buscar Campos (from State/Activity Model) Encontro Coincidencia Devolver Coincidencias (from State/Activity Model) Mostrar Metadato Ir a Eliminar MostrarError Desea Eliminar (from State/Activity Model) Metadato Eliminado Gráfico 3-54 Proyecto: AAGWP Modelo: Diagrama de Actividad Caso de Uso: modificarMetadato Fecha: 31-01-2009 Diagrama de Actividad Modificar Metadato 63 3.3. DISEÑO 3.3.1. DIAGRAMAS DE COLABORACIÓN 3.3.1.1. Iniciar Sesión 8: mensajeError(String) : GUIError 1: ingresarLoginPassword( ) 2: autenticarUsuario(String, String) : GUIIniciarSesion : Usuario Registrado 3: verificarLoginPassword(String, String) 9: ingresarLoginPassword( ) : CGestionarUsuario 5: True 7: False : Usuario 4: ConexionBDD( ) 6: abrirHomePage( ) Proyecto: AAGWP Modelo: Diagrama de Colaboración Caso de Uso: iniciarSesion Fecha: 31-01-2009 : GUIHomePage Gráfico 3-55 : CConexionBDD Diagrama de Colaboración Iniciar Sesión 3.3.1.2. Cambiar Password 1: ingresarNuevoPassword( ) : GUICambiarPassword : Usuario Registrado 2: verificarPasswordAnterior( ) 3: compararPassword(String, String) 6: guardarPassword(String, String) : GUIError 7: operacionSatisfactoria(String) 9: mensajeError(String) : CGestionarUsuario 5: True 8: False : Usuario 4: ConexionBDD( ) Proyecto: AAGWP Modelo: Diagrama de Colaboración Caso de Uso: cambiarPassword Fecha: 31-01-2009 : CConexionBDD Gráfico 3-56 Diagrama de Colaboración Cambiar Password 64 3.3.1.3. Recuperar Password 8: mensajeError(String) : GUIError 1: ingresarLoginEmail( ) 2: verificarLoginEMail() 3: buscarUsuario(String, String) 9: ingresarLoginEm ail( ) : Usuario Registrado : GUIRecuperarPassword : CGestionarUsuario 5: True 7: False : Usuario 4: ConexionBDD() Proyecto: AAGWP Modelo: Diagrama de Colaboración Caso de Uso: recuperarPassword Fecha: 02-02-2009 6: mostrarPassword(String) : GUIVerPassword Gráfico 3-57 : CConexionBDD Diagrama de Colaboración Recuperar Password 3.3.1.4. Consultar Metadato : GUIDescargarArchivoXML 5: descargarArchivoXML( ) 1: buscarCoincidenciasBusqueda( ) 4: descargarArchivoXML( ) 6: abrirReferenciaMetadato( ) 8: verMetadatoCompleto( ) Proyecto: AAGWP Modelo: Diagrama de colaboración Caso de Uso: consultarMetadato Fecha: 31-01-2009 2: ingresarPalabraClave( ) 3: mostrarCoincidenciasBusqueda( ) : GUIMostrarCoincidencia : GUIPalabraClave : Visitante 7: abrirURL( ) : GUIReferenciaMetadato Gráfico 3-58 9: mostrarMetadato(String) : GUIMostrarMetadato Diagrama de Colaboración Consultar Metadato 65 3.3.1.5. Descargar Archivo XML 1: DescargarArchivoXML() : GUIDescargarArchivoXML : Visitante : AAGWP 2: BuscarEML(string) 4: ObtenerMetadatoEML(string) Proyecto: AAGWP Modelo: Diagrama de Colaboración Caso de Uso: descargarArchivoXML Fecha: 20-02-2009 3: RetornarArchivoEML(string) : CGestorConsultasBean Gráfico 3-59 : CConexionXML Diagrama de Colaboración Descargar Archivo XML 3.3.1.6. Acceder Referencia Metadato 1: abrirURL( ) : GUIReferenciaMetadato : Visitante 5: AbrirUrl Proyecto: AAGWP Modelo: Diagrama de Colaboración Caso de Uso: accederReferenciaMetadato Fecha: 31-01-2009 2: buscarURL( ) 3: 4: UrlMetadato : CMetadatoBean Gráfico 3-60 : AAGWP Diagrama de Colaboración Acceder Referencia Metadato 66 3.3.1.7. Mostrar Metadato Íntegramente 1: mostrarMetadato(String) : Visitante 2: buscarMetadato(String) 5: mostrarMetadato(String) : GUIMostrarMetadato : CMetadatoBean 3: retornaArchivo(String) 4: obtenerMetadato(String) : AAGWP : CConexionXML Proyecto: AAGWP Modelo: Diagrama de Colaboración Caso de Uso: mostrarMetadatoIntegramente Fecha: 31-01-2009 Gráfico 3-61 Diagrama de Colaboración Mostrar Metadato Íntegramente Gráfico 3-62 11: ingresarPalabraClave( ) Diagrama de Colaboración Ingresar Palabra Clave : GUIError 10: mensajeError(String) : CGestorConsultasBean 3: buscarFecha(Date) 5: buscarPalabraClave(String) 7: buscarAutor(String) : GUIMostrarCoincidencia 9: RetornaCoincidencias 2: buscarCoincidencias( ) Proyecto: AAGWP Modelo: Diagrama de Colaboración Caso de Uso: ingresarPalabraClave Fecha: 31-01-2009 : GUIPalabraClave 1: ingresarPalabraClave( ) : Visitante 3.3.1.8. Ingresar Palabra Clave : AAGWP 4: obtenerMetadato(String) 6: obtenerMetadato(String) 8: obtenerMetadato(String) : CConexionXML 67 : CConexionBDD : CMetadato Diagrama de Colaboración Crear Metadato : Log 8: ConexionBDD( ) 7: guardarLog(int, String) : CMetadatoBean Gráfico 3-63 9: operacionSatisfactoria(String) 10: mensajeError(String) : CGenerarXML : CConexionXML : AAGWP 6: guardarMetadato(File) 5: guardarXML(File) 4: imprimirXML(CMetadatoBean) 3: Metadato(CMetadatoBean) 2: generarXML( ) : GUICrearMetadato 11: ingresarNuevoMetadato( ) Proyecto: AAGWP Modelo: Diagrama de Colaboración Caso de Uso: crearMetadato Fecha: 31-01-2009 : GUIError : Usuario Registrado 1: ingresarNuevoMetadato( ) 3.3.1.9. Crear Metadato 68 : GUIError : GUIModificarMetadato Gráfico 3-64 Proyecto: AAGWP Modelo: Diagrama de Secuencia Caso de Uso: modificararMetadato Fecha: 31-01-2009 19: operacionSatisfactoria(String) 12: mostrarMetadatoParaModificar( ) 14: guardarMetadato( ) : Log 3: obtenerArchivos(int) 17: actualizarLog(int, String) : AAGWP : CConexionBDD 6: obtenerMetadato(String) 11: obtenerMetadato(String) 16: guardarMetadato(File) : CConexionXML 4: ConexionBDD( ) 18: ConexionBDD( ) Diagrama de Colaboración Modificar Metadato : CMetadatoBean 5: buscarMetadatosPropios(String) 10: obtenerMetadato(String) 15: guardarXML(File) 2: obtenerMetadatosPropios( ) 9: buscarMetadato(String) : GUICoincidenciasModificacion 7: mostrarCoincidenciasDeBusqueda( ) 13: ingresarDatosModificados( ) : Usuario Registrado 1: buscarCoincidenciasDeBusqueda( ) 8: mostrarMetadatoParaModificar(String) 3.3.1.10.Modificar Metadato 69 : Usuario Registrado Gráfico 3-65 Proyecto: AAGWP Modelo: Diagrama de Colaboración Caso de Uso: subirMetadato Fecha: 20-02-2009 : GUIError : CConexionXML : AAGWP 4: guardarXML(file) 3: guardarMetadatoEML(file) Diagrama de Colaboración Subir Metadato : CMetadatoBean 2: guardarMetadatoEML() 5: operacionSatisfacionaria(string) 6: mensajeError(string) : GUISubirMetadato 1: ubicarArchivoXML( ) 3.3.1.11.Subir Metadato 70 Gráfico 3-66 Proyecto: AAGWP Modelo: Diagrama de Secuencia Caso de Uso: eliminarMetadato Fecha: 31-01-2009 : GUICoincidenciasEliminacion : GUIError 6: ConexionBDD( ) Diagrama de Colaboración Eliminar Metadato : CConexionBDD : CMetadatoBean : AAGWP : Log 5: actualizarLog(int, String, int) : CConexionXML 4: eliminarMetadato(String) 3: eliminarMetadato(String) 7: operacionSatisfactoria(String) 2: eliminarMetadato( ) 1: buscarCoincidenciasBusqueda( ) : Administrador 3.3.1.12.Eliminar Metadato 71 72 3.3.1.13.Descargar Herramienta 1: abrirPaginaKNB( ) 2: abrirURL( ) : GUIDescargarHerramienta : Visitante : KNB Proyecto: AAGWP Modelo: Diagrama de Colaboración Caso de Uso: descargarHerramienta Fecha: 31-01-2009 Gráfico 3-67 Diagrama de Colaboración Descargar Metadato 3.3.1.14.Crear Nuevo Usuario 1: ingresarNuevoUsuario( ) : GUINuevoUsuario : Visitante 2: verificarDatosUsuario( ) 3: verificarUsuarioExistente(String, String) 5: guardarUsuario(String, String, String, String, String) : GUIError 6: operacionSatisfactoria(String) 8: mensajeError(String) : CGestionarUsuario 7: True : Usuario 4: ConexionBDD() Proyecto: AAGWP Modelo: Diagrama de Colaboración Caso de Uso: crearNuevoUsuario Fecha: 31-01-2009 : CConexionBDD Gráfico 3-68 Diagrama de Colaboración Crear Nuevo Usuario : Usuario Registrado 8: confirmarGuardarDatos( ) 9: True Gráfico 3-69 Diagrama de Colaboración Modificar Usuario Proyecto: AAGWP Modelo: Diagrama de Colaboración Caso de Uso: modificarUsuario Fecha: 31-01-2009 4: ConexionBDD() 11: ConexionBDD( ) : Usuario : CConexionBDD 3: buscarUsuario(Integer) 10: modificarUsuario( ) 5: mostrarInformacionUsuario( ) : GUIModificarUsuario : CGestionarUsuario 2: buscarUsuario(Integer) 7: verificarDatosUsuario( ) 12: False : GUIConfirmarModificacionUsuario 1: obtenerInformacionUsuario(Integer) 6: ingresarInformacionUsuario( ) 3.3.1.15.Modificar Usuario 73 : Administrador Diagrama de Colaboración Eliminar Usuario 8: confirmarEliminarUsuario(Integer) 9: True 4: ConexionBDD() 11: ConexionBDD( ) : CConexionBDD : Usuario 5: True 12: True 16: False 6: mostrarInformacion( ) 18: ingresarLoginEmail( ) : CGestionarUsuario 3: buscarUsuario(String, String) 10: eliminarUsuario(Integer) 13: operacionSatisfactoria(String) 17: mensajeError(String) : GUIError 2: buscarUsuario(String, String) 7: eliminarUsuario(Integer) Gráfico 3-70 : GUIEliminarUsuario 14: False : GUIInformacionUsuario 1: ingresarLoginEmail( ) 15: ingresarLoginEmail( ) Proyecto: AAGWP Modelo: Diagrama de Colaboración Caso de Uso: eliminarUsuario Fecha: 31-01-2009 3.3.1.16.Eliminar Usuario 74 1: ingresarLoginPassword( ) : Usuario Registrado : GUIIniciarSesion DIAGRAMA DE SECUENCIA 3.3.2.1. Iniciar Sesión 3.3.2. : GUIError Gráfico 3-71 Diagrama de Secuencia Iniciar Sesión Proyecto: AAGWP Modelo: Diagrama de Secuencia Caso de Uso: iniciarSesion Fecha: 31-01-2009 9: ingresarLoginPassword( ) : Usuario 7: False 5: True : CConexionBDD 4: ConexionBDD( ) 3: verificarLoginPassword(String, String) : CGestionarUsuario 8: mensajeError(String) 6: abrirHomePage( ) 2: autenticarUsuario(String, String) : GUIHomePage 75 : GUICambiarPassword Gráfico 3-72 Proyecto: AAGWP Modelo: Diagrama de Secuencia Caso de Uso: cambiarPassword Fecha: 31-01-2009 : GUIError Diagrama de Secuencia Cambiar Password 9: mensajeError(String) 8: False 7: operacionSatisfactoria(String) 6: guardarPassword(String, String) 5: True 3: compararPassword(String, String) : CGestionarUsuario 2: verificarPasswordAnterior( ) 1: ingresarNuevoPassword( ) : Usuario Registrado 3.3.2.2. Cambiar Password : CConexionBDD 4: ConexionBDD( ) : Usuario 76 : GUIError 8: mensajeError(String) 7: False 5: True Diagrama de Secuencia Recuperar Password Proyecto: AAGWP Modelo: Diagrama de Secuencia Caso de Uso: recuperarPassword Fecha: 31-01-2009 9: ingresarLoginEmail( ) : Usuario : CConexionBDD 4: ConexionBDD() 3: buscarUsuario(String, String) : CGestionarUsuario 6: mostrarPassword(String) 2: verificarLoginEMail() : GUIVerPassword Gráfico 3-73 : GUIRecuperarPassword 1: ingresarLoginEmail( ) : Usuario Registrado 3.3.2.3. Recuperar Password 77 : GUIMostrarCoincidencia : GUIPalabraClave 8: verMetadatoCompleto( ) 6: abrirReferenciaMetadato( ) 4: descargarArchivoXML( ) : GUIDescargarArchivoXML Gráfico 3-74 : GUIReferenciaMetadato Diagrama de Secuencia Consultar Metadato Proyecto: AAGWP Modelo: Diagrama de Secuencia Caso de Uso: consultarMetadato Fecha: 31-01-2009 9: mostrarMetadato(String) 7: abrirURL( ) 5: descargarArchivoXML( ) 3: mostrarCoincidenciasBusqueda( ) 2: ingresarPalabraClave( ) 1: buscarCoincidenciasBusqueda( ) : Visitante 3.3.2.4. Consultar Metadato : GUIMostrarMetadato 78 79 3.3.2.5. Descargar Archivo XML : Visitante : GUIDescargarArchivoXML 1: DescargarArchivoXML() : CGestorConsultasBean 2: BuscarEML(string) : CConexionXML : AAGWP 3: RetornarArchivoEML(string) 4: ObtenerMetadatoEML(string) Proyecto: AAGWP Modelo: Diagrama de Secuencia Caso de Uso: descargarArchivoXML Fecha: 20-02-2009 Gráfico 3-75 Diagrama de Secuencia Descargar Archivo XML 3.3.2.6. Acceder Referencia Metadato : Visitante : CMetadatoBean : GUIReferenciaMetadato : AAGWP 1: abrirURL( ) 2: buscarURL( ) 3: 4: UrlMetadato 5: AbrirUrl Proyecto: AAGWP Modelo: Diagrama de Secuencia Caso de Uso: accederReferenciaMetadato Fecha: 31-01-2009 Gráfico 3-76 Diagrama de Secuencia Acceder Referencia Metadato 80 3.3.2.7. Mostrar Metadato Íntegramente : Visitante : GUIMostrarMetadato : CMetadatoBean : CConexionXML : AAGWP 1: mostrarMetadato(String) 2: buscarMetadato(String) 3: retornaArchivo(String) 4: obtenerMetadato(String) 5: mostrarMetadato(String) Proyecto: AAGWP Modelo: Diagrama de Secuencia Caso de Uso: mostrarMetadatoIntegramente Fecha: 31-01-2009 Gráfico 3-77 Diagrama de Secuencia Mostrar Metadato Íntegramente : GUIError 2: buscarCoincidencias( ) : GUIMostrarCoincidencia Gráfico 3-78 Proyecto: AAGWP Modelo: Diagrama de Secuencia Caso de Uso: ingresarPalabraClave Fecha: 31-01-2009 Diagrama de Secuencia Ingresar Palabra Clave 11: ingresarPalabraClave( ) 10: mensajeError(String) Si las busquedas no devuleven coincidencias 8: obtenerMetadato(String) 6: obtenerMetadato(String) 5: buscarPalabraClave(String) 7: buscarAutor(String) : AAGWP 4: obtenerMetadato(String) : CConexionXML 3: buscarFecha(Date) : CGestorConsultasBean 9: RetornaCoincidencias Si las busquedas devuelven coinicidencias : GUIPalabraClave 1: ingresarPalabraClave( ) : Visitante 3.3.2.8. Ingresar Palabra Clave 81 : CMetadato 10: mensajeError(String) Gráfico 3-79 : CGenerarXML : CConexionXML Diagrama de Secuencia Crear Metadato Proyecto: AAGWP Modelo: Diagrama de Secuencia Caso de Uso: crearMetadato Fecha: 31-01-2009 7: guardarLog(int, String) : AAGWP 6: guardarMetadato(File) 5: guardarXML(File) 4: imprimirXML(CMetadatoBean) 3: Metadato(CMetadatoBean) : CMetadatoBean 9: operacionSatisfactoria(String) 2: generarXML( ) : GUIError 11: ingresarNuevoMetadato( ) : GUICrearMetadato 1: ingresarNuevoMetadato( ) : Usuario Registrado 3.3.2.9. Crear Metadato : CConexionBDD 8: ConexionBDD( ) : Log 82 Gráfico 3-80 Proyecto: AAGWP Modelo: Diagrama de Secuencia Caso de Us o: modificararMetadato Fecha: 31-01-2009 : CConexionXML 16: guardarMetadato(File) 11: obtenerMetadato(String) Diagrama de Secuencia Modificar Metadato 17: actualizarLog(int, String) 15: guardarXML(File) : AAGWP 6: obtenerMetadato(String) 3: obtenerArchivos(int) 10: obtenerMetadato(String) 19: operacionSatisfactoria(String) 14: guardarMetadato( ) 12: m ostrarMetadatoParaModificar( ) 9: buscarMetadato(String) 13: ingresarDatos Modificados( ) 8: mostrarMetadatoParaModificar(String) : GUIError 5: buscarMetadatos Propios (String) : CMetadatoBean 7: mostrarCoincidencias DeBus queda( ) 2: obtenerMetadatos Propios( ) : GUICoincidenciasModificacion : GUIModificarMetadato 1: bus carCoincidenciasDeBusqueda( ) : Usuario Registrado 3.3.2.10.Modificar Metadato : CConexionBDD 18: ConexionBDD( ) 4: ConexionBDD( ) : Log 83 : CMetadatoBean : GUIError : AAGWP : CConexionXML Gráfico 3-81 Proyecto: AAGWP Modelo: Diagrama de Secuencia Caso de Uso: subirMetadato Fecha: 20-02-2009 Diagrama de Secuencia Subir Metadato 6: mensajeError(string) Si el archivo XML no cumple con el estructura del estándar EML 5: operacionSatisfacionaria(string) 2: guardarMetadatoEML() Si el archivo XML cumple con estructura del estándar EML 3: guardarMetadatoEML(file) 4: guardarXML(file) : GUISubirMetadato 1: ubicarArchivoXML( ) : Usuario Registrado 3.3.2.11.Subir Metadato 84 : GUIError Gráfico 3-82 : CConexionXML : AAGWP Diagrama de Secuencia Eliminar Metadato Proyecto: AAGWP Modelo: Diagrama de Secuencia Caso de Uso: eliminarMetadato Fecha: 31-01-2009 5: actualizarLog(int, String, int) 4: eliminarMetadato(String) 3: eliminarMetadato(String) : CMetadatoBean 7: operacionSatisfactoria(String) 2: eliminarMetadato( ) : GUICoincidenciasEliminacion 1: buscarCoincidenciasBusqueda( ) : Administrador 3.3.2.12.Eliminar Metadato : CConexionBDD 6: ConexionBDD( ) : Log 85 86 3.3.2.13.Descargar Herramienta : Visitante : GUIDescargarHerramienta : KNB 1: abrirPaginaKNB( ) 2: abrirURL( ) Proyecto: AAGWP Modelo: Diagrama de Secuencia Caso de Uso: descargarHerramienta Fecha: 10-03-2008 Gráfico 3-83 Diagrama de Secuencia Descargar Herramienta 3.3.2.14.Crear Nuevo Usuario : Visitante : GUINuevoUsuario : CGestionarUsuario : GUIError : Usuario : CConexionBDD 1: ingresarNuevoUsuario( ) 2: verificarDatosUsuario( ) 3: verificarUsuarioExistente(String, String) 4: ConexionBDD() 5: guardarUsuario(String, String, String, String, String) 6: operacionSatisfactoria(String) Proyecto: AAGWP Modelo: Diagrama de Secuencia Caso de Uso: crearNuevoUsuario Fecha: 31-01-2009 Gráfico 3-84 7: True 8: mensajeError(String) Diagrama de Secuencia Crear Nuevo Usuario 87 3.3.2.15.Modificar Usuario : Usuario Registrado : GUIModificarUsuario : GUIConfirmarModificacionUsuario : CGestionarUsuario : Usuario : CConexionBDD 1: obtenerInformacionUsuario(Integer) 2: buscarUsuario(Integer) 3: buscarUsuario(Integer) 4: ConexionBDD() 5: mostrarInformacionUsuario( ) 6: ingresarInformacionUsuario( ) 7: verificarDatosUsuario( ) 8: confirmarGuardarDatos( ) 9: True 10: modificarUsuario( ) 11: ConexionBDD( ) 12: False Proyecto: AAGWP Modelo: Diagrama de Secuencia Caso de Uso: modificarUsuario Fecha: 31-01-2009 Gráfico 3-85 Diagrama de Secuencia Modificar Usuario 88 3.3.2.16.Eliminar Usuario : Administrador : GUIInformacionUsuario : GUIEliminarUsuario : GUIError : CGestionarUsuario : Usuario : CConexionBDD 1: ingresarLoginEmail( ) 2: buscarUsuario(String, String) 3: buscarUsuario(String, String) 4: ConexionBDD() 5: True 6: mostrarInformacion( ) 7: eliminarUsuario(Integer) 8: confirmarEliminarUsuario(Integer) 9: True 10: eliminarUsuario(Integer) 11: ConexionBDD( ) 12: True 13: operacionSatisfactoria(String) 14: False 15: ingresarLoginEmail( ) 16: False 17: mensajeError(String) 18: ingresarLoginEmail( ) Proyecto: AAGWP Modelo: Diagrama de Secuencia Caso de Uso: eliminarUsuario Fecha: 31-01-2009 Gráfico 3-86 Diagrama de Secuencia Eliminar Usuario (from Boundaries) <<boundary >> GUIC rearMetadato ubicarArchiv oXML() (from Boundaries) <<boundary >> GUISubirMetadato mostrarMetadato() (from Boundaries) <<boundary >> GUIMostrarMetadato mostrarMetadatoParaModif icar() ingresarDatosModif icados() (from Boundaries) <<boundary >> GU IModif icarMetadato <<redirect>> <<submit>> (from Control) <<control>> CMetadatoBean <<link>> <<link>> Metadato() (from Control) <<control>> CMetadato guardarLog() obtenerArchiv os() actualizarLog() actualizarLog() (from Entities) <<entity >> Log v erif icarEstandarEML() buscarURL() buscarMetadato() guardarMetadatoEML() eliminarMetadato() generarXML() obtenerMetadatosPropios() eliminarMetadato() titleEml : String abstractEml : String usageRight : String proy ecto : Boolean titlePry : String idContacto : Long role : String salutation : String giv enName : String surName : String organizationName : String positionName : String phone : String email : String url : String city : String country : String postalCode : String tipoContacto : int geographicDescription : String northBoundingCoordinate : f loat southBoundingCoordinate : f loat eastBoundingCoordinate : f loat westBoundingcoordinate : f loat beginDate : jav a.util.Date endDate : jav a.util.Date idPalabraClav e : Long key word : String tesauro : String metadato : CMetadato abrirURL() (from Boundaries) <<boundary >> GU IRef erenciaMetadato <<build>> (from Boundaries) <<boundary >> GUICoincidenciasModif icacion buscarCoincidenciasBusqueda() mostrarCoincidenciasBusqueda() descargarArchiv oXML() abrirRef erenciaMetadato() v erMetadatoCompleto() (from Boundaries) <<boundary >> GUIMostrarCoincidencia buscarFecha() buscarPalabraClav e() buscarAutor() guardarXML() retornaArc hiv oEML() buscarMetadatosPropios() obtenerMetadatoEML() eliminarMetadato() <<Static>> URI : String <<Static>> driv er : String <<Static>> collection : String (from Control) <<control>> CConexionXML <<build>> buscarCoincidenciasBusqueda() mostrarCoincidenciasBusqueda() v erMetadato() (from Boundaries) <<boundary >> GUICoincidenciasEliminacion buscarCoincidenciasDeBusqueda() mostrarCoincidenciasDeBusqueda() mostrarMetadatoParaModif icar() DIAGRAMA DE CLASES ingresarNuev oMetadato() 3.3.3. <<boundary >> GUIError (from Entities) <<entity >> AAGWP <<build>> Gráfico 3-87 generarArchiv oXML() imprimirXML() generaD ocumentoXML() generarDocumentoXML() generaTextoXML() guardarDocumentoXML() GenerarXML() descargarArchiv oXML() (from Boundaries) <<boundary >> GUIDescargarArchiv oXML <<build>> buscarCoincidencias() buscarEML() (from Control) <<control>> CGestorConsultasBean (from Boundaries) <<boundary >> GU IModif icarUsuario (from Control) (from Boundaries) Proy ecto: AAGWP Modelo: Diagrama de Clases Fecha: 20-02-2009 ConexionBDD() <<Static>> driv er : String <<Static>> url : String <<Static>> host : String <<Static>> database : String <<Static>> usernameBdd : String <<Static>> passwordBdd : String conexion : jav a.sql.C onnection (from Control) <<control>> CConexionBDD compararPassword() guardarPassword() guardarUsuario() v erif icarUsuarioExistente() buscarUsuario() eliminarUsuario() v erif icarLoginPassword() buscarUsuario() modif icarUsuario() buscarUsuario() buscarPorUsername() bdd : CConexionBDD st : jav a.sql.statement rs : jav a.sql.ResulSet query : String f lag : Boolean (from Entities) <<entity >> Usuario <<build>> abrirPaginaKN B() (from Boundaries) <<boundary >> GU IDescargarHerramienta ingresarLoginEmail() mostrarInf ormacion() conf irmarEliminarUsuario() (from Boundaries) <<boundary >> GUIInf ormacionUsuario v erif icarPasswordAnterior() v erif icarDatosUsuario() buscarUsuario() eliminarUsuario() autenticarU suario() buscarUsuario() v erif icarDatosUsuario() id_user : int nombre : String apellido : String username : String password : String conf irmarPassword : String mail : String passwordActual : String resultado : Boolean usuario : U suario <<control>> CGestionarUsuario <<submit>> (from Boundaries) <<boundary >> GU IEliminarUsuario <<build>> <<build>> <<redirect>> <<submit>> <<submit>> eliminarUsuario() conf irmarEliminarUsuario() <<boundary >> GU INuev oUsuario <<submit>> obtenerInf ormacionUsuario() mostrarInf ormacionUsuario() ingresarInf ormacionU suario() <<submit>> ingresarNuev oUsuario() ingresarNuev oPassword() (from Boundaries) <<boundary >> GU ICambiarPassword Diagrama Clases de Diseño <<Static>> TAG_EML : String <<Static>> TAG_DATASET : String <<Static>> TAG_ID : String <<Static>> TAG_TITULOEML : String <<Static>> TAG_PROJECT : String <<Static>> TAG_NOMBREINSTITU CION : String <<Static>> TAG_FUNDING : String <<Static>> TAG_ABSTRAC T : String <<Static>> TAG_KEY WORDSET : String <<Static>> TAG_KEY WORDTHESAURUS : String <<Static>> TAG_CONTACT : String <<Static>> TAG_ORGANIZATIONNAME : String <<Static>> TAG_POSITIONN AME : String <<Static>> TAG_PHONE : String <<Static>> TAG_EMAIL : String <<Static>> TAG_URL : String <<Static>> TAG_INDIVIDU ALNAME : String <<Static>> TAG_SALUTATION : String <<Static>> TAG_GIVENAME : String <<Static>> TAG_SURNAME : String <<Static>> TAG_ADDRESS : String <<Static>> TAG_CITY : String <<Static>> TAG_COUNTRY : String <<Static>> TAG_POSTALCODE : String <<Static>> TAG_GEOGRAPHIVDESCRIPTION : String <<Static>> TAG_BOUNDINGCOORDINATES : String <<Static>> TAG_NORTHBOUNDINGCOORDINATE : String <<Static>> TAG_SOUTHBOUNDIN GCOORDINATE : String <<Static>> TAG_EASTBOU NDINGCOORD INATE : String <<Static>> TAG_WESTBOUNDINGCOORDNATE : String <<Static>> TAG_TEMPORALCOVERAGE : String <<Static>> TAG_DATEBEGIN : String <<Static>> TAG_DATEEND : String <<Static>> TAG_USAGERIGHTS : String <<Static>> XML_VERSION : String <<Static>> XML_ENCODIN G : String <<Static>> JAVA_ENCODING : String documentoXML : org.w3c.dom.D ocument descarga : lorg.w3c.dom.Element <<Static>> uriExist : String <<Static>> uriXMLRPC : String <<Static>> driv er : String <<Static>> collection : String (from Control) <<control>> CGenerarXML guardarMetadatoEML() obtenerMetadatoEML() eliminarMetadato() actualizarMetadato() mensajeError() operacionSatisf actoria() (from Boundaries) <<build>> <<submit>> ingresarPalabraClav e() dev olv erCoincidenciasBusqueda() (from Boundaries) <<boundary >> GUIPalabraClav e (from Boundaries) <<boundary >> GUIConf irmarModif icacionUsuario mostrarPassword() (from Boundaries) <<boundary >> GUIVerPassword abrirH omePage() (from Boundaries) <<boundary >> GUIHomePage ingresarLoginPassword() (from Boundaries) <<boundary >> GUIIniciarSesion ingresarLoginEmail() (from Boundaries) <<boundary >> GUIRecuperarPassword conf irmarGuardarD atos() 89 90 3.3.4. DISEÑO DE INTERFASES Por ser el nodo AAGWP – Ecuador un portal Web, debe ser fácilmente navegable, consta de una cabecera que lleva el logo identificativo del portal, un frame izquierdo con el menú de opciones de fácil navegación y el frame central derecho que es se encargara de mostrar la información que requiera el usuario. Detallamos las interfaces más representativas de nuestro portal. Gráfico 3-88 Interfaz del Nodo AAGWP – Ecuador 3.3.4.1. Interfaz de Ingreso al nodo AAGWP – Ecuador General 91 Gráfico 3-89 Interfaz de Acceso al Nodo AAGWP - Ecuador 3.3.4.2. Interfaz Crear nuevo usuario al nodo AAGWP – Ecuador Gráfico 3-90 Interfaz Crear nuevo usuario en Nodo AAGWP – Ecuador 92 3.3.4.3. Interfaz Ingresar Palabra Clave al nodo AAGWP – Ecuador Gráfico 3-91 Interfaz Consultar metadato en Nodo AAGWP - Ecuador 3.3.4.4. Interfaz Crear metadato en el nodo AAGWP – Ecuador Gráfico 3-92 Interfaz Crear Metadato en Nodo AAGWP – Ecuador 93 3.3.4.5. Interfaz Mostrar metadato consultado en el nodo AAGWP – Ecuador Gráfico 3-93 Interfaz Mostrar Metadato del Nodo AAGWP - Ecuador 94 4. CONSTRUCCIÓN Y PRUEBAS 4.1.1. MODELO CONCEPTUAL usuario <pi> NO <M> id_usuario nombre_usr VA50 <M> apellido_usr VA50 <M> username_usr VA15 <M> password_usr VA15 <M> mail_usr VA50 <M> perfil perfil_usuario <pi> NO <M> serial_pfl nombre_pfl VA20 <M> Key_1 <pi> Identifier_1 <pi> Proyecto: AAGWP Modelo: Entidad-Relación(Conceptual) Fecha: 31-01-2009 usuario_log log <pi> NO <M> serial_log nombreXml_log VA20 <M> tipoArchivo_log A10 <M> fecha_log D <M> estado_log INT4 <M> Identifier_1 <pi> Gráfico 4-1 4.1.2. Modelo Conceptual Base de Datos Relacional MODELO FISICO usuario id_usuario serial_pfl nombre_usr apellido_usr username_usr password_usr mail_usr SERIAL <pk> INT4 <fk> VARCHAR(50) VARCHAR(50) VARCHAR(15) VARCHAR(15) VARCHAR(50) perfil FK_PERFIL_USUARIO SERIAL <pk> serial_pfl nombre_pfl VARCHAR(20) Proyecto: AAGWP Modelo: Entidad-Relación(Físico) Fecha: 31-01-2009 FK_USUARIO_LOG log serial_log id_usuario nombreXml_log tipoArchivo_log fecha_log estado_log SERIAL <pk> INT4 <fk> VARCHAR(20) CHAR(10) DATE INT4 Gráfico 4-2 Modelo Físico Base de Datos Relacional 95 4.1.3. DIAGRAMA DE COMPONENTES Gestion de Usuarios Procesamiento de la Informacion Base de Datos Gestion de Metadatos Proyecto: AAGWP-ECUADOR Nombre: Diagram a de Componentes Nivel: 1 Gráfico 4-3 4.1.4. Diagrama de Componentes DIAGRAMA DE DESPLIEGUE Servidor BDD Browser Mozilla Firefox o IE Web Server Application Server Apache T omcat Servidor BDD XML Proyecto: AAGWP-Ecuador Nombre: Diagram a de Despliegue Nivel 1 Gráfico 4-4 PostgreSQL eXist Diagrama de Despliegue 5. CONCLUSIONES Y RECOMENDACIONES 5.1. Conclusiones El uso de metadatos estructurados estandarizados representan un significativo avance que facilitara la colaboración entre científicos y la comunidad en general es por ello que este proyecto utiliza para generar, procesar, consultar; archivos con el estándar EML como medio de 96 intercambio de datos y metadatos, esto gracias al uso de lenguajes y técnicas de programación que están siendo usadas en la actualidad como Java, XML, XSL, XQuery, XPath, etc. La unidad de almacenamiento en una base de datos nativa como Exist es un documento XML, lo que seria el equivalente a una fila en una tabla de una base de datos relacional a diferencia de estas últimas que tienen un mayor rendimiento con datos tabulares. Hoy en día se están desarrollando diferentes modelos que permiten una organización más eficaz de las colecciones así como mayor efectividad en la recuperación de la información en documentos XML, es así como la base de datos XML Nativa utiliza índices en: elementos, atributos y las palabras clave organizadas por colección y no por documento. 5.2. Recomendaciones Tener presente la importancia de compartir información y sobre todo la preservación de los metadatos estandarizados con la posibilidad de utilizarlos adecuadamente en proyectos ecológicos y sociales ayudarán a mejorar la calidad de recolección de metadatos para estudios en curso y futuros. Dados los interesantes resultados a nivel internacional que se ha obtenido compartiendo y recolectando metadatos se sugiere sentar las bases para crear un equipo de trabajo conjunto entre las instituciones públicas y privadas, personas particulares, centros educativos y la comunidad científica en general a fortalecer el nodo AAGWP-Ecuador y fomentar el desarrollo de proyectos similares. Mantener los metadatos actualizados y revisarlos periódicamente, es responsabilidad de las instituciones, científicos y demás colaboradores que 97 aporten con la información de metadatos debiendo estos ser debidamente documentados y publicados para beneficio de la comunidad que hace uso de los mismos. REFERENCIAS BIBLIOGRAFICAS 1. UCLM Ingeniería de Software I, http://alarcos.inf- cr.uclm.es/doc/ISOFTWAREI/Tema04.pdf, actualización marzo 2007 2. Desarrollo Orientado a Objetos, Universidad Carlos III de Madrid – España, http://www.wikilearning.com/tutorial/desarrollo_orientado_a_objetos_con_umldiagrama_de_casos_de_uso/6321 3. http://tvdi.det.uvigo.es/~avilas/UML/node25.html 4. IBM RUP Rational Unified Process®, Rational Software Corporation, Versión 2002.05.00. 5. Extensible Markup, http://www.w3c.org/XML/, W3C, octubre 2008 6. eXist, http://exist.sourceforge.net/, Open Source Native XML Database, febrero 2009 7. GNU, LGLP, http://www.es.gnu.org/modules/content/index.php?id=9, febrero 1999 8. XQuery, http://es.wikipedia.org/wiki/XQuery, Wikipedia, enero 2009 9. XPath, http://es.wikipedia.org/wiki/XPath, Wikipedia, diciembre 2008 10. XSL, http://es.wikipedia.org/wiki/XSL, Wikipedia, noviembre 2008 98 BIBLIOGRAFIA • ARLOW, Jim; NEUSTADI, Ila. UML and the unified process practical objectoriented analysis & design. 1ra edición. Editorial ADDISON-WESLEY. 2002 • BOGGS, Wendy; BOGGS Michael. Mastering UML with Rational Rose 2002. 1ra edición. Editorial SYBEX Inc. 2002 • EELES, Peter; HOUSTON Kelli; KOZACZYNSKI, Wojtek. Building J2EE Applications with the Rational Unified Process. 1ra edición. Editorial ADDISON-WESLEY. 2003 • MANN, Kito. Java Server Faces in Action. 1ra edición. Editorial MANNING PUBLICATIONS. 2005 • ZAMBON, Giulio; SEKLER, Michael. Beginning JSP, JSF, and Tomcat Web Development from Novice to Professional. 1ra edición. Editorial APRES. 2007 • GEARY, David; HORSTMANN, Cay. Core Java Server Faces. 2da edición. Editorial PRENTICE HALL. 2007 • MANGANO, Sal. XSLT Cookbook. 1ra edición. Editorial O’REILLY. 2006 • XQuery. Univerdidad de Sevilla. Departamentos de Lenguajes y Sistemas Informáticos. 2005 • ARMSTRONG, Eric; BALL, Jennifrer; BODOFF Stephanie; BODE, Debbie; EVANS, Ian; GREEN, Dale; HAASE, Kim; JENDROCK, Eric.The J2EE 1.4 Tutorial for SUN Java System Application Server Plataform Edition 8.2. Sun Microsystems. 2005 99 • Manejo de Sesiones con JSP. Universidad de Salamanca. Departamento de Informática y Automática. 2002 • TORRENS, Rodrigo. Desarrollo de Sistemas de Información bio-climática. Universidad de los Andes. 2003 • Java Fundamentals. Escuela Politécnica Nacional. Centro de Educación Continua (CEC). 2007 • J2EE Web Applications. Escuela Politécnica Nacional. Centro de Educación Continua (CEC). 2007 • Building EJB’S with J2EE. Escuela Politécnica Nacional. Centro de Educación Continua (CEC). 2007 • Ecological Metadata Language (EML) Specification. Knowledge Network for Biocomplexity (KNB). http://knb.ecoinformatics.org/eml , 2005 • Metadologías de Desarrollo. UCLM. Ingeniería de Software I. http://alarcos.inf-cr.uclm.es/doc/ISOFTWAREI/Tema04.pdf , 2007 • W3C, Extensible Markup XML, http://www.w3c.org/XML/ , 2008 • eXist, Open Source Native XML Database, http://exist.sourceforge.net/ , 2009 • GNU, LGLP, http://www.es.gnu.org/modules/content/ , 1999 • Enciclopedia Wikipedia. http://es.wikipedia.org/wiki/ , 2007