La arquitectura fue consecuencia del problema

 

Cuando comencé a desarrollar AppDTE, el principal desafío no era construir una aplicación web.

El verdadero desafío era implementar correctamente la facturación electrónica chilena.

Durante el desarrollo pasé por distintas etapas:

  • Una aplicación de escritorio con Swing.
  • Una aplicación web basada en Servlets y JSP.
  • Posteriormente Thymeleaf para la interfaz administrativa.

Sin embargo, independientemente de la interfaz utilizada, el trabajo más complejo seguía siendo el mismo:

  • Generar el XML conforme a los esquemas del SII.
  • Implementar el timbraje electrónico (TED).
  • Firmar digitalmente los documentos XML.
  • Validar la estructura del documento.
  • Enviar los documentos al SII.
  • Procesar las respuestas y estados.

Es decir, la mayor parte del esfuerzo estaba concentrado en el núcleo del sistema, no en la tecnología utilizada para presentar la información.

Cuando ese núcleo comenzó a estabilizarse, la aplicación terminó con una arquitectura basada en:

  • Java SE
  • Jakarta Servlets
  • Thymeleaf
  • JDBC
  • Jetty embebido

No porque hubiese descartado otras alternativas, sino porque esa arquitectura ya resolvía correctamente el verdadero problema del proyecto.

Comentarios

Entradas populares de este blog

Boleta Electrónica en Chile: Los 3 Ambientes del SII para Desarrolladores

Configurando Servlets y JSP en Jetty

GUIA GENERAL DE GENERACION DE DOCUMENTOS TRIBUTARIOS ELECTRONICOS