Saltar a contenido

Nivel 2: Contenedores

El diagrama de contenedores descompone el sistema AClimate en sus principales servicios internos y muestra como se conectan con los sistemas externos.

Diagrama

Arquitectura Nivel 2 - Contenedores AClimate

Contenedores y Servicios Internos de AClimate

AClimate (Sitio Web)

La aplicacion web principal construida con JavaScript y Next JS. Es la interfaz con la que los usuarios finales interactuan para explorar datos climaticos, pronosticos e informacion espacial. Consume la WebAPI para recuperar y mostrar la informacion climatica.

ETL de datos espaciales

Un proceso escrito en Python 3.10 que descarga y procesa datos climaticos grillados de fuentes como ERA5 y CHIRPS. Maneja la transformacion de datos espaciales crudos en indicadores y climatologias, y sube los rasters procesados a GeoServer.

ETL de datos puntuales

Un proceso escrito en Python 3.10 que maneja datos climaticos de estaciones meteorologicas. Valida los datos entrantes, los agrega a valores mensuales, calcula climatologias e indicadores, y almacena los resultados en la base de datos.

DB AClimate v3

La base de datos principal PostgreSQL de la plataforma. Almacena toda la informacion agroclimatica, incluyendo entidades de catalogo, datos climaticos, indicadores, pronosticos y parametros de configuracion.

DB AClimate v3 Users

Una base de datos PostgreSQL separada dedicada a almacenar informacion de usuarios, perfiles y datos de control de acceso. Esta separacion permite gestionar los datos de usuario de forma independiente.

AClimate v3 WebAPI

El servicio API RESTful construido con Python 3.10 y FastAPI. Expone los datos agroclimaticos a traves de endpoints organizados por dominio, como niveles geographicos, datos climaticos, indicadores y medidas por pais.

AClimate v3 Admin

El portal web administrativo construido con Python 3.10 y Flask. Proporciona la interfaz para configurar parametros del sistema, gestionar entidades geograficas, cultivos, suelos, indicadores y usuarios.

AClimate v3 WebAPI Users

Un servicio API separado construido con Python 3.10 y FastAPI. Maneja funcionalidades especificas de usuario como registro, gestion de perfil, validacion de usuarios y estaciones meteorologicas favoritas.

Keycloak

El servicio de autenticacion interno de la plataforma. Gestiona identidades de usuario, proporciona inicio de sesion unico y maneja los tokens que aseguran las comunicaciones de la API.

GeoServer

El servicio web geoespacial interno. Sirve datos espaciales climaticos como capas de mapa a traves de protocolos OGC estandar, que el frontend usa para mostrar mapas interactivos.

Sistemas Externos Integrados

ERA5 v2 (API Copernicus)

Fuente externa de datos climaticos grillados globales. Proporciona datos de reanalisis de temperatura, precipitacion y radiacion solar usados por el ETL espacial.

CHIRPS v3 (API Copernicus)

Conjunto de datos de precipitacion accedido a traves de la API Copernicus. Proporciona datos historicos de lluvia usados por el ETL espacial.

Forecast API (Pronostico Externo)

Servicio externo que proporciona pronosticos climaticos estacionales y sub-estacionales.