Bentian Bentian | Documentación
Descargar v0.4.7
Arquitectura del Sistema · 7 min de lectura · Actualizado v0.4.7

Arquitectura Polimórfica Multi-ERP y Modelo Single Active ERP

Patrón Strategy, interfaz canónica IErpConnector, aislamiento anti-wiping en AppData y selector comercial 3x2.

Bentian ERP Bridge fue concebido originalmente con un conector dedicado para Factusol. Sin embargo, para responder a las necesidades de empresas con software de gestión heterogéneo y facilitar migraciones comerciales sin fricción, el motor del Agente ha evolucionado hacia una arquitectura polimórfica desacoplada basada en el patrón Strategy.

1. El Patrón Strategy y el Contrato IErpConnector

Todo el motor de sincronización (LocalSyncEngine) y las interfaces de usuario interactúan exclusivamente contra el contrato canónico IErpConnector:

Contrato Canónico (apps/agent/src/erp/erp-connector.interface.ts):
export interface IErpConnector {
readonly providerId: SupportedErpProviderId;
connect(dbPath?: string): Promise<void>;
disconnect(): Promise<void>;
testConnection(dbPath?: string): Promise<ErpConnectionTestResult>;
reconnect(dbPath?: string): Promise<ErpConnectionTestResult>;
isConnected(): boolean;
getMetadata(): Promise<ErpProviderMetadata>;
getStockMap(options?: { warehouseCode?: string }): Promise<Map<string, number>>;
createOrder(order: CanonicalOrder): Promise<ErpOrderCreationResult>;
}

Este desacoplamiento permite que los adaptadores especializados (FactusolAdapter, SimplyGestAdapter, etc.) traduzcan las particularidades de cada base de datos (por ejemplo, F_ART/F_PCL en Factusol vs ARTICULOS/PEDIDOS_VENTA en SimplyGest) sin modificar el núcleo de sincronización ni violar los módulos sellados (Code Freeze).

2. ErpProviderRegistry y Resolución Determinista

El registro central de proveedores (ErpProviderRegistry) gestiona el ciclo de vida de los adaptadores registrados. Resuelve el software activo de forma determinista siguiendo una jerarquía estricta:

  1. Configuración moderna SSoT: softwareErp.activeProvider.
  2. Fallback retrocompatible legacy: cfg.erpType.
  3. Heurística de rutas: si solo una base de datos está configurada en disco, se selecciona automáticamente.
  4. Proveedor predeterminado del sistema: Factusol.

3. Modelo Single Active ERP (Cero Coexistencia Destructiva)

En entornos empresariales, permitir que dos ERPs distintos sincronicen existencias simultáneamente hacia la misma tienda online provocaría colisiones críticas de stock, sobreventas y duplicidad de pedidos. Bentian aplica una regla de ingeniería inmutable:

Principio de Aprovisionamiento Exclusivo: En tiempo de ejecución solo existe UN proveedor de ERP activo a la vez (activeProvider). Al conmutar de ERP en la GUI, el conector previo se desconecta de forma limpia y cede el control exclusivo del motor de sincronización y del file watcher al nuevo proveedor seleccionado. La interfaz gráfica oculta por completo los controles del software inactivo para evitar confusión operativa.

4. Aislamiento Anti-Wiping en AppData

Para que el usuario pueda probar o alternar de software sin perder sus parámetros de trabajo, la configuración de cada ERP se almacena en espacios de nombres estrictamente aislados dentro de %APPDATA%Bentian Agentagent-config.json:

"softwareErp": {
"activeProvider": "simplygest",
"provisioned": true,
"providers": {
"factusol": { "databasePath": "C:\Software DELSOL\Datos\FS\0012026.accdb", "tariffCode": "1" },
"simplygest": { "databasePath": "C:\SimplyGest\Datos.mdb", "orderSeries": "1" }
}
}

Gracias a esta estructura, al cambiar de SimplyGest a Factusol (o viceversa), las rutas NAS, series de facturación y tarifas del software anterior se conservan al 100% en disco sin borrados destructivos.

5. Matriz de los 6 ERPs Comerciales Estándar

El panel de escritorio de Bentian incorpora un diálogo de selección en cuadrícula 3x2 con las 6 soluciones ERP comerciales líderes en el mercado de la pyme española:

Bentian Agent GUI — Selector de Conectores ERP
127.0.0.1:39281
Conmutador Multi-ERP en Bentian ERP Bridge: Factusol, SimplyGest, Sage 50, Holded, Odoo y A3ERP
Selector comercial 3x2 de Bentian ERP Bridge para alternar entre sistemas ERP con aislamiento anti-wiping en AppData.
Software ERP Fabricante Protocolo de Conexión Estado en Bentian
Factusol Software DELSOL OLEDB Nativo (.accdb / .mdb) Producción Certificada (Stable)
SimplyGest Desktop SimplyGest Software OLEDB Local (Datos.mdb) Producción Certificada (Stable)
Holded Cloud ERP Holded Technologies REST API v1 / Webhooks Producción Certificada (Stable)
Sage 50 / Sage 200 Sage Group plc ODBC / Sage Connected API En Certificación
Odoo ERP Odoo S.A. XML-RPC / JSON-RPC En Integración
A3ERP Wolters Kluwer SQL Server Nativo / SDK En Integración

¿Tienes dudas sobre la configuración en tu empresa?

Nuestro equipo de ingeniería te asiste con tu base de datos Factusol o red local.

Contactar con Soporte