SISTEMA PARA EL DEPÓSITO DE DOCUMENTOS EN REPOSITORIOS INSTITUCIONALES SYSTEM FOR THE DEPOSIT OF DOCUMENTS IN INSTITUTIONAL REPOSITORIES Ing. Gleidis Yuriannis Rosabal Espinosa1, Ing. Luis Carlos Álvarez Fernández2, Ing. Eduardo Rojas Escobar3 1 Universidad de las Ciencias Informáticas, Cuba, gyrosabal@uci.cu, Carretera San Antonio de los Baños km 2 ½ Torrens, La Lisa, La Habana 2 Universidad de las Ciencias Informáticas, Cuba, lcalvarez@uci.cu 3 Universidad de las Ciencias Informáticas, Cuba, erescobar@uci.cu RESUMEN: Los repositorios digitales (institucionales o temáticos) juegan un papel importante en la conservación de documentos. Estos se encargan de centralizar, normalizar, almacenar y preservar la producción científica y académica de las instituciones. Uno de los sistemas más utilizados como base para la construcción de un repositorio institucional es DSpace. Este sistema tiene integrado un módulo dedicado al envío de documentos digitales, que presenta problemas en su configuración. Solo se realizan algunas validaciones como la de los campos obligatorios. Si hay cambios en la versión de DSpace, cambia también la forma del envío. Es por ello que se requiere la implantación de un sistema que sea independiente de la versión de DSpace que se utilice y que resuelva las deficiencias antes mencionadas. Para lograr este objetivo se realiza un análisis de servicio web y protocolo apropiado para lograr el envío de documentos y metadatos. Se selecciona el estilo de arquitectura REST para realizar el envío de documento. Se describen las herramientas, tecnologías y metodología para el desarrollo del sistema. Se obtiene como resultado una aplicación que permite a los usuarios de un repositorio institucional realizar un correcto envío, validando los campos necesarios y los metadatos asociados. Palabras Clave: configuración, depósito, metadatos, REST, validación. ABSTRACT: Digital repositories (institutional or thematic) play an important role in the conservation of do-ments. These are responsible to centralize, standardize, store and preserve the scientific and academic production of institutions. One of the most used as a base for building a repo-pository is DSpace institutional systems. This system has integrated a dedicated document delivery digita-les module, which presents problems in its configuration. Only some validations such as required fields are made. If there are changes in the version of DSpace, also changes the way shipping. That is why the introduction of a system that is independent of the version of DSpace used and resolves the aforementioned deficiencies is required. To achieve this objective, a web analysis service and appropriate protocol is performed to achieve the delivery of documents and metadata. REST architectural style is selected for sending document. Tools, technologies and methodologies for system development are described. An application that allows users to perform institutional repository proper shipping, validating the required fields and associated metadata is obtained as a result. KeyWords: configuration, storage, metadata, REST, validation. “7mo Congreso Internacional de Tecnologías y Contenidos Multimedia” Rosabal, Gleidis.; Álvarez, Luis Carlos. Rojas, Eduardo. | “SISTEMA PARA EL DEPÓSITO DE DOCUMENTOS EN REPOSITORIOS INSTITUCIONALES” 1. INTRODUCCIÓN Actualmente se reconoce la importancia que reviste el empleo de las Tecnologías de la Información y las Comunicaciones (TIC). Estas se refieren a todos los instrumentos, procesos y soportes que están destinados a optimizar la comunicación humana. En las empresas, instituciones y organizaciones contar con la información oportuna para tomar las mejores decisiones en el momento adecuado, resulta algo fundamental. Las empresas, instituciones y personas han logrado informatizar los servicios y el control de documentos, debido al constante desarrollo de la información. Esta abarca documentos, informes, metodologías, publicaciones y está relacionada con la significación que adquieren los datos como resultado de su categorización y procesamiento. La información se maneja en favor de los objetivos estratégicos de una organización y en el cumplimiento de las misiones encomendadas a cada uno de sus individuos. En la actualidad los sistemas de gestión documental constituyen una de las alternativas para gestionar grandes volúmenes de documentos e información. Los sistemas de gestión de documentos comúnmente proporcionan almacenamiento, seguridad, así como capacidades de recuperación de archivos. Un ejemplo de ello son los repositorios digitales. Un repositorio, depósito o archivo es un sitio web centralizado donde se mantiene y almacena la información digital en las bases de datos o archivos informáticos. Pueden contener los archivos en su servidor o referenciar desde su web al alojamiento originario. [1] Los repositorios son herramientas eficaces para almacenar, organizar y hacer uso eficiente de la información y el conocimiento. Los recursos almacenados en los repositorios deben poseer una estructura estandarizada de metadatos que asegure la accesibilidad de los recursos digitales almacenados en el sistema. Más concretamente, los repositorios digitales son realizados para organizar, gestionar, preservar y dar libre acceso a la producción científica, académica, institucional y de cualquier otro ámbito cultural, generada por los miembros de la institución en soporte digital. [2] Los repositorios de documentos digitales se clasifican en temáticos e institucionales: Temáticos: almacenan y proporcionan acceso a la producción académica de un área temática particular, por ejemplo una disciplina. [3] Institucionales: recogen la producción de una institución y es la forma más extendida. Actualmente, se centran en una organización (universidad, departamento, instituto, sociedades cientí- ficas). Es posible definir políticas para que los miembros añadan contenidos. En esta clasificación, también se incluyen los repositorios de tesis doctorales. [4] La estructura que posee un repositorio institucional le permite organizar la información en comunidades que a su vez, se segmentan en colecciones de documentos. Su uso es factible, pues la configuración de sus funcionalidades, responde a las necesidades específicas de cada organización. La mayoría de los repositorios institucionales que existen están desarrollados sobre la base del sistema DSpace, por lo que cuenta con todas sus funcionalidades y características que están implementadas en este. DSpace es una herramienta para biblioteca digital diseñada para capturar, almacenar, ordenar, conservar y redistribuir la producción intelectual y de investigación de una universidad en formato digital. Soporta una gran variedad de datos, incluyendo libros, tesis, fotografías, videos, datos de investigación y otras formas de contenido. Es un software de código abierto que provee herramientas para la administración de colecciones digitales; y comúnmente es utilizada como solución de repositorio institucional. [5] DSpace contiene un módulo dedicado al envío de documentos digitales. Dentro de sus funciones principales se encuentran llenar un formulario con los metadatos correspondientes y adjuntar el archivo para su posterior envío. Este módulo presenta dificultades en cuanto a su configuración. No se muestran los metadatos específicos de un tipo de documento que se desea enviar. Solo se realizan algunas validaciones, como la de los campos obligatorios. Si cambia la versión de DSpace, cambia también el módulo que contiene el envío de documentos. Teniendo en cuenta estos elementos se propone como objetivo de este trabajo: desarrollar un módulo que permita configurar y validar los metadatos asociados al depósito de documentos en el sistema para repositorios digitales REPXOS 3.0. 2. CONTENIDO 2.1 Conceptos asociados Es necesario definir algunos conceptos que se manejan en los repositorios institucionales. Metadatos Un metadato es un dato estructurado sobre la información, o de forma más simple, datos que des- “7mo Congreso Internacional de Tecnologías y Contenidos Multimedia” Rosabal, Gleidis.; Álvarez, Luis Carlos. Rojas, Eduardo. | “SISTEMA PARA EL DEPÓSITO DE DOCUMENTOS EN REPOSITORIOS INSTITUCIONALES” criben datos. Los metadatos en el contexto de la Web, son datos que se pueden guardar, intercambiar y procesar por medio del ordenador. Están estructurados de tal forma que permiten ayudar a la identificación, descripción, clasificación y localización del contenido de un documento o recurso web y que, por tanto, también sirven para su recuperación. [6] Dublin Core El estándar de metadatos Dublin Core es un simple pero eficaz conjunto de elementos para describir una amplia gama de recursos de red. Describe material digital como video, sonido, imagen, texto utilizando el lenguaje XML, HTML y medios compuestos como páginas web [6] Depósito El término depósito puede tener varias acepciones: Colocación de un objeto en un lugar determinado. Lugar destinado a contener objetos para guardarlos o conservarlos. [7] En el trabajo el término depósito no se refiere al almacenamiento de documentos. En este caso, la acepción que se utiliza es la colocación de un objeto en un lugar determinado. 2.2 Servicios Web y Protocolos para realizar envíos. Un servicio web es una tecnología que utiliza un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Es un sistema de software diseñado para soportar una interacción interoperable máquina a máquina sobre una red. Los servicios web suelen ser APIs (Interfaces de Programación de Aplicaciones) Web que pueden ser accedidas dentro de una red (principalmente Internet) y son ejecutados en el sistema que los contiene. [8] Para realizar el envío de documentos digitales se realizó el estudio del protocolo SWORD y el servicio web REST, pues están implementados en el sistema DSpace. 2.2.1 SWORD SWORD es un protocolo usado en repositorios para poder realizar envíos de contenidos desde otras aplicaciones. Sus siglas corresponden a Simple Web-service Offering Repository Deposit, es decir un Servicio Web simple que ofrece servicios de depósito en un repositorio. Activar el protocolo SWORD en el repositorio REPXOS permite depositar mediante un servicio web documentos. Características Protocolo para depositar en repositorios entre aplicaciones. Implementado como un mecanismo para extraer metadatos (contenidos dentro de un archivo .Zip). Implementado para diversas plataformas (DSpace, Eprints, Fedora, IntraLibrary). [9] Ventajas Se puede configurar el servicio de envío para simplificar u omitir pasos del proceso de envíos. Cualquier usuario registrado o no registrado en el repositorio pueda insertar sus contenidos de forma simple. Permite añadir en el fichero de configuración nuevos formatos fácilmente de acuerdo a las necesidades del repositorio. [9] 2.2.2 REST REST (Transferencia de Estado Representacional) es un estilo de arquitectura de software para sistemas hipermedias distribuidos tales como la Web. REST se refiere estrictamente a una colección de principios para el diseño de arquitecturas en red. Estos principios resumen cómo los recursos son definidos y diseccionados. El término frecuentemente es utilizado en el sentido de describir a cualquier interfaz que transmite datos específicos de un domino sobre HTTP sin una capa adicional, como hace SOAP (Protocolo de Acceso a Objetos Simple). [8] Cabe destacar que REST no es un estándar, es tan solo un estilo de arquitectura basado en estándares: HTTP (Protocolo de Transferencia de Hipertexto). URL (Identificador de Recursos Uniforme). Representación de los recursos: XML/HTML/GIF/JPEG/.Cuando el servidor ejecuta (es decir, envía) un documento al navegador, envía también cierta información adicional junto con el documento, lo que se conoce como encabezado HTTP. En el campo Content-Type (Tipo de Contenido) del encabezado HTTP, se describe el tipo de formato de datos. Esta información se expresa con una etiqueta para un tipo de MIME (Extensiones Multipropósito de Correo de Internet) de medios. [10] “7mo Congreso Internacional de Tecnologías y Contenidos Multimedia” Rosabal, Gleidis.; Álvarez, Luis Carlos. Rojas, Eduardo. | “SISTEMA PARA EL DEPÓSITO DE DOCUMENTOS EN REPOSITORIOS INSTITUCIONALES” Características Las operaciones se definen en los mensajes. Presenta una dirección única para cada instancia del proceso. Cada objeto soporta las operaciones estándares definidas. Sus componentes están débilmente acoplados. Ventajas Bajo consumo de recursos. Las instancias del proceso son creadas explícitamente. El cliente no necesita información de enrutamiento a partir de la URI inicial. Generalmente fácil de construir y adoptar. 2.2.3 Selección de la vía para depósitos Para lograr el envío de Documentos hacia un repositorio se utilizará el estilo de arquitectura REST, pues este es un sistema independiente, se comunican con un lenguaje de intercambio como JSON (Notación de Objetos de JavaScript). Puede ser desarrollado en tecnologías o lenguajes con la que se puede acortar el tiempo de desarrollo. Requiere menos recursos del servidor, pues no mantiene el estado, no requiere memoria, se pueden atender más peticiones. El auge del estilo de arquitectura REST ha provocado que tenga gran aceptación en la comunidad de DSpace. La versión DSpace v5.X está compuesta por nuevas funcionalidades añadidas como la implementación REST API con CRUD (Crear, Leer, Actualizar y Eliminar recursos). Estos se utilizan para manipular los recursos HTTP, los cuales deben operar con los siguientes métodos: GET: Para consultar y leer recursos. POST: Para crear recursos. PUT: Para editar recursos. DELETE: Para eliminar recursos. 2.3 Metodologías y herramientas Para realizar el sistema de envío se utilizarán las siguientes herramientas, tecnologías y metodología. Metodología de desarrollo RUP Proceso Racional Unificado (RUP) es una metodología cuyo fin es entregar un producto de software. RUP permite el desarrollo de software a gran escala, mediante un proceso continuo de pruebas y retroalimentación, garantizando el cumplimiento de ciertos estándares de calidad. [11] Sistema Base: DSpace DSpace soporta una gran variedad de datos, incluyendo libros, tesis, fotografías, filmes, video, datos de investigación y otras formas de contenido. Los datos son organizados como ítems que pertenecen a una colección; cada colección pertenece a una comunidad. Cuenta con algunas características de gran importancia, que permiten y facilitan su uso en una gran cantidad de instituciones de diversos tipos. Entre ellas se encuentra su distribución bajo Licencia BSD (Berkeley Software Distribution); que es multiplataforma, por lo que se adapta a gran número de Sistemas Operativos; es basado en tecnología Web y es un sistema adaptable, además de que posee un sistema de Handles (Manejadores) de archivos. [12] Sistema gestor de base de datos: PostgreSQL v9.2.4 PostgreSQL es un sistema de gestión de bases de datos objeto-relacional, distribuido bajo licencia BSD y con su código fuente disponible libremente. Utiliza un modelo cliente/servidor y usa multiprocesos en vez de multihilos para garantizar la estabilidad del sistema. Un fallo en uno de los procesos no afectará el resto y el sistema continuará funcionando. [13] Herramienta de modelado: Visual Paradigm v8.0 Visual Paradigm es una herramienta CASE (por sus siglas en español Ingeniería de Software Asistida por Computadora). La misma propicia un conjunto de ayudas para el desarrollo de programas informáticos, desde la planificación, pasando por el análisis y el diseño, hasta la generación del código fuente de los programas y la documentación. Visual Paradigm ha sido concebida para soportar el ciclo de vida completo del proceso de desarrollo del software a través de la representación de todo tipo de diagramas. Herramienta de Mapeo objeto-relacional (ORM): Hibernate v3. Hibernate es una herramienta de Mapeo objetorelacional (ORM) para la plataforma Java, que facilita el mapeo de atributos entre una base de datos relacional tradicional y el modelo de objetos de una aplicación, mediante archivos declarativos (XML) de las entidades que permiten establecer estas relaciones. Hibernate permite desarrollar clases persistentes “7mo Congreso Internacional de Tecnologías y Contenidos Multimedia” Rosabal, Gleidis.; Álvarez, Luis Carlos. Rojas, Eduardo. | “SISTEMA PARA EL DEPÓSITO DE DOCUMENTOS EN REPOSITORIOS INSTITUCIONALES” orientados a objetos, incluyendo la herencia, polimorfismo, la asociación y la composición. Es conocido por su estabilidad y calidad, probado por la aceptación y es usado por los desarrolladores de Java. [14] Entorno integrado de desarrollo: Eclipse Luna SR1 Eclipse es un programa informático compuesto por un conjunto de herramientas de programación de código abierto multiplataforma. Incluye varias características, presenta una lista de tareas, soporte para unidades de pruebas con JUnit, e integración con la herramienta de construcción Ant. Dispone de un editor de texto con un analizador sintáctico. La compilación es en tiempo real. Tiene control de versiones con CVS (por sus siglas en español Control de Versiones), asistentes (wizards) para creación de proyectos, clases, y pruebas. Asímismo, a través de plugins libremente disponibles es posible añadir control de versiones con Subversion.4 e integración con Hibernate 5. [15] Servidor de aplicaciones: Apache Tomcat v7.0 Es multiplataforma, lo que lo convierte en un servidor prácticamente universal; es un contenedor de servlets/JSP, es decir implementa las especificaciones de los servlets y de JavaServerPages (JSP), utiliza la tecnología Apache que es gratuita y de código abierto lo que le da transparencia al software. Permite escribir y desplegar aplicaciones web complejas de forma sencilla, proporcionando el soporte para características de desarrollo que de otra forma tendrían que ser desplegadas manualmente. Resuelve las opciones de autenticación de usuarios, los registros de log, así como la infraestructura y los filtrados a nivel de aplicación y es configurable. [16] Lenguaje de programación: Java Java es un lenguaje simple. Orientado al objeto, distribuido, interpretado, sólido, seguro, de arquitectura neutral, portable, de alto desempeño, de multihilos y dinámico. [17] Lenguaje de modelado: UML v2.1. El Lenguaje Unificado de Modelado (UML) es un lenguaje de modelado visual que se usa para especificar, visualizar, construir y documentar artefactos de un sistema de software. Captura decisiones y conocimiento sobre los sistemas que se deben construir. Se usa para entender, diseñar, hojear, configurar, mantener, y controlar la información sobre tales sistemas. El lenguaje de modelado pretende unificar la experiencia pasada sobre técnicas de modelado e incorporar las mejores prácticas actuales en un acercamiento estándar. UML incluye conceptos semánticos, notación, y principios generales. Tiene partes estáticas, dinámicas, de entorno y organizativas. La especificación de UML no define un proceso estándar pero puede ser útil en un proceso de desarrollo iterativo. Pretende dar apoyo a la mayoría de los procesos de desarrollo orientados a objetos. [18] 2.4 Resultados Después del desarrollo del trabajo se obtiene como resultado la implementación de un sistema para el depósito de documentos en un repositorio institucional. El sistema permite realizar de forma correcta la configuración y validación de los metadatos asociados a los documentos que se envíen hacia el repositorio. Para ello se muestran los metadatos específicos según el tipo de documento que se desea enviar. Se realiza la validación de los pasos necesarios para lograr el correcto depósito de los documentos, mostrando en todo momento mensajes sugerentes de acuerdo a los posibles errores que pudiera cometer un usuario durante el envío. Previo al envío de documentos digitales se debe crear un formulario, llenando los campos necesarios según el tipo de documento definido. Este formulario puede ser guardado con los elementos básicos y posteriormente retomarlo para realizar el envío. Además podrá ser actualizado o eliminado por el usuario en el momento que desee. El módulo se desarrolla independiente del sistema REPXOS y el envío se realiza a través del servicio web REST. Esta forma de envío evita que, en caso de que se libere una nueva versión del DSpace, no se tengan que realizar cambios en el código fuente. Como el módulo funciona independiente, se hace necesario además poder controlar el acceso al sistema. Para lograr la seguridad de este cada persona que acceda al sistema contará con un usuario y una contraseña. La autenticación será una condición necesaria para poder realizar cualquier acción. Para realizar un envío se deben cumplir pasos esenciales, tales como: Indicar el tipo de documento que se desea enviar. Llenar un formulario con los datos generales de los documentos. Estos datos siempre son los “7mo Congreso Internacional de Tecnologías y Contenidos Multimedia” Rosabal, Gleidis.; Álvarez, Luis Carlos. Rojas, Eduardo. | “SISTEMA PARA EL DEPÓSITO DE DOCUMENTOS EN REPOSITORIOS INSTITUCIONALES” mismos, sin importar el tipo de documento que se desea añadir. Llenar un formulario con los datos específicos. Estos datos pertenecen específicamente a un tipo de documento, por ejemplo una revista, un libro, una tesis, entre otras. Indicar la colección a la cual se desea realizar el envío. Seleccionar el documento que se desea enviar. Además de estos pasos obligatorios, se puede en cualquier momento modificar o eliminar los datos para realizar un envío. También se pueden guardar los datos llenados y continuar el proceso más tarde. A continuación se muestran algunas interfaces pertenecientes al sistema. Figura. 2: Selección de documentos, tipo de documento y colección para realizar un envío 3. CONCLUSIONES Con la realización de este trabajo se satisfacen en su totalidad el objetivo trazado, por lo que se concluye que: Se desarrolló un sistema informático de depósito de documentos, el cual permite a los usuarios de un repositorio institucional la configuración y validación de los metadatos, permitiendo lograr un correcto depósito. La solución puede ser utilizada según las necesidades la institución, pues el sistema es independiente de la versión de Dspace que se utilice y el envío se realiza a través del servicio web REST. 4. REFERENCIAS BIBLIOGRÁFICAS Figura. 1: Ejemplo de datos específicos de un documento 1. «Repositorios digitales,» [En línea]. Available: http://bibliotecabiologia.usal.es/tutoriales/catal ogos-repositoriosbibliosvirtuales/repositorios_digitales.html. [Último acceso: 05 Junio 2015]. 2. M. Aroca Cámara, . J. Checa Claudel y . C. Guzmán Pérez, «Helvia: La apuesta de la Universidad de Córdoba por el conocimiento abierto.». 3. L. Institud, «Tipos de repositorios,» [En línea]. Available: http://www.ssoar.info/es/home/sobre-elacceso-abierto/tipos-de-repositorios.html. [Último acceso: 05 Junio 2015]. 4. N. Sánchez Tarragó, «El movimiento de acceso abierto a la información y las políticas nacionales e institucionales de autoarchivo,» [En línea]. Available: “7mo Congreso Internacional de Tecnologías y Contenidos Multimedia” Rosabal, Gleidis.; Álvarez, Luis Carlos. Rojas, Eduardo. | “SISTEMA PARA EL DEPÓSITO DE DOCUMENTOS EN REPOSITORIOS INSTITUCIONALES” http://bvs.sld.cu/revistas/aci/vol16_3_07/aci05 907.html. [Último acceso: 12 Febrero 2015]. 5. Lamarca Lapuente,María Jesús, «EL NUEVO CONCEPTO DE DOCUMENTO EN LA CULTURA DE LA IMAGEN,» [En línea]. Available: http://www.hipertexto.info/documentos/metad atos.htm. [Último acceso: 04 Junio 2015]. 6. Hillmman,Diane, «Using Dublin Core,» [En línea]. Available: http://dublincore.org/documents/usageguide/. [Último acceso: 14 Mayo 2015]. 7. «Definición abc,» [En línea]. Available: http://www.definicionabc.com/general/formula rio.php. [Último acceso: 04 Junio 2015]. 8. R. Navarro Marset, «REST vs Web Services RestVsWebServices.pdf,» [En línea]. Available: http://users.dsic.upv.es/~rnavarro/NewWeb/do cs/RestVsWebServices.pdf. [Último acceso: 20 Marzo 2015]. 9. J. Allinson y . F. Sebastien, SWORD Ariadne Jan 2008.pdf. 10. Ishida y Richard, «Ejecución de HTML & XHTML,» [En línea]. Available: http://www.w3.org/International/articles/serving -xhtml/Overview.es.php. [Último acceso: 25 Abril 2015]. 11. M. Flores López y M. d. L. Santiago, «Desarrollando aplicaciones informáticas con el Proceso de Desarrollo Unificado (RUP)». 13. R. M. Guerrero, «PostgreSQL,» 2015. 14. E. Bernard, «Hibernate ORM - Hibernate ORM,» 2015. 15. E. Foundation, «Eclipse,» 21 Marzo 2105. [En línea]. Available: https://www.eclipse.org/downloads/packages/e clipse-ide-java-developers/lunasr2. 16. «Definición Tomcat, Apache Tomcat, Jakarta Tomcat Enciclopedia Proyecto AjpdSoft,» [En línea]. Available: http://www.ajpdsoft.com/modules.php?name= Encyclopedia&op=content&tid=769. [Último acceso: 21 Febrero 2015]. 17. U. d. V. Colectivo de autores., «JAVA,» 2015. 18. I. Jacobson, G. Booch y J. Rumbaugh, El Lenguaje Unificado de Modelado., 2000. 5. SÍNTESISCURRICULARES DE LOS AUTORES Ing. Cristina Gleidis Yuriannis Rosabal Espinosa: graduada en el año 2011 como Ingeniera en Ciencias Informáticas, en la Universidad de las Ciencias Informáticas (UCI). Se desempeña como líder del Proyecto Repositorio Institucional, perteneciente al Departamento de Aplicaciones del Centro de Informatización de la Gestión Documental de la UCI. Anteriormente se desempeñó además como analista. Correo electrónico: gyrosabal@uci.cu. 12. L. C. Alvarez Fernández y E. Valdés Inerarte, «Repositorio Institucional,» 2015. “7mo Congreso Internacional de Tecnologías y Contenidos Multimedia”