jueves, 4 de abril de 2019

Conservación y preservación digital: la migración

Tomado de los apuntes de cátedras de la maestra Izaskun Herrojo Salas

Dentro de los procesos de conservación y preservación de documentos, existen varios, como son: Respaldo (Respaldo análogo), renovación de soportes, replicación, mantenimiento, arqueología digital y la migración de datos. De esto último se trata el post de hoy.

Otros elementos a tener en cuenta también son:
  • Estándares
  • Normalización
  • Emulación
  • Encapsulación
  • Canonicalización
  • Autenticidad
  • Estabilidad e integridad
  • Metadatos
Para entender mejor el proceso de migración de datos, acudamos a la definición que nos ofrece la Wikipedia:

“La migración de datos consiste en la transferencia de materiales digitales de un origen de datos a otro, transformando la forma lógica del ente digital de modo que el objeto conceptual pueda ser restituido o presentado por un nuevo equipo o programa informático. Se trata de una consideración clave para cualquier implementación, actualización o consolidación de un sistema informático.”

En las bibliotecas este fenómeno se da con mucha frecuencia, especialmente en lo concerniente a los registros bibliográficos. En este caso es frecuente que al cambiar de una plataforma informática a otra, se hace necesario la migración de los registros al nuevo formato. Existen diversos motivos para realizar la migración y algunos de ellos son:


  • Preservación
  • Mejoras en el Funcionamiento
  • Nuevos requerimientos (usuario o software)
  • Interoperabilidad
  • Actualización de versiones
  • Estandarización de la tecnología
  • Reducción de costos (software libre)
  • Aumento manejo volumen datos
  • Mejoras en la seguridad y control de datos
  • Etc.
Ejemplos de migraciones son: 
  • De un formato a otro (Word a PDF).
  • De un sistema operativo a otro (Windows a Linux)
  • De lenguajes básicos a otros avanzados (Basic a Java).

Pero estos procesos no se realiza al azar, sino que se deben tener en cuenta algunos elementos y criterios, a saber:


La fase de planificación conlleva:

•Inventario de los activos actuales (documentación, máquinas, software, instancias, bases de datos y código personalizado).
•Documentar los requisitos de la Institución.
•Documentar los requisitos de hardware.

•Conocer las capacidades que serán necesarias en cada fase de la migración (gestor de proyectos, arquitecto de soluciones que comprenda la topología del sitio, los puntos de integración y todas las tecnologías utilizadas, administradores de bases de datos, Desarrolladores experimentados en los lenguajes utilizados para las personalizaciones que se lleven a cabo).

•Asegurarse de que los entornos de desarrollo y de pruebas estén sincronizados con la versión del código que se encuentra en producción.

•Desarrollar una planificación detallada incluyendo usuarios, contraseñas, tareas, propietarios, temporización, puntos de comprobación, pasos de validación y planes de retrotracción (determinar además la formación del personal).

Analítica de datos.

Según Leguizamon Tarazona (2017) es "aquellas en que las variables de integridad, de exactitud o de consistencia de los datos a tener en cuenta de cara a migrar los datos, teniendo en cuenta las características de las bases de datos de origen y destino. Esta analítica se hará como un enfoque para la recopilación y análisis de datos.

Validación de datos.

Para este concepto, González Lau y Aristizábal Moreno,(2007) hace referencia a verificar, controlar o filtrar cada una de las entradas de datos que provienen desde el exterior del sistema. proceso que asegura que un programa opere sobre datos limpios, correctos y útiles. Emplea rutinas, frecuentemente conocidas como reglas de validación, que verifican la exactitud y la significancia del dato en el sistema. Una validación incorrecta de datos puede llevar a la corrupción de datos o a vulnerabilidades de seguridad.

Tipos de validación de datos.

Los autores antes citados, explican los siguientes:

•Verificaciones de formato o imagen: Verifica que el dato esté en un formato específico.

•Verificaciones del tipo de dato: Verifica el tipo de dato ingresado con respecto al esperado y presenta mensajes de error cuando no se cumple.

•Verificaciones de rango: Verifica que el dato se encuentre entre un rango especificado de datos.

•Verificaciones de límites: A diferencia de la verificación de rango, este solo compara con respecto a un límite, superior o inferior.

•Verificaciones de presencia (o de datos nulos): Verifica que datos de importancia no tengan valores en blanco (o nulos).

•Verificaciones de consistencia: Verifica los campos dentro de la base de datos para asegurar que los datos estén en sus campos correspondientes.

Pruebas para la migración.

  • Partir de un estado conocido.
  • Problema: puede ser modificado desde infinidad de puntos de la aplicación, por lo que hay que generar un sistema cómodo y rápido para generar información antes de ejecutar cada test (esto lo suelen hacer los expertos en el área e incluso los proveedores del software en caso de contratar un servicio externo).
  • Preparar la base de datos para cada test que apliquemos e informaciones que necesitemos (utilizar la misma API del sistema - ORM).
  • Mapeo objeto-relacional (Object-Relational mapping) es una técnica de programación para convertir datos entre el sistema de tipos utilizado en un lenguaje de programación orientado a objetos y la utilización de una base de datos relacional como motor de persistencia. Wikipedia.
Problemas para la migración.


No siempre se cuentan con los datos de las codificaciones anteriores, sobre todo en los formatos cerrados o de propietario; este problema se agranda con la necesidad de sucesivas migraciones. Como no siempre es posible hacer copias exactas, sobre todo cuando se transfiere desde una tecnología anterior a una subsecuente, se trata de interferir lo menos posible, pero tras la acumulación de varias migraciones estos cambios pueden acrecentar demasiado las diferencias con el material original. Los nuevos formatos pueden ser incapaces de interpretar toda la funcionalidad del formato original. 


Normalmente las empresas proporcionan compatibilidad con sus productos de software anteriores, pero esto rara vez sobrepasa tres generaciones, por lo que las versiones anteriores a estas pierden la compatibilidad o bien la conservan con pérdidas. No es un plan de preservación por sí mismo, puesto que está aún lejos de resolver los problemas de la mantención de la integridad, apariencia y autenticidad de los contenidos digitales. Los costos para migrar todo un archivo pueden llegar a ser muy altos, por lo que muchas instituciones han tenido que privilegiar unos contenidos por sobre otros, lo que genera un grave riesgo de pérdida irreparable para mucha información. 
Rivera Donoso, 2009.

En conclusión, podemos confirmar lo anterior basamentado en las experiencias que hemos tenidos en la migración de registros bibliográficos. No siempre resulta 100 por ciento completo el proceso. Es complejo, muy técnico y se requieren de habilidades y competencias informáticas, para ser capaz de manejar más de una aplicación a al vez, para mapear las bases de datos, realizar comparaciones entre un sistema y otro, y finalmente migrar los registros, etc.

La migración es un proceso que nos ayuda a ir actualizando la información a medida que los cambios tecnológicos nos impactan, pues de lo contrario, se cae en la obsolescencia.



lunes, 1 de abril de 2019

Evaluación de Software: breve bibliografía

Evaluar software, en verdad es algo un poco complejo, debido sobre todo, al buen desenvolvimiento informático que debe tener la persona que se dedica a ello. Una de las opciones que podríamos tener a disposición es la de acceder a la aplicación, para poder evaluarla, atendiendo a criterios establecidos. Es necesario, por ejemplo, evaluar la interfaz, funcionalidades, interoperabilidad con otras aplicaciones, los sistemas operativos bajo el cual corre, capacidad de cambios, capacidades de adaptación, entre otros.

Para los fines de este artículo, les voy a recomendar algunas lecturas, que de seguro, les va ayudar bastante a comprender la complejidad de evaluar software, pero con atención a los software para bibliotecas, especialmente los de carácter libres.

El primer trabajo es el de Mynor Fernández Morales, bajo tema "Automatización de unidades de información: Matriz técnica para la evaluación de software libre". Y cuyo resumen reza así:

En este artículo se presenta una propuesta de matriz de evaluación para software libre orientado a la automatización de unidades de información. Esta matriz está compuesta por una serie de parámetros técnicos que facilitarán la evaluación de diferentes programas de aplicación de software libre, los cuales se agruparán en cuatro distintas clasificaciones. Cada una de ellas permitirá filtrar las diferentes aplicaciones que cumplan uno u otro requisito de acuerdo a las necesidades de información y automatización que tenga la unidad de información. Por tanto esta matriz se convierte en una herramienta útil que servirá al equipo responsable de la automatización de una unidad de información en el proceso de evaluar y seleccionar software libre para este propósito.

Es un trabajo de investigación que vale la pena leer. Allí se muestra una matriz con 20 puntos que se deben tomar en cuenta a la hora de evaluar una aplicación para bibliotecas.

Otro trabajo que me pareció muy útil es el de Ricardo Chinchilla-Arley y Mynor Fernández-Morales, bajo tema "Software libre para la automatización de unidades de información." Allí se explican algunos criterios para escoger software y cuyo resumen comparto con ustedes, para que puedan tener una idea del mismo:

Presentación: Se describe el apogeo que ha tenido el software libre, existiendo ahora equivalentes para casi todos los sistemas privativos, indicando que en la automatización de unidades de información es donde han surgido muchas aplicaciones. Se menciona que la ponencia se enmarca dentro de un proyecto de investigación llevado a cabo en la Universidad de Costa Rica. Metodología: se han definido tres criterios para escoger el software: que se encuentre en español, especializado en el manejo documental y que sea de acceso abierto y disponible en Internet. Para la clasificación se han definido tres niveles de automatización: automatización de catálogos, repositorios digitales y sistemas integrados de automatización. Una vez agrupados, se definió una matriz de evaluación, la cual consiste en 54 parámetros divididos en cuatro grupos: generalidades, gestión de estándares, aspectos técnicos y funcionalidad. Resultados: Se construyó un catálogo de software agrupado en los diferentes niveles mencionados. Además, se detectó que el tercer subnivel debía ser subdividido a su vez en otros tres subniveles: unidades de información de baja complejidad, de media complejidad y de alta complejidad. Para ello se definieron seis criterios de agrupación para determinar el tipo de unidad de información y siete para determinar el grado de complejidad del software. Con base en esta subdivisión se construyó un subcatálogo especializado en el tercer nivel de automatización. Discusión: con la definición de niveles y subniveles es posible realizar análisis y comparaciones entre software similar, aplicando la matriz de evaluación indicada. Además, los catálogos presentados son una fuente de información importante para la toma de decisiones en los proyectos de automatización. Conclusión: el catálogo presentado no es definitivo, debido a la dinámica de las tecnologías y cada día pueden surgir nuevas aplicaciones. La propuesta se basa en las bondades del software libre, ya que es posible acceder al código para realizar adaptaciones y modificaciones, sin embargo se hace énfasis en que no es gratuito, ya que siempre existirán costos asociados a la implementación.

La clasificación que allí se hace es todavía y en mi opinión más acabada, más profunda y desglosada, que en el artículo anterior. He tendido el honor de leer a estos autores y realmente han realizado una investigación de peso y de gran importancia a la hora de seleccionar una aplicación informática para bibliotecas.

Por otro lado, me place también presentar otro trabajo de los autores mencionados arriba, bajo tema "Bibliotecas automatizadas con software libre: establecimiento de niveles de automatización y clasificación de las aplicaciones". Excelente trabajo de investigación. En el mismo se establecen niveles de automatización, se describen y se agrupan según criterios, que según los autores, se explica así:

La revisión de los niveles de automatización permitió construir un inventario del software. Es importante hacer notar que al revisar las generalidades de cada programa y tomando en cuenta la unidad de información donde podría ser implementado, se han identificado tres
subniveles para el nivel 3: software para unidades de información (UI) pequeñas, software para UI medianas y software para UI grandes. 

A continuación el resumen del contenido:

Objetivo: definir una clasificación de software libre para automatizar unidades de información basada en diferentes niveles. Para ello, se utilizan tres niveles previamente validados: automatización de catálogos, repositorios digitales y bibliotecas virtuales y automatización integral. Metodología: se definen los siguientes criterios para la clasificación de software: en español, especializado en el manejo documental y de acceso libre y disponible en Internet. Con base en estos criterios, se realizó una búsqueda bibliográfica, se consultó a expertos y en redes sociales. Gracias a esto, se construyó un catálogo de software. Resultados: con base en el catálogo obtenido, se creó un inventario clasificado de acuerdo con los niveles de automatización propuestos. Por otra parte, se logró determinar una subclasificación en el tercer nivel de automatización: unidades de información pequeñas, medianas y grandes. Esta subclasificación deriva de las capacidades técnicas y de seis variables puntuales relativas a las particularidades de las unidades de información donde se instalaría. Conclusiones: el inventario resultante constituye una valiosa herramienta para los proyectos de automatización al facilitar el estudio y evaluación de software por niveles, a la vez, ayuda a clarificar al profesional sobre qué es realmente lo que desea automatizar en su unidad de información.

Por último, quiero citar el trabajo bajo tema "Clasificación del software libre orientado a la
automatización integral de bibliotecas según el nivel de complejidad de la biblioteca: bibliotecas simples, bibliotecas de mediana complejidad y bibliotecas de alta complejidad" también del autor Mynor Fernández Morales. Solo que esta vez, lo realizó el solo. En lo particular, estos trabajos a mi me parecieron fascinantes ya que nos permiten establecer criterios claros a la hora de escoger un software para la biblioteca y atendiendo al tipo de biblioteca. El resumen de este intrigante y último artículo reza así:

En este artículo se presenta una propuesta para clasificar el software orientado a la automatización integral de bibliotecas de acuerdo a los siguientes subniveles: una biblioteca simple, biblioteca de mediana complejidad o una bibliotecas de alta complejidad. Para clasificar a las bibliotecas en cada uno de estos subniveles, y con el fin de realizar el dimensionamiento correspondiente, se utilizan seis variables: tipo de biblioteca, el tamaño de la colección, tipo de materiales que maneja, cantidad y tipo de usuarios que atiende la biblioteca, el nivel de especialización del recurso humano que tiene la biblioteca y, finalmente, la capacidad técnica y económica que tenga la biblioteca. Además de clasificar las bibliotecas, también se clasifica el software libre orientado a la automatización, según los siguientes subniveles: software simple, software de mediana complejidad y software de alta complejidad. Para esta segunda clasificación, se utilizarán siete criterios: el nivel de robustez del motor de base de datos que soporta la aplicación, el nivel de parametrización, la plataforma donde se encuentra desarrollado el software, la clase del soporte técnico brindado a la aplicación informática, el nivel de facilidad para el desarrollo de nuevos requerimientos, la interoperabilidad del software y el manejo de estándares internacionales para importar y exportar información. Al final se presenta una lista clasificada de software
orientado a la automatización integral de bibliotecas.

En este buenísimo trabajo se realiza la evaluación atendiendo a la siguiente tabla:

En fin, estos trabajos no brindan una amplia idea de lo engorroso que es evaluar un software, pero no dejar de ser una hermosa tarea, que nos enseña, nos ilustra y nos capacita para escoger bien. A continuación coloco los enlaces en la web de cada artículo, para que puedan descargarlos y leerlos completos.

Referencias.

Clasificación del software libre orientado a la automatización integral de bibliotecas según el nivel de complejidad de la biblioteca: bibliotecas simples, bibliotecas de mediana complejidad y bibliotecas de alta complejidad.


Bibliotecas automatizadas con software libre: establecimiento de niveles de automatización y clasificación de las aplicaciones.


Software libre para la automatización de unidades de información.








Conservación y preservación digital: la migración

Tomado de los apuntes de cátedras de la maestra Izaskun Herrojo Salas Dentro de los procesos de conservación y preservación de docume...