API de NITRO

El protocolo Citrix ADC NITRO permite configurar y supervisar el dispositivo Citrix ADC mediante programación mediante interfaces REST (Representational State Transfer). Por lo tanto, las aplicaciones NITRO se pueden desarrollar en cualquier lenguaje de programación. Además, para las aplicaciones que deben desarrollarse en Java o.NET o Python, las API de NITRO se exponen a través de bibliotecas relevantes que se empaquetan como kits de desarrollo de software (SDK) independientes.

Importante

  • Las API XML están obsoletas desde NetScaler 10.5 en adelante.

  • Hasta que se especifique lo contrario, esta documentación de NITRO se aplica a las versiones 11.0 y 10.5 de NetScaler.

Para utilizar NITRO, debe tener un conocimiento básico del dispositivo Citrix ADC y asegurarse de que la aplicación cliente tenga lo siguiente:

  • Acceso a un dispositivo NetScaler, versión 9.2 o posterior.

  • Para utilizar interfaces REST, debe disponer de un sistema para generar solicitudes HTTP o HTTPS (carga útil en formato JSON) al dispositivo Citrix ADC. Puede utilizar cualquier lenguaje de programación o herramienta.

  • Para los clientes Java, debe tener un sistema en el que Java Development Kit (JDK) 1.5 o posterior esté disponible. El JDK se puede descargar desdehttp://www.oracle.com/technetwork/java/javase/downloads/index.html.

  • Para los clientes.NET, debe tener un sistema con .NET Framework 3.5 o posterior instalado. El marco de.NET se puede descargar desdehttp://www.microsoft.com/downloads/en/default.aspx.

  • El SDK de Python está disponible desde NetScaler 10.5 en adelante. Para los clientes de Python, debe tener instalado un sistema con la versión de Python 2.7 o superior y la biblioteca de solicitudes (disponible en<NITRO_SDK_HOME>/lib). La biblioteca NITRO debe instalarse en la ruta de acceso del cliente. Para obtener instrucciones de instalación, lea el<NITRO_SDK_HOME>/README.txt archivo.

Obtener el paquete NITRO

El paquete NITRO está disponible como archivo tar en la página Descargas de la utilidad de configuración del dispositivo Citrix ADC. Debe descargar y descomprimir el archivo en una carpeta del sistema local. Esta carpeta se conoce como <NITRO_SDK_HOME> en esta documentación.

La carpeta contiene las bibliotecas NITRO en la subcarpeta lib. Las bibliotecas deben agregarse a la ruta de clases de la aplicación cliente para acceder a la funcionalidad NITRO. La carpeta <NITRO_SDK_HOME> también proporciona ejemplos y documentación que pueden ayudarle a comprender el SDK de NITRO.

Nota:

  • El paquete REST contiene solo documentación para el uso de las interfaces REST.
  • Para el SDK de Python, la biblioteca debe instalarse en la ruta de acceso del cliente. Para obtener instrucciones de instalación, consulte el archivo <NITRO_SDK_HOME>/README.txt.

Cómo funciona NITRO

La infraestructura NITRO consiste en una aplicación cliente y el servicio web NITRO que se ejecutan en un dispositivo Citrix ADC. La comunicación entre la aplicación cliente y el servicio web NITRO se basa en la arquitectura REST mediante HTTP o HTTPS.

Imagen localizada

Como se muestra en la figura anterior, una solicitud NITRO se ejecuta de la siguiente manera:

  1. La aplicación cliente envía un mensaje de solicitud REST al servicio web NITRO. Cuando se utilizan los SDK, una llamada a la API se traduce en el mensaje de solicitud REST apropiado.
  2. El servicio web procesa el mensaje de solicitud REST.
  3. El servicio web NITRO devuelve el mensaje de respuesta REST correspondiente a la aplicación cliente. Cuando se utilizan los SDK, el mensaje de respuesta REST se traduce en la respuesta adecuada para la llamada a la API.

Para minimizar el tráfico en la red Citrix ADC, recupere todo el estado de un recurso del servidor, realice modificaciones en el estado del recurso localmente y, a continuación, vuelva a cargarlo al servidor en una transacción de red. Por ejemplo, para actualizar un servidor virtual de equilibrio de carga, debe recuperar el objeto, actualizar las propiedades y, a continuación, cargar el objeto modificado en una sola transacción.

Nota: Las operaciones locales en un recurso (cambiando sus propiedades) no afectan a su estado en el servidor hasta que el estado del objeto se carga explícitamente.

Las API de NITRO son de naturaleza sincrónica. Esto significa que la aplicación cliente espera una respuesta del servicio web NITRO antes de ejecutar otra API de NITRO.