wiki:EspecDesarrollo

Version 11 (modified by alonso, 14 years ago) (diff)

--


*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:

  • 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.

  • 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

<COMANDO codigo="código_de_comando" nombre="nombre_del_comando" accion="identificador_de_la_acción_en_la_BD">
  <PARAM nombre="nombre_del_parámetro" valor="valor_del_parámetro"/>
  <PARAM nombre="nombre_del_parámetro" valor="valor_del_parámetro"/>
  <PARAM nombre="nombre_del_parámetro" valor="valor_del_parámetro"/>
  <PARAM nombre="nombre_del_parámetro" valor="valor_del_parámetro"/>
 ...
</COMANDO>

2. Estructura de un mensaje tipo respuesta

<RESPUESTA resultado="resultado_de_la_ejecución" codigo="código_de_comando" respuesta="nombre_de_la_respuesta" accion="identificador_de_la_acción_en_la_BD" ipaddr="dirección_IP_del_cliente">
  <PARAM nombre="nombre_del_parámetro" valor="valor_del_parámetro"/>
  <PARAM nombre="nombre_del_parámetro" valor="valor_del_parámetro"/>
  <PARAM nombre="nombre_del_parámetro" valor="valor_del_parámetro"/>
  <PARAM nombre="nombre_del_parámetro" valor="valor_del_parámetro"/>
 ...
</RESPUESTA >

Tabla de mnemónicos de tipos de particiones

NodoAtributoValorDescripción
COMANDOnombrecadenaNombre del comando

Attachments (2)

Download all attachments as: .zip