NITRO API

Mit dem Citrix ADC NITRO -Protokoll können Sie die Citrix ADC Appliance programmgesteuert mithilfe von REST-Schnittstellen (Representational State Transfer) konfigurieren und überwachen. Daher können NITRO-Anwendungen in jeder Programmiersprache entwickelt werden. Für Anwendungen, die in Java oder .NET oder Python entwickelt werden müssen, werden NITRO-APIs über relevante Bibliotheken bereitgestellt, die als separate Software Development Kits (SDKs) verpackt sind.

Wichtig

  • XML-API ist ab NetScaler 10.5 veraltet.

  • Solange nichts anderes angegeben ist, gilt diese NITRO -Dokumentation für NetScaler Versionen 11.0 und 10.5.

Um NITRO verwenden zu können, benötigen Sie ein grundlegendes Verständnis der Citrix ADC Appliance und stellen Sie sicher, dass die Clientanwendung Folgendes hat:

  • Zugriff auf eine NetScaler Appliance, Version 9.2 oder höher.

  • Um REST-Schnittstellen zu verwenden, benötigen Sie ein System, um HTTP- oder HTTPS-Anforderungen (Payload im JSON-Format) an die Citrix ADC Appliance zu generieren. Sie können jede Programmiersprache oder jedes Werkzeug verwenden.

  • Für Java-Clients benötigen Sie ein System, auf dem Java Development Kit (JDK) 1.5 oder höher verfügbar ist. Das JDK kann von heruntergeladen werdenhttp://www.oracle.com/technetwork/java/javase/downloads/index.html.

  • Für .NET-Clients muss ein System mit .NET Framework 3.5 oder höher installiert sein. Das .NET-Framework kann von heruntergeladen werdenhttp://www.microsoft.com/downloads/en/default.aspx.

  • Das Python SDK ist ab NetScaler 10.5 verfügbar. Für Python-Clients müssen Sie ein System mit Python 2.7 oder höher und die Requests Library (verfügbar in<NITRO_SDK_HOME>/lib) installiert haben. Die NITRO -Bibliothek muss auf dem Clientpfad installiert sein. Installationsanweisungen finden Sie in der<NITRO_SDK_HOME>/README.txt Datei.

Erhalten des NITRO-Pakets

Das NITRO -Paket ist als tar-Datei auf der Seite Downloads des Konfigurationsdienstprogramms der Citrix ADC Appliance verfügbar. Sie müssen die Datei in einen Ordner auf Ihrem lokalen System herunterladen und enttarnen. Dieser Ordner wird als<NITRO_SDK_HOME> in dieser Dokumentation bezeichnet.

Der Ordner enthält die NITRO -Bibliotheken im Unterordner lib. Die Bibliotheken müssen dem Classpath der Clientanwendung hinzugefügt werden, um auf die NITRO-Funktionalität zuzugreifen. Der<NITRO_SDK_HOME> Ordner enthält auch Beispiele und Dokumentation, die Ihnen helfen können, das NITRO SDK zu verstehen.

Hinweis:

  • Das REST-Paket enthält nur Dokumentation zur Verwendung der REST-Schnittstellen.
  • Für das Python-SDK muss die Bibliothek auf dem Clientpfad installiert werden. Installationsanweisungen finden Sie in der<NITRO_SDK_HOME>/README.txt Datei.

Funktionsweise von NITRO

Die NITRO -Infrastruktur besteht aus einer Clientanwendung und dem NITRO -Webdienst, der auf einer Citrix ADC Appliance ausgeführt wird. Die Kommunikation zwischen der Clientanwendung und dem NITRO-Webdienst basiert auf der REST-Architektur mit HTTP oder HTTPS.

lokalisiertes Bild

Wie in der obigen Abbildung gezeigt wird, wird eine NITRO-Anfrage wie folgt ausgeführt:

  1. Die Client-Anwendung sendet REST-Anforderungsnachricht an den NITRO-Webdienst. Bei Verwendung der SDKs wird ein API-Aufruf in die entsprechende REST-Anforderungsnachricht übersetzt.
  2. Der Webdienst verarbeitet die REST-Anforderungsnachricht.
  3. Der NITRO-Webdienst gibt die entsprechende REST-Antwortmeldung an die Client-Anwendung zurück. Bei Verwendung der SDKs wird die REST-Antwortnachricht in die entsprechende Antwort für den API-Aufruf übersetzt.

Um den Datenverkehr im Citrix ADC Netzwerk zu minimieren, rufen Sie den gesamten Status einer Ressource vom Server ab, nehmen Änderungen am Status der Ressource lokal vor und laden sie dann in einer Netzwerktransaktion wieder auf den Server hoch. Um beispielsweise einen virtuellen Lastausgleichsserver zu aktualisieren, müssen Sie das Objekt abrufen, die Eigenschaften aktualisieren und dann das geänderte Objekt in einer einzigen Transaktion hochladen.

Hinweis: Lokale Vorgänge auf einer Ressource (Ändern ihrer Eigenschaften) wirken sich erst dann auf den Zustand des Objekts auf dem Server aus, wenn der Status des Objekts explizit hochgeladen wurde.

NITRO APIs sind synchron. Das bedeutet, dass die Client-Anwendung auf eine Antwort vom NITRO-Webdienst wartet, bevor eine andere NITRO-API ausgeführt wird.