What is NICE DCV Session Manager?
NICE DCV Session Manager is set of installable software packages (an Agent and a Broker) and an application programming interface (API) that makes it easy for developers and independent software vendors (ISVs) to build front-end applications that programmatically create and manage the lifecycle of NICE DCV sessions across a fleet of NICE DCV servers.
This guide explains how to use the Session Manager APIs to manage the lifecycle of NICE DCV sessions. For more information about how to install and configure the Session Manager Broker and Agents, see the NICE DCV Session Manager Administrator Guide.
Prerequisites
Before you start working with the Session Manager APIs, ensure that you're familiar with NICE DCV and NICE DCV sessions. For more information, see the NICE DCV Administrator Guide.
How Session Manager works
The following diagram shows the high-level components of Session Manager.
![NICE DCV Session Manager components](images/components.png)
- Broker
-
The Broker is a web server that hosts and exposes the Session Manager APIs. It receives and processes API requests to manage NICE DCV sessions from the client, and then passes the instructions to the relevant Agents. The Broker must be installed on a host that is separate from your NICE DCV servers, but it must be accessible to the client, and it must be able to access the Agents.
- Agent
-
The Agent is installed on each NICE DCV server in the fleet. The Agents receive instructions from the Broker and run them on their respective NICE DCV servers. The Agents also monitor the state of the NICE DCV servers, and send periodic status updates back to the Broker.
- APIs
-
Session Manager exposes a set of REST application programming interfaces (APIs) that can be used to manage NICE DCV sessions on a fleet of NICE DCV servers. The APIs are hosted on and exposed by the Broker. Developers can build custom session management clients that call the APIs.
- Client
-
The client is the front-end application or portal that you develop to call the Session Manager APIs that are exposed by the Broker. End users use the client to manage the sessions hosted on the NICE DCV servers in the fleet.
- Access token
-
In order to make an API request, you must provide an access token. Tokens can be requested from the Broker, or an external authorization server, by registered client APIs. To request and access token, the client API must provide valid credentials.
- Client API
-
The client API is generated from the Session Manager API definition YAML file, using Swagger Codegen. The client API is used to make API requests.
- NICE DCV session
-
You must create a NICE DCV session on your NICE DCV server that your clients can connect to. Clients can only connect to a NICE DCV server if there is an active session. NICE DCV supports console and virtual sessions. You use the Session Manager APIs to manage the lifecycle of NICE DCV sessions. NICE DCV sessions can be in one of the following states:
-
CREATING
—the Broker is in the process of creating the session. -
READY
—the session is ready to accept client connections. -
DELETING
—the session is being deleted. -
DELETED
—the session has been deleted. -
UNKNOWN
—unable to determine the session's state. The Broker and the Agent might be unable to communicate.
-
Features
DCV Session Manager offers the following features:
-
Provides NICE DCV session information—get information about the sessions running on multiple NICE DCV servers.
-
Manage the lifecycle for multiple NICE DCV sessions—create or delete multiple sessions for multiple users across multiple NICE DCV servers with one API request.
-
Supports tags—use custom tags to target a group of NICE DCV servers when creating sessions.
-
Manages permissions for multiple NICE DCV sessions—modify user permissions for multiple sessions with one API request.
-
Provides connection information—retrieve client connection information for NICE DCV sessions.
-
Supports for cloud and on premises—use Session Manager on Amazon, on premises, or with alternative cloud-based servers.