How NITRO Works
The NITRO infrastructure consists of a client application and the NITRO Web service running on a Citrix NetScaler SDX appliance. The communication between the client application and the NITRO web service is based on REST architecture using HTTP or HTTPS.
Figure 1. NITRO execution flow
As shown in the above figure, a NITRO request is executed as follows:
- The client application sends REST request message to the NITRO web service. When using the SDKs, an API call is translated into the appropriate REST request message.
- The web service processes the REST request message.
- The NITRO web service returns the corresponding REST response message to the client application. When using the SDKs, the REST response message is translated into the appropriate response for the API call.
To minimize traffic on the network, you retrieve the whole state of a resource from the server, make modifications to the state of the resource locally, and then upload it back to the server in one network transaction.
Note: Local operations on a resource (changing its properties) do not affect its state on the server until the state of the object is explicitly uploaded.
NITRO APIs are synchronous in nature. This means that the client application waits for a response from the NITRO web service before executing another NITRO API.