1 / 30

Aplicación web para la ejecución de consultas en bases de datos jurídicas XML

Aplicación web para la ejecución de consultas en bases de datos jurídicas XML. Javier García Tomillo. Patricia Cadenas Quijano. I NGENIERÍA T ÉCNICA EN I NFORMÁTICA DE G ESTIÓN. Índice. Introducción Planificación Análisis Entorno Requisitos del sistema del middleware inicial Diseño

jenski
Download Presentation

Aplicación web para la ejecución de consultas en bases de datos jurídicas XML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Aplicación web para la ejecución de consultas en bases de datos jurídicas XML Javier García Tomillo Patricia Cadenas Quijano INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN

  2. Índice • Introducción • Planificación • Análisis • Entorno • Requisitos del sistema • del middleware inicial • Diseño • Arquitectura • Capas • Un diagrama de secuencia • Implementación • Pruebas • Conclusiones • Turno de preguntas

  3. INTRODUCCIÓN Motivaciones • Existencia de una serie de documentos estructurados XML en una biblioteca digital. • Son documentos legislativos, • Que contienen referencias a otros documentos, • Almacenados en una base de datos nativa XML. • Necesidad de consultar los documentos jurídicos de los que se dispone: principalmente las referencias.

  4. INTRODUCCIÓN Objetivos Desarrollar una aplicación de consulta sobre documentos XML almacenados en una base de datos nativa XML, que permita: • Realizar estas consultas de tres formas diferentes, atendiendo al nivel de conocimientos del usuario de XML: • Predefinidas • Marco • XQuery • Gestionar las consultas ejecutadas, permitiendo almacenarlas. • Gestionar el contenido de la base de datos. • La existencia de diversos roles de usuario, que definirán la funcionalidad a la que puede acceder cada uno. Además, si es posible, se utilizará el middleware para interactuar con la base de datos.

  5. PLANIFICACIÓN

  6. ANÁLISIS Entorno Conceptos previos • Colección: un conjunto de documentos XML, que se define en base a los criterios del usuario. Puede contener subcolecciones. • Subcolección: es una colección contenida en otra colección. • Clase: un conjunto de documentos que comparten la misma regla de composición, es decir, el esquema. • Esquema: es un archivo DTD que contiene las reglas que debe cumplir un documento XML para estar bien formado.

  7. ANÁLISIS Entorno Documentos XML empleados: jurídicos • La aplicación utilizará los siguientes datos para realizar su labor: • Los documentos XML jurídicos o normativos • Documentos XML que contienen información acerca de las referencias presentes en dichos documentos • Documentos XML con información adicional sobre las referencias encontradas (datos)

  8. ANÁLISIS Entorno Documentos normativos <titulo id='t1'> <head>TÍTULO I : ÁMBITO DE APLICACIÓN</head> <articulo id='t1a1'> <head>Artículo 1</head> <p>Se excluirá del ámbito de aplicación del presente Convenio:</p> <p>1. el estado y la capacidad de las personas […] </p> <p>2. la quiebra, los convenios entre quebrado y […] </p> <p>3. la Seguridad Social;</p> <p>4. el arbitraje.</p> </articulo> </titulo> • Contienen documentos legislativos • Estructurados jerárquicamente • Tienen referencias a otros documentos normativos

  9. ANÁLISIS Entorno Documentos que contienen información sobre las referencias <ENLACE> <ORIGEN xlink:type="locator" xlink:href="es_488A0592_LUGANO.xml#xpointer(/doc/titulo[1]/articulo[1]/p[1])" xlink:label="es_488A0592_LUGANO-t1a1p1" string="presente Convenio" doctype="norma" /> <DESTINO xlink:type="locator" xlink:href="es_488A0592_LUGANO.xml" xlink:label="es_488A0592_LUGANO" doctype="norma" /> <ARCO xlink:type="arc" xlink:from="es_488A0592_LUGANO-t1a1p1" xlink:to="es_488A0592_LUGANO" xlink:show="other" xlink:arcrole="citation" xlink:actuate="none" /> </ENLACE> • Una entrada para cada referencia encontrada • El punto de origen de la referencia • La cadena de texto que conforma la referencia • Y el destino o destinos de la referencia

  10. ANÁLISIS Entorno Documentos que describen las referencias (datos) <datosref xlink:href="es_488A0592_LUGANO.xml#xpointer(/doc/titulo[1]/articulo[1]/p[1])" string="presente Convenio"> <caddetectada>presente Convenio</caddetectada> <cadcorregida/> <taxonomiadetec contexto="Relativa" item="Documento" ambito="Interna" numero="Simple"/> <errordeteccion/> <destino> <errorresolucion/> <xpointerautomatico>es_488A0592_LUGANO.xml</xpointerautomatico> <xpointercorregido/> </destino> </datosref> • Una entrada para cada referencia encontrada. • La describe de acuerdo a su clasificación según una taxonomía dada y su detección • Incluye el origen y el destino de la referencia

  11. ANÁLISIS Entorno Taxonomía de las referencias • Tipo de ítem referenciado • Documentos • Fragmentos • Ámbito de la referencia • Interna • Externa • Número de ítems referenciados • Simple / Singular • Múltiple / Coordinada • ¿Se requiere conocimiento del contexto? • Directa • Relativa

  12. ANÁLISIS Entorno Tipos de consultas según el resultado obtenido • TIPO I • Son consultas que seleccionan un elemento, como un artículo, párrafo, sección, etc. • También se incluyen en este tipo las consultas que hagan listados de referencias. • TIPO II • Contestan a preguntas del tipo ¿Cuántas referencias…?, por lo que su resultado será siempre de tipo numérico. • TIPO III • Se refieren a la frecuencia de aparición del tipo de referencia (según la taxonomía) que se le indique.

  13. ANÁLISIS Diagrama de casos de uso

  14. ANÁLISIS del middleware inicial • Necesidad de un middleware más flexible • Nuevos requisitos • Roles: usuario, usuario avanzado y administrador. • Las clases no se limitarán a norma, links y datos. • Las subcolecciones no serán únicamente norma, links y datos, sino que se las designará con el nombre que indique el usuario al crearlas. • Documentos de distintas clases podrán estar en una misma colección. • Existirá la posibilidad de insertar documentos directamente en una colección. • El propietario de la colección puede transferir permisos a otros usuarios para permitirles el acceso a ella.

  15. ANÁLISIS del middleware inicial Estructura de ejemplo de la base de datos resultante de las modificaciones

  16. DISEÑO Arquitectura general de la aplicación • Arquitectura Cliente/Servidor • Arquitectura en tres capas

  17. DISEÑO Arquitectura general de la aplicación

  18. DISEÑO Arquitectura general de la aplicación Patrones • Modelo-Vista-Controlador • En la capa de presentación • Típico de aplicaciones web • Comando • ControladorServlet • Interfaz Java Acción • Singleton (middleware) • Controlador • Catálogos

  19. DISEÑO Capa de presentación • JSP-HTML y CSS • Transformación XML a HTML

  20. DISEÑO Capa de dominio Middleware

  21. DISEÑO Capa de dominio DomAuxiliar

  22. API XML:DB. Interactúa con el middleware y con DomAuxiliar DISEÑO Capa de dominio – Capa de datos Clases Java Acción Útiles • Complementan las clases Java Acción • No son instanciadas por el ControladorServlet • Funcionalidades encapsuladas: Constantes, ObtenerFecha… Capa de datos

  23. DISEÑO Un diagrama de secuencia: Realizar consulta en XQuery • Ilustra el comportamiento general de la aplicación ante un evento

  24. IMPLEMENTACIÓN • Modificaciones del middleware: más flexible • La aplicación condiciona el funcionamiento del middleware: • Gestión de la base de datos: exclusivo del administrador • Consultas predefinidas: sobre colección de ejemplo • Consultas marco: • Por tipos según lo que se desea buscar • Consultas Marco de Tipo 1: • Por identificador: <seccion id=“s1”> • Por orden: <seccion id=“t1s1”> ó <seccion> • Consultas Marco de Tipo 2 • Consultas Marco de Tipo 3 es_488A0592_LUGANO.xml#xpointer(/doc/titulo[1]/articulo[1]/p[1])

  25. IMPLEMENTACIÓN Una consulta • Una consulta de tipo 1 que muestra referencias: for $x in doc(“Textos UE/Reglamentos/datos-bruselas-links.xml")/datosenlaces/datosref where $x/taxonomiadetec[@item="Documento" and (@numero="Simple" or @numero="Singular") and @ambito="Externa" and @contexto="Directa"] return $x

  26. IMPLEMENTACIÓN • Consultas XQuery • Historial de consultas • Estructura de documento XML de una consulta guardada <item> <usuario></usuario> <fecha></fecha> <consulta></consulta> <descripcion><descripcion> <consulta-xquery></consulta-xquery> <resultado></resultado> </item>

  27. PRUEBAS • Orientadas a detectar fallos • Baterías de pruebas de caja negra de análisis de valores límite y conjetura de errores • Fallos encontrados:

  28. CONCLUSIONES • Se presenta una aplicación capaz de interactuar con una base de datos nativa XML y gestionar su contenido, que tiene como objetivo principal la ejecución de consultas sobre ella, clasificadas en tipos de acuerdo al conocimiento de XML del usuario. • Es flexible: permite el manejo de cualquier documento XML • Es reutilizable: • Permite la inclusión de nuevas funcionalidades de forma sencilla • Permite modificar la interfaz sin cambios en la lógica de negocio: CSS • Es portable • Evaluación del middleware: útil para la abstracción, aunque con mejoras • Cumple los requisitos definidos en la sección de Análisis

  29. CONCLUSIONES Trabajo futuro • Pruebas con usuarios: evaluar la utilidad de la aplicación diseñada. • Modificar el middleware para desvincular los roles. • Unificación, en un proyecto común, la visualización y modificación de referencias y la consulta de documentos. • Inclusión de gráficos en algunos resultados de consultas marco tipo 3.

  30. TURNO DE PREGUNTAS

More Related