Manager explanation for non-techies
Your desktop computer system is tailored for a single user. There is one monitor, one keyboard, one mouse, one signature pad, that is to say, one console.
Here, console means "interface for the human operator". A multi-user system usually has more than one console. More often than not, these consoles are thin clients, which are connected with RemoteDesktop or Citix.
This allows multiple users to be logged on at the same time. Each user has it's own session where he starts his own browser.
As webSignatureOffice is a web application. It has a backend and a frontend. The frontend runs in the browser. For security reasons, modern browser's restrict to the operating system to a minimum. A direct communication to the signature pad is not possible by the browser, therefor we implemented the PadConnector . The PadConnector is a small application which needs to be installed on the same system where the browser is being use. The browser will communicate with the PadConnector which can communicate with the signature pad. The issue in a multi user environment is that each user has it´s own signature pad, which needs to be controlled by a PadConnector. This means that we have to start for every user a PadConnector instance and the web application needs to figure our which pad connector it has to choose.
This the problem is solved by the PadConnectorManager (manager). The manager is like a registry for both the browser as well as the PadConnectors.
When a PadConnectors starts, it tells the manager, that it is running under a given session.
The manager creates a table with the registered PadConnectors. With that table, the manager can map from a user session to a PadConnector.
Furthermore, the browser can authenticate with the manager in a way, that tells the manager to which session the browser belongs to.
The manager creates a table with the authenticated browsers. With that table, the manager can map from browser to session. With both tables taken together, the manager has the information that the browser wants.
It can tell an authenticated browser to which PadConnector it belongs.
This allows the webSignatureOffice frontend to communicate with the correct PadConnector.