Proyectos que componen EagleSync
La solución EagleSync está dividida en cuatro proyectos principales, cada uno con responsabilidades específicas pero estrechamente integrados. Esta separación de responsabilidades facilita el mantenimiento, la escalabilidad y la claridad en el desarrollo.
1. EagleSync (Interfaz de Usuario)
Tipo:
Aplicación de escritorio (WinForms)
Propósito:
Es la cara visible del sistema. Permite a los distribuidores y técnicos configurar cada cliente, su PBX asociada, credenciales de acceso, rutas de archivos y parámetros de sincronización.
Funcionalidades clave:
- Configuración de múltiples clientes desde una única instalación.
- Asociación de clientes con diferentes PBXs y tipos de drivers.
- Registro y actualización de credenciales.
- Definición de base de datos externa SQL Server destino.
- Monitoreo del estado de sincronización y servicios.
- Creación de backups manuales de la configuración.
- Interfaz amigable para usuarios técnicos.
2. EagleSyncWinService (Captura de datos)
Tipo:
Servicio de Windows
Propósito:
Este servicio corre en segundo plano y es el encargado de capturar los CDRs desde las PBXs en tiempo real o por lotes, según el driver configurado para cada cliente.
Funcionalidades clave:
- Captura de datos vía:
- Archivos planos recibidos por FTP.
- Comunicación por sockets.
- APIs HTTP/REST.
- Procesamiento inmediato de nuevos datos.
- Almacenamiento temporal seguro de los archivos.
- Respaldo automático de cada CDR en carpeta
Cdrs/. - Reporte de errores de captura en archivos de log.
3. EagleProcessWinService (Reprocesamiento)
Tipo:
Servicio de Windows
Propósito:
Permite recalcular y reprocesar registros previamente almacenados en caso de:
- Cambios en tarifas de llamadas.
- Corrección de configuraciones.
- Incorporación de nueva lógica de negocio.
Funcionalidades clave:
- Ejecución programada o bajo demanda.
- Reprocesamiento de registros dentro de un rango de fechas.
- Validación de datos incompletos o sospechosos.
- Aplicación de nueva lógica sin duplicar registros.
- Mantiene la base de datos sincronizada y limpia.
4. EagleSyncLib (Lógica de Negocio)
Tipo:
Librería de clases compartida (DLL)
Propósito:
Contiene toda la lógica de negocio central del sistema. Este proyecto es utilizado por los otros tres para aplicar las reglas comunes de lectura, procesamiento, clasificación y almacenamiento.
Funcionalidades clave:
- Lectura de archivos CDR o datos JSON/XML según protocolo.
- Parsing de registros y validación de estructura.
- Identificación de tipo de llamada (saliente, entrante, interna).
- Asociación de llamadas con usuarios, extensiones y empresas.
- Valoración de cada llamada según configuración personalizada.
- Inserción segura de datos en SQL Server.
- Control del avance diario de sincronización (por fecha y cliente).
- Generación de logs y archivos de respaldo.
Interacción entre proyectos
Los cuatro proyectos trabajan juntos de la siguiente forma:
EagleSyncWinServiceutilizaEagleSyncLibpara procesar y almacenar los datos que captura.EagleProcessWinServicetambién utilizaEagleSyncLibpara reprocesar datos existentes.EagleSyncinvoca funcionalidades deEagleSyncLibpara verificar configuraciones y ejecutar acciones administrativas.EagleCloud_Sync.sdfactúa como base de datos local de configuración compartida.
⚙️ Todos los componentes deben ser instalados juntos para garantizar el correcto funcionamiento del sistema.
Consideraciones de instalación
- Todos los servicios deben estar registrados como Servicios de Windows en la máquina del cliente.
- La aplicación principal (
EagleSync.exe) debe ejecutarse con permisos elevados para asegurar acceso a rutas protegidas y servicios. - Se recomienda definir políticas de backup automáticas y revisar los logs de ejecución periódicamente.
Esta organización modular permite a EagleSync adaptarse fácilmente a nuevas tecnologías, facilitar actualizaciones, y mantener un entorno robusto para la gestión de telecomunicaciones empresariales.