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
Publicar un comentario