11 KiB
Documentación Funcional - OgWebconsole
Descripción General
OgWebconsole es una aplicación web desarrollada en Angular 18 que proporciona una interfaz de gestión integral para sistemas de computación distribuida, especialmente diseñada para entornos educativos y laboratorios. La aplicación permite administrar clientes, unidades organizativas, comandos, imágenes, calendarios y configuraciones de red de manera centralizada.
URL de Acceso: https://localhost:4200/
Arquitectura del Sistema
Tecnologías Utilizadas
- Frontend: Angular 18 con Angular Material
- Autenticación: JWT (JSON Web Tokens)
- Internacionalización: ngx-translate (Español/Inglés)
- Gráficos: ngx-charts
- Notificaciones: ngx-toastr
- Tours Guiados: ngx-joyride
Sistema de Roles
La aplicación implementa un sistema jerárquico de roles con diferentes niveles de acceso:
- Super Admin (
super-admin): Acceso completo a todas las funcionalidades - OU Admin (
ou-admin): Administrador de unidad organizativa - OU Operator (
ou-operator): Operador de unidad organizativa - OU Minimal (
ou-minimal): Acceso mínimo de solo lectura - User (
user): Usuario básico
Módulos Principales
1. Gestión de Grupos y Unidades Organizativas
Ruta: /groups
Descripción: Módulo central para la gestión de la estructura organizativa jerárquica.
Funcionalidades:
- Visualización en árbol de unidades organizativas (Centros, Aulas, Grupos)
- Gestión de clientes individuales y masiva
- Filtros avanzados por nombre, IP, MAC y estado
- Vista de lista y tarjeta para clientes
- Estadísticas en tiempo real de clientes (Online, Offline, Ocupados)
Casos de Uso:
- Crear Estructura Organizativa: Un administrador puede crear centros, aulas y grupos de clientes
- Gestionar Clientes: Añadir, editar, eliminar y mover clientes entre unidades organizativas
- Monitoreo de Estado: Visualizar el estado en tiempo real de todos los clientes conectados
- Búsqueda Avanzada: Localizar clientes específicos por múltiples criterios
2. Administración de Usuarios y Roles
Ruta: /users, /roles, /env-vars
Descripción: Gestión completa del sistema de usuarios y permisos.
Funcionalidades:
- CRUD de usuarios con asignación de roles
- Gestión de roles con permisos granulares
- Variables de entorno del sistema
- Cambio de contraseñas
Casos de Uso:
- Gestión de Usuarios: Crear cuentas para administradores y operadores
- Control de Acceso: Asignar roles específicos según responsabilidades
- Configuración del Sistema: Modificar variables de entorno críticas
3. Gestión de Comandos
Rutas: /commands, /commands-groups, /commands-task, /commands-logs
Descripción: Sistema completo de ejecución y programación de comandos.
Funcionalidades:
- Creación y edición de comandos personalizados
- Agrupación de comandos para ejecución masiva
- Programación de tareas con calendario
- Trazabilidad completa de ejecuciones
- Logs detallados de todas las operaciones
Comandos Predefinidos:
- Encender/Apagar equipos
- Reiniciar sistemas
- Crear/Desplegar imágenes
- Particionar y formatear discos
- Inventarios de software y hardware
- Ejecución de scripts personalizados
Casos de Uso:
- Mantenimiento Programado: Ejecutar tareas de mantenimiento en horarios específicos
- Despliegue Masivo: Aplicar configuraciones a múltiples clientes simultáneamente
- Monitoreo de Ejecución: Seguir el progreso de comandos en tiempo real
- Auditoría: Revisar historial completo de operaciones realizadas
4. Gestión de Imágenes y Repositorios
Rutas: /images, /repositories, /pxe-images
Descripción: Administración de imágenes del sistema y repositorios.
Funcionalidades:
- Gestión de imágenes OgLive
- Repositorios Git y monolíticos
- Plantillas PXE para arranque de red
- Importación y exportación de imágenes
- Conversión entre formatos de imagen
Casos de Uso:
- Despliegue de Sistemas: Crear y distribuir imágenes de sistemas operativos
- Gestión de Versiones: Control de versiones de imágenes mediante Git
- Configuración de Arranque: Configurar plantillas PXE para diferentes tipos de arranque
- Backup y Restauración: Crear copias de seguridad de configuraciones
5. Configuración de Red y DHCP
Rutas: /subnets, /ogdhcp-status
Descripción: Gestión de configuración de red y servicios DHCP.
Funcionalidades:
- Configuración de subredes
- Gestión de clientes DHCP
- Monitoreo del estado del servicio DHCP
- Configuración de parámetros de red
Casos de Uso:
- Configuración de Red: Definir subredes y rangos de IP
- Gestión de Clientes: Asignar direcciones IP automáticamente
- Monitoreo de Red: Supervisar el estado de los servicios de red
6. Gestión de Calendarios
Ruta: /calendars
Descripción: Sistema de calendarios para control de disponibilidad de equipos.
Funcionalidades:
- Creación de calendarios personalizados
- Configuración de horarios de disponibilidad
- Excepciones y reglas especiales
- Integración con Remote PC
Casos de Uso:
- Control de Acceso: Definir horarios de uso de laboratorios
- Mantenimiento Programado: Bloquear equipos durante mantenimiento
- Gestión de Recursos: Optimizar el uso de recursos informáticos
7. Gestión de Software y Hardware
Rutas: /software, /software-profiles, /operative-systems, /hardware, /hardware-profiles, /hardware-types
Descripción: Administración de configuraciones de software y hardware.
Funcionalidades:
- Catálogo de software disponible
- Perfiles de software para diferentes entornos
- Configuraciones de sistemas operativos
- Gestión de hardware y perfiles de hardware
- Tipos de hardware y configuraciones específicas
Casos de Uso:
- Configuración de Entornos: Crear perfiles específicos para diferentes tipos de laboratorios
- Gestión de Software: Mantener catálogo actualizado de software disponible
- Configuración de Hardware: Definir configuraciones óptimas para diferentes tipos de equipos
8. Estado Global del Sistema
Ruta: /global-status
Descripción: Dashboard centralizado con métricas del sistema.
Funcionalidades:
- Uso de CPU y RAM en tiempo real
- Estado de servicios críticos
- Estadísticas de equipos conectados
- Monitoreo de procesos del sistema
Casos de Uso:
- Monitoreo del Sistema: Supervisar el rendimiento general del sistema
- Detección de Problemas: Identificar rápidamente fallos o sobrecargas
- Planificación de Recursos: Analizar tendencias de uso para planificación
Flujos de Trabajo Principales
1. Configuración Inicial del Sistema
- Acceso como Super Admin
- Configuración de Variables de Entorno (
/env-vars) - Creación de Roles y Usuarios (
/roles,/users) - Configuración de Red (
/subnets) - Creación de Estructura Organizativa (
/groups)
2. Gestión Diaria de Clientes
- Acceso a Gestión de Grupos (
/groups) - Selección de Unidad Organizativa
- Visualización de Clientes
- Ejecución de Comandos (individual o masivo)
- Monitoreo de Estado en tiempo real
3. Despliegue de Imágenes
- Preparación de Imagen (
/imageso/repositories) - Configuración de Plantilla PXE (
/pxe-templates) - Selección de Clientes Objetivo (
/groups) - Ejecución de Despliegue (comando
deployImage) - Verificación de Resultados (
/commands-logs)
4. Mantenimiento Programado
- Creación de Tarea (
/commands-task) - Selección de Comandos (
/commandso/commands-groups) - Programación de Ejecución (fecha y hora)
- Selección de Clientes (
/groups) - Monitoreo de Ejecución (
/commands-logs)
Características Técnicas Avanzadas
1. Sistema de Autenticación y Autorización
- Autenticación basada en JWT
- Guards de ruta para control de acceso
- Roles jerárquicos con permisos granulares
- Sesiones persistentes con refresh automático
2. Interfaz de Usuario
- Diseño responsive con Angular Material
- Tours guiados integrados (ngx-joyride)
- Internacionalización completa (ES/EN)
- Notificaciones en tiempo real
- Modales y diálogos contextuales
3. Gestión de Estado
- Servicios centralizados para cada módulo
- Interceptores HTTP para manejo de errores
- Caché inteligente de datos
- Actualizaciones en tiempo real
4. Monitoreo y Logging
- Trazabilidad completa de operaciones
- Logs detallados de ejecución
- Métricas de rendimiento
- Exportación de datos (CSV)
Casos de Uso Específicos por Rol
Super Admin
- Configuración completa del sistema
- Gestión de todos los usuarios y roles
- Acceso a todas las funcionalidades
- Configuración de variables de entorno
- Monitoreo global del sistema
OU Admin
- Gestión de unidades organizativas asignadas
- Creación y gestión de clientes
- Ejecución de comandos y tareas
- Gestión de imágenes y repositorios
- Configuración de calendarios
OU Operator
- Ejecución de comandos predefinidos
- Monitoreo de estado de clientes
- Visualización de logs y trazas
- Gestión básica de clientes
OU Minimal
- Solo visualización de información
- Sin permisos de modificación
- Acceso limitado a funcionalidades de consulta
Consideraciones de Seguridad
- Autenticación Robusta: Sistema JWT con refresh tokens
- Control de Acceso: Guards de ruta y validación de roles
- Validación de Datos: Validación tanto en frontend como backend
- Auditoría: Logs completos de todas las operaciones
- HTTPS: Comunicación segura en toda la aplicación
Escalabilidad y Rendimiento
- Paginación: Implementada en todas las listas grandes
- Lazy Loading: Carga diferida de componentes
- Caché Inteligente: Reducción de llamadas al servidor
- Optimización de Consultas: Filtros y búsquedas eficientes
- Responsive Design: Adaptable a diferentes dispositivos
Conclusión
OgWebconsole es una solución integral para la gestión de laboratorios de computación que combina facilidad de uso con potentes funcionalidades de administración. Su arquitectura modular y sistema de roles permite adaptarse a diferentes entornos y necesidades organizativas, proporcionando una herramienta centralizada para la gestión eficiente de recursos informáticos distribuidos.
La aplicación está diseñada para ser intuitiva para usuarios finales mientras proporciona las herramientas avanzadas necesarias para administradores de sistemas, haciendo que sea una solución ideal para entornos educativos, laboratorios de investigación y cualquier organización que requiera gestión centralizada de múltiples equipos informáticos.