DTIKC
Git
  1. Sistemas
DTIKC
  • Inicio
  • Modelo de Gestión
    • ITIL 4
    • Gestión por Procesos
    • LEAN, BPM & RAD
    • OKR
    • El Nuevo Paradigma de TI
  • Personas
    • Organigrama Funcional
    • Roles y Matriz RACI
      • Matriz RACI - Mesa de Ayuda (N1)
      • Matriz RACI - Soporte Técnico (N2)
      • Matriz RACI - Infraestructura (N3)
      • Matriz RACI Consolidada de la Dirección de Tecnología e Innovación
    • Descriptivos de Puestos
      • Indice
      • Developer RPA & IA con Python
      • Analista de Operaciones y Mesa de Ayuda N1
      • Especialista de Soporte Técnico Nivel 2
      • Senior de Infraestructura
        • Especialista Senior en Infraestructura N3
        • Especialista Junior en Infraestructura N3
    • Medición y Mejora Continua
      • OKRs Generales
      • OKRs Analista de Operaciones y Mesa de Ayuda N1
      • OKR Especialista de Soporte Técnico N2
  • Procesos de Sistemas
    • Indice
    • Proceso de Control de Versiones con Git
    • Proceso de Ejecución de Proyectos para Desarrolladores de Software
    • Procesos de Mesa de Ayuda N1
    • Procesos de Soporte Técnico N2
    • Procesos de Junior de Infraestructura
    • Procesos de Senior de Infraestructura
  • Especificaciones
    • Devs
      • Patrones de Nombrado (Naming Conventions) en Programación
  • Sistemas
    • Indice
    • Prometeo
    • Pegasus
    • Olympus
    • Andromeda
    • FrontBack
    • OServerLogic
    • CServer
    • FbCotizador
    • Oserver
    • MetCotizadores
    • ClassLibrary
    • APIs
      • Chatbase
      • ApiMetPro_Pendientes_Emitir_Get
    • App Services
      • Documento sin título
  • Manuales Usuarios
    • Procedimiento para Recuperar Contraseña de Acceso a Titan
    • Procedimiento de Alta de Agente IP en Keysi
    • Checklist Mantenimiento Soporte N2
    • Manual de Sistema de Gestión
  • Lineamientos y Politicas
    • Acta de Protocolo Home Office
    • Acta de Compromiso: Excelencia Operativa en la Dirección de Tecnologías e Innovación
    • Modelo de Atención Universal de Soporte Técnico Nivel 2
Git
  1. Sistemas

OServerLogic

DOCUMENTACION TECNICA - OServerLogic#


1. INFORMACION GENERAL DEL PROYECTO#

Nombre del proyecto: OServerLogic
Descripcion y proposito: Librería de lógica de negocio para sistema de gestión de seguros (Olympus). Maneja procesamiento de pólizas, cálculo de comisiones, generación de reportes, gestión de cartera y administración de promotorías y agentes.
Version del framework .NET utilizado: .NET Framework 4.0
Tipo de aplicacion: Class Library (DLL)
Fecha de ultima modificacion del proyecto: 17 de Marzo de 2025 (según ReportesExt2.vb)
Copyright: Copyright © 2008
Version de ensamblado: 1.0.0.0

2. MAPA DE SITIO / ESTRUCTURA DEL PROYECTO#

📁 OServerLogic/
├── 📁 .vs/                                  # Configuración de Visual Studio
├── 📁 bin/                                  # Archivos compilados
│   ├── 📁 Debug/
│   ├── 📁 Release/
│   └── 📁 x64/
├── 📁 obj/                                  # Archivos temporales de compilación
├── 📁 My Project/                           # Configuración del proyecto VB.NET
│   ├── 📄 AssemblyInfo.vb                   # Información del ensamblado
│   ├── 📄 Application.Designer.vb
│   ├── 📄 Application.myapp
│   ├── 📄 Resources.Designer.vb             # Recursos embebidos
│   ├── 📄 Resources.resx
│   ├── 📄 Settings.Designer.vb              # Configuraciones
│   └── 📄 Settings.settings
├── 📁 reportes/                             # Reportes Crystal Reports
│   ├── 📄 A11AnalisisCartera.rpt/.vb        # Análisis de cartera
│   ├── 📄 AnexoComisiones.rpt/.vb           # Anexos de comisiones
│   ├── 📄 ComisionesTipoIngreso.rpt/.vb     # Comisiones por tipo
│   ├── 📄 ConsultarLotes.rpt/.vb            # Consulta de lotes
│   ├── 📄 E01DetalleEfectividadCobranza.rpt/.vb
│   ├── 📄 E02EfectividadCobranza.rpt/.vb
│   ├── 📄 H01-H17*.rpt/.vb                  # Reportes serie H (Producción)
│   ├── 📄 J01-J14*.rpt/.vb                  # Reportes serie J (Conservación)
│   ├── 📄 K02-K06*.rpt/.vb                  # Reportes serie K (Comisiones)
│   ├── 📄 M02-M04*.rpt/.vb                  # Reportes serie M (Emisión)
│   ├── 📄 P01-P04*.rpt/.vb                  # Reportes serie P (Persistencia)
│   ├── 📄 Z11-Z12*.rpt/.vb                  # Reportes serie Z
│   └── 📄 [~100 reportes Crystal Reports]
├── 📄 Cartera.vb                            # Gestión de cartera de pólizas
├── 📄 Comisiones.vb                         # Procesamiento de comisiones
├── 📄 FoliosPapeleria.vb                    # Gestión de folios de papelería
├── 📄 FoliosPromotoria.vb                   # Gestión de folios de promotoría
├── 📄 General.vb                            # Funciones generales
├── 📄 Logic.vb/.Designer.vb                 # DataSet tipado principal
├── 📄 Logic.xsd/.xsc/.xss                   # Esquema de datos principal
├── 📄 Mail.vb                               # Funcionalidad de correo electrónico
├── 📄 mo_persistencia.vb                    # Módulo de persistencia
├── 📄 olympus.vb/.Designer.vb               # DataSet Olympus
├── 📄 olympus.xsd/.xsc/.xss                 # Esquema de datos Olympus
├── 📄 Procesos.vb                           # Procesos de negocio
├── 📄 Queries.Designer.vb                   # Consultas embebidas
├── 📄 Queries.resx                          # Recursos de consultas
├── 📄 reportes.vb/.Designer.vb              # DataSet de reportes 1
├── 📄 reportes.xsd/.xsc/.xss                # Esquema de reportes 1
├── 📄 Reportes.vb                           # Clase de reportes principal
├── 📄 Reportes2.vb/.Designer.vb             # DataSet de reportes 2
├── 📄 Reportes2.xsd/.xsc/.xss               # Esquema de reportes 2
├── 📄 Reportes3.vb/.Designer.vb             # DataSet de reportes 3
├── 📄 Reportes3.xsd/.xsc/.xss               # Esquema de reportes 3
├── 📄 ReportesExt.vb                        # Extensiones de reportes
├── 📄 ReportesExt2.vb                       # Extensiones de reportes 2
├── 📄 ReportesExt_m.vb                      # Extensiones de reportes (métodos)
├── 📄 ReportesPartial.vb                    # Clases parciales de reportes
├── 📄 Trabajo.vb                            # Gestión de trabajos
├── 📄 app.config                            # Configuración de la aplicación
├── 📄 OServerLogic.sln                      # Solución de Visual Studio
├── 📄 OServerLogic.vbproj                   # Archivo de proyecto
├── 📄 OServerLogic.vbproj.user              # Configuración de usuario
└── 📄 site-description.md                   # Plantilla de documentación

Organizacion de Namespaces#

Namespace principal: OServerLogic
Clases de negocio:
Cartera - Gestión de cartera
Comisiones - Procesamiento de comisiones
Reportes - Generación de reportes
Procesos - Procesos de negocio
Trabajo - Gestión de trabajos
Mail - Envío de correos
Typed DataSets: Logic, olympus, reportes, Reportes2, Reportes3

3. INVENTARIO DE LIBRERIAS Y DEPENDENCIAS#

Ensamblados del Framework .NET#

LibreríaVersionPropositoCategoria
System4.0.0.0Funcionalidad básica del frameworkCore
System.Configuration4.0.0.0Gestión de archivos de configuraciónConfiguracion
System.Data4.0.0.0Acceso a datos ADO.NETAcceso a Datos
System.Data.DataSetExtensions4.0.0.0Extensiones LINQ para DataSetsAcceso a Datos
System.Deployment4.0.0.0Despliegue de aplicacionesDeployment
System.Drawing4.0.0.0Gráficos y dibujoUI/Graficos
System.ServiceProcess4.0.0.0Servicios de WindowsServicios
System.Web4.0.0.0Funcionalidad webWeb
System.Web.Services4.0.0.0Servicios web (SOAP)Web Services
System.Xml4.0.0.0Procesamiento XMLDatos/XML

Componentes de Terceros#

LibreríaVersionPropositoCategoria
CrystalDecisions.CrystalReports.Engine13.0.4000.0Motor de Crystal ReportsReportes
CrystalDecisions.ReportSource13.0.4000.0Fuente de datos para reportesReportes
CrystalDecisions.Shared13.0.4000.0Componentes compartidos de Crystal ReportsReportes

Referencias COM#

ComponenteVersionPropositoCategoria
Microsoft.Office.Core2.4Funcionalidad base de OfficeOffice Interop
Microsoft.Office.Interop.Excel1.6Interoperabilidad con ExcelOffice Interop

Typed DataSets (Generados automáticamente)#

Logic.xsd: DataSet principal con lógica de negocio
olympus.xsd: DataSet de base de datos principal Olympus
reportes.xsd: DataSet para reportes (conjunto 1)
Reportes2.xsd: DataSet para reportes (conjunto 2)
Reportes3.xsd: DataSet para reportes (conjunto 3)

4. ARQUITECTURA DEL PROYECTO#

4.1 Patron Arquitectonico#

El proyecto implementa una arquitectura de N-Capas (N-Layer) tradicional con separación de responsabilidades:
Patron principal: N-Layer Architecture
Patrón de acceso a datos: TableAdapter Pattern (ADO.NET Typed DataSets)
Patrón de presentación de informes: Crystal Reports con DataSets tipados
Características arquitectónicas:
Separación clara entre lógica de negocio y acceso a datos
Uso intensivo de Typed DataSets para abstracción de datos
Procesamiento por lotes para comisiones y cartera
Generación de reportes mediante Crystal Reports

4.2 Diagrama de Arquitectura#

4.3 Componentes Principales#

Capa de Logica de Negocio#

Cartera.vb: Gestión de cartera de pólizas de seguros
Carga masiva de archivos de cartera
Procesamiento de pólizas y coberturas
Manejo de diferentes estatus de pólizas (Vigor, Canceladas, Rescate, Siniestro, Invalidez)
Longitudes de archivo: 353 (corta) y 663 (larga) caracteres
Comisiones.vb: Procesamiento de comisiones para agentes y promotorías
Cálculo de comisiones por quincena
Manejo de comisiones castigadas
Procesamiento de primas y excedentes
Comisiones para agentes directos y servicios
Reportes.vb / ReportesExt.vb / ReportesExt2.vb: Generación de reportes
Series de reportes organizados por categoría (A, E, H, J, K, M, P, Z)
Reportes de producción, conservación, comisiones, persistencia
Procesos.vb: Procesos automatizados del negocio
Trabajo.vb: Gestión de trabajos y tareas
Mail.vb: Envío de correos electrónicos para notificaciones

Capa de Acceso a Datos#

TableAdapters autogenerados: Componentes ADO.NET para CRUD
LogicTableAdapters (del DataSet Logic.xsd)
olympusTableAdapters (del DataSet olympus.xsd)
reportesTableAdapters (de los DataSets de reportes)
Typed DataSets: Abstracción fuertemente tipada de datos
Logic.xsd: Esquema principal de lógica
olympus.xsd: Esquema de base de datos principal (220KB)
reportes.xsd: Esquema de reportes (573KB)

Servicios Externos / Integración#

SQL Server: Base de datos principal (olympus_op_pr)
Servidor: 698144-WEB3
Autenticación SQL (sa)
Crystal Reports 13.0: Motor de generación de reportes
Aproximadamente 100 archivos .rpt
Reportes categorizados por serie (H, J, K, M, P, etc.)
Microsoft Excel: Exportación e importación de datos
Interoperabilidad COM
Generación de archivos Excel

4.4 Flujo de Datos#

Flujo de Procesamiento de Comisiones#

Flujo de Generación de Reportes#

Flujo de Carga de Cartera#


5. ASPECTOS MAS RELEVANTES#

5.1 Funcionalidades Principales#

1.
Gestión de Cartera de Pólizas
Carga masiva de archivos de cartera de seguros
Procesamiento de pólizas y coberturas
Manejo de diferentes estados de pólizas (Vigor, Canceladas, Rescate, Siniestro, Invalidez)
Procesamiento de archivos de longitud variable (353 y 663 caracteres)
2.
Procesamiento de Comisiones
Cálculo automático de comisiones por quincena
Comisiones para agentes directos y promotorías
Manejo de comisiones castigadas
Diferenciación entre primas y excedentes
Comisiones por número de servicio (positivo/negativo)
3.
Generación de Reportes
~100 reportes Crystal Reports organizados por serie:
Serie A: Análisis
Serie E: Efectividad de Cobranza
Serie H: Producción y Avances
Serie J: Conservación
Serie K: Comisiones y Estados de Cuenta
Serie M: Emisión
Serie P: Persistencia y Cancelaciones
Serie Z: Reportes especiales
4.
Gestión de Folios
Folios de papelería
Folios de promotoría
Control de numeración y asignación
5.
Procesos Automatizados
Ejecución de procesos de negocio programados
Integración con tareas batch
Logging de pasos y procesos
6.
Integración con Office
Exportación a Excel
Generación de archivos para análisis
Interoperabilidad COM
7.
Notificaciones por Correo
Envío de alertas y reportes por email
Notificaciones de procesos completados

5.2 Configuraciones Criticas#

Connection Strings#

<!-- Configuración ACTIVA -->
<connectionStrings>
  <add name="OServerLogic.My.MySettings.olympusConnectionString"
       connectionString="Data Source=698144-WEB3;
                        Initial Catalog=olympus_op_pr;
                        User ID=sa;
                        Password=gRUPOkC10"
       providerName="System.Data.SqlClient" />
</connectionStrings>
IMPORTANTE: Las credenciales de base de datos están en texto plano en app.config

Configuraciones de Logging#

<system.diagnostics>
  <sources>
    <source name="DefaultSource" switchName="DefaultSwitch">
      <listeners>
        <add name="FileLog"/>
      </listeners>
    </source>
  </sources>
  <switches>
    <add name="DefaultSwitch" value="Information" />
  </switches>
  <sharedListeners>
    <add name="FileLog"
         type="Microsoft.VisualBasic.Logging.FileLogTraceListener,
               Microsoft.VisualBasic, Version=8.0.0.0" />
  </sharedListeners>
</system.diagnostics>

Configuraciones de Build#

Configuraciones disponibles: Debug, Release
Plataformas soportadas: AnyCPU, x86, x64
OutputPath:
Debug: bin\Debug\
Release: bin\Release\
x86: bin\x86\Debug|Release\
x64: bin\x64\Release\

Timeouts#

Los TableAdapters usan timeout = 0 (sin límite) para procesos largos de comisiones

5.3 Patrones de Diseno Implementados#

1.
TableAdapter Pattern
Implementado mediante Typed DataSets de ADO.NET
Separación entre DataSets y TableAdapters
Abstracción completa del acceso a datos
2.
Factory Pattern
Generación automática de instancias de reportes Crystal Reports
Creación de TableAdapters
3.
Data Transfer Object (DTO)
Los Typed DataSets actúan como DTOs fuertemente tipados
DataRows tipadas (ej: olympus.ParametrosRow)
4.
Module Pattern (VB.NET)
Uso de módulos compartidos para funciones globales
Module1 con variable global idusuario
5.
Batch Processing Pattern
Procesamiento por lotes de comisiones
Carga masiva de archivos de cartera
Transacciones agrupadas

5.4 Seguridad#

Autenticacion#

Base de datos: Autenticación SQL Server (usuario: sa)
Sin autenticación de aplicación: La librería no implementa autenticación propia
La autenticación debe ser manejada por la aplicación cliente

Autorizacion#

No hay implementación de roles o permisos en la librería
Variable global idusuario para tracking de usuario
La autorización debe ser implementada en la aplicación cliente

Protecciones Identificadas#

Logging: Sistema de diagnóstico integrado con FileLog
Parámetros de configuración: Sistema de parámetros en base de datos
Validaciones: Validación de longitud de archivos de cartera

Vulnerabilidades Potenciales Identificadas#

1.
Credenciales en texto plano: app.config contiene credenciales sin cifrar
2.
Usuario SA: Uso de cuenta de administrador de SQL Server
3.
Sin cifrado de datos: No se identifica cifrado en tránsito o en reposo
4.
Timeout infinito: Configuración de timeout=0 puede causar bloqueos
5.
Sin autenticación/autorización: La DLL no valida permisos

6. ANALISIS DE VERSIONES Y COMPATIBILIDAD#

Framework .NET#

Version actual: .NET Framework 4.0
Fecha de lanzamiento: 12 de abril de 2010
Fecha de fin de soporte: 12 de enero de 2016
Estado: ❌ OBSOLETO - SIN SOPORTE
CRITICO: .NET Framework 4.0 ha llegado al final de su vida útil y ya no recibe actualizaciones de seguridad de Microsoft.

Compatibilidad C##

Version del lenguaje Visual Basic: VB.NET 10.0 (Visual Basic 2010)
Características utilizadas:
Typed DataSets
Módulos VB.NET
Enumeraciones
Imports de namespaces
Clases parciales (Partial)

Crystal Reports#

Version actual: Crystal Reports 13.0.4000.0
Lanzamiento: SAP Crystal Reports 2011 (versión 13)
Estado: ⚠️ VERSION ANTIGUA - Versión actual es SAP Crystal Reports 2020 (SP30+)
Compatibilidad: Requiere runtime específico instalado

Microsoft Office Interop#

Version: Office 2007/2010 (basado en versiones COM)
Estado: ⚠️ ANTIGUO - Versiones modernas disponibles
Alternativa recomendada: EPPlus, ClosedXML (sin dependencia COM)

SQL Server#

Version de cliente: ADO.NET 4.0
Proveedor: System.Data.SqlClient
Compatibilidad: Compatible con SQL Server 2008 R2+
Estado: ✅ Funcional, pero considerar migración a Microsoft.Data.SqlClient

7. RECOMENDACIONES DE ACTUALIZACION#

7.1 Prioridad CRITICA 🔴#

ComponenteVersion ActualVersion RecomendadaMotivoEsfuerzoImpacto
.NET Framework4.0.NET 6/8 LTSFin de soporte - Vulnerabilidades de seguridadALTOCrítico
CredencialesTexto planoAzure Key Vault / CifradoSeguridad - Exposición de credencialesMEDIOCrítico
Usuario SAsa (admin)Usuario específico con permisos limitadosSeguridad - Principio de mínimo privilegioBAJOAlto
System.Data.SqlClientLegacyMicrosoft.Data.SqlClientProvider obsoletoBAJOMedio

7.2 Prioridad Alta 🟡#

ComponenteVersion ActualVersion RecomendadaBeneficioEsfuerzo
Crystal Reports13.0Alternativa moderna (Telerik, DevExpress, SSRS)Licenciamiento, soporte, modernizaciónALTO
Office Interop COMLegacyEPPlus / ClosedXMLSin dependencias COM, mejor rendimientoMEDIO
Typed DataSetsADO.NET DatasetsEntity Framework Core / DapperORM moderno, LINQ mejoradoALTO
LoggingFileLogTraceListenerSerilog / NLogLogging estructurado, múltiples destinosBAJO

7.3 Prioridad Media 🟢#

ComponenteVersion ActualVersion RecomendadaBeneficioEsfuerzo
ArquitecturaMonolíticaArquitectura en capas modernaSeparación de responsabilidades, testabilidadALTO
Configuraciónapp.config XMLappsettings.json + Options PatternConfiguración moderna, tipadaBAJO
Async/AwaitSincrónicoAsincrónico (async/await)Escalabilidad, rendimientoMEDIO
Unit TestsSin testsxUnit / NUnit / MSTestCalidad, mantenibilidadMEDIO

7.4 Roadmap de Actualizacion Recomendado#

7.5 Estrategia de Migracion Propuesta#

Opcion 1: Migracion Incremental (RECOMENDADA)#

1.
Fase 1 (3 meses): Estabilización
Migrar a .NET Framework 4.8 (última versión soportada)
Implementar tests unitarios para código crítico
Actualizar Microsoft.Data.SqlClient
Cifrar credenciales
2.
Fase 2 (4 meses): Modernización de acceso a datos
Reemplazar Typed DataSets gradualmente por Dapper o EF Core
Crear capa de repositorios
Implementar logging moderno
3.
Fase 3 (3 meses): Reportes
Evaluar alternativas a Crystal Reports
Migrar reportes más críticos
Mantener Crystal Reports legacy para reportes complejos
4.
Fase 4 (3 meses): Migración final a .NET 6/8
Usar .NET Upgrade Assistant
Migración a .NET 8 LTS
Implementar async/await
Testing completo
Esfuerzo total estimado: 13 meses
Costo: Alto
Riesgo: Medio-Bajo (migración controlada)

Opcion 2: Reescritura Completa#

Reescribir desde cero en .NET 8 con arquitectura moderna
Esfuerzo: 12-18 meses
Costo: Muy Alto
Riesgo: Alto
Beneficio: Sistema completamente moderno

8. METRICAS DEL PROYECTO#

Distribución de Archivos#

Análisis de Código#

Archivos VB.NET: ~25 archivos
Reportes Crystal Reports: ~100 archivos .rpt
Typed DataSets: 5 archivos .xsd
Lineas de código estimadas: ~15,000-20,000 LOC (basado en tamaño de archivos)

Dependencias y Complejidad#

Cobertura de Módulos#

Cartera: ✅ Implementado
Comisiones: ✅ Implementado
Reportes: ✅ Implementado (~100 reportes)
Folios: ✅ Implementado
Procesos: ✅ Implementado
Mail: ✅ Implementado
Tests Unitarios: ❌ No implementados
Documentación: ⚠️ Limitada

9. DEUDA TECNICA IDENTIFICADA#

Issues Criticos#

SEGURIDAD: Credenciales de base de datos en texto plano en app.config
SEGURIDAD: Uso de cuenta 'sa' (administrador) de SQL Server
OBSOLESCENCIA: .NET Framework 4.0 sin soporte desde 2016
SEGURIDAD: Sin implementación de autenticación/autorización en la DLL
RENDIMIENTO: Timeout infinito (0) en operaciones de base de datos puede causar bloqueos
MANTENIBILIDAD: Sin tests unitarios o de integración

Issues de Alta Prioridad#

LICENCIAMIENTO: Crystal Reports 13.0 puede requerir licencias costosas
OBSOLESCENCIA: Office Interop COM es legacy y problemático
ARQUITECTURA: Typed DataSets son legacy, considerar ORM moderno
CODIGO: Variable global idusuario en Module1 - mal patrón de diseño
MANTENIBILIDAD: ~100 reportes Crystal Reports difíciles de mantener
DEPENDENCIAS: Sin gestión de paquetes NuGet (todas referencias directas)

Mejoras Recomendadas#

Implementar inyección de dependencias (DI)
Agregar manejo de excepciones estructurado
Implementar logging estructurado (Serilog/NLog)
Crear capa de abstracción para acceso a datos
Documentar API pública de la librería
Implementar validación de entrada de datos
Agregar métricas y monitoreo
Separar configuración por ambiente (dev, staging, prod)
Implementar caché para mejorar rendimiento
Considerar arquitectura de microservicios para funcionalidades independientes

Refactorizaciones Técnicas#

Eliminar variables globales (Module1.idusuario)
Convertir métodos sincrónicos a async/await
Extraer constantes mágicas a configuración
Implementar patrón Repository para acceso a datos
Separar lógica de negocio de acceso a datos
Crear DTOs específicos en lugar de DataRows
Implementar validaciones con FluentValidation
Agregar cancelation tokens a operaciones largas

10. GLOSARIO TECNICO#

Términos del Dominio (Seguros)#

Póliza: Contrato de seguro entre aseguradora y asegurado
Cartera: Conjunto de pólizas activas de la compañía
Promotoría: Organización de agentes de seguros
Agente: Vendedor de seguros
Prima: Pago periódico de la póliza de seguro
Excedente: Prima adicional sobre la prima base
Comisión: Porcentaje pagado a agentes por venta/mantenimiento de pólizas
Quincena: Período de pago de comisiones (15 días)
Retenedor: Entidad que retiene el pago de primas
Unidad de Pago: Organización que procesa pagos
Folio: Número de control para documentos
Coberturas: Beneficios incluidos en la póliza
Suma Asegurada: Cantidad máxima que paga la aseguradora
Reserva: Fondos acumulados de la póliza
Persistencia: Métrica de retención de pólizas
Conservación: Mantenimiento de pólizas activas
Siniestro: Evento asegurado que genera pago

Términos Técnicos#

Typed DataSet: DataSet de ADO.NET fuertemente tipado generado desde esquema XSD
TableAdapter: Componente ADO.NET que encapsula comandos SQL y conexión
Crystal Reports: Herramienta de generación de reportes empresariales
COM Interop: Tecnología de interoperabilidad con componentes COM (Component Object Model)
DLL: Dynamic Link Library - Librería de código compilado
.rpt: Extensión de archivo de Crystal Reports
.xsd: XML Schema Definition - Definición de esquema de datos
Connection String: Cadena de conexión a base de datos

Tipos de Reportes (por Serie)#

Serie A: Análisis de cartera
Serie E: Efectividad de cobranza
Serie H: Producción y avances
Serie J: Conservación mensual/anual
Serie K: Comisiones y estados de cuenta
Serie M: Emisión de pólizas
Serie P: Persistencia y cancelaciones
Serie Z: Reportes especiales

11. ARQUITECTURA DE BASE DE DATOS#

Esquema Principal: olympus_op_pr#

Servidor: 698144-WEB3
Motor: SQL Server
Base de datos: olympus_op_pr

Tablas Principales Identificadas (inferidas del código)#

Polizas: Datos de pólizas de seguros
Comisiones_Agentes: Registro de comisiones calculadas
Parametros: Configuración del sistema
Cartera: Información de cartera de pólizas
Agentes: Datos de agentes de seguros
Promotorias: Información de promotorías
Folios: Control de numeración de folios

Stored Procedures Identificados#

sp_Update_castigadas: Actualiza pólizas castigadas
sp_Delete_Promotores_Castigadas: Elimina promotores con pólizas castigadas
sp_agentes_directo_numServicio_negativo: Procesa comisiones negativas
sp_agentes_directo_NumServicio_positivo: Procesa comisiones positivas
sp_agentes_directo_servicios_NumServicio_negativo: Procesa servicios con comisión negativa

12. NOTAS ADICIONALES#

Observaciones Importantes#

1.
Sistema Legacy: Este es un sistema heredado de ~17 años (Copyright 2008)
2.
Riesgo de Seguridad ALTO:
Credenciales en texto plano
Framework sin soporte
Usuario SA expuesto
3.
Dependencia de Crystal Reports:
~100 reportes representan inversión significativa
Migración de reportes será el mayor desafío
4.
Complejidad del Dominio:
Lógica de negocio compleja de seguros
Múltiples tipos de cálculos de comisiones
Procesamiento por lotes crítico
5.
Sin Control de Versiones Aparente:
No se detectó carpeta .git
Archivos con "Copy of" sugieren versioning manual

Recomendaciones Inmediatas (Corto Plazo)#

1.
Implementar control de versiones (Git)
2.
Backup completo del código y base de datos
3.
Documentar procedimientos de despliegue
4.
Crear ambiente de desarrollo/QA separado de producción
5.
Migrar credenciales a almacenamiento seguro
6.
Cambiar usuario SA por cuenta específica con permisos limitados
7.
Actualizar a .NET Framework 4.8 como mínimo

Próximos Pasos Sugeridos#

1.
Realizar auditoría de seguridad completa
2.
Crear suite de tests de regresión antes de cualquier cambio
3.
Documentar todos los stored procedures y su funcionalidad
4.
Crear plan de migración detallado con hitos medibles
5.
Evaluar alternativas a Crystal Reports (costo/beneficio)
6.
Establecer equipo de migración con conocimiento del dominio

Documentación generada: 13 de Diciembre de 2025
Analizado por: Claude AI (Sonnet 4.5)
Version del documento: 1.0
Proyecto: OServerLogic - Sistema de Gestión de Seguros Olympus
Modificado en 2025-12-13 18:50:15
Anterior
FrontBack
Siguiente
CServer
Built with