---- = '''***ATENCIÓN.- Esta documentación para desarrolladores del proyecto pertenece a la nueva versión de opengnsys y no es aplicable a la actual***''' = ---- == INTRODUCCIÓN == Un sistema opengnsys completo está formado por un '''''"servidor de administración"''''', una o varias aulas de ordenadores a los que llamaremos '''''"clientes"''''' y uno o varios servidores opengnsys, también llamados '''''"repositorios"''''', que son los encargados de asignar direcciones ipes a dichos clientes además de enviarles, vía PXE, una pequeña distribución linux con la que arrancarán. En este contexto tiene lugar continuamente una comunicación bidireccional entre entre los distintos elementos del sistema. Esta comunicación se implementa mediante mensajes que son envíados por estas máquinas a través de la red y que pueden ser:[[BR]] * '''Comados''': ''Son mensajes enviados desde el servidor y que tienen como destinatarios tanto los clientes como los repositorios''. Con ellos se llevan a cabo todo tipo de acciones como: Restaurar imágenes, crear y formatear particiones, Recuperar inventarios de hardware y de software, etc.[[BR]] * '''Respuestas''': ''Son mensajes enviados desde los clientes o repositorios hacía el servidor de administración'' como respuesta a la ejecución de algún comando previo. En este tipo de mensaje además del resultado de esta ejecución, puede recibirse información anexa relacionada con la acción realizada: nueva estructura de particiones, software instalado, inventario hardware, etc. Toda esta información proveniente de los clientes y de los repositorios es registrada en la base de datos o los logs del sistema. == Estructura de los mensajes == Los mensajes emitidos tanto por el servidor como por los clientes o repositorios son enviados por la red y viajan encapsulados en un paquete de red o datagrama. La estructura puede variar según se trate de un mensaje tipo "comando" o un mensaje tipo "respuesta", pero en ambos casos están descritos en código XML. '''''1. Estructura de un mensaje tipo comando''''' {{{ ... }}} '''''2. Estructura de un mensaje tipo respuesta''''' {{{ ... }}} == Tabla de atributos de los mensajes tipo comandos == ||''Nodo''||''Atributo''||''Valor''||''Descripción''|| ||COMANDO||codigo||cadena||Código del comando (Identificador del comando en la Tabla "Comandos" de la BD)|| ||COMANDO||nombre||cadena||Nombre de la función que procesa el comando (Dentro del ejecutable "cliente opengnsys")|| ||COMANDO||accion||cadena||Código de la acción (Identificador de la acción en la tabla acciones de la BD)|| ||PARAM ||nombre||cadena||Nombre del párametro|| ||PARAM ||valor||cadena o número||Valor del párametro|| == Tabla de atributos de los mensajes tipo respuestas == ||''Nodo''||''Atributo''||''Valor''||''Descripción''|| ||RESPUESTA ||codigo||cadena||Código del comando (Identificador del comando en la Tabla "Comandos" de la BD)|| ||RESPUESTA ||respuesta||cadena||Nombre de la función que procesa el comando (Dentro del ejecutable "servidor de administración")|| ||RESPUESTA ||accion||cadena||Código de la acción (Identificador de la acción en la tabla acciones de la BD)|| ||RESPUESTA ||resultado||número||Resultado de la ejecución: 0 fracaso, 1=éxito|| ||RESPUESTA ||ipaddr||cadena||Dirección IP del cliente que responde|| ||PARAM ||nombre||cadena||Nombre del párametro|| ||PARAM ||valor||cadena o número||Valor del párametro||