1. Sistemas
DTIKC
  • Inicio
  • Modelo de Gestión
    • ITIL 4
    • Gestión por Procesos
    • LEAN, BPM & RAD
    • OKR
    • User Advocate
  • 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
  • Procesos de Sistemas
    • Indice
    • Procesos de Analista de Operaciones y Mesa de Ayuda N1
    • Procesos de Soporte Técnico N2
    • Procesos de Junior de Infraestructura
    • Procesos de Senior de Infraestructura
    • Proceso de Ejecución de Proyectos para Desarrolladores de Software
    • Proceso de Control de Versiones con Git
    • Procedimiento de Solicitud y Compra de Equipo de Cómputo y Dispositivos
    • Procedimiento para Solicitud de Activos Tecnológicos
    • Procedimiento Operativo Estándar – Gestión de Altas y Bajas de Accesos METLIFE
    • Procedimiento de gestión y documentación ticket y autoticket
    • Procedimiento Marco Gestión de Altas, Bajas y Control de Accesos a Sistemas
  • Especificaciones
    • Devs
      • Patrones de Nombrado (Naming Conventions) en Programación
  • Sistemas
    • Indice
    • Prometeo
    • Pegasus
    • Olympus
    • Andromeda
    • FrontBack
    • OServerLogic
    • CServer
    • FbCotizador
    • Oserver
    • MetCotizadores
    • ClassLibrary
    • APIs
      • Atlas Backend
        • Tareas por proyecto
        • List projects from GanttPRO
      • 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
    • Manual Operativo y Escalamiento de Mesas de Ayuda
  • Lineamientos
    • Home Office
    • Excelencia Operativa
    • Mesa de Ayuda
      • Modelo de gestión
      • Diagrama de flujo
      • Soporte Técnico Nivel 2
  • Gestión de Proyectos
    • Procedimiento Integral de Trabajo
    • Documento de Gobierno de TI
    • Método de Aprobación por Dictamen
    • Metodología Ágil (Agile)
  • Transforación Digital
    • Inicio
    • Madurez
    • Evaluación
  • Raíz
    • Health
      • Health check
    • System
      • System capabilities and runtime metadata
    • Auth
      • Login and create server session
      • Logout current session (or all devices)
      • Get authenticated user profile
      • Get current session permissions
      • Example admin-only endpoint
    • AI
      • Chat completion from Atlas AI brain
      • Generate embedding vector
      • List available AI agents (scaffold)
      • List registered AI tools (scaffold)
    • Data
      • List tasks
      • Create task
      • Get task by id
      • Update task
      • Delete task
    • Providers
      • Execute corporate API action
      • List tasks from one GanttPRO project
      • Verify Supabase provider configuration
    • Communications
      • Send communication through routed provider
    • Messaging
      • Publish an internal envelope to messaging backbone
    • Autonomy
      • List available autonomous agents
      • Run one autonomous flow execution
    • Raíz
      • Health
      • System
      • Auth
      • AI
        • Get AI provider availability and selection order
        • Probe live connectivity to configured AI providers
      • Data
      • Providers
        • List projects from GanttPRO
        • Execute FB API ex4CRUD action
      • Communications
      • Messaging
      • Autonomy
      • Root informative home page
    • /docs/openapi-3.1.json
    • /docs/openapi-3.0.json
  • Root informative home page
    GET
  • Root informative home page
    GET
Git
  1. Sistemas

Prometeo

DOCUMENTACIÓN ARQUITECTURA - PROYECTO PROMETEO#

1. INFORMACIÓN GENERAL DEL PROYECTO#

Nombre del proyecto: PROMETEO
Descripción y propósito: Sistema empresarial integral para la gestión de seguros del Grupo KC. Plataforma multi-módulo que incluye gestión de pólizas, siniestros, bonos, portales de agentes, inteligencia de negocios y herramientas de generación de código.
Versión del framework .NET: .NET Framework 4.8
Tipo de aplicación: Aplicación Web Híbrida (ASP.NET MVC 5 + Web API 2 + SPA)
Fecha de última modificación del proyecto: 2025-12-13
Empresa: Grupo KC (KC Insurance Group)
Estado del framework: ✅ Soportado hasta 2038

2. MAPA DE SITIO / ESTRUCTURA DEL PROYECTO#

2.1 Estructura de la Solución#

📁 E:\Prod\Prometeo/
├── 📁 .git/                        # Control de versiones
├── 📁 .vs/                         # Visual Studio settings
├── 📁 .vscode/                     # VS Code settings
├── 📁 Archivos/                    # Documentación y archivos varios
│   ├── 📁 Cfdi33/
│   ├── 📁 Cratos/
│   └── 📁 Kraken/
├── 📁 Bi/                          # Business Intelligence
│   └── 📄 Kraken.pbix             # Power BI Reports
├── 📁 bower_components/            # Frontend dependencies
├── 📁 packages/                    # NuGet packages cache
├── 📁 Solicitudes/
├── 📁 SQL/                         # Scripts SQL principales
│   ├── 📁 Facturacion Liq 2/
│   ├── 📁 Fecha_Vencimiento/
│   ├── 📁 PFV/
│   └── 📁 Titan/
├── 📁 Web/                         # ⭐ PROYECTO PRINCIPAL (ver detalle abajo)
├── 📄 Prometeo.sln                # Solución Visual Studio
├── 📄 .gitignore
└── 📄 README.md

2.2 Estructura del Proyecto Web (Principal)#

📁 Web/
│
├── 📁 api/                         # Endpoints API adicionales
│
├── 📁 App_Data/                    # Datos de aplicación
│
├── 📁 App_Start/                   # ⚙️ Configuración de inicio
│   ├── 📄 BundleConfig.cs         # Bundling y minificación
│   ├── 📄 FilterConfig.cs         # Filtros globales MVC
│   ├── 📄 IdentityConfig.cs       # Configuración de identidad
│   ├── 📄 RouteConfig.cs          # Rutas MVC
│   ├── 📄 Startup.Auth.cs         # Configuración OAuth/Auth
│   └── 📄 WebApiConfig.cs         # Configuración Web API
│
├── 📁 app_kc/                      # 🅰️ Aplicación AngularJS
│   ├── 📁 controllers/
│   ├── 📁 directives/
│   ├── 📁 modules/
│   ├── 📁 services/
│   ├── 📁 views/
│   ├── 📄 index.js
│   └── 📄 routes.js
│
├── 📁 app_segunet/                 # 🎯 APLICACIÓN PRINCIPAL (ExtJS)
│   │                               # Sistema de gestión de seguros SEGUNET
│   ├── 📁 abstract/               # Framework personalizado
│   │   ├── 📁 components/         # Componentes reutilizables
│   │   │   ├── 📄 ColumnTree.js
│   │   │   ├── 📄 ComboGeneral.js
│   │   │   ├── 📄 DatepickerGeneral.js
│   │   │   ├── 📄 Form.js
│   │   │   ├── 📄 Grid.js
│   │   │   ├── 📄 Panel.js
│   │   │   ├── 📄 PanelFile.js
│   │   │   └── 📄 Window.js
│   │   ├── 📁 data/               # Controladores de datos
│   │   │   ├── 📄 Controller.js   # Controlador base CRUD
│   │   │   ├── 📄 Model.js        # Modelo base
│   │   │   └── 📄 Store.js        # Store base
│   │   ├── 📁 scripts/            # Utilidades JavaScript
│   │   │   ├── 📄 Events.js
│   │   │   ├── 📄 Functions.js
│   │   │   └── 📄 Notificaciones.js
│   │   └── 📁 security/           # Seguridad y autenticación
│   │       ├── 📄 Menu.js
│   │       └── 📄 Login.js
│   │
│   ├── 📁 controllers/             # Controladores ExtJS
│   │
│   ├── 📁 models/                  # 📊 ~1,255 modelos de datos
│   │   ├── 📁 administracion/
│   │   ├── 📁 bonos/
│   │   ├── 📁 clientes/
│   │   ├── 📁 polizas/
│   │   ├── 📁 siniestros/
│   │   └── 📄 [1,255+ archivos .js]
│   │
│   ├── 📁 services/                # Servicios Frontend (nuevo)
│   │
│   ├── 📁 store/                   # Stores de datos ExtJS
│   │
│   ├── 📁 views/                   # 🎨 ~1,056 módulos de vistas
│   │   ├── 📁 dm_bonos_resultados_gm_kc/
│   │   ├── 📁 dm_bonos_resultados_vida_kc/
│   │   ├── 📁 liquidacion_agente_bonos/
│   │   │   ├── 📄 GridView*.js
│   │   │   └── 📄 WindowDetalle.js
│   │   ├── 📁 tickets_mesa_siniestros/
│   │   ├── 📁 usuarios_whatsapptelefonos/
│   │   └── 📄 [1,056+ carpetas de vistas]
│   │
│   ├── 📄 Direccion.js            # Controlador principal de rutas
│   └── 📄 Templates.js            # Templates HTML
│
├── 📁 Areas/                       # Áreas MVC
│   └── 📁 HelpPage/               # Documentación automática API
│
├── 📁 bonos/                       # Módulo de bonos
│
├── 📁 bower_components/            # Dependencias frontend
│   ├── 📁 polymer/
│   ├── 📁 iron-elements/
│   ├── 📁 paper-elements/
│   ├── 📁 gold-elements/
│   ├── 📁 firebase-element/
│   └── 📁 material-design-lite/
│
├── 📁 Content/                     # Recursos estáticos CSS
│
├── 📁 Controllers/                 # 🎮 CONTROLADORES .NET
│   ├── 📁 Case/                   # Generador de código (CaseTool)
│   ├── 📁 Eventos/
│   ├── 📁 i/                      # Portal agentes independientes
│   ├── 📁 Kc/
│   ├── 📁 Nf/                     # ⭐ FRAMEWORK NÚCLEO
│   │   ├── 📄 Nf_CaseController.cs    # Generación de código
│   │   ├── 📄 Nf_DataController.cs    # CRUD genérico
│   │   ├── 📄 Nf_FileController.cs    # Gestión de archivos
│   │   └── 📄 Nf_FrontBack.cs         # Integración FrontBack
│   ├── 📁 Universidad/
│   ├── 📄 AccountController.cs    # Autenticación
│   ├── 📄 HomeController.cs       # Página principal
│   ├── 📄 PowerBiController.cs    # Reportes Power BI
│   ├── 📄 HeliosController.cs     # Portal Helios
│   ├── 📄 HeliosAutosController.cs
│   ├── 📄 HeliosComercialController.cs
│   ├── 📄 HeliosIpController.cs
│   ├── 📄 CrmController.cs
│   ├── 📄 EventosController.cs
│   ├── 📄 IController.cs          # Portal agentes independientes
│   ├── 📄 InteligenciaNegocioController.cs
│   ├── 📄 KcController.cs
│   ├── 📄 KCCoinsController.cs
│   ├── 📄 SiniestrosController.cs
│   └── 📄 [~30 controladores más]
│
├── 📁 css/                         # Estilos personalizados
│
├── 📁 d3/                          # Visualización de datos D3.js
│
├── 📁 extjs/                       # Framework ExtJS
│
├── 📁 fine-uploader/               # Subida de archivos
│
├── 📁 gojs/                        # Diagramas GoJS
│
├── 📁 img/                         # Imágenes
│
├── 📁 js/                          # Scripts JavaScript generales
│
├── 📁 Models/                      # 📋 Modelos .NET
│   ├── 📄 AccountBindingModels.cs
│   ├── 📄 AccountViewModels.cs
│   ├── 📄 EmbedConfig.cs          # Config Power BI
│   └── 📄 IdentityModels.cs       # Modelos de identidad
│
├── 📁 Providers/                   # Proveedores de servicios
│   └── 📄 ApplicationOAuthProvider.cs
│
├── 📁 Properties/                  # Propiedades del proyecto
│   └── 📄 AssemblyInfo.cs
│
├── 📁 Scripts/                     # Scripts third-party
│   ├── 📄 jquery-*.js
│   ├── 📄 bootstrap.js
│   └── 📄 [librerías varias]
│
├── 📁 sql/                         # 🗄️ Scripts SQL del proyecto
│   └── 📁 CaseTool/
│       ├── 📄 p_DM_Bonos_Resultados_GM_KC_delete.sql
│       ├── 📄 p_DM_Bonos_Resultados_GM_KC_get.sql
│       ├── 📄 p_DM_Bonos_Resultados_GM_KC_insert.sql
│       ├── 📄 p_DM_Bonos_Resultados_GM_KC_update.sql
│       └── 📄 v_GridViewDM_Bonos_Resultados_GM_KC.sql
│
├── 📁 ux/                          # ExtJS UX extensions
│
├── 📁 Views/                       # 🖼️ Vistas Razor MVC (~129 archivos)
│   ├── 📁 Case/                   # CaseTool views
│   ├── 📁 Crm/
│   ├── 📁 DxN/
│   ├── 📁 Eventos/
│   ├── 📁 Helios/
│   ├── 📁 HeliosAutos/
│   ├── 📁 HeliosComercial/
│   ├── 📁 HeliosIp/
│   ├── 📁 Hey/
│   ├── 📁 Home/
│   ├── 📁 i/                      # Portal agentes independientes
│   ├── 📁 InteligenciaNegocio/
│   ├── 📁 Kc/
│   ├── 📁 KCCoins/
│   ├── 📁 PowerBi/
│   ├── 📁 Shared/                 # Vistas compartidas (_Layout.cshtml)
│   ├── 📁 Siniestros/
│   └── 📄 [más carpetas...]
│
├── 📄 Global.asax                 # Punto de entrada de la aplicación
├── 📄 Startup.cs                  # OWIN Startup
├── 📄 Web.config                  # ⚙️ Configuración principal
├── 📄 bower.json                  # Dependencias Bower
├── 📄 packages.config             # Paquetes NuGet
└── 📄 Prometeo.csproj             # Archivo de proyecto (11,215 líneas)

2.3 Proyectos dentro de la Solución#

La solución contiene 2 proyectos principales:
1.
Prometeo (Web)
Ruta: Web\Prometeo.csproj
GUID: {DEBD77E2-CDCD-4964-B68F-06445D0C7AAF}
Namespace: Front
Assembly: Front.dll
Tipo: ASP.NET Web Application
2.
NF.ClassLibrary
Ruta: ..\ClassLibrary\NF.ClassLibrary\NF.ClassLibrary.csproj
GUID: {3C0AC671-CF96-4894-AEFC-EB1663292E4C}
Namespace: nf.classLibrary
Tipo: Class Library (Framework/Core compartido)

2.4 Organización de Namespaces#

Front/                              # Namespace principal
├── Front.Controllers/              # Controladores MVC/API
│   ├── Front.Controllers.Case/
│   ├── Front.Controllers.Eventos/
│   ├── Front.Controllers.IP/       # Portal independiente
│   ├── Front.Controllers.Kc/
│   ├── Front.Controllers.Nf/       # Framework core
│   └── Front.Controllers.Universidad/
├── Front.Models/                   # Modelos .NET
└── Front.Providers/                # OAuth providers

nf.classLibrary/                    # Framework compartido
├── nf.classLibrary.DataBase       # Acceso a datos
├── nf.classLibrary.ResponseResult  # Patrón de respuesta
├── nf.classLibrary.Helpers        # Extension methods
└── nf.classLibrary.Mail           # Servicios de correo

2.5 Relaciones entre Proyectos/Módulos#


3. INVENTARIO DE LIBRERÍAS Y DEPENDENCIAS#

3.1 NuGet Packages#

LibreríaVersiónPropósitoCategoría
EntityFramework6.4.4ORM para acceso a datos SQL ServerORM/Data
Microsoft.AspNet.Mvc5.2.7Framework MVC para vistas RazorFramework
Microsoft.AspNet.WebApi5.2.7Web API RESTful servicesAPI
Microsoft.AspNet.WebApi.Core5.2.7Core Web APIAPI
Microsoft.AspNet.WebApi.Cors5.2.7CORS support para APIAPI
Newtonsoft.Json12.0.3Serialización/deserialización JSONUtilidades
Microsoft.Owin4.1.1OWIN middleware pipelineFramework
Microsoft.Owin.Host.SystemWeb4.1.1OWIN IIS integrationFramework
Microsoft.Owin.Security4.1.1Middleware de seguridadSeguridad
Microsoft.Owin.Security.OAuth4.0.1OAuth 2.0 authenticationSeguridad
Microsoft.Owin.Security.Cookies4.1.1Cookie authenticationSeguridad
Microsoft.AspNet.Identity.Core2.2.3Sistema de identidad (usuarios/roles)Seguridad
Microsoft.AspNet.Identity.EntityFramework2.2.3Identity con EFSeguridad
Microsoft.AspNet.Identity.Owin2.2.3Identity con OWINSeguridad
System.IdentityModel.Tokens.Jwt5.5.0JWT token handlingSeguridad
Microsoft.IdentityModel.Tokens6.8.0Token validationSeguridad
BouncyCastle1.8.9Librería criptográficaSeguridad
EPPlus5.8.2Generación de archivos ExcelReportes/Export
iTextSharp5.5.13Generación de archivos PDFReportes/Export
Microsoft.PowerBI.Api2.9.0Power BI API integrationBusiness Intelligence
Microsoft.PowerBI.AspNet.Mvc1.1.11Power BI embed en MVCBusiness Intelligence
DotNetZip1.15.0Compresión de archivos ZIPUtilidades
MailKit4.12.0Envío y recepción de correos SMTP/IMAPComunicación
MimeKit4.12.0MIME message parsing (usado por MailKit)Comunicación
Google.Apis.Core1.69.0Google APIs core libraryIntegración
Google.Apis.Auth1.69.0Google authenticationIntegración
Google.Apis.Drive.v31.69.0Google Drive APIIntegración/Storage
Google.Apis.Gmail.v11.69.0Gmail APIComunicación
Antlr3.5.0.2Parser generator (usado por Web API)Framework
WebGrease1.6.0JavaScript/CSS optimizationOptimización
Cors.ConfigProfiles5.1.3CORS profile configurationAPI
Microsoft.CodeDom.Providers.DotNetCompilerPlatform2.0.1Roslyn compilerFramework
Microsoft.Net.Compilers3.6.0C# and VB compilersFramework
Microsoft.AspNet.Web.Optimization1.1.3Bundling and minificationOptimización
Microsoft.AspNet.WebPages3.2.7Razor pages engineFramework
Microsoft.Web.Infrastructure1.0.0Web infrastructureFramework
Respond1.4.2IE8 responsive CSS supportUI/Compatibilidad
Modernizr2.8.3Feature detectionUI/Compatibilidad
Total de paquetes NuGet: ~40+

3.2 Frontend Dependencies (Bower)#

LibreríaVersiónPropósitoCategoría
polymer^1.4.0Web Components frameworkFramework
iron-elements^1.0.9Polymer core elementsUI Components
paper-elements^1.0.7Material Design componentsUI Components
gold-elements^1.0.1Ecommerce components (credit card)UI Components
neon-elements^1.0.0Animation componentsUI Components
platinum-elements^1.2.0Offline/push/bluetoothUI Components
app-storage^0.9.3Local storage componentsStorage
material-design-lite^1.1.3Material Design LiteUI Framework
firebase-element^1.0.12Firebase integrationBackend Services
polymerfire^0.9.2Firebase for PolymerBackend Services
google-youtubePolymerElements/google-youtube#^1.2.0YouTube embedMedia
google-castable-videoGoogleChrome/google-castable-video#^1.0.3Chromecast videoMedia

3.3 JavaScript Libraries (Otros)#

LibreríaPropósitoCategoría
ExtJSFramework principal SPA (SEGUNET)Framework
AngularJS 1.xFramework SPA secundario (KC)Framework
jQuery3.x - DOM manipulationUtilidades
Bootstrap4.x - CSS frameworkUI Framework
D3.jsVisualización de datosData Visualization
GoJSDiagramas y flowchartsDiagramas
Fine UploaderCarga de archivosFile Upload
UI-RouterAngularJS routingRouting

3.4 Categorización de Dependencias#

ORM/Data Access (2)#

EntityFramework 6.4.4
ADO.NET (nativo)

Framework Core (12)#

ASP.NET MVC 5.2.7
ASP.NET Web API 5.2.7
Microsoft.Owin 4.1.1
Microsoft.AspNet.WebPages 3.2.7
etc.

Seguridad (9)#

Microsoft.Owin.Security.OAuth
Microsoft.AspNet.Identity
System.IdentityModel.Tokens.Jwt
BouncyCastle
etc.

Business Intelligence (2)#

Microsoft.PowerBI.Api
Microsoft.PowerBI.AspNet.Mvc

Reportes/Export (3)#

EPPlus (Excel)
iTextSharp (PDF)
DotNetZip (ZIP)

Comunicación (4)#

MailKit
MimeKit
Google.Apis.Gmail
SMTP native

Integración Externa (5)#

Google.Apis.Drive
Google.Apis.Core
Firebase (frontend)
FrontBack API
Power BI

UI/Frontend (15+)#

ExtJS, AngularJS, Polymer
Material Design, Bootstrap
D3.js, GoJS
jQuery, etc.

4. ARQUITECTURA DEL PROYECTO#

4.1 Patrón Arquitectónico Principal#

Arquitectura Híbrida Multi-Capa con SPA
El proyecto implementa una arquitectura compleja que combina múltiples patrones:
1.
ASP.NET MVC 5 - Para vistas Razor y controladores del lado servidor
2.
Web API 2 RESTful - Para servicios API consumidos por el frontend
3.
Single Page Application (SPA) - ExtJS como aplicación principal
4.
Micro-frontends - Múltiples aplicaciones frontend (ExtJS, AngularJS, Polymer)
5.
N-Layer Architecture - Separación clara de responsabilidades
6.
Service-Oriented Architecture (SOA) - Integración con múltiples servicios

4.2 Diagrama de Arquitectura General#

4.3 Componentes Principales#

4.3.1 Capa de Presentación#

ExtJS SPA (app_segunet) - Aplicación Principal
Propósito: Sistema de gestión integral de seguros SEGUNET
Tecnología: Sencha ExtJS (JavaScript)
Componentes:
1,056 módulos de vistas
1,255 modelos de datos
Framework abstracto personalizado con componentes reutilizables
Controladores MVC del lado cliente
Stores para gestión de datos
Patrón: MVC Client-side
Características:
Grid components personalizados
Formularios dinámicos
Combo boxes genéricos
Gestión de archivos con drag & drop
Windows modales reutilizables
Notificaciones en tiempo real
AngularJS App (app_kc)
Propósito: Portal KC, módulos específicos
Tecnología: AngularJS 1.x + UI-Router
Componentes:
Controllers
Directives personalizadas
Services (factories, providers)
Views con routing dinámico
Integración: Firebase para notificaciones
Polymer Web Components
Propósito: Componentes de UI modernos reutilizables
Tecnología: Polymer 1.4.0
Elementos:
Material Design components (paper-*)
Core elements (iron-*)
Gold elements (validación de tarjetas)
Firebase integration
Storage components
Vistas Razor MVC
Propósito: Páginas del lado servidor, layouts
Tecnología: ASP.NET MVC 5 Razor
Archivos: 129 vistas .cshtml
Módulos:
Home, Account
Helios (Autos, Comercial, IP)
Power BI
CRM, Eventos
Siniestros
Universidad KC
KC Coins

4.3.2 Capa de Controladores#

Controladores MVC
HomeController - Página principal
AccountController - Autenticación y registro
PowerBiController - Embeds de Power BI
HeliosController, HeliosAutosController, etc.
IController - Portal de agentes independientes
EventosController, CrmController, SiniestrosController, etc.
Controladores Web API
RESTful services para frontend SPA
Retornan JSON para consumo de ExtJS/Angular
NF Framework Controllers (Núcleo)
1.
Nf_DataController - CRUD genérico
ExecuteForCRUD() - Operaciones CRUD automáticas
GetCombo() - Combos dinámicos
GetSettings() - Configuraciones
2.
Nf_CaseController - Generador de código (CaseTool)
CreateStoresProcedures() - Genera SPs automáticamente
PublishSqlChanges() - Publica cambios a BD
Generación de vistas ExtJS
Generación de modelos
3.
Nf_FileController - Gestión de archivos
Upload de archivos
Download de archivos
Gestión de almacenamiento (E:\Archivos)
4.
Nf_FrontBackController - Integración con FrontBack API

4.3.3 Capa de Lógica de Negocio#

NF.ClassLibrary - Framework Personalizado
Namespace: nf.classLibrary
Propósito: Framework core compartido para toda la aplicación
Componentes:
1.
DataBase Helper Class
Gestión de conexiones múltiples
Ejecución de stored procedures
Manejo de transacciones
2.
ResponseResult Pattern
Wrapper estandarizado de respuestas
Manejo de errores consistente
Metadata de respuestas
3.
Extension Methods
.ToResponseResultFromStoreProcedure()
Extensiones para tipos comunes
Helpers de conversión
4.
Mail Service
Envío de correos con templates
Integración con Gmail API
Queue de correos
5.
File Management
Gestión de archivos del sistema
Azure Blob storage integration
CDN integration
Business Services
Lógica de negocio específica del dominio
Validaciones
Cálculos de bonos, comisiones
Procesamiento de pólizas

4.3.4 Capa de Datos#

Entity Framework 6.4.4
ORM principal
Code-first approach para algunos módulos
Database-first para bases existentes
Migrations
ADO.NET Direct
Acceso directo para operaciones de alto rendimiento
Ejecución de stored procedures complejos
Bulk operations
Stored Procedures
CRUD operations: p_[Entity]_get, p_[Entity]_insert, p_[Entity]_update, p_[Entity]_delete
Views: v_GridView[Entity]
Lógica de negocio en SQL Server
Generados automáticamente por CaseTool

4.3.5 Bases de Datos (SQL Server)#

El sistema integra 10+ bases de datos:
1.
Prometeo - Base de datos principal
2.
PegasusDB - [Módulo específico]
3.
Fortuna - [Módulo específico]
4.
Bonos - Sistema de bonos y comisiones
5.
Autonet - Seguros de autos
6.
iOpenData - [Datos abiertos/integración]
7.
GrupoKCBI - Business Intelligence
8.
Cotizadores - Cotizaciones de seguros
9.
Olympus - [Módulo específico]
10.
FrontBack - Base de datos compartida
Configuración de conexiones:
Ambientes: QA y Producción
Server: sql.prod
Failover y redundancia configurados

4.3.6 Servicios Externos#

Power BI
Embeds de reportes en la aplicación
Dashboards interactivos
Integración con workspace
Authentication con Azure AD
Firebase
Notificaciones push
Real-time database
Authentication backup
FrontBack API
Servicios compartidos entre aplicaciones del Grupo KC
API de integración
Sincronización de datos
Azure CDN
Content Delivery Network
Archivos estáticos
Optimización de carga
Gmail API & SMTP
Envío de correos transaccionales
Configuración: prometeo@grupokc.lat
Templates de correo
Google Drive API
Almacenamiento de documentos
Integración de archivos
Report Server
SQL Server Reporting Services
Reportes legacy
Integración con Power BI

4.4 Flujo de Datos (Secuencia de Operación CRUD)#

4.5 Flujo de Generación de Código (CaseTool)#


5. ASPECTOS MÁS RELEVANTES#

5.1 Funcionalidades Principales#

1.
Gestión de Pólizas de Seguros (SEGUNET)
Alta, baja, modificación de pólizas
Múltiples ramos: Autos, Vida, Daños, Comercial
Renovaciones automáticas
Cotización y emisión
2.
Sistema de Bonos y Comisiones
Cálculo de bonos para agentes
Liquidación de comisiones
Reportes de resultados por GM y Vida
Integración con API de FrontBack para actualización de periodos
3.
Gestión de Siniestros
Mesa de siniestros con tickets
Workflow de aprobación
Documentación digital
Seguimiento en tiempo real
4.
Portales Multi-Usuario
Helios: Portal para diferentes líneas de negocio (Autos, Comercial, Agentes Independientes)
Portal KC: Aplicación AngularJS para gestión interna
Portal de Agentes Independientes (i/): Acceso limitado para agentes externos
5.
Business Intelligence y Reportes
Power BI embebido en la aplicación
Dashboards interactivos
Reportes personalizables
Archivo Kraken.pbix con métricas estratégicas
6.
CaseTool - Generador de Código
Generación automática de stored procedures (CRUD)
Generación de vistas SQL
Generación de modelos ExtJS
Generación de vistas ExtJS (Grids, Windows, Forms)
Publicación automática a base de datos
Reduce tiempo de desarrollo de días a minutos
7.
Sistema de Gestión de Clientes (CRM)
Seguimiento de leads
Historial de interacciones
Gestión de contactos
8.
Universidad KC
Sistema de capacitación
Cursos y certificaciones
Gestión de contenido educativo
9.
KC Coins
Sistema de recompensas
Gamificación
Canje de puntos
10.
Gestión Documental
Upload de archivos con Fine Uploader
Almacenamiento en filesystem (E:\Archivos)
Integración con Google Drive
Versionado de documentos

5.2 Configuraciones Críticas#

Connection Strings (Web.config)#

<!-- Base de datos principal -->
<add name="Prometeo_Prod"
     connectionString="Data Source=sql.prod;Initial Catalog=Prometeo;..." />

<!-- Múltiples bases de datos especializadas -->
<add name="PegasusDB_Prod" ... />
<add name="Fortuna_Prod" ... />
<add name="Bonos_Prod" ... />
<add name="Autonet_Prod" ... />
<add name="iOpenData_Prod" ... />
<add name="GrupoKCBI_Prod" ... />
<add name="Cotizadores_Prod" ... />
<add name="FrontBack" ... />
<add name="Olympus_Op_Pr_Prod" ... />

<!-- Cada una tiene versión QA y Producción -->

AppSettings Críticos#

<!-- Ambiente de ejecución -->
<add key="RunTimeMode" value="Prod" />  <!-- Prod | Qa -->
<add key="DefaultDataBase" value="Prometeo" />
<add key="Empresa" value="kc" />

<!-- Paths de archivos -->
<add key="PathFiles" value="E:\Archivos" />

<!-- CDN -->
<add key="CDN_Prod" value="https://grupokccdn.azureedge.net" />
<add key="CDN_Qa" value="https://grupokccdnqa.azureedge.net" />

<!-- FrontBack Integration -->
<add key="FrontBack_ServerName" value="[server]" />
<add key="FrontBack_BdName" value="FrontBack" />
<add key="FrontBack_User" value="[user]" />
<add key="FrontBack_Pass" value="[encrypted]" />

<!-- Power BI -->
<add key="powerbi:ApplicationId" value="[guid]" />
<add key="powerbi:WorkspaceId" value="[guid]" />
<add key="powerbi:Username" value="[email]" />
<add key="powerbi:Password" value="[encrypted]" />

<!-- SMTP/Email -->
<add key="Email_Server" value="smtp.gmail.com" />
<add key="Email_Port" value="587" />
<add key="Email_Username" value="prometeo@grupokc.lat" />
<add key="Email_Password" value="[encrypted]" />
<add key="Email_EnableSSL" value="true" />

<!-- Report Server -->
<add key="ReportServer_Url" value="http://[server]/ReportServer" />
<add key="ReportServer_Username" value="[user]" />
<add key="ReportServer_Password" value="[encrypted]" />

<!-- App Identity -->
<add key="NombreApp" value="PROMETEO" />

Configuración de Seguridad#

OAuth 2.0 (OWIN)
ASP.NET Identity
Password requirements configurables
Role-based authorization
Claims-based authorization
Cookie authentication con sliding expiration
CORS

Configuración de Logging#

Custom error pages habilitadas
Redirect mode: ResponseRewrite
Default redirect: ~/Error
Logs probablemente en Event Log o archivo (verificar en código)

5.3 Patrones de Diseño Implementados#

1.
Repository Pattern (Implícito)
Encapsulado en NF.ClassLibrary
Abstracción del acceso a datos
2.
Unit of Work Pattern
Entity Framework DbContext como UoW
Transacciones en stored procedures
3.
Factory Pattern
Creación de componentes ExtJS
Ext.create() para instanciación dinámica
4.
Singleton Pattern
Services en AngularJS
Configuraciones globales
5.
Observer Pattern
Eventos ExtJS (listeners, on)
AngularJS scope.watch
6.
Template Method Pattern
Controladores base abstractos en ExtJS
app_segunet.abstract.data.Controller
7.
Strategy Pattern
Múltiples providers de autenticación
Diferentes estrategias de acceso a datos
8.
Decorator Pattern
Extension methods en C#
Wrappers de componentes ExtJS
9.
Facade Pattern
NF_DataController como fachada de CRUD
Simplifica operaciones complejas
10.
Builder Pattern
Construcción de queries dinámicas
Generación de código en CaseTool
11.
Dependency Injection
OWIN pipeline
Web API dependency resolver
12.
Response Wrapper Pattern
ResponseResult personalizado
Estandarización de respuestas API
13.
MVC Pattern
ASP.NET MVC (server-side)
ExtJS MVC (client-side)
AngularJS MVC

5.4 Seguridad#

Autenticación#

OAuth 2.0 Bearer Token
Implementación: Microsoft.Owin.Security.OAuth
Endpoint: /Token
Grant types: Password, Refresh Token
Token expiration: 14 días
Provider personalizado: ApplicationOAuthProvider
ASP.NET Identity 2.2.3
User management
Password hashing (PBKDF2)
Security stamps
Two-factor authentication capability
JWT Tokens
System.IdentityModel.Tokens.Jwt
Token validation
Claims-based identity
Cookie Authentication
Fallback para vistas MVC
Sliding expiration
Secure cookies en producción

Autorización#

Role-Based Authorization
Roles configurables en base de datos
[Authorize(Roles = "Admin")]
Claims-Based Authorization
Claims personalizados
Granularidad fina de permisos
Políticas de Acceso
Diferentes niveles de acceso por portal
Portal de agentes independientes con permisos limitados

Protecciones Implementadas#

1.
HTTPS Enforcement
AllowInsecureHttp = false en producción
Redirects automáticos a HTTPS
2.
CORS Configurado
Dominios específicos permitidos
Headers controlados
3.
Anti-CSRF Tokens
@Html.AntiForgeryToken() en vistas
Validación en POST requests
4.
SQL Injection Prevention
Uso exclusivo de stored procedures parametrizados
Entity Framework con LINQ
Nunca concatenación de SQL directo
5.
XSS Prevention
Razor encoding automático
ExtJS sanitization
Content Security Policy (CSP) headers recomendados
6.
Password Security
Hashing con PBKDF2
Salt automático
Requisitos de complejidad configurables
7.
Encrypted Configuration
Passwords en web.config protegidos
Connection strings encriptadas en producción
8.
Session Management
Timeout configurado
Sliding expiration
Secure session cookies

Recomendaciones de Seguridad Adicionales#

⚠️ Pendientes de verificar:
Implementar Content Security Policy (CSP) headers
Rate limiting en API endpoints
Logging de intentos de acceso fallidos
Audit trail de operaciones críticas
Actualizar a ASP.NET Identity Core (versión moderna)
Implementar OWASP security headers

6. ANÁLISIS DE VERSIONES Y COMPATIBILIDAD#

6.1 Framework .NET#

Versión actual: .NET Framework 4.8
Fecha de lanzamiento: Abril 2019
Fecha de fin de soporte: 2038 (soporte extendido)
Estado: ✅ Soportado y estable
Ciclo de vida: Framework .NET 4.8 es la última versión de .NET Framework y tendrá soporte mientras exista Windows
Análisis:
✅ Versión moderna y estable de .NET Framework
✅ Soporte a largo plazo garantizado
⚠️ No es la plataforma más reciente (existe .NET 8+)
⚠️ No es cross-platform (solo Windows)

6.2 Compatibilidad C##

Versión del lenguaje: C# 7.3
Versión compatible: Hasta C# 7.3 (limitado por .NET Framework 4.8)
Características modernas utilizadas:
Expresiones throw
Async/await
Pattern matching básico
Tuplas
Local functions
Expression-bodied members
String interpolation
Características NO disponibles (requieren .NET Core/.NET 5+):
Records (C# 9)
Init-only properties (C# 9)
Top-level statements (C# 9)
Global usings (C# 10)
File-scoped namespaces (C# 10)
Required members (C# 11)

6.3 Versiones de Dependencias Principales#

ComponenteVersión ActualÚltima DisponibleEstado
.NET Framework4.84.8✅ Actualizado
C#7.312.0 (.NET 8)⚠️ Limitado por framework
ASP.NET MVC5.2.75.2.9⚠️ Actualización menor disponible
Entity Framework6.4.46.5.1⚠️ Actualización menor disponible
Newtonsoft.Json12.0.313.0.3⚠️ Actualización disponible
jQuery3.x3.7.1⚠️ Verificar versión exacta
Bootstrap4.x5.3.x⚠️ Upgrade mayor disponible
ExtJSN/D7.x⚠️ Verificar versión y licencia
AngularJS1.x1.8.3 (EOL)❌ Framework obsoleto
Polymer1.4.03.5.1❌ Versión muy antigua

6.4 Estado de Frameworks Frontend#

FrameworkVersión ProyectoEstadoSoporte
ExtJSN/D✅ ActivoComercial (Sencha)
AngularJS1.x❌ EOLTerminó Dic 2021
Polymer1.4.0⚠️ LegacyMigrado a Lit
Material Design Lite1.1.3❌ EOLDescontinuado
Análisis crítico:
🔴 AngularJS 1.x: Oficialmente EOL desde enero 2022, sin actualizaciones de seguridad
🟡 Polymer 1.4.0: Versión muy antigua, el proyecto migró a Lit
🟡 Material Design Lite: Proyecto descontinuado, usar Material Components Web

7. RECOMENDACIONES DE ACTUALIZACIÓN#

7.1 Prioridad Alta 🔴 (Seguridad / EOL)#

Librería/ComponenteVersión ActualVersión RecomendadaMotivoEsfuerzo
AngularJS1.xMigrar a Angular 17+ o ReactFramework EOL, sin soporte de seguridadAlto
Polymer1.4.0Migrar a Lit 3.x o Web Components nativosVersión obsoleta, migrado a LitAlto
Material Design Lite1.1.3Material Components Web o Material UIProyecto descontinuadoMedio
ASP.NET Identity2.2.3Migrar a ASP.NET Core IdentityVersión antigua, considerar modernizaciónAlto
BouncyCastle1.8.92.xActualizaciones de seguridadBajo
Justificación:
AngularJS sin soporte desde 2022 = riesgo de seguridad
Polymer 1.x no recibe actualizaciones ni parches
Material Design Lite descontinuado oficialmente

7.2 Prioridad Media 🟡 (Mejoras y Features)#

LibreríaVersión ActualVersión RecomendadaBeneficioEsfuerzo
Entity Framework6.4.46.5.1Bug fixes y mejoras de rendimientoBajo
Newtonsoft.Json12.0.313.0.3Mejoras de rendimientoBajo
ASP.NET MVC5.2.75.2.9Bug fixesBajo
Bootstrap4.x5.3.xNuevos componentes, mejor rendimientoMedio
jQuery3.x3.7.1Seguridad y compatibilidadBajo
Microsoft.PowerBI.Api2.9.04.xNuevas features de Power BIMedio
EPPlus5.8.27.xNuevas funcionalidades de ExcelBajo
Beneficios:
Mejoras incrementales de rendimiento
Corrección de bugs conocidos
Nuevas características no críticas

7.3 Prioridad Baja 🟢 (Optimización)#

ComponenteAcción RecomendadaBeneficioEsfuerzo
ExtJSRevisar licencia y actualizar a versión más recienteSoporte y features modernosMedio
Google APIsActualizar a versiones más recientesNuevas funcionalidadesBajo
MailKitMantener actualizadoSoporte SMTP modernoBajo
iTextSharpConsiderar migrar a iText 7+ o alternativaLicencia y featuresAlto

7.4 Modernización del Framework .NET#

Opción 1: Mantener .NET Framework 4.8 (Conservador)
✅ Menor riesgo
✅ Menor esfuerzo
❌ No cross-platform
❌ Sin nuevas features de C#
❌ Limitaciones de rendimiento
Opción 2: Migrar a .NET 8 (LTS) (Recomendado a mediano plazo)
✅ Cross-platform (Windows, Linux, Docker)
✅ Mejor rendimiento (hasta 10x en algunas operaciones)
✅ C# 12 con features modernas
✅ Soporte hasta noviembre 2026 (LTS)
✅ Mejor integración con servicios cloud
❌ Esfuerzo alto de migración
❌ Requiere refactorización de código
❌ System.Web no existe (cambios en HTTP pipeline)
Ruta de Migración Sugerida:
Plan Alternativo (Híbrido):
1.
Mantener .NET Framework 4.8 para el core
2.
Crear nuevos módulos en .NET 8 como microservicios
3.
Migración gradual módulo por módulo
4.
Comunicación vía API entre sistemas

7.5 Recomendaciones de Frontend#

Estrategia recomendada:
1.
Consolidar en ExtJS (Corto plazo)
Mantener ExtJS como framework principal
Migrar módulos AngularJS a ExtJS
Actualizar ExtJS a versión más reciente
Esfuerzo: Medio
Beneficio: Consistencia, menor complejidad
2.
Modernizar a React/Vue (Mediano plazo)
Migración gradual a framework moderno
Mejor ecosistema y comunidad
Mejor rendimiento
Esfuerzo: Alto
Beneficio: Tecnología moderna, mejor DX
3.
Mantener Web Components nativos
Migrar Polymer a Lit o Web Components nativos
Standard web sin dependencias
Esfuerzo: Bajo-Medio
Beneficio: Futuro-proof

8. MÉTRICAS DEL PROYECTO#

8.1 Distribución por Tipo de Archivo#

8.2 Líneas de Código Estimadas#

TipoArchivosLíneas Estimadas
JavaScript (ExtJS + Angular)6,378~500,000
C# (Backend)79~25,000
Razor Views129~10,000
SQL50+~15,000
CSS/Styling~100~20,000
Total aproximado6,736+~570,000

8.3 Complejidad del Proyecto#

MétricaValor
Módulos ExtJS1,056
Modelos ExtJS1,255
Controladores .NET~30
Bases de Datos10+
Servicios Externos7+
Frameworks Frontend3 (ExtJS, Angular, Polymer)
Líneas .csproj11,215

8.4 Cobertura de Dependencias#

8.5 Deuda Técnica Estimada#

Score de Deuda Técnica: 7/10 (Alta)
Factores:
🔴 Múltiples frameworks frontend (3)
🔴 AngularJS en EOL
🔴 Polymer muy desactualizado
🟡 .NET Framework (no .NET Core)
🟡 Algunas librerías desactualizadas
🟢 Arquitectura backend bien estructurada
🟢 Base de datos organizada

9. DEUDA TÉCNICA IDENTIFICADA#

9.1 Issues Críticos 🔴#

[CRÍTICO] AngularJS 1.x en End-of-Life
Impacto: Alto - Riesgo de seguridad
Afectación: Módulo app_kc
Solución: Migrar a Angular moderno, React, o consolidar en ExtJS
Esfuerzo: Alto (3-4 meses)
Prioridad: Urgente
[CRÍTICO] Polymer 1.4.0 obsoleto
Impacto: Medio-Alto - Sin actualizaciones
Afectación: Web Components en bower_components
Solución: Migrar a Lit 3.x o Web Components nativos
Esfuerzo: Medio (2-3 meses)
Prioridad: Alta
[CRÍTICO] Material Design Lite descontinuado
Impacto: Medio - Sin soporte
Afectación: Componentes UI
Solución: Migrar a Material Components Web o framework moderno
Esfuerzo: Medio (1-2 meses)
Prioridad: Media-Alta
[ALTO] Múltiples frameworks frontend
Impacto: Alto - Complejidad de mantenimiento
Afectación: Toda la aplicación
Solución: Consolidar en un solo framework (ExtJS o migrar a React/Vue)
Esfuerzo: Muy Alto (6-12 meses)
Prioridad: Media
[ALTO] Falta de pruebas automatizadas
Impacto: Alto - Riesgo de regresiones
Afectación: Todo el proyecto
Solución: Implementar testing: Unit, Integration, E2E
Esfuerzo: Alto (continuo)
Prioridad: Alta

9.2 Issues Importantes 🟡#

Actualizar librerías NuGet desactualizadas
Entity Framework 6.4.4 → 6.5.1
Newtonsoft.Json 12.0.3 → 13.0.3
ASP.NET MVC 5.2.7 → 5.2.9
Esfuerzo: Bajo (1 semana)
Revisar y actualizar ExtJS
Verificar versión actual
Actualizar a última versión estable
Revisar licencia
Esfuerzo: Medio (2-3 semanas)
Implementar logging estructurado
Implementar Serilog o NLog
Centralizar logs (ELK stack, Application Insights)
Esfuerzo: Medio (2-3 semanas)
Mejorar seguridad de configuración
Mover secrets a Azure Key Vault o similar
Implementar configuración por ambiente
Esfuerzo: Bajo-Medio (1-2 semanas)
Implementar CI/CD
Azure DevOps pipelines
Automated testing
Deployment automation
Esfuerzo: Medio (1 mes)

9.3 Mejoras Recomendadas 🟢#

Migrar a .NET 8 LTS (Proyecto a largo plazo)
Cross-platform
Mejor rendimiento
C# moderno
Esfuerzo: Muy Alto (6-12 meses)
Implementar API Gateway
Centralizar acceso a APIs
Rate limiting, caching
Esfuerzo: Medio (1-2 meses)
Containerización con Docker
Facilitar deployment
Consistencia de ambientes
Esfuerzo: Medio (1-2 meses)
Implementar cache distribuido
Redis para sesiones y cache
Mejorar rendimiento
Esfuerzo: Medio (2-3 semanas)
Refactorizar a Clean Architecture
Separar concerns claramente
Mejor testabilidad
Esfuerzo: Alto (3-6 meses)
Implementar Event Sourcing para auditoría
Trazabilidad completa
Historial de cambios
Esfuerzo: Alto (2-3 meses)
Modernizar UI/UX
Design system consistente
Responsive design mejorado
Accesibilidad (WCAG 2.1)
Esfuerzo: Alto (3-6 meses)
Documentación API con Swagger/OpenAPI
Ya existe HelpPage, mejorar con Swagger
Documentación interactiva
Esfuerzo: Bajo (1 semana)
Implementar monitoreo y APM
Application Performance Monitoring
Application Insights o similar
Esfuerzo: Bajo-Medio (2 semanas)
Code Quality Tools
SonarQube para análisis estático
Code coverage reports
Esfuerzo: Bajo (1-2 semanas)

9.4 Priorización de Issues#


10. GLOSARIO TÉCNICO#

Términos del Dominio#

TérminoDescripción
SEGUNETSistema principal de gestión de seguros basado en ExtJS. Núcleo de la aplicación.
HeliosPortal multi-propósito para diferentes líneas de negocio (Autos, Comercial, Agentes Independientes).
KrakenSistema de objetivos estratégicos y KPIs del Grupo KC. Incluye Power BI.
CaseToolHerramienta de generación automática de código (CRUD, vistas, modelos, stored procedures).
FrontBackAPI de integración compartida entre aplicaciones del Grupo KC.
Bonos/ComisionesSistema de cálculo y liquidación de bonos para agentes de seguros.
Portal i/Portal de agentes independientes con acceso limitado.
Universidad KCSistema de capacitación y certificación interna.
KC CoinsSistema de recompensas y gamificación.
Mesa de SiniestrosMódulo de gestión de reclamaciones y siniestros con sistema de tickets.
DM (Data Mart)Tablas de datos procesados para reportes (ej: DM_Bonos_Resultados).
GMGerente de Mercadotecnia o Gastos Médicos (contexto dependiente).

Términos Técnicos del Proyecto#

TérminoDescripción
NF FrameworkFramework personalizado (NF.ClassLibrary) que provee funcionalidad core: CRUD genérico, acceso a datos, helpers.
Nf_DataControllerControlador Web API que expone operaciones CRUD genéricas (ExecuteForCRUD).
Nf_CaseControllerControlador que maneja la generación automática de código del CaseTool.
ResponseResultPatrón de respuesta estandarizado usado en todas las APIs. Incluye success, data, message.
GridViewVista ExtJS de tipo Grid para mostrar datos tabulares con paginación, filtros, sorting.
WindowDetalleVentana modal de ExtJS para CRUD de registros individuales (formulario).
StoreEn ExtJS, contenedor de datos que se comunica con el servidor vía proxy.
ModelEn ExtJS, definición de estructura de datos (fields, validations, associations).
Abstract ComponentsComponentes base reutilizables de ExtJS en app_segunet/abstract/.
p_[Entity]_[operation]Convención de nombres para stored procedures (ej: p_Bonos_get, p_Bonos_insert).
v_GridView[Entity]Convención de nombres para vistas SQL que alimentan grids (ej: v_GridViewBonos).
RunTimeModeConfiguración que define ambiente de ejecución: Prod o Qa.
DefaultDataBaseSetting que indica qué connection string usar por defecto.
CDN_Prod / CDN_QaAzure CDN para servir assets estáticos según ambiente.

Acrónimos y Abreviaciones#

AcrónimoSignificado
KCGrupo KC (empresa de seguros)
SPStored Procedure
EFEntity Framework
MVCModel-View-Controller
SPASingle Page Application
CRUDCreate, Read, Update, Delete
APIApplication Programming Interface
BIBusiness Intelligence
CRMCustomer Relationship Management
OWINOpen Web Interface for .NET
CORSCross-Origin Resource Sharing
JWTJSON Web Token
CDNContent Delivery Network
EOLEnd of Life
LTSLong Term Support
QAQuality Assurance (ambiente de pruebas)
ProdProduction (ambiente productivo)
NFNombre del framework personalizado (significado original desconocido)

11. MÓDULOS PRINCIPALES DEL SISTEMA#

11.1 Módulos por Funcionalidad#

MóduloDescripciónTecnología Principal
SEGUNETSistema core de gestión de pólizasExtJS
BonosCálculo y liquidación de comisionesExtJS + SQL Server
SiniestrosMesa de gestión de reclamacionesExtJS + Tickets
HeliosPortal multi-propósitoASP.NET MVC + ExtJS
Helios AutosPortal específico para seguros de autosASP.NET MVC
Helios ComercialPortal para seguros comercialesASP.NET MVC
Helios IPPortal agentes independientesASP.NET MVC
CRMGestión de clientes y leadsExtJS
Universidad KCCapacitación internaASP.NET MVC
KC CoinsSistema de recompensasASP.NET MVC + AngularJS
Power BIReportes y dashboards embebidosPower BI Embedded
CaseToolGenerador de códigoASP.NET MVC + Razor
EventosGestión de eventos corporativosASP.NET MVC
Inteligencia de NegocioAnálisis y reportesPower BI + SQL Server
DxN[Diagnóstico/Módulo específico]ExtJS

11.2 Bases de Datos por Módulo#

Base de DatosMódulos AsociadosPropósito
PrometeoSEGUNET, CoreBase de datos principal
BonosBonos, LiquidacionesComisiones y bonos
AutonetHelios AutosSeguros de autos
GrupoKCBIInteligencia de Negocio, Power BIBusiness Intelligence
CotizadoresHelios, SEGUNETCotizaciones de seguros
Fortuna[Módulo específico][Datos específicos]
PegasusDB[Módulo específico][Datos específicos]
iOpenDataIntegraciónDatos abiertos/APIs
FrontBackIntegraciónServicios compartidos
Olympus[Operaciones][Datos operacionales]

12. NOTAS ADICIONALES#

12.1 Fortalezas del Proyecto#

✅ CaseTool - Generador de Código
Innovación interna que acelera desarrollo significativamente
Genera CRUD completo en minutos
Reduce código boilerplate y errores humanos
✅ Arquitectura de Datos Sólida
Stored procedures bien organizados
Convenciones claras de nomenclatura
Separación por responsabilidades en múltiples DBs
✅ Framework NF Personalizado
Abstracción reutilizable
Patrones consistentes
Facilita mantenimiento
✅ Integración Completa
Power BI embebido
Múltiples servicios externos
APIs bien estructuradas
✅ Modularidad
Módulos bien separados
Componentes reutilizables en ExtJS
Portales independientes

12.2 Desafíos Identificados#

⚠️ Complejidad del Stack Tecnológico
3 frameworks frontend diferentes
Curva de aprendizamiento alta para nuevos desarrolladores
Mantenimiento costoso
⚠️ Dependencia de Tecnologías Legacy
AngularJS en EOL
Polymer obsoleto
.NET Framework (no cross-platform)
⚠️ Posible Falta de Testing
No se observan carpetas de tests
Riesgo de regresiones
Dificulta refactorización
⚠️ Documentación
Falta documentación técnica detallada
Dependencia del conocimiento tribal
Onboarding complejo

12.3 Ventajas Competitivas#

🎯 CaseTool
Herramienta propia de generación de código
Reduce time-to-market dramáticamente
Podría comercializarse como producto
🎯 Integración Vertical
Sistema completo end-to-end
No dependencia de software externo core
Control total del stack
🎯 Multi-Portal
Diferentes interfaces para diferentes usuarios
Personalización por rol
Mejor UX por segmento

12.4 Riesgos Técnicos#

🔴 Riesgo de Seguridad
AngularJS sin parches de seguridad
Dependencias desactualizadas
Recomendación: Auditoría de seguridad
🟡 Riesgo de Mantenibilidad
Complejidad alta
Múltiples tecnologías
Recomendación: Consolidación gradual
🟡 Riesgo de Escalabilidad
.NET Framework monolítico
Posibles cuellos de botella
Recomendación: Evaluar microservicios

12.5 Próximos Pasos Recomendados#

Inmediato (1-3 meses):
1.
✅ Auditoría de seguridad completa
2.
✅ Actualizar NuGet packages críticos
3.
✅ Implementar logging centralizado
4.
✅ Establecer CI/CD pipeline
Corto Plazo (3-6 meses):
1.
🔄 Migrar AngularJS a ExtJS o framework moderno
2.
🔄 Actualizar Polymer a Lit
3.
🔄 Implementar testing automatizado
4.
🔄 Revisar y actualizar ExtJS
Mediano Plazo (6-12 meses):
1.
🔮 Evaluar migración a .NET 8
2.
🔮 Consolidar stack frontend
3.
🔮 Implementar monitoreo APM
4.
🔮 Refactorización arquitectónica gradual
Largo Plazo (1-2 años):
1.
🎯 Migración completa a .NET 8+
2.
🎯 Arquitectura de microservicios
3.
🎯 Containerización con Docker/Kubernetes
4.
🎯 Cloud-native (Azure)

12.6 Estimación de Costo de Migración#

EscenarioEsfuerzoCosto EstimadoTimeline
Actualización Conservadora6 persona-mesBajo-Medio6 meses
Modernización Frontend12 persona-mesMedio12 meses
Migración .NET 8 Completa24-36 persona-mesAlto18-24 meses
Refactoring Total + Cloud48+ persona-mesMuy Alto24-36 meses

12.7 Recomendación Final#

Estrategia Híbrida Gradual:
1.
Fase de Estabilización (0-6 meses)
Resolver issues críticos de seguridad
Actualizar dependencias
Implementar CI/CD y testing
2.
Fase de Consolidación (6-12 meses)
Migrar AngularJS a ExtJS
Actualizar frontend components
Mejorar observabilidad
3.
Fase de Modernización (12-24 meses)
Evaluar y planear migración .NET 8
Refactoring arquitectónico
Implementar nuevos módulos en stack moderno
4.
Fase de Transformación (24+ meses)
Migración completa a .NET moderno
Cloud-native architecture
Microservicios cuando tenga sentido
Esta estrategia permite:
✅ Mantener el sistema operativo
✅ Reducir deuda técnica progresivamente
✅ Modernizar sin big-bang rewrite
✅ ROI continuo
✅ Menor riesgo

ANEXOS#

Anexo A: Estructura de Archivos ExtJS Generados por CaseTool#

Convención de archivos generados:
app_segunet/
├── models/
│   └── [Entity].js                              # Modelo ExtJS
├── views/
│   └── [entity_snake_case]/
│       ├── GridView[Entity]_[timestamp].js      # Grid principal
│       └── WindowDetalle.js                     # Ventana de edición
└── store/
    └── Store[Entity].js                         # Store de datos
Ejemplo:
app_segunet/
├── models/
│   └── Liquidacion_Agente_Bonos.js
└── views/
    └── liquidacion_agente_bonos/
        ├── GridViewLiquidacion_Agente_Bonos_638980525698235151.js
        └── WindowDetalle.js

Anexo B: Convención de Stored Procedures#

Patrón estándar:

Anexo C: Connection Strings por Ambiente#

Producción:
Server: sql.prod
Databases: Prometeo, Bonos, Autonet, etc.
QA:
Server: (Probablemente el mismo con DBs separadas)
Databases: Prometeo_Qa, Bonos_Qa, etc.
Configuración:
Controlado por RunTimeMode AppSetting
Sufijos _Prod y _Qa en connection string names

Anexo D: URLs del Sistema#

Producción:
CDN: https://grupokccdn.azureedge.net
Email: prometeo@grupokc.lat
QA:
CDN: https://grupokccdnqa.azureedge.net

Documentación generada: 2025-12-13
Analizado por: Claude Code (Sonnet 4.5)
Versión del documento: 1.0
Proyecto: PROMETEO - Grupo KC
Framework: .NET Framework 4.8
Estado: Producción

INFORMACIÓN DE CONTACTO Y SOPORTE#

Para consultas sobre esta documentación o el proyecto Prometeo:
Repositorio: Git local (E:\Prod\Prometeo)
Solución: Prometeo.sln
Rama principal: master

Este documento fue generado automáticamente mediante análisis del código fuente y configuraciones del proyecto. Se recomienda validar la información con el equipo de desarrollo y actualizar periódicamente.
Modificado en 2025-12-13 11:00:03
Anterior
Indice
Siguiente
Pegasus
Built with