esofitec. CoreDocs

esofitec. CoreDocs

Arquitectura

Arquitectura

El módulo se apoya en tres piezas separadas a propósito. Esta página explica qué hace cada una y, sobre todo, por qué está hecha así: casi todas las decisiones responden a un problema concreto que se paga caro cuando no se resuelve.

Los tres dominios#

Dominio Qué contiene Quién lo usa
Operativo Tu solución s360, con su lógica, sus relaciones y su trabajo diario Las personas de tu empresa
Transformación El servicio de sincronización: extrae, limpia y carga Nadie: corre solo, en la ventana acordada
Analítico La base de datos analítica, publicada por OData de solo lectura Power BI y otras herramientas
 Dominio operativo          Transformación            Dominio analítico
 ─────────────────          ──────────────            ─────────────────
      s360        ──────►   servicio de     ──────►   base analítica
  (trabajo diario)          sincronización            (solo lectura)
                                                            │
                                                            ▼
                                                    Power BI · Excel

La separación es física y lógica: son bases y servidores distintos. Ninguna consulta de análisis toca la base donde trabaja tu gente, y ninguna herramienta de BI tiene forma de escribir en ella.

El servicio de sincronización, por dentro#

Es la pieza con más ingeniería, y la que hace que esto sea un servicio y no una copia de datos. Estos son sus siete mecanismos.

1. Descubrimiento, no lista a mano#

El servicio no lleva escrita la lista de tablas a copiar: recorre la solución de origen y toma los recursos publicados para integración.

Por qué importa

Una lista escrita a mano se queda vieja el día que s360 gana una entidad nueva, y nadie se entera hasta que falta un dato en un informe. Descubriendo, lo nuevo entra solo.

2. Filtros de exclusión: lo que no viaja#

No se replica todo. Se descartan tres cosas:

Se descarta Por qué
Campos calculados, sumarios, globales y contenedores Los primeros hay que resolverlos uno a uno al leer —caros y frágiles—; los contenedores son ficheros e imágenes, que multiplican el volumen y no se analizan
Campos de control y de interfaz Los que existen para buscar, filtrar, ordenar, guardar registros técnicos o pintar la pantalla. No miden nada
Recursos completos no analíticos Imágenes de ficha, formatos de impresión, plantillas, configuración interna y documentación

Esto es minimización, no recorte

Lo que no viaja no está en la base analítica, y por tanto no se puede exponer ni filtrar por error. Es la aplicación práctica del principio de minimizar los datos tratados, y de paso lo que hace que el modelo sea rápido.

3. Sonda previa: no romper el origen#

Antes de copiar una entidad, el servicio hace una comprobación previa para saber si tiene registros.

El problema real que evita

Pedir el contenido de una entidad vacía puede provocar un error del motor de origen y abortar la sincronización entera. Con la sonda, una tabla vacía se marca como «sin registros» y el proceso continúa. Es la diferencia entre un informe con una línea informativa y una madrugada sin datos.

4. Cola secuencial: nunca dos a la vez#

Todas las sincronizaciones —incluso las de clientes distintos— pasan por una cola que las ejecuta de una en una.

Por qué no se paraleliza

Dos extracciones simultáneas compiten por la memoria y la CPU de los mismos servidores. Paralelizar no acorta el total: lo alarga y pone en riesgo la operación. La cola convierte un pico impredecible en una carga previsible.

Si se pide una sincronización de una solución que ya está en marcha o en cola, el servicio la rechaza explícitamente y avisa por correo, en lugar de duplicar el trabajo en silencio.

5. Programador propio#

Un proceso interno revisa periódicamente la programación de cada solución y dispara lo que toque. Las frecuencias posibles son diaria, semanal —con sus días de la semana— y por minutos. Ver Actualizaciones.

6. Vaciado y carga controlados#

Antes de cargar una entidad, la correspondiente del destino se vacía. El resultado es una foto completa y coherente, sin restos de la ejecución anterior ni duplicados.

Si el vaciado no se puede completar en alguna entidad, se informa de ello explícitamente en el resumen, en lugar de dar la carga por buena.

7. Registro y aviso#

Cada ejecución deja constancia con su inicio, fin, duración, número de entidades, número de registros, estado y detalle por entidad, y se envía un correo con el resumen al equipo técnico y al cliente.

Es lo que convierte la confianza en evidencia

Cuando alguien pregunte «¿estos datos de cuándo son?», la respuesta no es una suposición: está la hora exacta de la última carga y cuántos registros trajo.

Cómo se activa#

El servicio lo activa y programa Esofitec desde su panel de administración, de forma desatendida:

  1. Se contrata el módulo y se acuerda la frecuencia.
  2. Esofitec crea la base analítica de tu solución y su credencial de acceso.
  3. Se programa la ventana de actualización.
  4. Recibes la dirección OData y las credenciales, y empiezas a construir.

No hay que instalar nada en tu equipo ni abrir puertos en tu red: el consumo es por HTTPS contra una dirección que te entregamos.

Qué pasa si algo falla#

Situación Qué ocurre
Una entidad da error al leerse Se registra el error de esa entidad y el resto continúa
Una entidad está vacía Se marca como «sin registros»; no es un fallo
El vaciado previo no se completa Se avisa en el resumen, señalando esa entidad
Se pide una sincronización ya en curso Se rechaza y se notifica
La ejecución entera falla Queda registrada con su mensaje de error y llega el aviso

En todos los casos la base analítica conserva la última carga buena: nunca te quedas sin datos, en el peor caso te quedas con los de ayer.

Qué viene después#

Modelo de datos explica qué entidades llegan al final de ese camino y cómo están construidas.