Architecture of the HTML Console

The HTML Console is a remote console implemented in JavaScript to manage mouse, keyboard, and screen (MKS) events. HTML Console replaces most features of VMRC, the VMware remote console application.

When used with vSphere, your client Web browser connects to a virtual machine console, as shown in WebMKS Architecture.

Figure 1. WebMKS Architecture
WebMKS Architecture

To display a remote console, the client system uses a Web browser to open an HTML file. This file loads the WebMKS Javascript application after calling the jQueryUI and jQuery libraries. Connecting to a virtual machine on vSphere requires an MKS ticket. You can obtain a ticket from the vCenter Server that manages the ESXi host where the virtual machine resides.

After the ESXi host authenticates the MKS ticket, a remote console appears and the Javascript application issues console commands by calling various methods. WebMKS is a VMware implementation to handle remote console events, written in JavaScript for HTML5 compliant browsers. WebMKS is also called WMKS.

When used with vCloud Director, the client communicates with the target virtual machine through the vCloud Director console proxy, as shown in WebMKS with vCloud Director. See the vCloud API Programming Guide for an example that shows how to display the virtual machine console.

Figure 2. WebMKS with vCloud Director
WebMKS with vCloud Director

Remote HTML Console Features

The HTML Console SDK allows developers to add a virtual machine console to an existing Web interface running on VMware vSphere or vCloud Director. With this SDK, end users can interact with the virtual machine console by typing on the keyboard and moving the mouse.

The remote access console can display either a command line or a graphical user interface. It accepts keyboard and mouse or touch screen input, including function keys and on-screen buttons. Keyboard layout selections include French, German, Italian, Japanese, Portuguese, Spanish, Swiss-French, Swiss-German, and possibly other locals. The console display is updated according to mouse movement, typing input, and gestures on your client machine. Gestures include touchscreen scrolling and button tap on a mobile device.

The HTML Console SDK API contains various methods that connect to and communicate with a virtual machine. It also triggers events to notify users of changes to the virtual machine's state. You program these methods and callbacks so users can remotely manage a virtual machine from any system with the appropriate Web browser. Methods include console commands for changing screen mode, sending special key sequences to the virtual machine, and connecting client devices to the virtual machine. The API implements callbacks that communicate back and forth when the user creates console events, or when the virtual machine responds to user input.

The HTML Console SDK is written in JavaScript, based on jQuery and jQueryUI. The jQuery library simplifies navigation and event handling, while jQueryUI provides visual effects such as those in a window system. These libraries can be called from the public Web, or bundled with your application to run in secure environments. WebMKS provides mouse, keyboard, and screen access to a remote console from any supported Web browser. In the SDK, the minimized Javascript file wmks.min.js is the WebMKS implementation.