Version: 1.0
Fecha: 16 de Marzo, 2026
Arquitecto: Carlos Alberto Torres Camargo
DataVault es un sistema integral de gestion documental y preservacion digital compuesto por dos componentes principales:
- Aplicacion Web: Gestiona usuarios, empresas (tenants), documentos, retencion documental, legal hold y reportes.
- Servidor OAIS: Procesa paquetes SIP, genera AIP y DIP, verifica integridad y sincroniza opcionalmente con Azure Blob Storage.
USUARIOS (Navegador)
|
v
COMPONENTE WEB (Next.js + FastAPI + PostgreSQL)
|
v
SERVIDOR OAIS (Ubuntu/Linux)
- Watcher (SIP -> AIP -> DIP)
- IngestService
- IntegrityChecker
- Repositorio en disco
- Azure Blob (opcional)
| Aspecto |
Tecnologia |
| Framework |
Next.js 15 |
| Libreria UI |
React 19 |
| Lenguaje |
TypeScript |
| Estilos |
Tailwind CSS |
| Componentes |
Radix UI |
| Estado |
Zustand |
| Aspecto |
Tecnologia |
| Framework |
FastAPI |
| Lenguaje |
Python 3.10+ |
| ORM |
SQLAlchemy 2.x |
| Migraciones |
Alembic |
| Autenticacion |
JWT (access + refresh) |
- PostgreSQL con multitenancy basado en header
X-Tenant-ID
- Esquema unico con filtro por tenant en queries
| Modulo |
Descripcion |
| Dashboard |
Estadisticas globales y accesos rapidos por rol |
| Auditoria |
Log de acciones con filtrado y exportacion |
| Recursos Humanos |
Gestion de empleados, contratos, certificaciones, capacitaciones, ausencias |
| Repositorio HR |
Documentos asociados a empleados |
| Bodega Virtual |
Navegacion del repositorio OAIS (proyectos, AIP/DIP) |
| Retencion Documental |
Politicas de retencion, calendarios, vencimientos |
| Legal Hold |
Casos legales que protegen documentos contra eliminacion |
| Preservacion |
Estados de preservacion y reportes de integridad |
| Administracion |
Gestion de empresas, usuarios, roles, permisos, servidores |
| Notificaciones |
Alertas del sistema en tiempo real |
El servidor OAIS es el componente de preservacion digital que opera de forma independiente en un servidor Linux:
- Watcher: Monitorea carpeta de ingesta para procesar paquetes SIP entrantes.
- Generacion AIP: Crea paquetes de archivo (ZIP con metadatos + checksums SHA-256) para preservacion a largo plazo.
- Generacion DIP: Crea paquetes de diseminacion para consulta o descarga.
- Repositorio: Estructura de almacenamiento organizada por proyecto.
- IntegrityChecker: Verificacion periodica de integridad de archivos preservados.
- Azure Blob Storage: Sincronizacion opcional para respaldo en la nube.
- Reporte de estado: Comunicacion del estado de preservacion al backend web.
| Paquete |
Nombre Completo |
Descripcion |
| SIP |
Submission Information Package |
Paquete de ingreso recibido en carpeta de ingesta |
| AIP |
Archival Information Package |
Paquete de archivo para preservacion a largo plazo (ZIP con checksums y metadatos) |
| DIP |
Dissemination Information Package |
Paquete de diseminacion para consulta o descarga |
La comunicacion entre el componente web y el servidor OAIS se realiza mediante:
- Base de datos PostgreSQL compartida o sincronizada
- Configuracion de servidores desde la aplicacion web
- Flujo de trabajo: Usuario -> Web -> OAIS -> Procesamiento -> Repositorio -> Visualizacion en Bodega Virtual
- Reporte de estado: Comunicacion del estado de preservacion via API segura (opcional)
| Requisito |
Version |
| Python |
3.10+ |
| Node.js |
18+ |
| PostgreSQL |
13+ |
| Docker |
Opcional |
| Requisito |
Detalle |
| Sistema Operativo |
Linux (Ubuntu) |
| Python |
3.x |
| Base de Datos |
Acceso a PostgreSQL |
| Almacenamiento |
Espacio en disco suficiente para repositorio |
- Variables en
.env: DATABASE_URL, rutas locales, Azure (opcional), SFTP (opcional)
- Watcher ejecutandose como servicio persistente o systemd
- Cron opcional para verificacion de preservacion periodica
| Version |
Fecha |
Autor |
Descripcion |
| 1.0.0 |
2026-03-16 |
Carlos Torres |
Creacion del documento en wiki de arquitectura |