La arquitectura global debe marcar las pautas generales a nivel de estructura y tecnologías a utilizar por las iniciativas. En este caso, se considera que la arquitectura global de contexto puede ampliarse y evolucionarse cuando existan requerimientos no contemplados inicialmente y que en ese momento se prioricen. (Ejemplo: arquitecturas de gemelos digitales, arquitecturas de inteligencia artificial, arquitecturas de realidad aumentada, etc.)
En todo caso, esta arquitectura global debe tener en cuenta los requerimientos normativos, funcionales y tecnológicos de las iniciativas presentes y futuras dentro de la organización, asegurando una cobertura completa.
Para la correcta comprensión de esta página, se recomienda realizar la lectura del Modelo Global de Soluciones, donde se describe el objetivo, contexto y necesidades del modelo global, así como el Glosario de términos, donde se detallan conceptos que serán utilizados a lo largo de esta página.
Arquitectura Global de Contexto
El modelo global para el desarrollo de soluciones tecnológicas, con el principal objetivo de estandarizar el proceso de desarrollo y despliegue de aplicaciones en un entorno de nube híbrida define una arquitectura global de contexto en la que se distinguen varias capas de servicios:
- Servicios de presentación: Conjunto de servicios que permite a las personas usuarias interactuar con las distintas aplicaciones y productos digitales publicados por la Junta de Andalucía, siendo el mecanismo principal de interacción con la administración a través de canales digitales.
Los servicios de presentación únicamente consumen servicios a través de APIs publicadas y gestionadas, preferiblemente en formato REST, y conformarán el primer nivel de autenticación y autorización en caso de consumirse APIs o servicios securizados.
El diseño y construcción de servicios de presentación debe seguir la normativa vigente del Modelo Global de Soluciones tecnológicas en cuanto a conceptualización, diseño, construcción y despliegue.
En función de la tipología del producto digital, existirán varias arquitecturas de referencia que darán soporte a las necesidades concretas: arquitectura de microfrontends, arquitectura de gestor de contenidos, arquitectura aplicaciones móviles, arquitectura de asistentes conversacionales, etc. - APIs: La capa de APIs forman el mecanismo principal de publicación de servicios, ofreciendo un punto de acceso unificado tanto al conjunto de datos ofrecidos, como al conjunto de operaciones y servicios de los dominios de negocio, permitiéndose la reutilización en productos digitales de forma sencilla.
Las APIs estarán gobernadas a través de una herramienta de API Management que gestionará los ciclos de publicación de APIs, acceso, subscripciones de clientes que consumen esas APIS y se aplicará un conjunto de políticas definidas (seguridad, acceso, observabilidad, ...).
El desarrollo y publicación de APIs se realizará en función de la documentación publicada en el Portal del Desarrollador, persiguiéndose principalmente un enfoque API First y diseño basado en Open API.
El modelado de datos debe ser otro de los objetivos a perseguir dentro del modelo, estandarizando las operaciones y conjunto de datos existente en la Junta de Andalucía, fomentándose la reutilización y ahorro de costes. - Servicios de backend: Los servicios de backend forman, por su relevancia, el conjunto más voluminoso de la arquitectura global, ya que aglutinan toda la operativa de acceso y publicación de información, funcionalidad de negocio, servicios centrales, servicios técnicos, acceso a sistemas terceros, etc.
Son servicios que están englobados en un dominio de negocio concreto y tienen una responsabilidad única, pudiendo ser agrupados para dar solución a una funcionalidad más compleja.
Debido a su naturaleza y al tipo de operativa y responsabilidades que implementan, tienen relación con la mayoría de las servicios y capas de la arquitectura global:- Son accedidos / solicitados a través de APIs publicadas, por lo que los servicios de backend deben exponer una API interna (solo accesible por la capa de APIs expuestas) en los casos que se requieran.
- Pueden acceder a orígenes de datos de distintas naturalezas, en los casos que sea necesario consultar, crear o actualizar un conjunto de datos, registros o eventos.
- Accederán a APIs o sistemas de información externos al modelo a través de los Servicios de Interoperabilidad como mecanismo principal de integración.
- Servicios de interoperabilidad: Los servicios de interoperabilidad permiten el acceso a la recogida, transmisión y conversión de los formatos de datos para hacerlos adecuados a los consumidores de los mismos. Permiten integrar y consumir APIs de terceros y sistemas de información corporativos que no están publicados aún en el catálogo de APIs.
Serán invocados normalmente desde servicios de backend y APIs, en caso de requerir una integración directa con otra API de terceros.
Deben garantizar el fácil acceso y aprovechamiento de los datos, para su posterior localización y distribución según sus atributos y permitiendo obtener conjuntos de resultados según diferentes criterios de ordenación y clasificación, siendo posible además consultar los resultados en distintos formatos. - Servicios de gobierno y análisis: Los servicios de gobierno y análisis posibilitan realizar la explotación y análisis de datos para ser utilizados en productos digitales y proporcionar los medios necesarios para el apoyo a las decisiones, contemplándose el acceso al dato, la exploración del dato y la visualización.
Los servicios de acceso al dato permiten acceder a los orígenes de datos, procesarlos, transformarlos y persistirlos en el modelo de datos utilizado para la explotación o analítica del dato.
Los servicios de exploración del dato habilitan los mecanismos necesarios para permitir acceder a los conjuntos de dato, realizar operaciones sobre ellos, y facilitar la exploración por parte de los usuarios.
Por último, los servicios de visualización permiten realizar las operaciones requeridas para desde un producto de visualización realizar las búsquedas, agrupaciones, proyecciones, consultas requeridas por los usuarios. - Orígenes de datos: Conjunto de datos de origen residente en un repositorio de datos o herramientas de acceso a datos indexados o cacheados, tanto en formato estructurado, no estructurado como ficheros.
- Seguridad: Conjunto de servicios, herramientas, normas y pautas de seguridad aplicables a cada uno de los conjuntos de la arquitectura global apoyando y asegurando la autenticación, autorización, cifrado y cumplimiento de la normativa vigente.
- Observabilidad: Conjunto de servicios y herramientas que permiten la observabilidad y monitorización de los servicios de la arquitectura global, ofreciendo el acceso a logs unificados, trazas y métricas funcionales y técnicas.
- DevSecOps: Conjunto de servicios, herramientas, guías y plantillas que posibilitan la construcción, empaquetado, pruebas automatizadas, revisiones de calidad y seguridad y despliegue automatizado en los entornos de la Agencia.