Arquitectura de Viafirma Documents

Viafirma Documents debe ser desplegado en un contenedor JEE Apache Tomcat 8 con JDK 8, y soporta la configuración en clúster para entornos de alta disponibilidadEn cuanto al sistema gestor de base de datos, Viafirma Documents soporta dos fabricantes: PostgreSQL y Oracle. También es compatible con su despliegue en contenedores Docker a partir del repositorio de imágenes habilitadas para ello.

Infraestructura de Despliegue

En función las necesidades específicas del negocio, Viafirma Documents permite un tipo de despliegue basado en la distribución de micro-servicios encargados del procesamiento de tareas autónomas necesarias para la explotación del negocio, permitiendo con ello un control de los recursos publicados para tareas puntuales que requieran ser escaladas ante picos de alta demanda.

Un tipo de despliegue tradicional, similar al realizado en versiones v3.5 y anteriores, consiste en el despliegue de los dos módulos principales del producto en el contenedor Tomcat.

  • documents-web: contiene las funcionalidades front del producto, como el acceso de usuario al panel de gestión, bandejas de firma, etc. La caída o parada temporal de este módulo afectaría únicamente al servicio iniciado desde la interfaz web del producto, o iniciado en procesos externos a través de API si éstos tienen con destino algún proceso de firma remota (firma-web). No afectaría su parada a los procesos de firma generados a través de API por sistemas de terceros y cuyo destino son las apps móviles de Viafirma.
  • documents: contiene la capa de servicios web ofrecidos tanto a integradores de sistemas externos como a los propios servicios privados consumidos por las apps de Viafirma desde los dispositivos móviles. La caída o parada temporal de este módulo no afectaría a los procesos de firma generados desde el panel web y su destino sea algún proceso de firma remota (firma-web). Las apps móviles tienen soporte al modo offline, por lo que podrían continuar su trabajo de forma autónoma sin conexión a este módulo, recuperando la conexión automáticamente tras la recuperación del mismo.
ilustración arquitectura viafirma documents

A partir de la v3.6 Viafirma Documents se permite la distribución del producto en módulos y micro-servicios independientes, permitiendo de esta forma su escalabilidad horizontal en función de las necesidades de cada proceso y asegurando la continuidad del negocio.

ilustración arquitectura viafirma documents
  • JOBS: el producto cuenta con una serie de procesos desatendidos encargados de distintas funcionalidades del servicio. Estos procesos son configurables, pudiéndoles indicar la periocidad deseada y la configuración de persistencia. Cada proceso se entrega en un empaquetado JAR independiente, y permiten ser escalados horizontalmente en función de las necesidades del negocio. Los procesos desatendidos habitualmente configurados y gestionados por el producto son los siguientes: informes automáticos de uso, informes de alertas, caducidades de sesiones de procesos, caducidades de cuenta de usuario, borrado de documentos caducados, auto-finalización de procesos completados, etc.
  • TASKS: de forma análoga a la gestión y distribución de procesos desatendidos, Viafirma Documents permite la gestión de micro-tareas, encargadas de funcionalidades de negocio específicas y que podrás escalar horizontalmente en función de las necesidades. Cada tarea tiene asociado un fichero de configuración individual. Las tareas gestionadas por el producto son varias, destacando las siguientes:
  • Ciclo de Vida del proceso de firma: definido en distintos posibles estados en función del workflow asociado, y permitiendo configurar una tarea para cada uno de estos estados. Por ejemplo: SENT, RECEIVED, TRANSFERED, RESPONSED, etc. Esta separación de tareas permitiría, por ejemplo, escalar un tarea en concreto susceptible de mayor carga de trabajo. Por ejemplo, si el repositorio externo al que se transfieren los documentos firmados ha sufrido una caída de 5 horas, se podrán desplegar y distribuir más procesos (tasks) encargados de la transferencia externa para mitigar el crecimiento puntual de la cola de transferencia.
  • Sistemas de Transferencias Externas: toda la lógica de implementación de sistemas externos, como por ejemplo la transferencia de documentos firmados a repositorios externos, podrán distribuirse en tareas autónomas, permitiendo su gestión individual y optimizando los recursos que puntualmente pudieran demandar. Esta lógica de distribución también favorece al mantenimiento y evolución del servicio, permitiendo por ejemplo distribuir una nueva versión del proceso de transferencia motivada por algún cambio en el proveedor externo sin afectar al core del servicio ni obligar a upgrade del producto.
  • Validaciones y Otros Servicios Externos: cualquier otro proceso susceptible de ser consumido a partir de servicios externos podrán incluirse como una nueva tarea, con configuración y lógica de negocio individual. Por ejemplo, el módulo de adjuntos permite inyectar lógica de tratamiento del documento a partir del consumo de un servicio de validación, por ejemplo, validar una huella, validar una foto o validar un documento a partir de un OCR externo.

Escalado Horizontal

En general, esta arquitectura está diseñada para un crecimiento horizontal del servicio en función de cada una de las necesidades de negocio soportadas.

Ilustración de la arquitectura de viafirma documents basada en un crecimiento horizontal

reserva tu cita