GESTOR PARA REPOSITORIO DE INFORMACIN BASADO EN XML
DIRECTOR: FLORENTINO FERNNDEZ RIVEROLACODIRECTOR: DAVID MARTNEZ CARBALLO
ANTONIO MARTNEZ CARBALLO
INX-619
ndice
Introduccin
Funcionalidades del sistema
Almacenamiento de informacin
Arquitectura del Sistema
Interfaces de usuario
Implementacin
Plataforma de desarrollo
Tecnologas Utilizadas
Licencia
ndice
Introduccin
Problemtica existente
En la actualidad existe una cantidad elevada de informacin que aumenta de forma desproporcionada, surgiendo la necesidad de obtener una forma eficaz y eficiente de organizarla, configurarla y mantenerla.
Qu soluciones existen?
DMS (Document Management System Sistemas de Gestin de Documentos) los cuales permiten crear repositorios de Informacin sobre los cuales realizar bsquedas.
Solucin aportada
Creacin de un DMS, basado en XML, que realiza bsquedas en el contenido de los documentos, a travs de xQuery. Dicho gestor se ejecuta sobre un servidor y es accedido mediante servicios web, lo cual permite su utilizacin en un entorno multiusuario y a travs de una red local o internet.
1. Introduccin
Funcionalidades del Sistema
2. Funcionalidades del sistema
El sistema est formado por el GestorXML y sus clientes de administracin y consulta
Cliente de consulta
Bsqueda de contenidos
Descarga de documentos
Bsqueda y consulta de documentos
Bsqueda y consulta de usuarios
Bsqueda y consulta de grupos de usuarios
Bsqueda y consulta de autores
Bsqueda y consulta de categoras
Consulta de formatos soportados
Cliente de administracin
Gestin de documentos
Gestin de categoras
Gestin de usuarios
Gestin de grupos de usuarios
Gestin de autores
Consulta de formatos soportados
GestorXML
Almacena y manipula toda la informacin referente a usuarios, documentos, grupos...
Contiene el repositorio de documentos.
Realiza las bsquedas de contenido.
Maneja las sesiones de usuario.
Accesible por los clientes a travs de servicios web.
Almacenamiento de informacin
GestorXML almacena informacin para un correcto funcionamiento del sistema. La informacin guardad es de tres tipos:
Repositorio de documentos con sus XML correspondientes
Informacin propia, relativa al sistema
3. Almacenamiento de informacin
Datos de configuracin
Documentos
3. Almacenamiento de informacin > Documentos
Los documentos son almacenados en el gestor junto su XML, que contiene toda la informacin del mismo y sobre el cual se realizan las bsquedas xQuery.
Antes de almacenarse un documento en el gestor se extrae su XML y se almacenan en su correspondiente carpeta.
El nombre del documento y de su fichero XML, ser el id que se le asigna al documento en la base de datos.
Arquitectura del Sistema
AXIS
AXIS
SERVIDORWEB
SERVIDORWEB
HTTP
HTTP
CLIENTE DE LA WEB DE CONSULTA
APLICACIN WEBDE CONSULTA
GESTORXML
CLIENTE STAND-ALONEDE ADMINISTRACIN
4. Arquitectura del sistema
SOAPSOBREHTTP
SOAPSOBREHTTP
Arquitectura de GestorXML
4. Arquitectura del sistema > Arquitectura de GestorXML
Implementa todas las funcionalidades del sistema
Integra diversas tecnologas
Eleccin de java como plataforma de desarrollo
Reside en un contenedor de servlets
La BD XML, contiene los datos del gestor y XML de documentos, accedidos mediante xQuery y DOM
Repositorio documental.
Las clases de GestorXML procesan las operaciones y controlan las sesiones de usuario.
Registro de actividades del gestor
Servicios web cliente y administrador
Arquitectura cliente web
4. Arquitectura del sistema > Arquitectura cliente web
Cliente tonto de GestorXML
Interfaz entre el usuario y GestorXML
Slo utiliza el servicio web cliente.
GestorXML reside en un contenedor de servlets
Desarrollado con JSP, usando jstl y creando tags personalizadas.
Cliente del servicio web programado con el framework AXIS.
Arquitectura cliente administrador
Cliente tonto de GestorXML
Interfaz entre el usuario y GestorXML
Slo utiliza el servicio web administrador.
Desarrollado con Java y Swing.
Cliente del servicio web programado con el framework AXIS.
4. Arquitectura del sistema > Arquitectura cliente de administracin
Interfaces de Usuario
Interfaz amigable para el usuario
web 2.0: interfaz interactiva y visual, con apariencia similar a una aplicacin de escritorio.
Los propulsores de este pensamiento esperan que los servicios de la Web 2.0 sustituyan a las aplicaciones de escritorio en muchos usos.
5. Interfaces de usuario > Web
Interfaces de Usuario
Gran esfuerzo de crear una interfaz intuitiva
Uso de look-and-feel (apariencia que se proporciona a los diferentes componentes swing) diferente al tradicional de java.
5. Interfaces de usuario > Stand-alone
Datos internos del GestorXML
6. Implementacin > Datos internos del GestorXML
La informacin de cada uno de los elementos que componen los datos del gestorXML, se almacena en un XML.
Estos XML estn definidos mediante un schema.
Aspectos a tener en cuenta en los XML:
Necesidad de un id autonumrico
Mximo de eficiencia
Acceso concurrente y en exclusin mutua
import java.util.concurrent.locks.ReentrantReadWriteLock;
Reflejar relaciones entre los elementos
Extensibilidad de formatos
Fcil ampliacin de formatos soportados en el gestor.
La interfaz Format permite instanciar cualquier tipo de formato a travs de la clase FormatFactory.
Para aadir un nuevo formato, simplemente se debe implementar la interfaz Format y sus mtodos:
search(): contiene la xQuery especfica que realiza la bqueda en los XML de los documentos.
extractAndSaveXML(): contiene el proceso de extraccin del XML y lo almacena en el directorio correspondiente.
6. Implementacin > Extensibilidad de formatos
Extensibilidad de motores xQuery
6. Implementacin > Extensibilidad de motores xQuery
Gran auge en el desarrollo de motores xQuery.
GestorXML permite extender los motores xQuery utilizados.
XQEngine es la interfaz que permite la independencia del motor xQuery. Es instanciada por xQueyFactory y posee los mtodos:
connection(): Instancia einicializa el motor xQuery.
query(): Ejecuta el xQuery especfico.
close(): Elimina el objeto del motor xQuery.
GestorXML permite configurar el motor xQuery a utilizar.
Interoperabilidad
Distintas aplicaciones desarrolladas en lenguajes de programacin diferentes y ejecutadas sobre cualquier plataforma pueden utilizar los servicios web.
6. Implementacin > Interoperabilidad
Plataforma de desarrollo
7. Plataforma de desarrollo
KUBUNTU Sistema Operativo
Eclipse + plugins web tools y visual editor
Quanta Programacin HTML
Imendio Planner
Umbrello - UML
GIMP
OpenOffice Paquete ofimtico
Reduccin de costes
7. Plataforma de desarrollo > Reduccin de costes
Tecnologas utilizadas
XML (eXtensible Markup Language)
DOM (Document Object Model)
XSLT (Extensible Stylesheet Language Transformations)
JAVA
Servlets
JSP (JavaServer Pages)
Otras teconologas: XHTML, CSS y DHTML
8. Tecnologas utilizadas
xQuery
XQuery es un lenguaje de consulta, diseado para escribir consultas sobre colecciones de datos expresadas en XML.
XQuery contiene Xpath, que permite localizar nodos en rboles XML
XQuery est llamado a ser el futuro estndar de consultas sobre documentos XML.
En XQuery las consultas pueden estar compuestas por clusulas de hasta cinco tipos distintos. Las consultas siguen la norma FLWOR (ledo como flower), siendo FLWOR las siglas de For, Let, Where, Order y Return.
Entre sus ventajas destacar:
8. Tecnologas utilizadas > xQuery
for $b in doc("libros.xml")//librolet $c := $b//autorwhere count($c) > 2order by $b/tituloreturn $b/ titulo
XQuery debe ser independiente del protocolo de acceso a datos.
Los resultados son XML.
Debe ser capaz de soportar XML-Schemas y DTDs y de trabajar sin ninguno de ellos.
En una misma consulta, es posible combinar informacin de mltiples fuentes.
BenchMark xQuery
8. Tecnologas utilizadas > xQuery > Benchmark
Realizacin de un benchmark, basado en xMark, para la eleccin del motor que implementa xQuery
Licencia
LGPL
9. Licencia
formato del texto de ttulo
Pulse para editar los formatos del texto del esquema
Segundo nivel del esquema
Tercer nivel del esquema
Cuarto nivel del esquema
Quinto nivel del esquema
Sexto nivel del esquema
Sptimo nivel del esquema
Octavo nivel del esquema
Noveno nivel del esquema