Skip to main content

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:

  • EagleSyncWinService utiliza EagleSyncLib para procesar y almacenar los datos que captura.
  • EagleProcessWinService también utiliza EagleSyncLib para reprocesar datos existentes.
  • EagleSync invoca funcionalidades de EagleSyncLib para verificar configuraciones y ejecutar acciones administrativas.
  • EagleCloud_Sync.sdf actú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.