Arquitectura de referencia · núcleo de plataforma

Núcleo de integración (backbone)

El núcleo no procesa documentos. Da identidad, entrada, registro del activo, eventos y procesos comunes, para que cualquier módulo funcional se conecte cumpliendo cuatro reglas.

Ecosistema: quién participa

no se construye, se cultiva · todo lo que hay debajo es infraestructura
Personal de las institucionesArchivistas, paleógrafos, editores
Desarrolladores (nivel PaaS)Proyectos que construyen sobre las APIs
Otros participantes del Data SpaceUniversidades, otros conectores, Europeana
Comunidades de origenPueblos a los que conciernen los documentos: emiten credenciales, coaprueban políticas, anotan

Entrada

un solo punto para todo el tráfico
Pasarela de APIsApache APISIXValida tokens, limita por tenant, versiona APIs, mide consumo. También es el PEP del Data Space.
Conector del Data SpaceFIWARE Data Space ConnectorCredenciales verificables, políticas ODRL, catálogo DCAT, protocolo DSP
Proveedor OAI-PMHOAI-PMH 2.0 · oai_dc · EDM · EADRecolección de metadatos por agregadores y Europeana, filtrada por las políticas
Portal de desarrolladoresBackstage · OpenAPIDocumentación de APIs y catálogo interno de módulos

Núcleo de integración

lo que hace que todo sea una sola plataforma
Identidad únicaKeycloakOIDC para usuarios y módulos. Organizaciones = tenants. Emite también las credenciales verificables del Data Space.
Operador de tenantsoperador Kubernetes propioAl dar de alta un archivo crea su espacio, organización, almacenamiento y conector

Registro canónico del activo

Scorpio · NGSI-LD · PIDs (ARK / Handle / DOI)
  • Ficha viva de cada activo: fase, módulos que lo han tocado, enlaces a sus resultados
  • Solo URIs: imágenes, TEI y grafos siguen en sus almacenes
  • Suscripciones que avisan al bus de cada cambio de estado
ActivoPatrimonialRepresentacionTranscripcionAnotacionProcesoPolitica
Motor de procesosTemporalFlujos largos con pausas humanas: espera días a la validación paleográfica sin perder estado
Servicio de procedenciaPROV-O · triplestoreEscucha el bus y registra qué hizo cada máquina y qué validó cada persona
Bus de eventosKafka (o NATS) · CloudEvents
legajo.ingestadohtr.completadotranscripcion.validadatei.publicadocoleccion.ofertada

Módulos funcionales

intercambiables · propios o de terceros
Imágenes IIIFCantaloupe, Mirador
IDAPIEVDAT
HTReScriptorium, Kraken, LLM
IDAPIEVDAT
Edición TEITEI Publisher, Saxon
IDAPIEVDAT
ArchivoAtoM · ISAD(G) · EAD
IDAPIEVDAT
Preservación OAISArchivematica · SIP/AIP/DIP · BagIt
IDAPIEVDAT
Semántica y búsquedaNER, triplestore, OpenSearch
IDAPIEVDAT
Lectura cercana y lejanaVisores, Jupyter, redes
IDAPIEVDAT
Futuro: 3D y museosMismo contrato, núcleo intacto
IDAPIEVDAT
Futuro: conservación IoTSensores NGSI-LD nativos
IDAPIEVDAT

Plataforma base

ejecución, seguridad y operación
ContenedoresKubernetes · k3s en pilotoNamespaces o vCluster por institución
DespliegueHelm · Argo CD · HarborGitOps: un módulo o un tenant es un commit
Red seguraLinkerdmTLS entre módulos, reintentos
ObservabilidadOpenTelemetry · Prometheus · GrafanaTrazas de extremo a extremo
Secretos y políticasOpenBao · KyvernoQué se despliega y con qué permisos
Almacenamiento comúnS3 (Ceph) · PostgreSQLCompartido por el núcleo y los módulos
Medición de usométricas por tenantPáginas, horas de GPU, almacenamiento