|
Revealing what's under the hood of NX Web Player
NX Web Player is the latest addition to the NoMachine family of tools conceived to allow
administrators to deploy graphical sessions on the Web. It will be released with our next
major, NX 4.0.0, and will differ from NX Web Companion and NX Builder because it doesn't
need additional software to be installed on the client. Users can simply access their
desktop from a browser which supports JavaScript, including the embedded browser used on
most mobile phones.
Thanks to the use of AJAX technologies for its front-end, user experience with
NX Web Player is comparable to that of an application running locally, as it
can be when using NX Client to run shadow sessions. On the server side the NX agent
component decomposes the remote desktop in tiles, codifies these images and sends
them to the Web Player. The use of AJAX techniques makes it possible to refresh
only those parts of the content of the Web page that have been changed, without
having to reload the entire page.
On the NX Web Player backend, two components, namely nxwebplayer (a binary written
in Perl) and nxwebrunner (a binary written in C) interact with NX Server and the Web
Server respectively. The Web server runs an instance of nxwebrunner for each XML HTTP
Request.
The nxwebrunner component contacts nxwebplayer which establishes a communication with
the NX Server. It is then up to NX Server to handle the start of the NX session. Images
of the session encoded by nxagent are sent by the nxagent to the Web Player, which
stores these images on disk and provides their URL to nxwebrunner which sends them as
an XML HTTP Response to the Web Server.
Each user's action inside the session displayed in the browser corresponds to an event
sent by the browser as an XML HTTP Request.
NX Web Player, the system flow diagrams
 |
|  |
|  |
|
| Events flow: from the browser to the remote session |
|  |
| Images flow: from the remote session to the browser |
|
Requirements for NX Web Player and integration
NX Web Player requires NX Server version 4.0.0 to be installed on the host machine as well
as Apache HTTP Server (version 2.x is suggested) or any compatible Web server. Note that
prerequisites for installing NX Server are NX Client, NX Node and SSHD server. Once NX Web
Player is installed and configured to fit the environment, it can be used to deploy graphical
sessions on the Web running on multiple NX Servers and NX Node hosts.
The NX Web Player JavaScript frontend consists of a player window which can be easily embedded
into any Web page. Size and appearance of that window may be customized and more than
one player window may be integrated into the same page.
NX Web Player at work
NX Web Player makes it easy to integrate NX into the intranet and let users log into their graphical
session by embedding a small player window in the home page of their company's portal. See how the
NoMachine interface to access NX Test Drive applications could look:
Fig.1 - Navigate your local browser to the player window Web page,
and you are ready to start your NX session.
Screenshots below refer to an NX session (KDE desktop on Fedora Release 8) displayed inside a Mozilla
Firefox 3.0.3 browser running on Windows Vista.
Once the NX session is loaded into the player window, the user can start to interact with the remote desktop.
No session data is stored and left on the local machine once logged-out.
Fig. 2 - Your NX session is loaded into the player window
and is now ready to be used.
For a more comfortable viewing experience, there is the possibility to switch to the detached
window mode. The remote desktop will be moved to a new window of the browser to let users run the
graphical session at fullscreen. You can revert to the embedded player window mode/detached window
mode as many times as you like.
Fig. 3 - Click on the player window button in its toolbar
to detach the window.
No matter what their location or device is, users can get their desktop from everywhere, run their
applications, make document changes, and send them over e-mail. Everything from inside a browser.
Fig. 4 - Configure your preferred e-mail client.
|