El Comité Técnico de Arquitectura celebrado en marzo 2025 aprueba un conjunto de activos así como reglas y pautas relacionadas con varias arquitecturas de referencia, el Impulso de Prácticas DevSecOps la Plataforma CI/CD corporativa.
El Comité Técnico de Arquitectura, celebrado en marzo 2025, aprueba como corporativas las siguientes reglas y pautas procedentes de los Grupos de Trabajo de Coordinación previstos en la Gobernanza de Arquitectura de Soluciones:
- Arquitectura de referencia de Observabilidad: arquitectura cuyo objetivo principal es la recolección de métricas, logs y trazas generadas en cada una de las partes que componen productos y soluciones, así como los medios necesarios para explotarlos.
Arquitectura de referencia Observabilidad - Arquitectura de referencia de Ciberseguridad: arquitectura destinada a garantizar la seguridad en el proceso completo del desarrollo de Software. Se enfoca en la gestión de identidades, control de acceso, monitorización y detección de amenazas, cifrado y la configuración de los propios sistemas o plataformas.
Arquitectura de referencia Seguridad - Norma de alineamiento con la pila tecnológica de la ADA: normativa que promueve el alineamiento de la pila tecnológica dentro del Modelo Global de soluciones, y que identifica la tecnología y versión a utilizar en caso de nuevos desarrollos o mantenimiento de los ya existentes.
Alineamiento con la pila tecnológica de la ADA - Modelo de despliegue de interoperabilidad: guía técnica que indica cómo ha de hacerse el despliegue o publicación de cada uno de los componentes que conforman la arquitectura de referencia de interoperabilidad.
Modelo de despliegue de interoperabilidad - Modelo de despliegue de APIs: guía técnica que indica cómo ha de hacerse el despliegue de un API, identificando los pasos a dar para hacerlo de forma automática e indicando también los pasos que se deben dar en caso de hacerlo manualmente.
Modelo de despliegue de APIs - Guía de integración de Eventos: guía técnica que persigue facilitar el uso de la plataforma de eventos, identificando los componentes que se deben desarrollar en las diferentes arquitecturas para que las aplicaciones puedan hacer uso de estos eventos de forma efectiva.
Guía técnica de integración de eventos - Guía de integración de Interoperabilidad: guía técnica que identifica los pasos necesarios para poder integrarse con el servicio de interoperabilidad. También se detallan los procedimientos relacionados, prerrequisitos o herramientas de uso común para probar estos desarrollos.
Guía de integración de Interoperabilidad - Guía de desarrollo de Interoperabilidad: guía técnica que indica los pasos a realizar por los desarrolladores en caso de necesitar una integración con un servicio de interoperabilidad. Además, también se indicarán una serie de pasos a tener en cuenta en la construcción de los servicios de interoperabilidad.
Guía de desarrollo de interoperabilidad
Además, se han aprobado los siguientes documentos de uso interno:
- Requisitos de seguridad: documento que persigue definir una serie de requisitos que se han de tener en cuenta en la definición de las arquitecturas de referencia así como en el desarrollo de componentes de software dentro del marco del Modelo Global de Soluciones.
- Informe del Radar de Innovación Febrero 2025: informe de proceso de identificación, evaluación y priorización de innovaciones para la ADA. Su objetivo principal es proporcionar a la Agencia Digital de Andalucía un panorama estructurado y fundamentado sobre las oportunidades tecnológicas disponibles en el ámbito del desarrollo de software.
Y los siguientes activos, junto a sus Reglas y pautas (normas y guías):
- Plataforma CI/CD (Integración y Despliegue) Corporativa: conjunto de herramientas y procesos utilizados para automatizar las distintas etapas del ciclo de vida de un proyecto software, tales como compilación, pruebas, despliegue, etc. Esto permite a los desarrolladores detectar y corregir errores y problemas de forma temprana en el ciclo de vida del desarrollo, mejorando la calidad del software y aumentando la eficiencia del equipo de desarrollo.
Plataforma CI/CD corporativa
Norma de uso de la plataforma de integración y entrega continua de corporativa - Motor de Integración Continua: herramienta que se utiliza para automatizar tareas comunes en el ciclo de vida de una aplicación de software, tales como la construcción, ejecución de pruebas (unitarias, de integración, de interfaz, etc.), generación de imágenes de contenedores y despliegue.
Motor de integración continua de la Plataforma CI/CD corporativa
Norma de uso del motor de integración continua de la plataforma CI/CD corporativa - Motor de Entrega Continua CaaS: sistema de entrega continua que ayuda a los equipos a automatizar el despliegue y a la actualización de aplicaciones en un cluster de Kubernetes.
Motor de entrega continua CaaS de la Plataforma CI/CD corporativa
Norma de uso del motor de entrega continua CaaS de la plataforma CI/CD corporativa - Pipeline: Un pipeline de integración continua es una práctica clave en el desarrollo de software que se utiliza para automatizar y simplificar el proceso de integración, pruebas y entrega de código a lo largo del ciclo de vida de desarrollo de una aplicación. El objetivo principal de un pipeline de integración continua es detectar y abordar problemas de manera temprana en el desarrollo de software, lo que mejora la calidad del código y acelera la entrega de software funcional y confiable.
Pipeline de integración continua
Norma de uso del pipeline de integración continua de la Plataforma CI/CD corporativa - Estrategia de ramificación: enfoque organizativo para estructurar el repositorio de código. Las estrategias de ramificación ayudan a normalizar el uso del repositorio por todos los actores participantes al establecer convenciones y prácticas comunes para la creación, nombramiento y gestión de ramas. Además, proporcionan una estructura organizativa clara que facilita la colaboración entre el propio equipo de desarrollo, así como con otros actores que puedan participar en el ciclo de vida del desarrollo de software, al tiempo que fomentan la estabilidad, la trazabilidad y la calidad del código.
Norma de uso de la estrategia de ramificación de la plataforma CI/CD corporativa
Manual de la estrategia de ramificación
Por último, quedan aprobados los estudios preliminares de las siguientes herramientas, para seguir trabajando en su integración en la Plataforma CI/CD Corporativa, en colaboración con los Grupos de Trabajo:
- Framework de automatización de pruebas funcionales: Selenide es un framework de automatización de pruebas basado en Selenium WebDriver, diseñado para simplificar la escritura de pruebas de interfaz de usuario (UI) en aplicaciones web. Su enfoque principal es la simplicidad y la legibilidad del código, lo que simplifica a los equipos de desarrollo la implementación de estas pruebas. Selenide reduce la complejidad de Selenium con métodos más intuitivos.
Cucumber es una herramienta que permite implementar pruebas basadas en el enfoque BDD (Behavior-Driven Development). - Herramienta de Database Change Management: Liquibase es una herramienta de control de versiones para bases de datos. Se utiliza para gestionar cambios en la estructura de la base de datos de manera automatizada y versionada, facilitando la integración y la entrega continua (CI/CD), es totalmente independiente del DBMS (Database Management System), lo que permitirá realizar el seguimiento, gestión y aplicación de cambios en el modelo de datos.
- Framework/s de pruebas de accesibilidad: Pa11y es una herramienta para evaluar la accesibilidad web de manera automatizada. Está diseñada para ayudar a los desarrolladores y a los diseñadores a identificar y solucionar problemas de accesibilidad en las páginas webs.
- Framework/s de pruebas de apis: Karate es un framework de pruebas de código abierto basado en Java que permite hacer pruebas de APIs REST y SOAP. Combina la simplicidad en los tests gracias a una sintaxis basada en Domain-Specific Language con la facilidad de integración continua gracias a Maven y Gradle.
- Framework/s de mutación de pruebas unitarias: Las pruebas de mutación están diseñadas para comprobar la calidad del código y las pruebas unitarias desarrolladas. Para esas pruebas unitarias, en lugar de verificar si el código se comporta correctamente en función de entradas conocidas, las pruebas de mutación modifican deliberadamente partes del código fuente, generando versiones alternativas (llamadas mutantes) para ver si las pruebas unitarias existentes detectan estos cambios durante su ejecución. Es decir, miden la calidad de las pruebas unitarias desarrolladas.