Digitaliza

Como comenté en una entrada anterior, una parte fundamental del proyecto de digitalización ha consistido en el desarrollo del sistema de información DIGITALIZA, encargado de la obtención de copias electrónicas de documentos en soporte papel.

El primer paso que se llevó a cabo en el desarrollo de la aplicación de digitalización fue la realización de un análisis de los productos existentes en el mercado para el escaneo y gestión de documentos. Después de realizar proyectos piloto con algunos productos y compartir nuestra experiencia con organismos de la Administración que contaban con estos productos, optamos por llevar a cabo un desarrollo propio. Las razones fundamentales de esta decisión fueron las siguientes:

  • Los productos analizados eran muy caros de licenciar. La mayoría de ellos se licencian por servidor y por número de páginas escaneadas al año que, en nuestro caso, son casi 40 millones.
  • Muchos de los productos eran cliente-servidor, arquitectura que complicaría el despliegue y actualización de la aplicación en una organización tan grande y tan distribuida geográficamente como la nuestra.
  • Muchos de los productos exigían “casarse” con un proveedor de escáneres, lo cual complica y encarece futuras adquisiciones de suministros.
  • La implantación de muchos de estos productos exigía un desembolso adicional (además del coste del licenciamiento) por la adaptación del software a nuestros tipos documentales y a nuestro sistema de registro y tramitación electrónica.

Como contrapartida a estas desventajas, los productos comerciales de digitalización suelen venir acompañados de un módulo, más o menos potente, para la categorización automática de documentos y la extracción de información. El desarrollo de estas funcionalidades es complejo y requiere de mucho conocimiento en la materia, por lo que, en caso de necesitarlas, merece la pena adquirir el producto. Sin embargo, en nuestro caso, debido a la diversidad de documentos que recibimos y a su escasa formalización, las pruebas realizadas no fueron del todo positivas.

Después de considerar todos estos aspectos, se optó por un desarrollo propio y a medida que nos permitiese tener un mayor control del proyecto y del software a implantar.

El producto a desarrollar debía cumplir los siguientes requisitos fundamentales:

  • Integración con la herramienta de registro y tramitación electrónica existente.
  • Adecuación al Esquema Nacional de Interoperabilidad.
  • Integración con el Catálogo Documental mediante la generación de documentos electrónicos firmados electrónicamente por el organismo.
  • Cumplimiento de nuestras normas de digitalización.
  • Adecuación al procedimiento de digitalización diseñado previamente.
  • Integración con los escáneres existentes previamente en la organización de muy diversas marcas y formatos (A4, A3 y A0).

Además de estos requisitos funcionales la herramienta debía tener un alto grado de usabilidad con el objetivo de agilizar, en lo posible, el pesado proceso de digitalización. Al apostar la organización por una tramitación electrónica, es de vital importancia que el proceso de digitalización se realice lo antes posible para, así, no penalizar los tiempos de la posterior tramitación.

Un aspecto importante a destacar de DIGITALIZA es que, al contrario que la mayoría de aplicaciones de digitalización, es una aplicación web y no cliente-servidor. Además, la conexión con el escáner se produce a través de un driver estándar TWAIN y no a través de un driver propietario, lo que permite conectar con multitud de escáneres de diferentes marcas y nos proporciona independencia total en la contratación de suministros.

Desde el punto de vista tecnológico, la aplicación de digitalización presenta la siguiente estructura:

Arquitectura de Digitaliza

Como se puede apreciar en la imagen, el servidor está desarrollado con tecnología Microsoft, en concreto MVC .NET, sobre una base de datos Oracle. Para el desarrollo de la aplicación .NET se ha implementado una arquitectura en n capas siguiendo las recomendaciones de Microsoft e incluyendo, en la capa de presentación, ciertas adaptaciones a MVC.

Respecto a la parte cliente, esta se ejecuta en cualquier navegador web, siendo Internet Explorer la opción corporativa. Se ha intentado trasladar, en lo posible, el procesamiento de los documentos al cliente, liberando al servidor de esa carga. Igualmente, se ha hecho especial hincapié en maximizar la usabilidad de la interfaz y reducir en lo posible el tiempo de la digitalización.

La interfaz de usuario está implementada con HTML5 y CSS3 sobre Bootstrap, lo que permite adaptar el contenido a la pantalla desde la que se visualiza el documento (la organización cuenta con pantallas de 17 y 19 pulgadas con formato 4:3 y 16:9). La implementación de funcionalidades en la interfaz se ha llevado a cabo usando JavaScript y JQuery, así como AJAX y JSON para la transmisión asíncrona de información entre el cliente y el servidor.

La conexión con el escáner se realiza desde la parte cliente, mediante un ActiveX (o un Plugin en navegadores distintos a Internet Explorer) que implementa la conexión TWAIN con cualquier escáner instalado en la máquina. Este componente es el encargado de obtener las imágenes electrónicas del escáner y componer el contenido del documento electrónico. El componente permite la edición de las imágenes obtenidas y su categorización automática mediante OCR y códigos de barras, lo cual agiliza el proceso de digitalización.

Al realizarse el procesamiento de los documentos en el navegador, se reduce la carga del servidor y no se compromete la seguridad de dichos documentos, al no tener que almacenarlos en local como sí ocurre con muchos productos de digitalización basados en un cliente pesado. Esto sin embargo tiene su contrapartida en las transferencias de ficheros que hay que realizar de forma continua entre el servidor y el cliente sobre http. Para reducir los problemas de memoria que esto ocasiona, se ha implementado un envío fragmentado de los documentos de forma asíncrona.

En el desarrollo de la aplicación se ha hecho especial énfasis en el sistema de pruebas, realizándose pruebas unitarias de distintas capas de la arquitectura e implementándose pruebas automáticas de navegación con la herramienta Selenium.

Por último, merece la pena destacar que, como en el resto de aplicaciones del área,  la gestión del proyecto se lleva a cabo con SCRUM utilizando Team Foundation Server como herramienta para el seguimiento de las tareas y el control de la configuración.

Compartir
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *