Cambios a futuro para el proyecto validador

Tras el lanzamiento de la primera versión del validador y tras moldear el diseño del mismo se observaron oportunidades para simplificar su integración en múltiples plataformas de la manera más sencilla posible. En este artículo se analizan varias propuestas de cambio para lograrlo.

Integrar validador y firmador en un solo proyecto

Actualmente el validador es un proyecto independiente del firmador. Sin embargo, si para la versión 3.0 del firmador se pretende publicar como binario compilado con la misma tecnología de GraalVM CE, entonces puede generarse una única aplicación donde el validador sea un parámetro por línea de comandos.

El firmador, aparte de la interfaz gráfica, probablemente terminará siendo una aplicación por línea de comandos de manera preferente, a diferencia de lo planeado inicialmente de compilarse como librería. Si mereciera la pena compilarlo como librería sería algo con menor prioridad, ya que requiere más tiempo y mantenimiento, además de la complejidad de mantener una ABI y API estables.

Al enfocar el firmador en la línea de comandos, el validador puede agregarse a la lista de parámetros para devolver el XML tal y como hace ahora. Debido al gran tamaño de los ejecutables de GraalVM CE y donde es probable disponer de un firmador y validador en un solo ambiente, se ahorra espacio en servidores donde se fueran a utilizar ambos.

Utilizar JavaScript del lado cliente para visualizar el reporte XML

En la versión 1.0 del validador se agregó código PHP para generar (X)HTML a partir del XML mediante una plantilla XSLT. Sin embargo, esto requiere más dependencias o implementar soluciones específicas para cada lenguaje de servidor, si bien tiene la ventaja de no requerir JavaScript en el navegador.

En el caso del firmador, existe una demostración para firma mediante sitio web que tiene un código para invocar el firmador del lado cliente mediante Java Web Start (JNLP), que terminará siendo reemplazado por una solución ejecutable liviana o preinstalada. El mecanismo de comunicación ya era genérico y no requería mayor procesado en el servidor que no fuera subir el fichero a un manejador con los parámetros que requiriera el gestor de contenidos.

En el mismo caso que en en el sistema de firma web, el validador podría mostrar el resultado de validación de documentos sin requerir PHP, pudiendo utilizarse de manera más genérica incluso en gestores de contenidos o gestores documentales que utilizan otros lenguajes (Java, Python, etc.). Esto se logra fácilmente mediante la API XSLTProcessor() de JavaScript en el navegador.

Mantener módulos para gestores de contenidos populares

Para integrar validación de documentos en los gestores de contenidos y gestores documentales, se agregaría lo mínimo necesario en cada integración y delegando en lo posible por JavaScript para reutilizar código.

Debido a que el validador es un ejecutable nativo y específico de cada plataforma y ejecutándose en el servidor, el módulo se encargaría de descargar el componente precompilado para facilitar la configuración y mantener las actualizaciones de seguridad del binario nativo. En el caso de plataformas como PHP y otros se requerirá que el servidor permita ejecutar comandos nativos mediante exec() o similar.

Algunos ejemplos de gestores de contenidos y gestores documentales populares donde algunas de las integraciones que se podrían considerar abarcarían versiones soportadas de WordPress, Drupal, Joomla, Odoo, Alfresco, AtoM, entre otros.

Conclusión

Con el diseño planteado en conjunto con los cambios a futuro del firmador se logra reducir la duplicidad y mantenimiento y enfocarse más en las interfaces e integraciones, pudiendo abarcar más diversidad de plataformas con los mismos recursos disponibles. 2024 será el año donde se comience a consolidar este nuevo diseño y se espera disponer de primeros prototipos funcionales, aunque todavía no se espera que se lancen versiones formales de esta nueva arquitectura en ese mismo año, podrían existir versiones para uso interno de algunas integraciones tempranas.

1 comentario en “Cambios a futuro para el proyecto validador

  1. Anónimo:

    Muchas gracias por el esfuerzo, realmente ayuda a generar la marca de agua en los pdfs.
    Me gustaria pedir una funcionalidad que no tiene el actual. Soporte a la firma desde el telefono. Si no tengo la tarjeta fisica no puedo usarlo desde la computadora.

Deja un comentario

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