Citrix ADC

NITRO API

Citrix ADC NITRO プロトコルを使用すると、表現状態転送(REST)インターフェイスを使用して、Citrix ADCアプライアンスをプログラムで構成および監視できます。そのため、NITROアプリケーションはあらゆるプログラミング言語で開発することができます。さらに、Java、.NET、またはPythonで開発する必要があるアプリケーションの場合、NITRO APIは、個別のソフトウェア開発キット(SDK)としてパッケージ化された関連ライブラリを介して提供されます。

重要

  • XML APIは、NetScaler 10.5以降では推奨されていません。

  • 特に指定がない限り、このNITRO ドキュメントはNetScaler バージョン11.0および10.5に適用されます。

NITRO を使用するには、Citrix ADCアプライアンスの基本的な知識があり、クライアントアプリケーションに次のものがあることを確認する必要があります。

  • バージョン9.2以降のNetScaler アプライアンスへのアクセス。

  • RESTインターフェイスを使用するには、Citrix ADCアプライアンスに対してHTTPリクエストまたはHTTPSリクエスト(JSON形式のペイロード)を生成するシステムが必要です。任意のプログラミング言語またはツールを使用できます。

  • Java クライアントの場合は、Java 開発キット (JDK) 1.5 以降が使用可能なシステムが必要です。JDKはhttp://www.oracle.com/technetwork/java/javase/downloads/index.htmlからダウンロードできます。

  • .NET クライアントの場合、.NET Framework 3.5 以降がインストールされているシステムが必要です。.NET フレームワークは http://www.microsoft.com/downloads/en/default.aspxからダウンロードできます。

  • PythonのSDKは、NetScaler の10.5以降から入手可能です。Python クライアントの場合、Python 2.7以降のバージョンのシステムと、Request ライブラリ(<NITRO_SDK_HOME>/libで利用可能)がインストールされている必要があります。NITRO ライブラリはクライアントパスにインストールする必要があります。インストール手順については、<NITRO_SDK_HOME>/README.txtファイルをお読みください。

NITRO パッケージの入手

NITRO パッケージは、Citrix ADCアプライアンスの構成ユーティリティの[ ダウンロード ]ページでtarファイルとして利用できます。ローカルシステム上のフォルダにファイルをダウンロードし、展開する必要があります。このドキュメントでは、このフォルダを<NITRO_SDK_HOME>と呼びます。

このフォルダには、libサブフォルダ内のNITRO ライブラリが含まれています。NITRO の機能にアクセスするには、クライアントアプリケーションのクラスパスにライブラリを追加する必要があります。この<NITRO_SDK_HOME>フォルダには、NITRO SDKを理解するのに役立つサンプルとドキュメントも用意されています。

注:

  • REST パッケージには、REST インターフェイスを使用するためのドキュメントのみが含まれています。
  • Python SDK の場合、ライブラリをクライアントパスにインストールする必要があります。インストール手順については、<NITRO_SDK_HOME>/README.txtファイルをお読みください。

NITRO(NITROの仕組み)

NITROインフラストラクチャは、クライアントアプリケーションと、Citrix ADCアプライアンス上で動作するNITRO Webサービスで構成されています。クライアントアプリケーションとNITRO Webサービス間の通信は、HTTPまたはHTTPSを使用したRESTアーキテクチャに基づいています。

ローカライズされた画像

上記の図に示すように、NITRO リクエストは次のように実行されます。

  1. クライアントアプリケーションは、RESTリクエストメッセージをNITRO Webサービスに送信します。SDK を使用する場合、API 呼び出しは適切な REST リクエストメッセージに変換されます。
  2. Web サービスは REST リクエストメッセージを処理します。
  3. NITRO Web サービスは、対応する REST 応答メッセージをクライアントアプリケーションに返します。SDK を使用する場合、REST 応答メッセージは API 呼び出しの適切な応答に変換されます。

Citrix ADCネットワーク上のトラフィックを最小限に抑えるには、サーバーからリソースの状態全体を取得し、リソースの状態をローカルで変更してから、1回のネットワークトランザクションでサーバーにアップロードし直します。たとえば、負荷分散仮想サーバーを更新するには、オブジェクトを取得し、プロパティを更新してから、変更されたオブジェクトを 1 回のトランザクションでアップロードする必要があります。

メモ: リソースのローカル操作(プロパティーの変更)は、オブジェクトの状態が明示的にアップロードされるまで、サーバー上の状態には影響しません。

NITRO APIは本質的に同期的です。つまり、クライアントアプリケーションは、別の NITRO API を実行する前に、NITRO Web サービスからの応答を待機します。

NITRO API