Requisitos del Sistema y Conectividad
Para garantizar la estabilidad y rendimiento del servicio de la API de BaseGes, el entorno del servidor y la red deberán cumplir con los siguientes estándares.
1. Sistema Operativo del Servidor
La API es multiplataforma, admitiendo despliegues en:
- Sistemas Windows: Windows Server 2016 o superior / Windows 10 - 11 Pro (64 bits). Admite ejecución nativa como Servicio de Windows (
WindowsService). - Sistemas Linux: Distribuciones modernas de 64 bits (Ubuntu Server 22.04+, Debian 12+, RHEL 9+).
2. Requisitos de Hardware
| Componente | Requisito Mínimo | Recomendado (Producción) |
|---|---|---|
| CPU | 2 núcleos (64-bit) | 4 núcleos o superior |
| Memoria RAM | 2 GB dedicados a la API | 4 GB - 8 GB (según volumen de transacciones) |
| Disco | 1 GB de espacio libre | SSD para logs y almacenamiento temporal |
La instancia de Microsoft SQL Server donde reside la base de datos de BaseGes debe ser accesible con baja latencia (preferiblemente en la misma red local o el mismo servidor físico/virtual).
3. Requisitos del Servidor de Base de Datos (Microsoft SQL Server)
La API interactúa de forma directa con la base de datos de BaseGes utilizando el proveedor oficial Microsoft.Data.SqlClient y el ORM Entity Framework Core 10 (Microsoft.EntityFrameworkCore.SqlServer).
Versiones de SQL Server Soportadas
| Nivel de Soporte | Versiones de SQL Server | Detalles Técnicos |
|---|---|---|
| Mínimo Técnico Compatible | SQL Server 2012 / 2014 | Permite comunicación mediante protocolo TDS estándar y soporte para paginación (OFFSET/FETCH). Nota: Versiones fuera del ciclo de vida y soporte oficial de Microsoft. |
| Mínimo Recomendado (Producción) | SQL Server 2016 SP1 o superior (2016 / 2017 / 2019 / 2022 / 2025) | Genera consultas T-SQL modernas y optimizadas por EF Core 10 (funciones JSON integradas, OPENJSON, etc.). Cuenta con parches y garantías de soporte de seguridad vigentes. |
En las versiones modernas de Microsoft.Data.SqlClient, el parámetro Encrypt=True viene activado por defecto. Si la instancia de SQL Server es antigua (por ejemplo, SQL Server 2012 o 2014 sin actualizaciones acumulativas con soporte para TLS 1.2) o no dispone de un certificado SSL/TLS de servidor válido, la conexión fallará.
Para este tipo de entornos, la cadena de conexión debe incluir explícitamente:
Encrypt=False;TrustServerCertificate=True;
(Los instaladores oficiales y scripts de aprovisionamiento de BaseGes API ya configuran por defecto estos parámetros para garantizar compatibilidad inmediata).
Configuración de la Instancia de Base de Datos
- Ediciones Admitidas: Express Edition, Standard Edition o Enterprise Edition (64 bits).
- Intercalación (Collation): Obligatoriamente
Modern_Spanish_CI_AS(Case-Insensitive, Accent-Sensitive), requerida por el esquema relacional de BaseGes. - Modo de Autenticación: Modo Mixto (SQL Server and Windows Authentication mode) con usuario SQL con permisos
db_ownero lectura/escritura (db_datareaderydb_datawriter) sobre las bases de datosSharedDb,TenantDbTemplateyConfigDb.
4. Conectividad y Acceso Remoto
Para sincronizar datos desde ubicaciones externas o aplicaciones móviles, el responsable informático del cliente puede optar por:
Opción A: Acceso Directo con Redirección de Puerto (Recomendado)
- Se redirige el puerto de la API (por defecto
TCP 5000oTCP 8080) en el Router/Firewall hacia la IP fija interna del servidor. - El tráfico exterior debe ir obligatoriamente cifrado con un certificado HTTPS válido.
- Admite nombres de dominio dinámico (DynDNS, No-IP) si la IP pública no es estática.
Opción B: Acceso Privado mediante Túnel VPN
- El dispositivo o cliente remoto establece una conexión VPN previa con la oficina.
- La API no se expone a internet público, quedando protegida tras la red corporativa.
5. Certificados SSL / TLS
El cifrado en tránsito es mandatorio para proteger credenciales y datos de negocio:
- Certificados Comerciales (CA): Emitidos por entidades como DigiCert, Sectigo o Let's Encrypt para dominios públicos corporativos.
- Certificados Autofirmados: Válidos únicamente para entornos de prueba internos o bajo redes VPN privadas.