What is NICE DCV Session Manager? - NICE DCV Session Manager

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
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 AWS, on premises, or with alternative cloud-based servers.